pub struct JsValue { /* private fields */ }Expand description
An opaque reference to a JavaScript heap object.
This type is the wry-bindgen equivalent of wasm-bindgen’s JsValue.
It represents any JavaScript value and is used as the base type for
all imported JS types.
JsValue is intentionally opaque - you cannot inspect or create values directly. All values come from JavaScript via the IPC protocol.
Unlike wasm-bindgen which runs in a single-threaded Wasm environment, this implementation uses the IPC protocol to communicate with JS.
Implementations§
Source§impl JsValue
impl JsValue
Sourcepub fn id(&self) -> u64
pub fn id(&self) -> u64
Get the heap ID for this value.
This is used internally for encoding values to send to JS.
Sourcepub fn unchecked_into_f64(&self) -> f64
pub fn unchecked_into_f64(&self) -> f64
Returns the value as f64 without type checking. Used by serde-wasm-bindgen for numeric conversions.
Sourcepub fn has_type<T>(&self) -> boolwhere
T: JsCast,
pub fn has_type<T>(&self) -> boolwhere
T: JsCast,
Check if this value is an instance of a specific JS type.
Source§impl JsValue
impl JsValue
Sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Checked division.
Sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Unsigned right shift.
Sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Check if this value is a function.
Sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Check if this value is undefined.
Sourcepub fn js_in(&self, obj: &JsValue) -> bool
pub fn js_in(&self, obj: &JsValue) -> bool
Check if this value has a property with the given name.
Sourcepub fn as_debug_string(&self) -> String
pub fn as_debug_string(&self) -> String
Get a debug string representation of the value.
Trait Implementations§
Source§impl BatchableResult for JsValue
impl BatchableResult for JsValue
Source§impl BinaryDecode for JsValue
impl BinaryDecode for JsValue
fn decode(_: &mut DecodedData<'_>) -> Result<JsValue, DecodeError>
Source§impl BinaryEncode for &JsValue
impl BinaryEncode for &JsValue
fn encode(self, encoder: &mut EncodedData)
Source§impl BinaryEncode for JsValue
impl BinaryEncode for JsValue
fn encode(self, encoder: &mut EncodedData)
Source§impl EncodeTypeDef for JsValue
impl EncodeTypeDef for JsValue
Source§fn encode_type_def(buf: &mut Vec<u8>)
fn encode_type_def(buf: &mut Vec<u8>)
Source§impl FromWasmAbi for JsValue
impl FromWasmAbi for JsValue
Source§impl IntoWasmAbi for &JsValue
impl IntoWasmAbi for &JsValue
Source§impl IntoWasmAbi for JsValue
impl IntoWasmAbi for JsValue
Source§impl JsCast for JsValue
Implement JsCast for JsValue itself (identity cast)
impl JsCast for JsValue
Implement JsCast for JsValue itself (identity cast)
Source§fn instanceof(_val: &JsValue) -> bool
fn instanceof(_val: &JsValue) -> bool
Source§fn unchecked_from_js(val: JsValue) -> JsValue
fn unchecked_from_js(val: JsValue) -> JsValue
Source§fn unchecked_from_js_ref(val: &JsValue) -> &JsValue
fn unchecked_from_js_ref(val: &JsValue) -> &JsValue
Source§fn is_type_of(val: &JsValue) -> bool
fn is_type_of(val: &JsValue) -> bool
JsValue provided
is a value of this type. Read moreSource§fn has_type<T>(&self) -> boolwhere
T: JsCast,
fn has_type<T>(&self) -> boolwhere
T: JsCast,
T. Read moreSource§fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self>where
T: JsCast,
Source§fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T>where
T: JsCast,
Source§fn is_instance_of<T>(&self) -> boolwhere
T: JsCast,
fn is_instance_of<T>(&self) -> boolwhere
T: JsCast,
T. Read moreSource§fn unchecked_into<T>(self) -> Twhere
T: JsCast,
fn unchecked_into<T>(self) -> Twhere
T: JsCast,
Source§fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
fn unchecked_ref<T>(&self) -> &Twhere
T: JsCast,
Source§impl RefFromWasmAbi for JsValue
impl RefFromWasmAbi for JsValue
Source§type Anchor = ManuallyDrop<JsValue>
type Anchor = ManuallyDrop<JsValue>
Self for the duration of the
invocation. This ensures lifetimes don’t persist beyond one function call.