public ReadOnlySpan <byte> ToBuffer(string text, IObjectSerializer objectSerializer, ITypeResolver typeResolver) { var hash = JsonSerializer.Deserialize <Dictionary <string, object> >(text, Settings); var instance = Shaping.ToAnonymousObject(hash); var buffer = objectSerializer.ToBuffer(instance, typeResolver); return(buffer); }
public static ulong?ComputeHash(object instance, IObjectSerializer objectSerializer = null, IStringSerializer stringSerializer = null, ITypeResolver typeResolver = null, IValueHashProvider valueHashProvider = null, ulong?seed = null) { stringSerializer ??= Defaults.StringSerializer; objectSerializer ??= Defaults.ObjectSerializer; typeResolver ??= Defaults.TypeResolver; return(instance is string text ? ComputeHash(stringSerializer.ToBuffer(text, objectSerializer, typeResolver), valueHashProvider, seed) : ComputeHash(objectSerializer.ToBuffer(instance, typeResolver), valueHashProvider, seed)); }