Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
v8::Template Class Reference

#include <v8-template.h>

Inheritance diagram for v8::Template:
[legend]
Collaboration diagram for v8::Template:
[legend]

Public Member Functions

void Set (Local< Name > name, Local< Data > value, PropertyAttribute attributes=None)
 
void SetPrivate (Local< Private > name, Local< Data > value, PropertyAttribute attributes=None)
 
void Set (Isolate *isolate, const char *name, Local< Data > value, PropertyAttribute attributes=None)
 
void SetAccessorProperty (Local< Name > name, Local< FunctionTemplate > getter=Local< FunctionTemplate >(), Local< FunctionTemplate > setter=Local< FunctionTemplate >(), PropertyAttribute attribute=None)
 
void SetNativeDataProperty (Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=nullptr, Local< Value > data=Local< Value >(), PropertyAttribute attribute=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect, SideEffectType setter_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, SideEffectType setter_side_effect_type=SideEffectType::kHasSideEffect)
 
void SetIntrinsicDataProperty (Local< Name > name, Intrinsic intrinsic, PropertyAttribute attribute=None)
 
- Public Member Functions inherited from v8::Data
bool IsValue () const
 
bool IsModule () const
 
bool IsFixedArray () const
 
bool IsPrivate () const
 
bool IsObjectTemplate () const
 
bool IsFunctionTemplate () const
 
bool IsContext () const
 

Friends

class ObjectTemplate
 
class FunctionTemplate
 

Detailed Description

The superclass of object and function templates.

Member Function Documentation

◆ Set() [1/2]

void v8::Template::Set ( Isolate isolate,
const char *  name,
Local< Data value,
PropertyAttribute  attributes = None 
)
inline
Here is the call graph for this function:

◆ Set() [2/2]

void v8::Template::Set ( Local< Name name,
Local< Data value,
PropertyAttribute  attributes = None 
)

Adds a property to each instance created by this template.

The property must be defined either as a primitive value, or a template.

◆ SetAccessorProperty()

void v8::Template::SetAccessorProperty ( Local< Name name,
Local< FunctionTemplate getter = LocalFunctionTemplate >(),
Local< FunctionTemplate setter = LocalFunctionTemplate >(),
PropertyAttribute  attribute = None 
)

Sets an "accessor property" on the object template, see https://tc39.es/ecma262/#sec-object-type.

Whenever the property with the given name is accessed on objects created from this ObjectTemplate the getter and setter functions are called.

Parameters
nameThe name of the property for which an accessor is added.
getterThe callback to invoke when getting the property.
setterThe callback to invoke when setting the property.
attributeThe attributes of the property for which an accessor is added.

◆ SetIntrinsicDataProperty()

void v8::Template::SetIntrinsicDataProperty ( Local< Name name,
Intrinsic  intrinsic,
PropertyAttribute  attribute = None 
)

During template instantiation, sets the value with the intrinsic property from the correct context.

◆ SetLazyDataProperty()

void v8::Template::SetLazyDataProperty ( Local< Name name,
AccessorNameGetterCallback  getter,
Local< Value data = LocalValue >(),
PropertyAttribute  attribute = None,
SideEffectType  getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType  setter_side_effect_type = SideEffectType::kHasSideEffect 
)

Like SetNativeDataProperty, but V8 will replace the native data property with a real data property on first access.

◆ SetNativeDataProperty()

void v8::Template::SetNativeDataProperty ( Local< Name name,
AccessorNameGetterCallback  getter,
AccessorNameSetterCallback  setter = nullptr,
Local< Value data = LocalValue >(),
PropertyAttribute  attribute = None,
SideEffectType  getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType  setter_side_effect_type = SideEffectType::kHasSideEffect 
)

Sets a "data property" on the object template, see https://tc39.es/ecma262/#sec-object-type.

Whenever the property with the given name is accessed on objects created from this Template the getter and setter callbacks are called instead of getting and setting the property directly on the JavaScript object. Note that in case a property is written via a "child" object, the setter will not be called according to the JavaScript specification. See https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver.

Parameters
nameThe name of the data property for which an accessor is added.
getterThe callback to invoke when getting the property.
setterThe callback to invoke when setting the property.
dataA piece of data that will be passed to the getter and setter callbacks whenever they are invoked.
attributeThe attributes of the property for which an accessor is added.

◆ SetPrivate()

void v8::Template::SetPrivate ( Local< Private name,
Local< Data value,
PropertyAttribute  attributes = None 
)

Friends And Related Function Documentation

◆ FunctionTemplate

friend class FunctionTemplate
friend

◆ ObjectTemplate

friend class ObjectTemplate
friend

The documentation for this class was generated from the following file: