|
Ultralight C API 2.0.0
|
Classes | |
| struct | JSStaticValue |
| This structure describes a statically declared value property. More... | |
| struct | JSStaticValueEx |
| struct | JSStaticFunction |
| This structure describes a statically declared function property. More... | |
| struct | JSStaticFunctionEx |
| struct | JSClassDefinition |
| This structure contains properties and callbacks that define a type of object. All fields other than the version field are optional. Any pointer may be NULL. More... | |
Functions | |
| JSClassRef | JSClassCreate (const JSClassDefinition *definition) |
| Creates a JavaScript class suitable for use with JSObjectMake. | |
| JSClassRef | JSClassRetain (JSClassRef jsClass) |
| Retains a JavaScript class. | |
| void | JSClassRelease (JSClassRef jsClass) |
| Releases a JavaScript class. | |
| JSObjectRef | JSObjectMake (JSContextRef ctx, JSClassRef jsClass, void *data) |
| Creates a JavaScript object. | |
| JSObjectRef | JSObjectMakeFunctionWithCallback (JSContextRef ctx, JSStringRef name, JSObjectCallAsFunctionCallback callAsFunction) |
| Convenience method for creating a JavaScript function with a given callback as its implementation. | |
| JSObjectRef | JSObjectMakeConstructor (JSContextRef ctx, JSClassRef jsClass, JSObjectCallAsConstructorCallback callAsConstructor) |
| Convenience method for creating a JavaScript constructor. | |
| JSObjectRef | JSObjectMakeArray (JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) JSC_API_AVAILABLE(macos(10.6) |
| Creates a JavaScript Array object. | |
| JSObjectRef | ios (7.0)) |
| JSObjectRef | JSObjectMakeDate (JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) JSC_API_AVAILABLE(macos(10.6) |
| Creates a JavaScript Date object, as if by invoking the built-in Date constructor. | |
| JSObjectRef | JSObjectMakeError (JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) JSC_API_AVAILABLE(macos(10.6) |
| Creates a JavaScript Error object, as if by invoking the built-in Error constructor. | |
| JSObjectRef | JSObjectMakeRegExp (JSContextRef ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) JSC_API_AVAILABLE(macos(10.6) |
| Creates a JavaScript RegExp object, as if by invoking the built-in RegExp constructor. | |
| JSObjectRef | JSObjectMakeDeferredPromise (JSContextRef ctx, JSObjectRef *resolve, JSObjectRef *reject, JSValueRef *exception) JSC_API_AVAILABLE(macos(10.15) |
| Creates a JavaScript promise object by invoking the provided executor. | |
| JSObjectRef | ios (13.0)) |
| JSObjectRef | JSObjectMakeFunction (JSContextRef ctx, JSStringRef name, unsigned parameterCount, const JSStringRef parameterNames[], JSStringRef body, JSStringRef sourceURL, int startingLineNumber, JSValueRef *exception) |
| Creates a function with a given script as its body. | |
| JSValueRef | JSObjectGetPrototype (JSContextRef ctx, JSObjectRef object) |
| Gets an object's prototype. | |
| void | JSObjectSetPrototype (JSContextRef ctx, JSObjectRef object, JSValueRef value) |
| Sets an object's prototype. | |
| bool | JSObjectHasProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) |
| Tests whether an object has a given property. | |
| JSValueRef | JSObjectGetProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| Gets a property from an object. | |
| void | JSObjectSetProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSPropertyAttributes attributes, JSValueRef *exception) |
| Sets a property on an object. | |
| bool | JSObjectDeleteProperty (JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| Deletes a property from an object. | |
| bool | JSObjectHasPropertyForKey (JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef *exception) JSC_API_AVAILABLE(macos(10.15) |
| Tests whether an object has a given property using a JSValueRef as the property key. | |
| JSValueRef | JSObjectGetPropertyForKey (JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef *exception) JSC_API_AVAILABLE(macos(10.15) |
| Gets a property from an object using a JSValueRef as the property key. | |
| void | JSObjectSetPropertyForKey (JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef value, JSPropertyAttributes attributes, JSValueRef *exception) JSC_API_AVAILABLE(macos(10.15) |
| Sets a property on an object using a JSValueRef as the property key. | |
| bool | JSObjectDeletePropertyForKey (JSContextRef ctx, JSObjectRef object, JSValueRef propertyKey, JSValueRef *exception) JSC_API_AVAILABLE(macos(10.15) |
| Deletes a property from an object using a JSValueRef as the property key. | |
| JSValueRef | JSObjectGetPropertyAtIndex (JSContextRef ctx, JSObjectRef object, unsigned propertyIndex, JSValueRef *exception) |
| Gets a property from an object by numeric index. | |
| void | JSObjectSetPropertyAtIndex (JSContextRef ctx, JSObjectRef object, unsigned propertyIndex, JSValueRef value, JSValueRef *exception) |
| Sets a property on an object by numeric index. | |
| void * | JSObjectGetPrivate (JSObjectRef object) |
| Gets an object's private data. | |
| bool | JSObjectSetPrivate (JSObjectRef object, void *data) |
| Sets a pointer to private data on an object. | |
| bool | JSObjectIsFunction (JSContextRef ctx, JSObjectRef object) |
| Tests whether an object can be called as a function. | |
| JSValueRef | JSObjectCallAsFunction (JSContextRef ctx, JSObjectRef object, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| Calls an object as a function. | |
| bool | JSObjectIsConstructor (JSContextRef ctx, JSObjectRef object) |
| Tests whether an object can be called as a constructor. | |
| JSObjectRef | JSObjectCallAsConstructor (JSContextRef ctx, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| Calls an object as a constructor. | |
| JSPropertyNameArrayRef | JSObjectCopyPropertyNames (JSContextRef ctx, JSObjectRef object) |
| Gets the names of an object's enumerable properties. | |
| JSPropertyNameArrayRef | JSPropertyNameArrayRetain (JSPropertyNameArrayRef array) |
| Retains a JavaScript property name array. | |
| void | JSPropertyNameArrayRelease (JSPropertyNameArrayRef array) |
| Releases a JavaScript property name array. | |
| size_t | JSPropertyNameArrayGetCount (JSPropertyNameArrayRef array) |
| Gets a count of the number of items in a JavaScript property name array. | |
| JSStringRef | JSPropertyNameArrayGetNameAtIndex (JSPropertyNameArrayRef array, size_t index) |
| Gets a property name at a given index in a JavaScript property name array. | |
| void | JSPropertyNameAccumulatorAddName (JSPropertyNameAccumulatorRef accumulator, JSStringRef propertyName) |
| Adds a property name to a JavaScript property name accumulator. | |
| void * | JSClassGetPrivate (JSClassRef jsClass) |
| Gets the private data from a JSClass (version 1000 only). | |
| bool | JSClassSetPrivate (JSClassRef jsClass, void *data) |
| Sets the private data for a JSClass (version 1000 only). | |
| JSObjectRef | JSObjectMakeFunctionWithData (JSContextRef ctx, JSStringRef name, JSObjectCallAsFunctionDataCallback callAsFunction, void *userData, JSFunctionDataFinalizeCallback finalize) |
| Creates a JavaScript function with a callback, a user data pointer, and an optional finalizer. | |
| bool | JSObjectGetPropertiesUTF8 (JSContextRef ctx, JSObjectRef object, const char *const *names, size_t count, JSValueRef *outValues, JSValueRef *exception) |
| Gets multiple properties of an object in one call, using UTF-8 property names. | |
| bool | JSObjectSetPropertiesUTF8 (JSContextRef ctx, JSObjectRef object, const char *const *names, const JSValueRef *values, size_t count, unsigned attributes, JSValueRef *exception) |
| Sets multiple properties of an object in one call, using UTF-8 property names. | |
| JSObjectRef | JSObjectMakeWithPropertiesUTF8 (JSContextRef ctx, const char *const *names, const JSValueRef *values, size_t count, JSValueRef *exception) |
| Creates a JavaScript object initialized with a set of properties, using UTF-8 property names. | |
| bool | JSObjectGetOwnEntriesUTF8 (JSContextRef ctx, JSObjectRef object, size_t start, JSStringRef *outNames, JSValueRef *outValues, size_t capacity, size_t *outCount, JSValueRef *exception) |
| Gets an object's own enumerable string-keyed properties (names and values) in one call. | |
| bool | JSObjectDefineAccessorUTF8 (JSContextRef ctx, JSObjectRef object, const char *name, JSObjectRef getter, JSObjectRef setter, unsigned attributes, JSValueRef *exception) |
| Defines an accessor (getter/setter) property on an object, using a UTF-8 property name. | |
| bool | JSObjectDefinePropertyUTF8 (JSContextRef ctx, JSObjectRef object, const char *name, JSValueRef value, unsigned attributes, JSValueRef *exception) |
| Defines an own data property on an object with the given attributes, equivalent to Object.defineProperty. | |
| bool | JSObjectFreeze (JSContextRef ctx, JSObjectRef object, JSValueRef *exception) |
| Freezes an object, equivalent to Object.freeze. | |
| JSObjectRef | JSObjectMakeTypedError (JSContextRef ctx, JSTypedErrorType type, JSStringRef message) |
| Creates a JavaScript error object of a given type. | |
| bool | JSPromiseGetStatus (JSContextRef ctx, JSObjectRef promise, JSPromiseStatus *outStatus) |
| Gets the state of a JavaScript Promise without scheduling any reaction. | |
| JSValueRef | JSPromiseGetResult (JSContextRef ctx, JSObjectRef promise) |
| Gets the settled result of a JavaScript Promise: its value if fulfilled, or its rejection reason if rejected. | |
| bool | JSPromiseMarkAsHandled (JSContextRef ctx, JSObjectRef promise) |
| Marks a JavaScript Promise as handled for unhandled-rejection reporting. | |
| bool | JSObjectSetExternalMemoryHint (JSContextRef ctx, JSObjectRef object, size_t bytes) |
| Reports the amount of non-JavaScript memory kept alive by an object, to guide garbage collection. | |
Variables | |
| const JSClassDefinition | kJSClassDefinitionEmpty |
| A JSClassDefinition structure of the current version, filled with NULL pointers and having no attributes. | |
Typedefs | |
| typedef unsigned | JSPropertyAttributes |
| A set of JSPropertyAttributes. Combine multiple attributes by logically ORing them together. | |
| typedef unsigned | JSClassAttributes |
| A set of JSClassAttributes. Combine multiple attributes by logically ORing them together. | |
| typedef void(*) | JSObjectInitializeCallback(JSContextRef ctx, JSObjectRef object) |
| The callback invoked when an object is first created. | |
| typedef void(*) | JSObjectInitializeCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object) |
| typedef void(*) | JSObjectFinalizeCallback(JSObjectRef object) |
| The callback invoked when an object is finalized (prepared for garbage collection). An object may be finalized on any thread. | |
| typedef void(*) | JSObjectFinalizeCallbackEx(JSClassRef jsClass, JSObjectRef object) |
| typedef bool(*) | JSObjectHasPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) |
| The callback invoked when determining whether an object has a property. | |
| typedef bool(*) | JSObjectHasPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName) |
| typedef JSValueRef(*) | JSObjectGetPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| The callback invoked when getting a property's value. | |
| typedef JSValueRef(*) | JSObjectGetPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| typedef bool(*) | JSObjectSetPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef *exception) |
| The callback invoked when setting a property's value. | |
| typedef bool(*) | JSObjectSetPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef *exception) |
| typedef bool(*) | JSObjectDeletePropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| The callback invoked when deleting a property. | |
| typedef bool(*) | JSObjectDeletePropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| typedef void(*) | JSObjectGetPropertyNamesCallback(JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) |
| The callback invoked when collecting the names of an object's properties. | |
| typedef void(*) | JSObjectGetPropertyNamesCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) |
| typedef JSValueRef(*) | JSObjectCallAsFunctionCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| The callback invoked when an object is called as a function. | |
| typedef JSValueRef(*) | JSObjectCallAsFunctionCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSStringRef className, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| typedef JSValueRef(*) | JSObjectCallAsFunctionDataCallback(JSContextRef ctx, void *userData, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| The callback invoked when a function created with JSObjectMakeFunctionWithData is called. | |
| typedef void(*) | JSFunctionDataFinalizeCallback(void *userData) |
| The callback invoked when a function created with JSObjectMakeFunctionWithData is garbage collected. | |
| typedef JSObjectRef(*) | JSObjectCallAsConstructorCallback(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| The callback invoked when an object is used as a constructor in a 'new' expression. | |
| typedef JSObjectRef(*) | JSObjectCallAsConstructorCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| typedef bool(*) | JSObjectHasInstanceCallback(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef *exception) |
| hasInstance The callback invoked when an object is used as the target of an 'instanceof' expression. | |
| typedef bool(*) | JSObjectHasInstanceCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef *exception) |
| typedef JSValueRef(*) | JSObjectConvertToTypeCallback(JSContextRef ctx, JSObjectRef object, JSType type, JSValueRef *exception) |
| The callback invoked when converting an object to a particular JavaScript type. | |
| typedef JSValueRef(*) | JSObjectConvertToTypeCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSType type, JSValueRef *exception) |
Enumerations | |
| enum | { kJSPropertyAttributeNone = 0 , kJSPropertyAttributeReadOnly = 1 << 1 , kJSPropertyAttributeDontEnum = 1 << 2 , kJSPropertyAttributeDontDelete = 1 << 3 } |
| enum | { kJSClassAttributeNone = 0 , kJSClassAttributeNoAutomaticPrototype = 1 << 1 } |
| enum | JSPromiseStatus { kJSPromiseStatus_Pending = 0 , kJSPromiseStatus_Fulfilled = 1 , kJSPromiseStatus_Rejected = 2 } |
| The possible states of a JavaScript Promise. More... | |
| JSObjectRef ios | ( | 13. | 0 | ) |
| JSObjectRef ios | ( | 7. | 0 | ) |
| JSClassRef JSClassCreate | ( | const JSClassDefinition * | definition | ) |
Creates a JavaScript class suitable for use with JSObjectMake.
| definition | A JSClassDefinition that defines the class. |
| void * JSClassGetPrivate | ( | JSClassRef | jsClass | ) |
Gets the private data from a JSClass (version 1000 only).
| jsClass | The JSClass whose private data you want to get. |
| void JSClassRelease | ( | JSClassRef | jsClass | ) |
Releases a JavaScript class.
| jsClass | The JSClass to release. |
| JSClassRef JSClassRetain | ( | JSClassRef | jsClass | ) |
Retains a JavaScript class.
| jsClass | The JSClass to retain. |
| bool JSClassSetPrivate | ( | JSClassRef | jsClass, |
| void * | data ) |
Sets the private data for a JSClass (version 1000 only).
| jsClass | The JSClass whose private data you want to set. |
| data | The private data to set. |
| JSObjectRef JSObjectCallAsConstructor | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Calls an object as a constructor.
| ctx | The execution context to use. |
| object | The JSObject to call as a constructor. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of arguments to pass to the constructor. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSValueRef JSObjectCallAsFunction | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSObjectRef | thisObject, | ||
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Calls an object as a function.
| ctx | The execution context to use. |
| object | The JSObject to call as a function. |
| thisObject | The object to use as "this," or NULL to use the global object as "this." |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of arguments to pass to the function. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSPropertyNameArrayRef JSObjectCopyPropertyNames | ( | JSContextRef | ctx, |
| JSObjectRef | object ) |
Gets the names of an object's enumerable properties.
| ctx | The execution context to use. |
| object | The object whose property names you want to get. |
| bool JSObjectDefineAccessorUTF8 | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| const char * | name, | ||
| JSObjectRef | getter, | ||
| JSObjectRef | setter, | ||
| unsigned | attributes, | ||
| JSValueRef * | exception ) |
Defines an accessor (getter/setter) property on an object, using a UTF-8 property name.
| ctx | The execution context to use. |
| object | The JSObject on which to define the accessor. |
| name | A null-terminated UTF-8 string containing the property name. |
| getter | A JSObject that is a function to invoke on property reads. May be NULL to define a write-only accessor. |
| setter | A JSObject that is a function to invoke on property writes. May be NULL to define a read-only accessor. |
| attributes | A logically ORed set of JSPropertyAttributes to give to the property. kJSPropertyAttributeReadOnly is ignored for accessors. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectDefinePropertyUTF8 | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| const char * | name, | ||
| JSValueRef | value, | ||
| unsigned | attributes, | ||
| JSValueRef * | exception ) |
Defines an own data property on an object with the given attributes, equivalent to Object.defineProperty.
| ctx | The execution context to use. |
| object | The JSObject on which to define the property. |
| name | A null-terminated UTF-8 string containing the property name. |
| value | A JSValueRef that is the property value. Pass NULL for the undefined value. |
| attributes | A logically ORed set of JSPropertyAttributes to give to the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectDeleteProperty | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSStringRef | propertyName, | ||
| JSValueRef * | exception ) |
Deletes a property from an object.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to delete. |
| propertyName | A JSString containing the property's name. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectDeletePropertyForKey | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef | propertyKey, | ||
| JSValueRef * | exception ) |
Deletes a property from an object using a JSValueRef as the property key.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to delete. |
| propertyKey | A JSValueRef containing the property key to use when looking up the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectFreeze | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef * | exception ) |
Freezes an object, equivalent to Object.freeze.
| ctx | The execution context to use. |
| object | The JSObject to freeze. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectGetOwnEntriesUTF8 | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| size_t | start, | ||
| JSStringRef * | outNames, | ||
| JSValueRef * | outValues, | ||
| size_t | capacity, | ||
| size_t * | outCount, | ||
| JSValueRef * | exception ) |
Gets an object's own enumerable string-keyed properties (names and values) in one call.
| ctx | The execution context to use. |
| object | The JSObject whose entries you want to get. |
| start | The enumeration-order position to start reading entries from (0 reads from the beginning). Positions at or beyond the property count read nothing. |
| outNames | An array that receives up to capacity JSStringRefs, one per property name. May be NULL if capacity is 0. Each returned string is owned by the caller, who is responsible for releasing it with JSStringRelease. |
| outValues | An array that receives up to capacity property values. May be NULL if capacity is 0. |
| capacity | The number of entries the out arrays can hold. |
| outCount | On success, receives the total number of own enumerable string-keyed properties, which may exceed start + capacity. Pass a capacity of 0 to query the count without reading entries. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| void * JSObjectGetPrivate | ( | JSObjectRef | object | ) |
Gets an object's private data.
| object | A JSObject whose private data you want to get. |
| bool JSObjectGetPropertiesUTF8 | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| const char *const * | names, | ||
| size_t | count, | ||
| JSValueRef * | outValues, | ||
| JSValueRef * | exception ) |
Gets multiple properties of an object in one call, using UTF-8 property names.
| ctx | The execution context to use. |
| object | The JSObject whose properties you want to get. |
| names | An array of count null-terminated UTF-8 property names. |
| count | The number of properties to get. |
| outValues | An array of count JSValueRefs that receives the property values. A property that does not exist yields the undefined value. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSValueRef JSObjectGetProperty | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSStringRef | propertyName, | ||
| JSValueRef * | exception ) |
Gets a property from an object.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to get. |
| propertyName | A JSString containing the property's name. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSValueRef JSObjectGetPropertyAtIndex | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| unsigned | propertyIndex, | ||
| JSValueRef * | exception ) |
Gets a property from an object by numeric index.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to get. |
| propertyIndex | An integer value that is the property's name. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSValueRef JSObjectGetPropertyForKey | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef | propertyKey, | ||
| JSValueRef * | exception ) |
Gets a property from an object using a JSValueRef as the property key.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to get. |
| propertyKey | A JSValueRef containing the property key to use when looking up the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSValueRef JSObjectGetPrototype | ( | JSContextRef | ctx, |
| JSObjectRef | object ) |
Gets an object's prototype.
| ctx | The execution context to use. |
| object | A JSObject whose prototype you want to get. |
| bool JSObjectHasProperty | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSStringRef | propertyName ) |
Tests whether an object has a given property.
| object | The JSObject to test. |
| propertyName | A JSString containing the property's name. |
| bool JSObjectHasPropertyForKey | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef | propertyKey, | ||
| JSValueRef * | exception ) |
Tests whether an object has a given property using a JSValueRef as the property key.
| object | The JSObject to test. |
| propertyKey | A JSValueRef containing the property key to use when looking up the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectIsConstructor | ( | JSContextRef | ctx, |
| JSObjectRef | object ) |
Tests whether an object can be called as a constructor.
| ctx | The execution context to use. |
| object | The JSObject to test. |
| bool JSObjectIsFunction | ( | JSContextRef | ctx, |
| JSObjectRef | object ) |
Tests whether an object can be called as a function.
| ctx | The execution context to use. |
| object | The JSObject to test. |
| JSObjectRef JSObjectMake | ( | JSContextRef | ctx, |
| JSClassRef | jsClass, | ||
| void * | data ) |
Creates a JavaScript object.
| ctx | The execution context to use. |
| jsClass | The JSClass to assign to the object. Pass NULL to use the default object class. |
| data | A void* to set as the object's private data. Pass NULL to specify no private data. |
The default object class does not allocate storage for private data, so you must provide a non-NULL jsClass to JSObjectMake if you want your object to be able to store private data.
data is set on the created object before the intialize methods in its class chain are called. This enables the initialize methods to retrieve and manipulate data through JSObjectGetPrivate.
| JSObjectRef JSObjectMakeArray | ( | JSContextRef | ctx, |
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Creates a JavaScript Array object.
| ctx | The execution context to use. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of data to populate the Array with. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSObjectRef JSObjectMakeConstructor | ( | JSContextRef | ctx, |
| JSClassRef | jsClass, | ||
| JSObjectCallAsConstructorCallback | callAsConstructor ) |
Convenience method for creating a JavaScript constructor.
| ctx | The execution context to use. |
| jsClass | A JSClass that is the class your constructor will assign to the objects its constructs. jsClass will be used to set the constructor's .prototype property, and to evaluate 'instanceof' expressions. Pass NULL to use the default object class. |
| callAsConstructor | A JSObjectCallAsConstructorCallback to invoke when your constructor is used in a 'new' expression. Pass NULL to use the default object constructor. |
| JSObjectRef JSObjectMakeDate | ( | JSContextRef | ctx, |
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Creates a JavaScript Date object, as if by invoking the built-in Date constructor.
| ctx | The execution context to use. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of arguments to pass to the Date Constructor. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSObjectRef JSObjectMakeDeferredPromise | ( | JSContextRef | ctx, |
| JSObjectRef * | resolve, | ||
| JSObjectRef * | reject, | ||
| JSValueRef * | exception ) |
Creates a JavaScript promise object by invoking the provided executor.
| ctx | The execution context to use. |
| resolve | A pointer to a JSObjectRef in which to store the resolve function for the new promise. Pass NULL if you do not care to store the resolve callback. |
| reject | A pointer to a JSObjectRef in which to store the reject function for the new promise. Pass NULL if you do not care to store the reject callback. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSObjectRef JSObjectMakeError | ( | JSContextRef | ctx, |
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Creates a JavaScript Error object, as if by invoking the built-in Error constructor.
| ctx | The execution context to use. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of arguments to pass to the Error Constructor. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSObjectRef JSObjectMakeFunction | ( | JSContextRef | ctx, |
| JSStringRef | name, | ||
| unsigned | parameterCount, | ||
| const JSStringRef | parameterNames[], | ||
| JSStringRef | body, | ||
| JSStringRef | sourceURL, | ||
| int | startingLineNumber, | ||
| JSValueRef * | exception ) |
Creates a function with a given script as its body.
| ctx | The execution context to use. |
| name | A JSString containing the function's name. This will be used when converting the function to string. Pass NULL to create an anonymous function. |
| parameterCount | An integer count of the number of parameter names in parameterNames. |
| parameterNames | A JSString array containing the names of the function's parameters. Pass NULL if parameterCount is 0. |
| body | A JSString containing the script to use as the function's body. |
| sourceURL | A JSString containing a URL for the script's source file. This is only used when reporting exceptions. Pass NULL if you do not care to include source file information in exceptions. |
| startingLineNumber | An integer value specifying the script's starting line number in the file located at sourceURL. This is only used when reporting exceptions. The value is one-based, so the first line is line 1 and invalid values are clamped to 1. |
| exception | A pointer to a JSValueRef in which to store a syntax error exception, if any. Pass NULL if you do not care to store a syntax error exception. |
| JSObjectRef JSObjectMakeFunctionWithCallback | ( | JSContextRef | ctx, |
| JSStringRef | name, | ||
| JSObjectCallAsFunctionCallback | callAsFunction ) |
Convenience method for creating a JavaScript function with a given callback as its implementation.
| ctx | The execution context to use. |
| name | A JSString containing the function's name. This will be used when converting the function to string. Pass NULL to create an anonymous function. |
| callAsFunction | The JSObjectCallAsFunctionCallback to invoke when the function is called. |
| JSObjectRef JSObjectMakeFunctionWithData | ( | JSContextRef | ctx, |
| JSStringRef | name, | ||
| JSObjectCallAsFunctionDataCallback | callAsFunction, | ||
| void * | userData, | ||
| JSFunctionDataFinalizeCallback | finalize ) |
Creates a JavaScript function with a callback, a user data pointer, and an optional finalizer.
| ctx | The execution context to use. |
| name | A JSString containing the function's name. This will be used when converting the function to string. Pass NULL to create an anonymous function. |
| callAsFunction | The JSObjectCallAsFunctionDataCallback to invoke when the function is called. The userData pointer is passed to every invocation. |
| userData | A pointer to user data associated with the function. May be NULL. |
| finalize | A JSFunctionDataFinalizeCallback invoked exactly once when the function is garbage collected or its context group is destroyed. Pass NULL if no cleanup is needed. |
| JSObjectRef JSObjectMakeRegExp | ( | JSContextRef | ctx, |
| size_t | argumentCount, | ||
| const JSValueRef | arguments[], | ||
| JSValueRef * | exception ) |
Creates a JavaScript RegExp object, as if by invoking the built-in RegExp constructor.
| ctx | The execution context to use. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of arguments to pass to the RegExp Constructor. Pass NULL if argumentCount is 0. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| JSObjectRef JSObjectMakeTypedError | ( | JSContextRef | ctx, |
| JSTypedErrorType | type, | ||
| JSStringRef | message ) |
Creates a JavaScript error object of a given type.
| ctx | The execution context to use. |
| type | The JSTypedErrorType of error to create, for example kJSTypedError_TypeError. |
| message | A JSString containing the error message. May be NULL to create an error with no message. |
| JSObjectRef JSObjectMakeWithPropertiesUTF8 | ( | JSContextRef | ctx, |
| const char *const * | names, | ||
| const JSValueRef * | values, | ||
| size_t | count, | ||
| JSValueRef * | exception ) |
Creates a JavaScript object initialized with a set of properties, using UTF-8 property names.
| ctx | The execution context to use. |
| names | An array of count null-terminated UTF-8 property names. |
| values | An array of count JSValueRefs that are the property values. |
| count | The number of properties. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| bool JSObjectSetExternalMemoryHint | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| size_t | bytes ) |
Reports the amount of non-JavaScript memory kept alive by an object, to guide garbage collection.
| ctx | The execution context to use. |
| object | The JSObject the memory is attributed to. |
| bytes | The number of bytes of external memory the object keeps alive. Replaces any previously set hint. Pass 0 to clear the hint. |
| bool JSObjectSetPrivate | ( | JSObjectRef | object, |
| void * | data ) |
Sets a pointer to private data on an object.
| object | The JSObject whose private data you want to set. |
| data | A void* to set as the object's private data. |
| bool JSObjectSetPropertiesUTF8 | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| const char *const * | names, | ||
| const JSValueRef * | values, | ||
| size_t | count, | ||
| unsigned | attributes, | ||
| JSValueRef * | exception ) |
Sets multiple properties of an object in one call, using UTF-8 property names.
| ctx | The execution context to use. |
| object | The JSObject whose properties you want to set. |
| names | An array of count null-terminated UTF-8 property names. |
| values | An array of count JSValueRefs that are the property values to set. |
| count | The number of properties to set. |
| attributes | A logically ORed set of JSPropertyAttributes to give to each property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| void JSObjectSetProperty | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSStringRef | propertyName, | ||
| JSValueRef | value, | ||
| JSPropertyAttributes | attributes, | ||
| JSValueRef * | exception ) |
Sets a property on an object.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to set. |
| propertyName | A JSString containing the property's name. |
| value | A JSValueRef to use as the property's value. |
| attributes | A logically ORed set of JSPropertyAttributes to give to the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| void JSObjectSetPropertyAtIndex | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| unsigned | propertyIndex, | ||
| JSValueRef | value, | ||
| JSValueRef * | exception ) |
Sets a property on an object by numeric index.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to set. |
| propertyIndex | The property's name as a number. |
| value | A JSValue to use as the property's value. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| void JSObjectSetPropertyForKey | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef | propertyKey, | ||
| JSValueRef | value, | ||
| JSPropertyAttributes | attributes, | ||
| JSValueRef * | exception ) |
Sets a property on an object using a JSValueRef as the property key.
| ctx | The execution context to use. |
| object | The JSObject whose property you want to set. |
| propertyKey | A JSValueRef containing the property key to use when looking up the property. |
| value | A JSValueRef to use as the property's value. |
| attributes | A logically ORed set of JSPropertyAttributes to give to the property. |
| exception | A pointer to a JSValueRef in which to store an exception, if any. Pass NULL if you do not care to store an exception. |
| void JSObjectSetPrototype | ( | JSContextRef | ctx, |
| JSObjectRef | object, | ||
| JSValueRef | value ) |
Sets an object's prototype.
| ctx | The execution context to use. |
| object | The JSObject whose prototype you want to set. |
| value | A JSValue to set as the object's prototype. |
| JSValueRef JSPromiseGetResult | ( | JSContextRef | ctx, |
| JSObjectRef | promise ) |
Gets the settled result of a JavaScript Promise: its value if fulfilled, or its rejection reason if rejected.
| ctx | The execution context to use. |
| promise | The JSObject to inspect. |
| bool JSPromiseGetStatus | ( | JSContextRef | ctx, |
| JSObjectRef | promise, | ||
| JSPromiseStatus * | outStatus ) |
Gets the state of a JavaScript Promise without scheduling any reaction.
| ctx | The execution context to use. |
| promise | The JSObject to inspect. |
| outStatus | On success, receives the promise's JSPromiseStatus. |
| bool JSPromiseMarkAsHandled | ( | JSContextRef | ctx, |
| JSObjectRef | promise ) |
Marks a JavaScript Promise as handled for unhandled-rejection reporting.
| ctx | The execution context to use. |
| promise | The JSObject to mark. |
| void JSPropertyNameAccumulatorAddName | ( | JSPropertyNameAccumulatorRef | accumulator, |
| JSStringRef | propertyName ) |
Adds a property name to a JavaScript property name accumulator.
| accumulator | The accumulator object to which to add the property name. |
| propertyName | The property name to add. |
| size_t JSPropertyNameArrayGetCount | ( | JSPropertyNameArrayRef | array | ) |
Gets a count of the number of items in a JavaScript property name array.
| array | The array from which to retrieve the count. |
| JSStringRef JSPropertyNameArrayGetNameAtIndex | ( | JSPropertyNameArrayRef | array, |
| size_t | index ) |
Gets a property name at a given index in a JavaScript property name array.
| array | The array from which to retrieve the property name. |
| index | The index of the property name to retrieve. |
| void JSPropertyNameArrayRelease | ( | JSPropertyNameArrayRef | array | ) |
Releases a JavaScript property name array.
| array | The JSPropetyNameArray to release. |
| JSPropertyNameArrayRef JSPropertyNameArrayRetain | ( | JSPropertyNameArrayRef | array | ) |
Retains a JavaScript property name array.
| array | The JSPropertyNameArray to retain. |
|
extern |
A JSClassDefinition structure of the current version, filled with NULL pointers and having no attributes.
@const kJSClassDefinitionEmpty
Use this constant as a convenience when creating class definitions. For example, to create a class definition with only a finalize method:
JSClassDefinition definition = kJSClassDefinitionEmpty; definition.finalize = Finalize;
| typedef unsigned JSClassAttributes |
A set of JSClassAttributes. Combine multiple attributes by logically ORing them together.
| typedef void(*) JSFunctionDataFinalizeCallback(void *userData) |
The callback invoked when a function created with JSObjectMakeFunctionWithData is garbage collected.
| userData | The user data pointer the function was created with. |
| typedef JSObjectRef(*) JSObjectCallAsConstructorCallback(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
The callback invoked when an object is used as a constructor in a 'new' expression.
| ctx | The execution context to use. |
| constructor | A JSObject that is the constructor being called. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of the arguments passed to the function. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function CallAsConstructor, you would declare it like this:
JSObjectRef CallAsConstructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
If your callback were invoked by the JavaScript expression 'new myConstructor()', constructor would be set to myConstructor.
If this callback is NULL, using your object as a constructor in a 'new' expression will throw an exception.
| typedef JSObjectRef(*) JSObjectCallAsConstructorCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| typedef JSValueRef(*) JSObjectCallAsFunctionCallback(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
The callback invoked when an object is called as a function.
| ctx | The execution context to use. |
| function | A JSObject that is the function being called. |
| thisObject | A JSObject that is the 'this' variable in the function's scope. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of the arguments passed to the function. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function CallAsFunction, you would declare it like this:
JSValueRef CallAsFunction(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
If your callback were invoked by the JavaScript expression 'myObject.myFunction()', function would be set to myFunction, and thisObject would be set to myObject.
If this callback is NULL, calling your object as a function will throw an exception.
| typedef JSValueRef(*) JSObjectCallAsFunctionCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSStringRef className, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
| typedef JSValueRef(*) JSObjectCallAsFunctionDataCallback(JSContextRef ctx, void *userData, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef *exception) |
The callback invoked when a function created with JSObjectMakeFunctionWithData is called.
| ctx | The execution context to use. |
| userData | The user data pointer the function was created with. |
| function | A JSObject that is the function being called. |
| thisObject | A JSObject that is the 'this' variable in the function's scope. |
| argumentCount | An integer count of the number of arguments in arguments. |
| arguments | A JSValue array of the arguments passed to the function. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
| typedef JSValueRef(*) JSObjectConvertToTypeCallback(JSContextRef ctx, JSObjectRef object, JSType type, JSValueRef *exception) |
The callback invoked when converting an object to a particular JavaScript type.
| ctx | The execution context to use. |
| object | The JSObject to convert. |
| type | A JSType specifying the JavaScript type to convert to. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function ConvertToType, you would declare it like this:
JSValueRef ConvertToType(JSContextRef ctx, JSObjectRef object, JSType type, JSValueRef* exception);
If this function returns false, the conversion request forwards to object's parent class chain (which includes the default object class).
This function is only invoked when converting an object to number or string. An object converted to boolean is 'true.' An object converted to object is itself.
| typedef JSValueRef(*) JSObjectConvertToTypeCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSType type, JSValueRef *exception) |
| typedef bool(*) JSObjectDeletePropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
The callback invoked when deleting a property.
| ctx | The execution context to use. |
| object | The JSObject in which to delete the property. |
| propertyName | A JSString containing the name of the property to delete. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function DeleteProperty, you would declare it like this:
bool DeleteProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
If this function returns false, the delete request forwards to object's statically declared properties, then its parent class chain (which includes the default object class).
| typedef bool(*) JSObjectDeletePropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| typedef void(*) JSObjectFinalizeCallback(JSObjectRef object) |
The callback invoked when an object is finalized (prepared for garbage collection). An object may be finalized on any thread.
| object | The JSObject being finalized. |
If you named your function Finalize, you would declare it like this:
void Finalize(JSObjectRef object);
The finalize callback is called on the most derived class first, and the least derived class (the parent class) last.
You must not call any function that may cause a garbage collection or an allocation of a garbage collected object from within a JSObjectFinalizeCallback. This includes all functions that have a JSContextRef parameter.
| typedef void(*) JSObjectFinalizeCallbackEx(JSClassRef jsClass, JSObjectRef object) |
| typedef JSValueRef(*) JSObjectGetPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
The callback invoked when getting a property's value.
| ctx | The execution context to use. |
| object | The JSObject to search for the property. |
| propertyName | A JSString containing the name of the property to get. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function GetProperty, you would declare it like this:
JSValueRef GetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception);
If this function returns NULL, the get request forwards to object's statically declared properties, then its parent class chain (which includes the default object class), then its prototype chain.
| typedef JSValueRef(*) JSObjectGetPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef *exception) |
| typedef void(*) JSObjectGetPropertyNamesCallback(JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) |
The callback invoked when collecting the names of an object's properties.
| ctx | The execution context to use. |
| object | The JSObject whose property names are being collected. |
| propertyNames | A JavaScript property name accumulator in which to accumulate the names of object's properties. |
If you named your function GetPropertyNames, you would declare it like this:
void GetPropertyNames(JSContextRef ctx, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames);
Property name accumulators are used by JSObjectCopyPropertyNames and JavaScript for...in loops.
Use JSPropertyNameAccumulatorAddName to add property names to accumulator. A class's getPropertyNames callback only needs to provide the names of properties that the class vends through a custom getProperty or setProperty callback. Other properties, including statically declared properties, properties vended by other classes, and properties belonging to object's prototype, are added independently.
| typedef void(*) JSObjectGetPropertyNamesCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSPropertyNameAccumulatorRef propertyNames) |
| typedef bool(*) JSObjectHasInstanceCallback(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef *exception) |
hasInstance The callback invoked when an object is used as the target of an 'instanceof' expression.
| ctx | The execution context to use. |
| constructor | The JSObject that is the target of the 'instanceof' expression. |
| possibleInstance | The JSValue being tested to determine if it is an instance of constructor. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function HasInstance, you would declare it like this:
bool HasInstance(JSContextRef ctx, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef* exception);
If your callback were invoked by the JavaScript expression 'someValue instanceof myObject', constructor would be set to myObject and possibleInstance would be set to someValue.
If this callback is NULL, 'instanceof' expressions that target your object will return false.
Standard JavaScript practice calls for objects that implement the callAsConstructor callback to implement the hasInstance callback as well.
| typedef bool(*) JSObjectHasInstanceCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef constructor, JSValueRef possibleInstance, JSValueRef *exception) |
| typedef bool(*) JSObjectHasPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName) |
The callback invoked when determining whether an object has a property.
| ctx | The execution context to use. |
| object | The JSObject to search for the property. |
| propertyName | A JSString containing the name of the property look up. |
If you named your function HasProperty, you would declare it like this:
bool HasProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName);
If this function returns false, the hasProperty request forwards to object's statically declared properties, then its parent class chain (which includes the default object class), then its prototype chain.
This callback enables optimization in cases where only a property's existence needs to be known, not its value, and computing its value would be expensive.
If this callback is NULL, the getProperty callback will be used to service hasProperty requests.
| typedef bool(*) JSObjectHasPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName) |
| typedef void(*) JSObjectInitializeCallback(JSContextRef ctx, JSObjectRef object) |
The callback invoked when an object is first created.
| ctx | The execution context to use. |
| object | The JSObject being created. |
If you named your function Initialize, you would declare it like this:
void Initialize(JSContextRef ctx, JSObjectRef object);
Unlike the other object callbacks, the initialize callback is called on the least derived class (the parent class) first, and the most derived class last.
| typedef void(*) JSObjectInitializeCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object) |
| typedef bool(*) JSObjectSetPropertyCallback(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef *exception) |
The callback invoked when setting a property's value.
| ctx | The execution context to use. |
| object | The JSObject on which to set the property's value. |
| propertyName | A JSString containing the name of the property to set. |
| value | A JSValue to use as the property's value. |
| exception | A pointer to a JSValueRef in which to return an exception, if any. |
If you named your function SetProperty, you would declare it like this:
bool SetProperty(JSContextRef ctx, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef* exception);
If this function returns false, the set request forwards to object's statically declared properties, then its parent class chain (which includes the default object class).
| typedef bool(*) JSObjectSetPropertyCallbackEx(JSContextRef ctx, JSClassRef jsClass, JSObjectRef object, JSStringRef propertyName, JSValueRef value, JSValueRef *exception) |
| typedef unsigned JSPropertyAttributes |
A set of JSPropertyAttributes. Combine multiple attributes by logically ORing them together.
| anonymous enum |
| enum JSPromiseStatus |
The possible states of a JavaScript Promise.
kJSPromiseStatus_Pending The promise has not been settled yet. kJSPromiseStatus_Fulfilled The promise has been resolved with a value. kJSPromiseStatus_Rejected The promise has been rejected with a reason. | Enumerator | |
|---|---|
| kJSPromiseStatus_Pending | |
| kJSPromiseStatus_Fulfilled | |
| kJSPromiseStatus_Rejected | |