Defines a single property for an object.
Syntax
struct JSPropertySpec { struct SelfHostedWrapper { void *unused; const char *funname; }; const char *name; int8 tinyid; // Obsolete since JSAPI 31 uint8_t flags; union { JSNativeWrapper native; SelfHostedWrapper selfHosted; } getter; union { JSNativeWrapper native; SelfHostedWrapper selfHosted; } setter; /* Obsolete since JSAPI 29 */ /* Added in JSAPI 28 */ const char *selfHostedGetter; const char *selfHostedSetter; };
Name | Type | Description |
---|---|---|
name |
const char * |
Name to assign the property. |
tinyid |
int8 |
Obsolete since JSAPI 31 Unique ID number for the property to aid in resolving getProperty and setProperty method calls. This value should be zero if you are not using tinyIDs (i.e. the getter/setter function is only used by one property). |
flags |
uint8_t |
The bitwise OR of any number of Property attributes. |
getter |
JSNativeWrapper or SelfHostedWrapper |
Getter method for the property. |
setter |
JSNativeWrapper or SelfHostedWrapper |
Setter method for the property. If a property is read-only, its setter is never called. |
Description
JSPropertySpec
defines the attributes for a single JS property to associate with an object. Pass to JS_DefineProperties
or JS_InitClass
to create the properties and assign them to an object.
To define an array of JSPropertySpec
, use JS_PSG
, JS_PSGS
, JS_SELF_HOSTED_GET
, JS_SELF_HOSTED_GETSET
, and JS_PS_END
See Also
- MXR ID Search for
JSPropertySpec
JSFunctionSpec
JSNativeWrapper
JS_DefineProperties
JS_PSG
JS_PSGS
JS_SELF_HOSTED_GET
JS_SELF_HOSTED_GETSET
JS_PS_END
- bug 766448 - changed type of
getter
andsetter
to wrapper - bug 938728 - added
selfHostedGetter
andselfHostedSetter
- bug 958262 - changed type of
getter
andsetter
tounion
, and removedselfHostedGetter
andselfHostedSetter
.