[−][src]Enum boa::js::value::ValueData
A Javascript value
Variants
null
- A null value, for when a value doesn't exist
undefined
- An undefined value, for when a field or index doesn't exist
Boolean(bool)
boolean
- A true
/ false
value, for if a certain criteria is met
String(String)
String
- A UTF-8 string, such as "Hello, world"
Number(f64)
Number
- A 64-bit floating point number, such as 3.1415
Integer(i32)
Number
- A 32-bit integer, such as 42
Object
- An object, such as Math
, represented by a binary tree of string keys to Javascript values
Function
- A runnable block of code, such as Math.sqrt
, which can take some variables and return a useful value or act upon an object
Methods
impl ValueData
[src]
pub fn new_obj(global: Option<&Value>) -> Value
[src]
Returns a new empty object
pub fn new_obj_from_prototype(proto: Value, kind: ObjectKind) -> Value
[src]
Similar to new_obj
, but you can pass a prototype to create from,
plus a kind
pub fn is_extensible(&self) -> bool
[src]
This will tell us if we can exten an object or not, not properly implemented yet, for now always returns true For scalar types it should be false, for objects check the private field for extensibilaty. By default true <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal would turn extensible to false/> <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze would also turn extensible to false/>
pub fn is_object(&self) -> bool
[src]
Returns true if the value is an object
pub fn is_function(&self) -> bool
[src]
Returns true if the value is a function
pub fn is_undefined(&self) -> bool
[src]
Returns true if the value is undefined
pub fn is_null(&self) -> bool
[src]
Returns true if the value is null
pub fn is_null_or_undefined(&self) -> bool
[src]
Returns true if the value is null or undefined
pub fn is_double(&self) -> bool
[src]
Returns true if the value is a 64-bit floating-point number
pub fn is_string(&self) -> bool
[src]
Returns true if the value is a string
pub fn is_boolean(&self) -> bool
[src]
Returns true if the value is a boolean
pub fn is_true(&self) -> bool
[src]
Returns true if the value is true toBoolean
pub fn to_num(&self) -> f64
[src]
Converts the value into a 64-bit floating point number
pub fn to_int(&self) -> i32
[src]
Converts the value into a 32-bit integer
pub fn remove_prop(&self, field: &str)
[src]
remove_prop removes a property from a Value object. It will return a boolean based on if the value was removed, if there was no value to remove false is returned
pub fn get_prop(&self, field: &str) -> Option<Property>
[src]
Resolve the property in the object Returns a copy of the Property
pub fn update_prop(
&self,
field: &str,
value: Option<Value>,
enumerable: Option<bool>,
writable: Option<bool>,
configurable: Option<bool>
)
[src]
&self,
field: &str,
value: Option<Value>,
enumerable: Option<bool>,
writable: Option<bool>,
configurable: Option<bool>
)
update_prop will overwrite individual Property fields, unlike Set_prop, which will overwrite prop with a new Property Mostly used internally for now
pub fn get_internal_slot(&self, field: &str) -> Value
[src]
Resolve the property in the object Returns a copy of the Property
pub fn get_field(&self, field: &str) -> Value
[src]
Resolve the property in the object and get its value, or undefined if this is not an object or the field doesn't exist get_field recieves a Property from get_prop(). It should then return the [[Get]] result value if that's set, otherwise fall back to [Value] TODO: this function should use the get Value if its set
pub fn has_internal_state(&self) -> bool
[src]
Check whether an object has an internal state set.
pub fn get_internal_state(&self) -> Option<InternalStateCell>
[src]
Get the internal state of an object.
pub fn with_internal_state_ref<S: Any + InternalState, R, F: FnOnce(&S) -> R>(
&self,
f: F
) -> R
[src]
&self,
f: F
) -> R
Run a function with a reference to the internal state.
Panics
This will panic if this value doesn't have an internal state or if the internal state doesn't
have the concrete type S
.
pub fn with_internal_state_mut<S: Any + InternalState, R, F: FnOnce(&mut S) -> R>(
&self,
f: F
) -> R
[src]
&self,
f: F
) -> R
Run a function with a mutable reference to the internal state.
Panics
This will panic if this value doesn't have an internal state or if the internal state doesn't
have the concrete type S
.
pub fn has_field(&self, field: &str) -> bool
[src]
Check to see if the Value has the field, mainly used by environment records
pub fn get_field_slice(&self, field: &str) -> Value
[src]
Resolve the property in the object and get its value, or undefined if this is not an object or the field doesn't exist
pub fn set_field(&self, field: String, val: Value) -> Value
[src]
Set the field in the value
pub fn set_field_slice<'a>(&self, field: &'a str, val: Value) -> Value
[src]
Set the field in the value
pub fn set_internal_slot(&self, field: &str, val: Value) -> Value
[src]
Set the private field in the value
pub fn set_kind(&self, kind: ObjectKind) -> ObjectKind
[src]
Set the kind of an object
pub fn set_prop(&self, field: String, prop: Property) -> Property
[src]
Set the property in the value
pub fn set_prop_slice<'t>(&self, field: &'t str, prop: Property) -> Property
[src]
Set the property in the value
pub fn set_internal_state<T: Any + InternalState>(&self, state: T)
[src]
Set internal state of an Object. Discards the previous state if it was set.
pub fn from_json(json: JSONValue) -> Self
[src]
Convert from a JSON value to a JS value
pub fn to_json(&self) -> JSONValue
[src]
pub fn get_type(&self) -> &'static str
[src]
Get the type of the value https://tc39.es/ecma262/#sec-typeof-operator
Trait Implementations
impl Drop for ValueData
[src]
impl Default for ValueData
[src]
impl Clone for ValueData
[src]
impl PartialEq<ValueData> for ValueData
[src]
impl Add<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the +
operator.
fn add(self, other: Self) -> Self
[src]
impl Sub<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the -
operator.
fn sub(self, other: Self) -> Self
[src]
impl Mul<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, other: Self) -> Self
[src]
impl Div<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the /
operator.
fn div(self, other: Self) -> Self
[src]
impl Rem<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the %
operator.
fn rem(self, other: Self) -> Self
[src]
impl Not for ValueData
[src]
impl BitAnd<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the &
operator.
fn bitand(self, other: Self) -> Self
[src]
impl BitOr<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the |
operator.
fn bitor(self, other: Self) -> Self
[src]
impl BitXor<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the ^
operator.
fn bitxor(self, other: Self) -> Self
[src]
impl Shl<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: Self) -> Self
[src]
impl Shr<ValueData> for ValueData
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: Self) -> Self
[src]
impl Debug for ValueData
[src]
impl Display for ValueData
[src]
impl Trace for ValueData
[src]
unsafe fn trace(&self)
[src]
unsafe fn root(&self)
[src]
unsafe fn unroot(&self)
[src]
fn finalize_glue(&self)
[src]
impl Finalize for ValueData
[src]
Auto Trait Implementations
impl !Send for ValueData
impl Unpin for ValueData
impl !Sync for ValueData
impl !UnwindSafe for ValueData
impl !RefUnwindSafe for ValueData
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,