V8 API Reference Guide generated from the header files
|
#include <v8.h>
Public Member Functions | |
V8_DEPRECATE_SOON ("Use maybe version", Local< Object > NewInstance()) | |
V8_WARN_UNUSED_RESULT MaybeLocal< Object > | NewInstance (Local< Context > context) |
void | SetAccessor (Local< String > name, AccessorGetterCallback getter, AccessorSetterCallback setter=0, Local< Value > data=Local< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None, Local< AccessorSignature > signature=Local< AccessorSignature >(), SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect) |
void | SetAccessor (Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=0, Local< Value > data=Local< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None, Local< AccessorSignature > signature=Local< AccessorSignature >(), SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect) |
V8_DEPRECATED ("Use SetHandler(const NamedPropertyHandlerConfiguration) " "with the kOnlyInterceptStrings flag set.", void SetNamedPropertyHandler(NamedPropertyGetterCallback getter, NamedPropertySetterCallback setter=0, NamedPropertyQueryCallback query=0, NamedPropertyDeleterCallback deleter=0, NamedPropertyEnumeratorCallback enumerator=0, Local< Value > data=Local< Value >())) | |
void | SetHandler (const NamedPropertyHandlerConfiguration &configuration) |
void | SetIndexedPropertyHandler (IndexedPropertyGetterCallback getter, IndexedPropertySetterCallback setter=0, IndexedPropertyQueryCallback query=0, IndexedPropertyDeleterCallback deleter=0, IndexedPropertyEnumeratorCallback enumerator=0, Local< Value > data=Local< Value >()) |
void | SetHandler (const IndexedPropertyHandlerConfiguration &configuration) |
void | SetCallAsFunctionHandler (FunctionCallback callback, Local< Value > data=Local< Value >()) |
void | MarkAsUndetectable () |
void | SetAccessCheckCallback (AccessCheckCallback callback, Local< Value > data=Local< Value >()) |
void | SetAccessCheckCallbackAndHandler (AccessCheckCallback callback, const NamedPropertyHandlerConfiguration &named_handler, const IndexedPropertyHandlerConfiguration &indexed_handler, Local< Value > data=Local< Value >()) |
int | InternalFieldCount () |
void | SetInternalFieldCount (int value) |
bool | IsImmutableProto () |
void | SetImmutableProto () |
Public Member Functions inherited from v8::Template | |
void | Set (Local< Name > name, Local< Data > value, PropertyAttribute attributes=None) |
void | SetPrivate (Local< Private > name, Local< Data > value, PropertyAttribute attributes=None) |
V8_INLINE void | Set (Isolate *isolate, const char *name, Local< Data > value) |
void | SetAccessorProperty (Local< Name > name, Local< FunctionTemplate > getter=Local< FunctionTemplate >(), Local< FunctionTemplate > setter=Local< FunctionTemplate >(), PropertyAttribute attribute=None, AccessControl settings=DEFAULT) |
void | SetNativeDataProperty (Local< String > name, AccessorGetterCallback getter, AccessorSetterCallback setter=0, Local< Value > data=Local< Value >(), PropertyAttribute attribute=None, Local< AccessorSignature > signature=Local< AccessorSignature >(), AccessControl settings=DEFAULT, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect) |
void | SetNativeDataProperty (Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=0, Local< Value > data=Local< Value >(), PropertyAttribute attribute=None, Local< AccessorSignature > signature=Local< AccessorSignature >(), AccessControl settings=DEFAULT, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect) |
void | SetLazyDataProperty (Local< Name > name, AccessorNameGetterCallback getter, Local< Value > data=Local< Value >(), PropertyAttribute attribute=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect) |
void | SetIntrinsicDataProperty (Local< Name > name, Intrinsic intrinsic, PropertyAttribute attribute=None) |
Static Public Member Functions | |
static Local< ObjectTemplate > | New (Isolate *isolate, Local< FunctionTemplate > constructor=Local< FunctionTemplate >()) |
static MaybeLocal< ObjectTemplate > | FromSnapshot (Isolate *isolate, size_t index) |
static V8_INLINE ObjectTemplate * | Cast (Data *data) |
Friends | |
class | FunctionTemplate |
An ObjectTemplate is used to create objects at runtime.
Properties added to an ObjectTemplate are added to each object created from the ObjectTemplate.
|
static |
Get a template included in the snapshot by index.
int v8::ObjectTemplate::InternalFieldCount | ( | ) |
Gets the number of internal fields for objects generated from this template.
bool v8::ObjectTemplate::IsImmutableProto | ( | ) |
Returns true if the object will be an immutable prototype exotic object.
void v8::ObjectTemplate::MarkAsUndetectable | ( | ) |
Mark object instances of the template as undetectable.
In many ways, undetectable objects behave as though they are not there. They behave like 'undefined' in conditionals and when printed. However, properties can be accessed and called as on normal objects.
|
static |
Creates an ObjectTemplate.
void v8::ObjectTemplate::SetAccessCheckCallback | ( | AccessCheckCallback | callback, |
Local< Value > | data = Local< Value >() |
||
) |
Sets access check callback on the object template and enables access checks.
When accessing properties on instances of this object template, the access check callback will be called to determine whether or not to allow cross-context access to the properties.
void v8::ObjectTemplate::SetAccessCheckCallbackAndHandler | ( | AccessCheckCallback | callback, |
const NamedPropertyHandlerConfiguration & | named_handler, | ||
const IndexedPropertyHandlerConfiguration & | indexed_handler, | ||
Local< Value > | data = Local< Value >() |
||
) |
Like SetAccessCheckCallback but invokes an interceptor on failed access checks instead of looking up all-can-read properties. You can only use either this method or SetAccessCheckCallback, but not both at the same time.
void v8::ObjectTemplate::SetAccessor | ( | Local< String > | name, |
AccessorGetterCallback | getter, | ||
AccessorSetterCallback | setter = 0 , |
||
Local< Value > | data = Local< Value >() , |
||
AccessControl | settings = DEFAULT , |
||
PropertyAttribute | attribute = None , |
||
Local< AccessorSignature > | signature = Local< AccessorSignature >() , |
||
SideEffectType | getter_side_effect_type = SideEffectType::kHasSideEffect |
||
) |
Sets an accessor on the object template.
Whenever the property with the given name is accessed on objects created from this ObjectTemplate the getter and setter callbacks are called instead of getting and setting the property directly on the JavaScript object.
name | The name of the property for which an accessor is added. |
getter | The callback to invoke when getting the property. |
setter | The callback to invoke when setting the property. |
data | A piece of data that will be passed to the getter and setter callbacks whenever they are invoked. |
settings | Access control settings for the accessor. This is a bit field consisting of one of more of DEFAULT = 0, ALL_CAN_READ = 1, or ALL_CAN_WRITE = 2. The default is to not allow cross-context access. ALL_CAN_READ means that all cross-context reads are allowed. ALL_CAN_WRITE means that all cross-context writes are allowed. The combination ALL_CAN_READ | ALL_CAN_WRITE can be used to allow all cross-context access. |
attribute | The attributes of the property for which an accessor is added. |
signature | The signature describes valid receivers for the accessor and is used to perform implicit instance checks against them. If the receiver is incompatible (i.e. is not an instance of the constructor as defined by FunctionTemplate::HasInstance()), an implicit TypeError is thrown and no callback is invoked. |
void v8::ObjectTemplate::SetCallAsFunctionHandler | ( | FunctionCallback | callback, |
Local< Value > | data = Local< Value >() |
||
) |
Sets the callback to be used when calling instances created from this template as a function. If no callback is set, instances behave like normal JavaScript objects that cannot be called as a function.
void v8::ObjectTemplate::SetHandler | ( | const NamedPropertyHandlerConfiguration & | configuration | ) |
Sets a named property handler on the object template.
Whenever a property whose name is a string or a symbol is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.
configuration | The NamedPropertyHandlerConfiguration that defines the callbacks to invoke when accessing a property. |
void v8::ObjectTemplate::SetHandler | ( | const IndexedPropertyHandlerConfiguration & | configuration | ) |
Sets an indexed property handler on the object template.
Whenever an indexed property is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.
configuration | The IndexedPropertyHandlerConfiguration that defines the callbacks to invoke when accessing a property. |
void v8::ObjectTemplate::SetImmutableProto | ( | ) |
Makes the ObjectTemplate for an immutable prototype exotic object, with an immutable proto.
|
inline |
Sets an indexed property handler on the object template.
Whenever an indexed property is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.
getter | The callback to invoke when getting a property. |
setter | The callback to invoke when setting a property. |
query | The callback to invoke to check if an object has a property. |
deleter | The callback to invoke when deleting a property. |
enumerator | The callback to invoke to enumerate all the indexed properties of an object. |
data | A piece of data that will be passed to the callbacks whenever they are invoked. |
void v8::ObjectTemplate::SetInternalFieldCount | ( | int | value | ) |
Sets the number of internal fields for objects generated from this template.
Creates a new instance of this template.
v8::ObjectTemplate::V8_DEPRECATED | ( | "Use SetHandler(const NamedPropertyHandlerConfiguration) " "with the kOnlyInterceptStrings flag set." | , |
void | SetNamedPropertyHandlerNamedPropertyGetterCallback getter, NamedPropertySetterCallback setter=0, NamedPropertyQueryCallback query=0, NamedPropertyDeleterCallback deleter=0, NamedPropertyEnumeratorCallback enumerator=0, Local< Value > data=Local< Value >() | ||
) |
Sets a named property handler on the object template.
Whenever a property whose name is a string is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.
SetNamedPropertyHandler() is different from SetHandler(), in that the latter can intercept symbol-named properties as well as string-named properties when called with a NamedPropertyHandlerConfiguration. New code should use SetHandler().
getter | The callback to invoke when getting a property. |
setter | The callback to invoke when setting a property. |
query | The callback to invoke to check if a property is present, and if present, get its attributes. |
deleter | The callback to invoke when deleting a property. |
enumerator | The callback to invoke to enumerate all the named properties of an object. |
data | A piece of data that will be passed to the callbacks whenever they are invoked. |