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);
        }
示例#2
0
        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));
        }