Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
v8::Array Class Reference

#include <v8-container.h>

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

Public Types

enum class  CallbackResult { kException , kBreak , kContinue }
 
using IterationCallback = CallbackResult(*)(uint32_t index, Local< Value > element, void *data)
 

Public Member Functions

uint32_t Length () const
 
Maybe< void > Iterate (Local< Context > context, IterationCallback callback, void *callback_data)
 
- Public Member Functions inherited from v8::Object
Maybe< bool > Set (Local< Context > context, Local< Value > key, Local< Value > value)
 
Maybe< bool > Set (Local< Context > context, uint32_t index, Local< Value > value)
 
Maybe< bool > CreateDataProperty (Local< Context > context, Local< Name > key, Local< Value > value)
 
Maybe< bool > CreateDataProperty (Local< Context > context, uint32_t index, Local< Value > value)
 
Maybe< bool > DefineOwnProperty (Local< Context > context, Local< Name > key, Local< Value > value, PropertyAttribute attributes=None)
 
Maybe< bool > DefineProperty (Local< Context > context, Local< Name > key, PropertyDescriptor &descriptor)
 
MaybeLocal< ValueGet (Local< Context > context, Local< Value > key)
 
MaybeLocal< ValueGet (Local< Context > context, uint32_t index)
 
Maybe< PropertyAttributeGetPropertyAttributes (Local< Context > context, Local< Value > key)
 
MaybeLocal< ValueGetOwnPropertyDescriptor (Local< Context > context, Local< Name > key)
 
Maybe< bool > Has (Local< Context > context, Local< Value > key)
 
Maybe< bool > Delete (Local< Context > context, Local< Value > key)
 
Maybe< bool > Has (Local< Context > context, uint32_t index)
 
Maybe< bool > Delete (Local< Context > context, uint32_t index)
 
Maybe< bool > SetAccessor (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=nullptr, MaybeLocal< Value > data=MaybeLocal< Value >(), AccessControl deprecated_settings=DEFAULT, PropertyAttribute attribute=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect, SideEffectType setter_side_effect_type=SideEffectType::kHasSideEffect)
 
void SetAccessorProperty (Local< Name > name, Local< Function > getter, Local< Function > setter=Local< Function >(), PropertyAttribute attributes=None)
 
Maybe< bool > SetNativeDataProperty (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=nullptr, Local< Value > data=Local< Value >(), PropertyAttribute attributes=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect, SideEffectType setter_side_effect_type=SideEffectType::kHasSideEffect)
 
Maybe< bool > SetLazyDataProperty (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, Local< Value > data=Local< Value >(), PropertyAttribute attributes=None, SideEffectType getter_side_effect_type=SideEffectType::kHasSideEffect, SideEffectType setter_side_effect_type=SideEffectType::kHasSideEffect)
 
Maybe< bool > HasPrivate (Local< Context > context, Local< Private > key)
 
Maybe< bool > SetPrivate (Local< Context > context, Local< Private > key, Local< Value > value)
 
Maybe< bool > DeletePrivate (Local< Context > context, Local< Private > key)
 
MaybeLocal< ValueGetPrivate (Local< Context > context, Local< Private > key)
 
MaybeLocal< ArrayGetPropertyNames (Local< Context > context)
 
MaybeLocal< ArrayGetPropertyNames (Local< Context > context, KeyCollectionMode mode, PropertyFilter property_filter, IndexFilter index_filter, KeyConversionMode key_conversion=KeyConversionMode::kKeepNumbers)
 
MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context)
 
MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context, PropertyFilter filter, KeyConversionMode key_conversion=KeyConversionMode::kKeepNumbers)
 
Local< ValueGetPrototype ()
 
Maybe< bool > SetPrototype (Local< Context > context, Local< Value > prototype)
 
Local< ObjectFindInstanceInPrototypeChain (Local< FunctionTemplate > tmpl)
 
MaybeLocal< StringObjectProtoToString (Local< Context > context)
 
Local< StringGetConstructorName ()
 
Maybe< bool > SetIntegrityLevel (Local< Context > context, IntegrityLevel level)
 
int InternalFieldCount () const
 
Local< DataGetInternalField (int index)
 
void SetInternalField (int index, Local< Data > data)
 
void * GetAlignedPointerFromInternalField (int index)
 
void * GetAlignedPointerFromInternalField (v8::Isolate *isolate, int index)
 
