internal static void SetMemberValue(NativeJsObject jsObject, string memberName, object value) => Invoke("NativeJs.setMemberValue", jsObject.NativeId.ToString("D"), memberName, ResolveJsObject(value));
internal static object GetMemberValue(NativeJsObject jsObject, string memberName) => InvokeJsAndProcessResponse("NativeJs.getMemberValue", true, jsObject.NativeId.ToString("D"), memberName);
internal static object GetIndex(NativeJsObject jsObject, object[] indexes) => InvokeJsAndProcessResponse("NativeJs.getIndex", true, jsObject.NativeId.ToString("D"), null, indexes);
internal static void ReleaseJsObjectReference(NativeJsObject jsObject) => Invoke($"JsObjects.remove", jsObject.NativeId.ToString("D"));
internal static string[] GetMembers(NativeJsObject jsObject) => Invoke <string[]>("eval", $"var src=JsObjects.get('{jsObject.NativeId:D}');var res=[];for (var key in src)res.push(key);res");
internal NativeChangeEventArgs(ChangeEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeClipboardEventArgs(ClipboardEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeDragEventArgs(DragEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeMouseEventArgs(MouseEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeWheelEventArgs(WheelEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeTouchEventArgs(TouchEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeProgressEventArgs(ProgressEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeFocusEventArgs(FocusEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }
internal NativeErrorEventArgs(ErrorEventArgs src, NativeJsObject jsObject) { CopyProps(src, this); _jsObject = jsObject; }