Exemplo n.º 1
0
        public JsValue ToJsValue(Engine engine, object value, BlittableJsonToken token, string propertyKey = null)
        {
            switch (token & BlittableJsonReaderBase.TypesMask)
            {
            case BlittableJsonToken.Null:
                return(JsValue.Null);

            case BlittableJsonToken.Boolean:
                return(new JsValue((bool)value));

            case BlittableJsonToken.Integer:
                return(new JsValue((long)value));

            case BlittableJsonToken.Float:
                return(new JsValue((double)(LazyDoubleValue)value));

            case BlittableJsonToken.String:
                return(new JsValue(((LazyStringValue)value).ToString()));

            case BlittableJsonToken.CompressedString:
                return(new JsValue(((LazyCompressedStringValue)value).ToString()));

            case BlittableJsonToken.StartObject:
                return(ToJsObject(engine, (BlittableJsonReaderObject)value, propertyKey));

            case BlittableJsonToken.StartArray:
                return(ToJsArray(engine, (BlittableJsonReaderArray)value, propertyKey));

            default:
                throw new ArgumentOutOfRangeException(token.ToString());
            }
        }