void SetAlignedPointerInInternalField (int index, void *value)
 
void SetAlignedPointerInInternalFields (int argc, int indices[], void *values[])
 
Maybe< bool > HasOwnProperty (Local< Context > context, Local< Name > key)
 
Maybe< bool > HasOwnProperty (Local< Context > context, uint32_t index)
 
Maybe< bool > HasRealNamedProperty (Local< Context > context, Local< Name > key)
 
Maybe< bool > HasRealIndexedProperty (Local< Context > context, uint32_t index)
 
Maybe< bool > HasRealNamedCallbackProperty (Local< Context > context, Local< Name > key)
 
MaybeLocal< ValueGetRealNamedPropertyInPrototypeChain (Local< Context > context, Local< Name > key)
 
Maybe< PropertyAttributeGetRealNamedPropertyAttributesInPrototypeChain (Local< Context > context, Local< Name > key)
 
MaybeLocal< ValueGetRealNamedProperty (Local< Context > context, Local< Name > key)
 
Maybe< PropertyAttributeGetRealNamedPropertyAttributes (Local< Context > context, Local< Name > key)
 
bool HasNamedLookupInterceptor () const
 
bool HasIndexedLookupInterceptor () const
 
int GetIdentityHash ()
 
Local< ObjectClone ()
 
MaybeLocal< ContextGetCreationContext ()
 
Local< ContextGetCreationContextChecked ()
 
void * GetAlignedPointerFromEmbedderDataInCreationContext (int index)
 
bool IsCallable () const
 
bool IsConstructor () const
 
bool IsApiWrapper () const
 
bool IsUndetectable () const
 
MaybeLocal< ValueCallAsFunction (Local< Context > context, Local< Value > recv, int argc, Local< Value > argv[])
 
MaybeLocal< ValueCallAsConstructor (Local< Context > context, int argc, Local< Value > argv[])
 
IsolateGetIsolate ()
 
MaybeLocal< ArrayPreviewEntries (bool *is_key_value)
 
bool IsCodeLike (Isolate *isolate) const
 
- Public Member Functions inherited from v8::Value
bool IsUndefined () const
 
bool IsNull () const
 
bool IsNullOrUndefined () const
 
bool IsTrue () const
 
bool IsFalse () const
 
bool IsName () const
 
bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBigInt () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsArgumentsObject () const
 
bool IsBigIntObject () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsAsyncFunction () const
 
bool IsGeneratorFunction () const
 
bool IsGeneratorObject () const
 
bool IsPromise () const
 
bool IsMap () const
 
bool IsSet () const
 
bool IsMapIterator () const
 
bool IsSetIterator () const
 
bool IsWeakMap () const
 
bool IsWeakSet () const
 
bool IsWeakRef () const
 
bool IsArrayBuffer () const
 
bool IsArrayBufferView () const
 
bool IsTypedArray () const
 
bool IsUint8Array () const
 
bool IsUint8ClampedArray () const
 
bool IsInt8Array () const
 
bool IsUint16Array () const
 
bool IsInt16Array () const
 
bool IsUint32Array () const
 
bool IsInt32Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsBigInt64Array () const
 
bool IsBigUint64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWasmMemoryObject () const
 
bool IsWasmModuleObject () const
 
bool IsWasmNull () const
 
bool IsModuleNamespaceObject () const
 
MaybeLocal< PrimitiveToPrimitive (Local< Context > context) const
 
MaybeLocal< NumericToNumeric (Local< Context > context) const
 
MaybeLocal< BigIntToBigInt (Local< Context > context) const
 
MaybeLocal< NumberToNumber (Local< Context > context) const
 
MaybeLocal< StringToString (Local< Context > context) const
 
MaybeLocal< StringToDetailString (Local< Context > context) const
 
MaybeLocal< ObjectToObject (Local< Context > context) const
 
MaybeLocal< IntegerToInteger (Local< Context > context) const
 
MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
Local< BooleanToBoolean (Isolate *isolate) const
 
MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
bool BooleanValue (Isolate *isolate) const
 
Maybe< double > NumberValue (Local< Context > context) const
 
Maybe< int64_t > IntegerValue (Local< Context > context) const
 
Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
Maybe< int32_t > Int32Value (Local< Context > context) const
 
Maybe< bool > Equals (Local< Context > context, Local< Value > that) const
 
