internal object Eval() { StringBuilder sb = new StringBuilder(); Utf8JsonWriter writer = new Utf8JsonWriter(new StringBuilderStream(sb)); this.Visit(writer); writer.Flush(); object result = NativeJs.ExecExpr(sb.ToString(), true); return(result); }
public override bool TrySetIndex(SetIndexBinder binder, object[] indexes, object value) { StringBuilder sb = new StringBuilder(); Utf8JsonWriter writer = new Utf8JsonWriter(new StringBuilderStream(sb)); writer.WriteStartObject(); writer.WriteString("type", "setindex"); writer.WritePropertyName("object"); this.Visit(writer); WriteArray(writer, "indexes", indexes); writer.WritePropertyName("value"); WriteValue(writer, value); writer.WriteEndObject(); writer.Flush(); NativeJs.ExecExpr(sb.ToString(), false); return(true); }