internal JavaScriptValue(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) { Debug.Assert(handle != null); Debug.Assert(engine != null); Debug.Assert(Enum.IsDefined(typeof(JavaScriptValueType), type)); handle.SetEngine(engine); api_ = engine.Api; uint count; Errors.ThrowIfIs(api_.JsAddRef(handle.DangerousGetHandle(), out count)); handle_ = handle; type_ = type; engine_ = new WeakReference<JavaScriptEngine>(engine); }
internal JavaScriptArrayBuffer(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine): base(handle, type, engine) { len_ = new Lazy<uint>(GetLength); }
internal static extern JavaScriptErrorCode JsGetValueType(JavaScriptValue value, out JavaScriptValueType type);
internal JavaScriptFunction(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine): base(handle, type, engine) { }
internal JavaScriptDataView(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) : base(handle, type, engine) { }
internal JavaScriptTypedArray(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine): base(handle, type, engine) { arrayType_ = new Lazy<JavaScriptTypedArrayType>(GetArrayType); }
internal JavaScriptSymbol(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine): base(handle, type, engine) { }
internal JavaScriptObject(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) : base(handle, type, engine) { }
internal JavaScriptTypedArray(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) : base(handle, type, engine) { arrayType_ = new Lazy <JavaScriptTypedArrayType>(GetArrayType); }
internal JavaScriptFunction(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) : base(handle, type, engine) { }
internal JavaScriptArrayBuffer(JavaScriptValueSafeHandle handle, JavaScriptValueType type, JavaScriptEngine engine) : base(handle, type, engine) { len_ = new Lazy <uint>(GetLength); }