public static object Deserialize(
            InputObjectType type,
            IReadOnlyDictionary <string, object> value,
            InputObjectFactory factory,
            ITypeConverter converter)
        {
            Dictionary <string, object> dict = _dictionaryPool.Get();

            try
            {
                Deserialize(type, value, dict, converter);
                SetDefaultValues(type, dict, converter);
                return(factory(dict, converter));
            }
            finally
            {
                _dictionaryPool.Return(dict);
            }
        }
        public static object ParseLiteral(
            InputObjectType type,
            ObjectValueNode value,
            InputObjectFactory factory,
            ITypeConverter converter)
        {
            Dictionary <string, object> dict = _dictionaryPool.Get();

            try
            {
                Parse(type, value, dict, converter);
                SetDefaultValues(type, dict, converter);
                return(factory(dict, converter));
            }
            finally
            {
                _dictionaryPool.Return(dict);
            }
        }
Esempio n. 3
0
 public void UnregisterFactory(InputObjectFactory factory)
 {
     this._factories.Remove(factory);
 }
Esempio n. 4
0
 public void RegisterFactory(InputObjectFactory factory)
 {
     this._factories.Add(factory);
 }