Skip to content

Class jac::ArrayWrapper

template <bool managed>

ClassList > jac > ArrayWrapper

A wrapper for JSValue with Array type with RAII. More...

  • #include <values.h>

Inherits the following classes: jac::ObjectWrapper

Public Functions

Type Name
ArrayWrapper (ObjectWrapper< managed > value)
Wrap an existing JSValue. If managed is true, JSValue will be freed when the Array is destroyed.
ArrayWrapper (ContextRef ctx, JSValue val)
int length ()
Get the length of the array.

Public Functions inherited from jac::ObjectWrapper

See jac::ObjectWrapper

Type Name
ObjectWrapper (ValueWrapper< managed > value)
Wrap an existing JSValue. If managed is true, JSValue will be freed when the Object is destroyed.
ObjectWrapper (ContextRef ctx, JSValue val)
void defineProperty (Id id, Value value, PropFlags flags=PropFlags::Default)
Define a property of the object.
void deleteProperty (Id id)
Delete a property of the object.
T get (Atom prop)
Get a property of the object.
T get (const std::string & name)
T get (uint32_t idx)
Object getPrototype ()
Get the prototype of the object.
bool hasProperty (Id id)
Check if the object has a property.
Res invoke (Atom prop, Args... args)
Invoke a method of the object.
Res invoke (const std::string & key, Args... args)
Res invoke (uint32_t idx, Args... args)
void set (Atom prop, T val)
Set a property of the object.
void set (const std::string & name, T val)
void set (uint32_t idx, T val)
void setPrototype (Object proto)
Set the prototype of the object.

Public Functions inherited from jac::ValueWrapper

See jac::ValueWrapper

Type Name
ValueWrapper (ContextRef ctx, JSValue val)
Wrap an existing JSValue. If managed is true, JSValue will be freed when the Value is destroyed.
ValueWrapper (const ValueWrapper & other)
ValueWrapper (ValueWrapper && other)
JSValue & getVal ()
Get reference to the underlying JSValue.
bool isArray ()
Check if the Value is an array.
bool isFunction ()
Check if the Value is a function.
bool isNull ()
Check if the Value is null.
bool isObject ()
Check if the Value is an object.
bool isUndefined ()
Check if the Value is undefined.
std::pair< ContextRef, JSValue > loot ()
Release ownership of the JSValue. The JSValue will have to be freed manually.
operator ValueWeak ()
ValueWrapper & operator= (const ValueWrapper & other)
ValueWrapper & operator= (ValueWrapper && other)
Value stringify (int indent=0)
Convert the Value to a JSON representation.
T to ()
Convert the Value to a specified type.
StringView toString ()
Convert the Value to a StringView .
~ValueWrapper ()

Public Static Functions

Type Name
Array create (ContextRef ctx)
Create a new Array object.

Public Static Functions inherited from jac::ObjectWrapper

See jac::ObjectWrapper

Type Name
Object create (ContextRef ctx)
Create a new empty object.

Public Static Functions inherited from jac::ValueWrapper

See jac::ValueWrapper

Type Name
Value from (ContextRef ctx, T val)
Create a new Value by converting a given value.
Value fromJSON (ContextRef ctx, std::string json, std::string filename="<json>", bool extended=false)
Create a new Value from a given JSON string.
Value null (ContextRef ctx)
Create a new Value containing null.
Value undefined (ContextRef ctx)
Create a new Value containing undefined.

Protected Attributes inherited from jac::ValueWrapper

See jac::ValueWrapper

Type Name
ContextRef _ctx
JSValue _val

Detailed Description

Template parameters:

  • managed whether the JSValue should be freed when the wrapper is destroyed.

Public Functions Documentation

function ArrayWrapper [1/2]

Wrap an existing JSValue. If managed is true, JSValue will be freed when the Array is destroyed.

inline jac::ArrayWrapper::ArrayWrapper (
    ObjectWrapper < managed > value
) 

Note:

Used internally when directly working with QuickJS API. New Array should be created using Array::create().

Parameters:

  • ctx context to work in
  • val JSValue to wrap

function ArrayWrapper [2/2]

inline jac::ArrayWrapper::ArrayWrapper (
    ContextRef ctx,
    JSValue val
) 

function length

Get the length of the array.

inline int jac::ArrayWrapper::length () 

Returns:

The length

Public Static Functions Documentation

function create

Create a new Array object.

static inline Array jac::ArrayWrapper::create (
    ContextRef ctx
) 

Parameters:

  • ctx context to work in

Returns:

The new Array object


The documentation for this class was generated from the following file src/jac/machine/values.h