internal bool TryConvertFromEntry(Type outputType, DynamoDBEntry entry, out object value)
        {
            if (outputType == null)
            {
                throw new ArgumentNullException("outputType");
            }
            if (entry == null)
            {
                throw new ArgumentNullException("entry");
            }

            var converter = ConverterCache.GetConverter(outputType);

            return(converter.TryFromEntry(entry, outputType, out value));
        }
        internal bool TryConvertToEntry(Type inputType, object value, out DynamoDBEntry entry)
        {
            if (inputType == null)
            {
                throw new ArgumentNullException("inputType");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var converter = ConverterCache.GetConverter(inputType);

            return(converter.TryToEntry(value, out entry));
        }
        internal object ConvertFromEntry(Type outputType, DynamoDBEntry entry)
        {
            if (outputType == null)
            {
                throw new ArgumentNullException("outputType");
            }
            if (entry == null)
            {
                throw new ArgumentNullException("entry");
            }

            var    converter = ConverterCache.GetConverter(outputType);
            object output    = converter.FromEntry(entry, outputType);

            return(output);
        }
        internal DynamoDBEntry ConvertToEntry(Type inputType, object value)
        {
            if (inputType == null)
            {
                throw new ArgumentNullException("inputType");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var           converter = ConverterCache.GetConverter(inputType);
            DynamoDBEntry output    = converter.ToEntry(value);

            return(output);
        }