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 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: JsCast>(&self) -> bool
pub fn has_type<T: JsCast>(&self) -> bool
Check if this value is an instance of a specific JS type.
Sourcepub fn into_abi(self) -> u32
pub fn into_abi(self) -> u32
Get the internal ABI representation (heap index), consuming self. This is used by the convert module for low-level interop. Returns u32 for wasm-bindgen compatibility.
Sourcepub fn bigint_from_str(s: &str) -> JsValue
pub fn bigint_from_str(s: &str) -> JsValue
Creates a JS value which is a bigint from a string representing a number.
Source§impl JsValue
impl JsValue
Sourcepub fn checked_div(&self, rhs: &Self) -> Self
pub fn checked_div(&self, rhs: &Self) -> Self
Checked division.
Sourcepub fn unsigned_shr(&self, rhs: &Self) -> u32
pub fn unsigned_shr(&self, rhs: &Self) -> 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 is_null_or_undefined(&self) -> bool
pub fn is_null_or_undefined(&self) -> bool
Check if this value is null or 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
fn try_placeholder(batch: &mut Runtime<'_>) -> Option<Self>
Source§impl BinaryDecode for JsValue
impl BinaryDecode for JsValue
fn decode(decoder: &mut DecodedData<'_>) -> Result<Self, DecodeError>
Source§impl BinaryEncode for JsValue
impl BinaryEncode for JsValue
fn encode(self, encoder: &mut EncodedData)
Source§impl EncodeTypeDef for JsValue
impl EncodeTypeDef for JsValue
fn encode_type_def(encoder: &mut TypeDef)
impl Eq 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) -> Self
fn unchecked_from_js(val: JsValue) -> Self
Source§fn unchecked_from_js_ref(val: &JsValue) -> &Self
fn unchecked_from_js_ref(val: &JsValue) -> &Self
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<'a> PartialEq<&'a String> for JsValue
impl<'a> PartialEq<&'a String> for JsValue
impl UpcastFrom<()> for JsValue
impl UpcastFrom<JsError> for JsValue
impl<T> UpcastFrom<JsOption<T>> for JsValue
impl UpcastFrom<JsValue> for JsValue
impl UpcastFrom<JsValue> for JsOption<JsValue>
impl UpcastFrom<Null> for JsValue
impl UpcastFrom<Undefined> for JsValue
impl UpcastFrom<bool> for JsValue
impl UpcastFrom<char> for JsValue
impl UpcastFrom<f32> for JsValue
impl UpcastFrom<f64> for JsValue
impl UpcastFrom<i8> for JsValue
impl UpcastFrom<i16> for JsValue
impl UpcastFrom<i32> for JsValue
impl UpcastFrom<i64> for JsValue
impl UpcastFrom<i128> for JsValue
impl UpcastFrom<isize> for JsValue
impl UpcastFrom<u8> for JsValue
impl UpcastFrom<u16> for JsValue
impl UpcastFrom<u32> for JsValue
impl UpcastFrom<u64> for JsValue
impl UpcastFrom<u128> for JsValue
impl UpcastFrom<usize> for JsValue
Auto Trait Implementations§
impl Freeze for JsValue
impl RefUnwindSafe for JsValue
impl Send for JsValue
impl Sync for JsValue
impl Unpin for JsValue
impl UnsafeUnpin for JsValue
impl UnwindSafe for JsValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromJsFuture for Twhere
T: TryFromJsValue,
impl<T> FromJsFuture for Twhere
T: TryFromJsValue,
Source§impl<T> FromWasmAbi for Twhere
T: JsGeneric,
impl<T> FromWasmAbi for Twhere
T: JsGeneric,
Source§impl<T> IntoWasmAbi for Twhere
T: JsGeneric,
impl<T> IntoWasmAbi for Twhere
T: JsGeneric,
impl<T> JsGeneric for Twhere
T: ErasableGeneric<Repr = JsValue> + UpcastFrom<T> + Upcast<JsValue> + JsCast + JsRefEncode + EncodeTypeDef + BinaryEncode + BinaryDecode + BatchableResult + 'static,
impl<T> OptionFromWasmAbi for Twhere
T: FromWasmAbi,
impl<T> OptionIntoWasmAbi for Twhere
T: IntoWasmAbi,
Source§impl<T> RefFromWasmAbi for Twhere
T: ?Sized,
impl<T> RefFromWasmAbi for Twhere
T: ?Sized,
Source§impl<T> ReturnAbi<Anchored> for T
impl<T> ReturnAbi<Anchored> for T
Source§type Wire = <T as Promising>::Resolution
type Wire = <T as Promising>::Resolution
TypeDef is advertised to JS for this return value.Source§impl<T> ReturnAbi<CallScoped> for Twhere
T: IntoWasmAbi,
impl<T> ReturnAbi<CallScoped> for Twhere
T: IntoWasmAbi,
Source§impl<T> ReturnAsync for T
impl<T> ReturnAsync for T
Source§impl<T> ReturnSync for Twhere
T: IntoWasmAbi,
impl<T> ReturnSync for Twhere
T: IntoWasmAbi,
Source§fn return_abi(self, encoder: &mut EncodedData)
fn return_abi(self, encoder: &mut EncodedData)
self as the function’s return payload.