public void SetPropertyBySymbol(JavaScriptSymbol symbol, JavaScriptValue value) { var eng = GetEngine(); IntPtr propId; Errors.ThrowIfIs(api_.JsGetPropertyIdFromSymbol(symbol.handle_, out propId)); Errors.ThrowIfIs(api_.JsSetProperty(handle_, propId, value.handle_, false)); }
public JavaScriptValue this[JavaScriptSymbol symbol] { get { return(GetPropertyBySymbol(symbol)); } set { SetPropertyBySymbol(symbol, value); } }
internal JavaScriptValue CreateValueFromHandle(JavaScriptValueSafeHandle handle) { Debug.Assert(!(handle.IsClosed || handle.IsInvalid)); JsValueType kind; Errors.ThrowIfIs(api_.JsGetValueType(handle, out kind)); JavaScriptValue result = null; switch (kind) { case JsValueType.JsArray: result = new JavaScriptArray(handle, JavaScriptValueType.Array, this); break; case JsValueType.JsFunction: result = new JavaScriptFunction(handle, JavaScriptValueType.Function, this); break; case JsValueType.JsObject: case JsValueType.JsNull: case JsValueType.JsError: result = new JavaScriptObject(handle, JavaScriptValueType.Object, this); break; case JsValueType.JsSymbol: result = new JavaScriptSymbol(handle, JavaScriptValueType.Symbol, this); break; case JsValueType.JsArrayBuffer: result = new JavaScriptArrayBuffer(handle, JavaScriptValueType.ArrayBuffer, this); break; case JsValueType.JsTypedArray: result = new JavaScriptTypedArray(handle, JavaScriptValueType.TypedArray, this); break; case JsValueType.JsDataView: result = new JavaScriptDataView(handle, JavaScriptValueType.DataView, this); break; case JsValueType.JsBoolean: case JsValueType.JsNumber: case JsValueType.JsString: case JsValueType.JsUndefined: default: result = new JavaScriptValue(handle, kind.ToApiValueType(), this); break; } return(result); }
public void DeletePropertyBySymbol(JavaScriptSymbol symbol) { var eng = GetEngine(); IntPtr propId; Errors.ThrowIfIs(api_.JsGetPropertyIdFromSymbol(symbol.handle_, out propId)); JavaScriptValueSafeHandle tmpResult; Errors.ThrowIfIs(api_.JsDeleteProperty(handle_, propId, false, out tmpResult)); tmpResult.Dispose(); }
public JavaScriptValue GetPropertyBySymbol(JavaScriptSymbol symbol) { var eng = GetEngine(); IntPtr propId; Errors.ThrowIfIs(api_.JsGetPropertyIdFromSymbol(symbol.handle_, out propId)); JavaScriptValueSafeHandle resultHandle; Errors.ThrowIfIs(api_.JsGetProperty(handle_, propId, out resultHandle)); return(eng.CreateValueFromHandle(resultHandle)); }
public JavaScriptValue this[JavaScriptSymbol symbol] { get { return GetPropertyBySymbol(symbol); } set { SetPropertyBySymbol(symbol, value); } }
public JavaScriptValue GetPropertyBySymbol(JavaScriptSymbol symbol) { var eng = GetEngine(); IntPtr propId; Errors.ThrowIfIs(api_.JsGetPropertyIdFromSymbol(symbol.handle_, out propId)); JavaScriptValueSafeHandle resultHandle; Errors.ThrowIfIs(api_.JsGetProperty(handle_, propId, out resultHandle)); return eng.CreateValueFromHandle(resultHandle); }