Skip to content

Class jac::PromiseWrapper

template <bool managed>

ClassList > jac > PromiseWrapper

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

  • #include <values.h>

Inherits the following classes: jac::ObjectWrapper

Public Functions

Type Name
PromiseWrapper (ObjectWrapper< managed > value)
Wrap an existing JSValue. If managed is true, JSValue will be freed when the Promise is destroyed.
PromiseWrapper (ContextRef ctx, JSValue val)

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
std::tuple< Promise, Function, Function > create (ContextRef ctx)
Create a new Promise 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 PromiseWrapper [1/2]

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

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

Note:

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

Parameters:

  • ctx context to work in
  • val JSValue to wrap

function PromiseWrapper [2/2]

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

Public Static Functions Documentation

function create

Create a new Promise object.

static inline std::tuple< Promise , Function , Function > jac::PromiseWrapper::create (
    ContextRef ctx
) 

Returns:

Tuple of the Promise object, resolve function, reject function


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