bool StrictEquals (Local< Value > that) const
 
bool SameValue (Local< Value > that) const
 
Local< StringTypeOf (Isolate *)
 
Maybe< bool > InstanceOf (Local< Context > context, Local< Object > object)
 
template<>
ValueCast (Data *value)
 
- 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
 

Static Public Member Functions

static Local< ArrayNew (Isolate *isolate, int length=0)
 
static Local< ArrayNew (Isolate *isolate, Local< Value > *elements, size_t length)
 
static ArrayCast (Value *value)
 
static MaybeLocal< ArrayNew (Local< Context > context, size_t length, std::function< MaybeLocal< v8::Value >()> next_value_callback)
 
- Static Public Member Functions inherited from v8::Object
static int InternalFieldCount (const PersistentBase< Object > &object)
 
static int InternalFieldCount (const BasicTracedReference< Object > &object)
 
static void * GetAlignedPointerFromInternalField (const PersistentBase< Object > &object, int index)
 
static void * GetAlignedPointerFromInternalField (const BasicTracedReference< Object > &object, int index)
 
static MaybeLocal< ContextGetCreationContext (const PersistentBase< Object > &object)
 
static IsolateGetIsolate (const TracedReference< Object > &handle)
 
static Local< ObjectNew (Isolate *isolate)
 
static Local< ObjectNew (Isolate *isolate, Local< Value > prototype_or_null, Local< Name > *names, Local< Value > *values, size_t length)
 
static ObjectCast (Value *obj)
 
- Static Public Member Functions inherited from v8::Value
template<class T >
static ValueCast (T *value)
 

Detailed Description

An instance of the built-in array constructor (ECMA-262, 15.4.2).

Member Typedef Documentation

◆ IterationCallback

using v8::Array::IterationCallback = CallbackResult (*)(uint32_t index, Local<Value> element, void* data)

Member Enumeration Documentation

◆ CallbackResult

enum class v8::Array::CallbackResult
strong
Enumerator
kException 
kBreak 
kContinue 

Member Function Documentation

◆ Cast()

static Array * v8::Array::Cast ( Value value)
inlinestatic

◆ Iterate()

Maybe< void > v8::Array::Iterate ( Local< Context context,
IterationCallback  callback,
void *  callback_data 
)

Calls {callback} for every element of this array, passing {callback_data} as its {data} parameter. This function will typically be faster than calling {Get()} repeatedly. As a consequence of being optimized for low overhead, the provided callback must adhere to the following restrictions:

  • It must not allocate any V8 objects and continue iterating; it may allocate (e.g. an error message/object) and then immediately terminate the iteration.
  • It must not modify the array being iterated.
  • It must not call back into V8 (unless it can guarantee that such a call does not violate the above restrictions, which is difficult).
  • The {Local<Value> element} must not "escape", i.e. must not be assigned to any other {Local}. Creating a {Global} from it, or updating a v8::TypecheckWitness with it, is safe. These restrictions may be lifted in the future if use cases arise that justify a slower but more robust implementation.

Returns {Nothing} on exception; use a {TryCatch} to catch and handle this exception. When the {callback} returns {kException}, iteration is terminated immediately, returning {Nothing}. By returning {kBreak}, the callback can request non-exceptional early termination of the iteration.

◆ Length()

uint32_t v8::Array::Length ( ) const

◆ New() [1/3]

static Local< Array > v8::Array::New ( Isolate isolate,
int  length = 0 
)
static

Creates a JavaScript array with the given length. If the length is negative the returned array will have length 0.

◆ New() [2/3]

static Local< Array > v8::Array::New ( Isolate isolate,
Local< Value > *  elements,
size_t  length 
)
static

Creates a JavaScript array out of a Local<Value> array in C++ with a known length.

◆ New() [3/3]

static MaybeLocal< Array > v8::Array::New ( Local< Context context,
size_t  length,
std::function< MaybeLocal< v8::Value >()>  next_value_callback 
)
static

Creates a JavaScript array from a provided callback.

Parameters
contextThe v8::Context to create the array in.
lengthThe length of the array to be created.
next_value_callbackThe callback that is invoked to retrieve elements for the array. The embedder can signal that the array initialization should be aborted by throwing an exception and returning an empty MaybeLocal.
Returns
The v8::Array if all elements were constructed successfully and an empty MaybeLocal otherwise.

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