#[repr(C)]pub struct JsValue(_, _);
Implementations
sourceimpl JsValue
impl JsValue
sourcepub fn raw(&self) -> napi_value
pub fn raw(&self) -> napi_value
raw napi_value of this JsValue
pub fn is_object(&self) -> NapiResult<bool>
sourcepub fn as_object(&self) -> NapiResult<JsObject>
pub fn as_object(&self) -> NapiResult<JsObject>
view it as an object, may fail if it is not an object value
pub fn is_string(&self) -> NapiResult<bool>
sourcepub fn as_string(&self) -> NapiResult<JsString>
pub fn as_string(&self) -> NapiResult<JsString>
view it as a string, may fail if it is not a string value
pub fn is_symbol(&self) -> NapiResult<bool>
sourcepub fn as_symbol(&self) -> NapiResult<JsSymbol>
pub fn as_symbol(&self) -> NapiResult<JsSymbol>
view it as a symbol, may fail if it is not a symbol value
pub fn is_array(&self) -> NapiResult<bool>
sourcepub fn as_array(&self) -> NapiResult<JsArray>
pub fn as_array(&self) -> NapiResult<JsArray>
view it as an array, may fail if it is not an array value
pub fn is_typedarray(&self) -> NapiResult<bool>
sourcepub fn as_typedarray(&self) -> NapiResult<JsTypedArray>
pub fn as_typedarray(&self) -> NapiResult<JsTypedArray>
view it as a typed_array, may fail if it is not a typed_array value
pub fn is_arraybuffer(&self) -> NapiResult<bool>
sourcepub fn as_arraybuffer(&self) -> NapiResult<JsArrayBuffer>
pub fn as_arraybuffer(&self) -> NapiResult<JsArrayBuffer>
view it as an array_buffer, may fail if it is not an array_buffer value
pub fn is_buffer<const N: usize>(&self) -> NapiResult<bool>
sourcepub fn as_buffer<const N: usize>(&self) -> NapiResult<JsBuffer<N>>
pub fn as_buffer<const N: usize>(&self) -> NapiResult<JsBuffer<N>>
view it as a buffer, may fail if it is not a buffer value
pub fn is_dataview(&self) -> NapiResult<bool>
sourcepub fn as_dataview(&self) -> NapiResult<JsDataView>
pub fn as_dataview(&self) -> NapiResult<JsDataView>
view it as a dataview, may fail if it is not a dataview value
pub fn is_external<T>(&self) -> NapiResult<bool>
sourcepub fn as_external<T>(&self) -> NapiResult<JsExternal<T>>
pub fn as_external<T>(&self) -> NapiResult<JsExternal<T>>
view it as an external, may fail if it is not an external value
pub fn is_function(&self) -> NapiResult<bool>
sourcepub fn as_function(&self) -> NapiResult<JsFunction>
pub fn as_function(&self) -> NapiResult<JsFunction>
view it as a number, may fail if it is not a number value
pub fn is_number(&self) -> NapiResult<bool>
sourcepub fn as_number(&self) -> NapiResult<JsNumber>
pub fn as_number(&self) -> NapiResult<JsNumber>
view it as a number, may fail if it is not a number value
pub fn is_bigint<T>(&self) -> NapiResult<bool>
sourcepub fn as_bigint<T>(&self) -> NapiResult<JsBigInt<T>>
pub fn as_bigint<T>(&self) -> NapiResult<JsBigInt<T>>
view it as a bigint, may fail if it is not a bigint value
pub fn is_boolean(&self) -> NapiResult<bool>
sourcepub fn as_boolean(&self) -> NapiResult<JsBoolean>
pub fn as_boolean(&self) -> NapiResult<JsBoolean>
view it as a boolean, may fail if it is not a boolean value
pub fn is_date(&self) -> NapiResult<bool>
sourcepub fn as_date(&self) -> NapiResult<JsDate>
pub fn as_date(&self) -> NapiResult<JsDate>
view it as a date, may fail if it is not a date value
Trait Implementations
sourceimpl NapiValueCheck for JsValue
impl NapiValueCheck for JsValue
fn check(&self) -> NapiResult<bool>
sourceimpl NapiValueT for JsValue
impl NapiValueT for JsValue
sourcefn from_raw(env: NapiEnv, value: napi_value) -> JsValue
fn from_raw(env: NapiEnv, value: napi_value) -> JsValue
construct value from raw pointer
sourcefn cast<T: NapiValueT>(&self) -> T
fn cast<T: NapiValueT>(&self) -> T
napi_value type cast
sourcefn cast_checked(&self) -> NapiResult<Self>
fn cast_checked(&self) -> NapiResult<Self>
Upcast to specified value
sourcefn kind(&self) -> NapiResult<NapiValuetype>
fn kind(&self) -> NapiResult<NapiValuetype>
Returns napi_ok if the API succeeded. Read more
sourcefn coerce_to_bool(&self) -> NapiResult<JsBoolean>
fn coerce_to_bool(&self) -> NapiResult<JsBoolean>
This API implements the abstract operation ToBoolean() as defined in Section 7.1.2 of the ECMAScript Language Specification. Read more
sourcefn coerce_coerce_to_number(&self) -> NapiResult<JsNumber>
fn coerce_coerce_to_number(&self) -> NapiResult<JsNumber>
This API implements the abstract operation ToNumber() as defined in Section 7.1.3 of the ECMAScript Language Specification. This function potentially runs JS code if the passed-in value is an object. Read more
sourcefn coerce_to_object(&self) -> NapiResult<JsObject>
fn coerce_to_object(&self) -> NapiResult<JsObject>
This API implements the abstract operation ToObject() as defined in Section 7.1.13 of the ECMAScript Language Specification. Read more
sourcefn coerce_to_string(&self) -> NapiResult<JsString>
fn coerce_to_string(&self) -> NapiResult<JsString>
This API implements the abstract operation ToString() as defined in Section 7.1.13 of the ECMAScript Language Specification. This function potentially runs JS code if the passed-in value is an object. Read more
sourcefn instance_of(&self, constructor: JsFunction) -> NapiResult<bool>
fn instance_of(&self, constructor: JsFunction) -> NapiResult<bool>
This API represents invoking the instanceof Operator on the object as defined in Section 12.10.4 of the ECMAScript Language Specification. Read more
sourcefn equals(&self, rhs: impl NapiValueT) -> NapiResult<bool>
fn equals(&self, rhs: impl NapiValueT) -> NapiResult<bool>
This API represents the invocation of the Strict Equality algorithm as defined in Section 7.2.14 of the ECMAScript Language Specification. Read more
sourcefn raw(&self) -> napi_value
fn raw(&self) -> napi_value
the raw-handle of current value
sourcefn null(&self) -> NapiResult<JsNull>
fn null(&self) -> NapiResult<JsNull>
get null singleton
sourcefn undefined(&self) -> NapiResult<JsUndefined>
fn undefined(&self) -> NapiResult<JsUndefined>
get undefined singleton
sourcefn global(&self) -> NapiResult<JsGlobal>
fn global(&self) -> NapiResult<JsGlobal>
get global singleton
sourcefn throw(&self) -> NapiResult<()>
fn throw(&self) -> NapiResult<()>
value is throwable
sourcefn define_properties<P>(&self, properties: P) -> NapiResult<()> where
P: AsRef<[NapiPropertyDescriptor]>,
fn define_properties<P>(&self, properties: P) -> NapiResult<()> where
P: AsRef<[NapiPropertyDescriptor]>,
This method allows the efficient definition of multiple properties on a given object. The properties are defined using property descriptors (see napi_property_descriptor). Given an array of such property descriptors, this API will set the properties on the object one at a time, as defined by DefineOwnProperty() (described in Section 9.1.6 of the ECMA-262 specification). Read more
sourcefn gc<Finalizer>(&mut self, finalizer: Finalizer) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv) -> NapiResult<()>,
fn gc<Finalizer>(&mut self, finalizer: Finalizer) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv) -> NapiResult<()>,
This is a hook which is fired when the value is gabage-collected. For napi >= 5, we use napi_add_finalizer, For napi < 5, we use napi_wrap. Read more
sourcefn finalizer<Finalizer>(&self, finalizer: Finalizer) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv) -> NapiResult<()>,
fn finalizer<Finalizer>(&self, finalizer: Finalizer) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv) -> NapiResult<()>,
Adds a napi_finalize callback which will be called when the JavaScript object in js_object is ready for garbage collection. This API is similar to napi_wrap() except that: Read more
sourcefn wrap<T, Finalizer>(
&mut self,
data: T,
finalizer: Finalizer
) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv, T) -> NapiResult<()>,
fn wrap<T, Finalizer>(
&mut self,
data: T,
finalizer: Finalizer
) -> NapiResult<NapiRef> where
Finalizer: FnOnce(NapiEnv, T) -> NapiResult<()>,
Wraps a native instance in a JavaScript object. The native instance can be retrieved later using napi_unwrap(). Read more
sourcefn unwrap<T>(&self) -> NapiResult<Option<&mut T>>
fn unwrap<T>(&self) -> NapiResult<Option<&mut T>>
Retrieves a native instance that was previously wrapped in a JavaScript object using napi_wrap(). Read more
sourcefn remove_wrap<T>(&mut self) -> NapiResult<T>
fn remove_wrap<T>(&mut self) -> NapiResult<T>
Retrieves a native instance that was previously wrapped in the JavaScript object js_object using napi_wrap() and removes the wrapping. If a finalize callback was associated with the wrapping, it will no longer be called when the JavaScript object becomes garbage-collected. Read more
sourcefn type_tag_object(&self, tag: &NapiTypeTag) -> NapiResult<()>
fn type_tag_object(&self, tag: &NapiTypeTag) -> NapiResult<()>
Associates the value of the type_tag pointer with the JavaScript object. napi_check_object_type_tag() can then be used to compare the tag that was attached to the object with one owned by the addon to ensure that the object has the right type. If the object already has an associated type tag, this API will return napi_invalid_arg. Read more
sourcefn check_object_type_tag(&self, tag: &NapiTypeTag) -> NapiResult<bool>
fn check_object_type_tag(&self, tag: &NapiTypeTag) -> NapiResult<bool>
Compares the pointer given as type_tag with any that can be found on js_object. If no tag is found on js_object or, if a tag is found but it does not match type_tag, then result is set to false. If a tag is found and it matches type_tag, then result is set to true. Read more
impl Copy for JsValue
Auto Trait Implementations
impl RefUnwindSafe for JsValue
impl !Send for JsValue
impl !Sync for JsValue
impl Unpin for JsValue
impl UnwindSafe for JsValue
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FromJsArgs for T where
T: NapiValueT,
impl<T> FromJsArgs for T where
T: NapiValueT,
fn from_js_args(args: JsArgs) -> Result<T, NapiStatus>
fn len() -> usize
sourceimpl<T> ToJsArgs for T where
T: NapiValueT,
impl<T> ToJsArgs for T where
T: NapiValueT,
fn to_js_args(self, env: NapiEnv) -> Result<JsArgs, NapiStatus>
fn len() -> usize
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more