internal static extern JavaScriptErrorCode JsHasProperty(JavaScriptValue obj, JavaScriptPropertyId propertyId, out bool hasProperty);
internal static extern JavaScriptErrorCode JsGetOwnPropertyDescriptor(JavaScriptValue obj, JavaScriptPropertyId propertyId, out JavaScriptValue propertyDescriptor);
internal static extern JavaScriptErrorCode JsSetProperty(JavaScriptValue obj, JavaScriptPropertyId propertyId, JavaScriptValue value, bool useStrictRules);
internal static extern JavaScriptErrorCode JsGetPropertyNameFromId(JavaScriptPropertyId propertyId, out string name);
internal static extern JavaScriptErrorCode JsGetProperty(JavaScriptValue obj, JavaScriptPropertyId propertyId, out JavaScriptValue value);
/// <summary> /// Gets a property descriptor for an object's own property. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="propertyId">The ID of the property.</param> /// <returns>The property descriptor.</returns> public JavaScriptValue GetOwnPropertyDescriptor(JavaScriptPropertyId propertyId) { JavaScriptValue descriptorReference; Native.ThrowIfError(Native.JsGetOwnPropertyDescriptor(this, propertyId, out descriptorReference)); return descriptorReference; }
internal static extern JavaScriptErrorCode JsGetPropertyIdFromName(string name, out JavaScriptPropertyId propertyId);
internal static extern JavaScriptErrorCode JsGetPropertyIdType(JavaScriptPropertyId propertyId, out JavaSciptPropertyIdType propertyIdType);
internal static extern JavaScriptErrorCode JsGetSymbolFromPropertyId(JavaScriptPropertyId propertyId, out JavaScriptValue symbol);
/// <summary> /// Deletes an object's property. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="propertyId">The ID of the property.</param> /// <param name="useStrictRules">The property set should follow strict mode rules.</param> /// <returns>Whether the property was deleted.</returns> public JavaScriptValue DeleteProperty(JavaScriptPropertyId propertyId, bool useStrictRules) { JavaScriptValue returnReference; Native.ThrowIfError(Native.JsDeleteProperty(this, propertyId, useStrictRules, out returnReference)); return returnReference; }
/// <summary> /// Defines a new object's own property from a property descriptor. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="propertyId">The ID of the property.</param> /// <param name="propertyDescriptor">The property descriptor.</param> /// <returns>Whether the property was defined.</returns> public bool DefineProperty(JavaScriptPropertyId propertyId, JavaScriptValue propertyDescriptor) { bool result; Native.ThrowIfError(Native.JsDefineProperty(this, propertyId, propertyDescriptor, out result)); return result; }
/// <summary> /// Sets an object's property. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="id">The ID of the property.</param> /// <param name="value">The new value of the property.</param> /// <param name="useStrictRules">The property set should follow strict mode rules.</param> public void SetProperty(JavaScriptPropertyId id, JavaScriptValue value, bool useStrictRules) { Native.ThrowIfError(Native.JsSetProperty(this, id, value, useStrictRules)); }
/// <summary> /// Gets an object's property. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="id">The ID of the property.</param> /// <returns>The value of the property.</returns> public JavaScriptValue GetProperty(JavaScriptPropertyId id) { JavaScriptValue propertyReference; Native.ThrowIfError(Native.JsGetProperty(this, id, out propertyReference)); return propertyReference; }
/// <summary> /// Determines whether an object has a property. /// </summary> /// <remarks> /// Requires an active script context. /// </remarks> /// <param name="propertyId">The ID of the property.</param> /// <returns>Whether the object (or a prototype) has the property.</returns> public bool HasProperty(JavaScriptPropertyId propertyId) { bool hasProperty; Native.ThrowIfError(Native.JsHasProperty(this, propertyId, out hasProperty)); return hasProperty; }
internal static extern JavaScriptErrorCode JsDeleteProperty(JavaScriptValue obj, JavaScriptPropertyId propertyId, bool useStrictRules, out JavaScriptValue result);
internal static extern JavaScriptErrorCode JsGetPropertyIdFromSymbol(JavaScriptValue symbol, out JavaScriptPropertyId propertyId);
internal static extern JavaScriptErrorCode JsDefineProperty(JavaScriptValue obj, JavaScriptPropertyId propertyId, JavaScriptValue propertyDescriptor, out bool result);
internal static extern JavaScriptErrorCode JsGetPropertyNameFromId(JavaScriptPropertyId propertyId, out IntPtr buffer);