v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Template Class Reference

#include <v8-template.h>

Inheritance diagram for Template:
Collaboration diagram for Template:

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)
 
V8_INLINE 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 Data
bool IsValue () const
 
bool IsModule () const
 
bool IsModuleRequest () 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.

Definition at line 50 of file v8-template.h.

Member Function Documentation

◆ Set() [1/2]

void Set ( Isolate * isolate,
const char * name,
Local< Data > value,
PropertyAttribute attributes = None )

Definition at line 1108 of file v8-template.h.

References v8::kInternalized, String::NewFromUtf8(), and Set().

◆ Set() [2/2]

void 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.

References v8::None.

Referenced by Set(), and SetPrivate().

◆ SetAccessorProperty()

void 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.

References v8::None.

◆ SetIntrinsicDataProperty()

void SetIntrinsicDataProperty ( Local< Name > name,
Intrinsic intrinsic,
PropertyAttribute attribute = None )

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

References v8::None.

◆ SetLazyDataProperty()

void 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.

References v8::kHasSideEffect, and v8::None.

◆ SetNativeDataProperty()

void 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.

References v8::kHasSideEffect, and v8::None.

◆ SetPrivate()

void SetPrivate ( Local< Private > name,
Local< Data > value,
PropertyAttribute attributes = None )

References v8::None, Set(), and V8_INLINE.

Friends And Related Symbol Documentation

◆ FunctionTemplate

friend class FunctionTemplate
friend

Definition at line 132 of file v8-template.h.

References FunctionTemplate.

Referenced by FunctionTemplate.

◆ ObjectTemplate

friend class ObjectTemplate
friend

Definition at line 131 of file v8-template.h.

References ObjectTemplate.

Referenced by ObjectTemplate.


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