pub struct TypedArray<T> { /* private fields */ }Expand description
Parameterised wrapper around a JavaScript array object. No concrete JS type, but needed for WebIDL
Implementations§
Source§impl<T> TypedArray<T>
impl<T> TypedArray<T>
Sourcepub fn new_from_slice(slice: &[T]) -> Self
pub fn new_from_slice(slice: &[T]) -> Self
Construct a new JS array from a Rust slice.
Uses a single array build operation instead of repeated push calls.
Sourcepub fn get(&self, idx: usize) -> Option<T>where
T: FromVal,
pub fn get(&self, idx: usize) -> Option<T>where
T: FromVal,
Return a copy of the element at idx converted to T.
pub fn set(&self, idx: usize, val: T)
pub fn to_string(&self) -> JsString
pub fn to_locale_string(&self) -> JsString
pub fn pop(&self) -> Option<T>where
T: FromVal,
pub fn concat(&self, items: &Self) -> Self
pub fn join(&self, separator: &JsString) -> JsString
pub fn reverse(&self) -> Self
pub fn shift(&self) -> Option<T>where
T: FromVal,
pub fn sort(&self, compare_fn: &Function) -> Self
pub fn splice(&self, start: usize, delete_count: usize, items: &Self) -> Self
pub fn unshift(&self, items: &Self) -> usize
pub fn index_of(&self, search_element: &Any, from_index: Option<usize>) -> isize
pub fn last_index_of( &self, search_element: &Any, from_index: Option<usize>, ) -> isize
pub fn every(&self, predicate: &Function, this_arg: Option<&Any>) -> bool
pub fn some(&self, predicate: &Function, this_arg: Option<&Any>) -> bool
pub fn for_each(&self, callbackfn: &Function, this_arg: Option<&Any>)
pub fn map( &self, callbackfn: &Function, this_arg: Option<&Any>, ) -> TypedArray<Any>
pub fn filter(&self, predicate: &Function, this_arg: Option<&Any>) -> Self
pub fn reduce(&self, callbackfn: &Function, initial_value: Option<&T>) -> T
pub fn reduce_right( &self, callbackfn: &Function, initial_value: Option<&T>, ) -> T
pub fn entries(&self) -> Any
pub fn keys(&self) -> Any
pub fn values(&self) -> Any
Source§impl<T> TypedArray<T>where
T: FromVal,
impl<T> TypedArray<T>where
T: FromVal,
Sourcepub fn iter(&self) -> TypedArrayIter<'_, T>
pub fn iter(&self) -> TypedArrayIter<'_, T>
Return an iterator over owned elements.
Examples found in repository?
examples/array.rs (line 12)
5fn main() {
6 emlite::init();
7 // Create a TypedArray from a Vec of Any
8 let seq = TypedArray::from(vec![Any::from(1), Any::from(2), Any::from(3)]);
9 println!("Created TypedArray: {:?}", seq);
10
11 // Access elements
12 for (i, val) in seq.iter().enumerate() {
13 println!("Element {}: {:?}", i, val);
14 }
15
16 // Convert TypedArray back to Vec<Any> (if supported by your API)
17 // let vec: Vec<Any> = seq.clone().into();
18 // println!("Converted back to Vec: {:?}", vec);
19 // If not supported, just print the sequence
20 println!("TypedArray: {:?}", seq);
21}Methods from Deref<Target = Val>§
Sourcepub fn has_own_property(&self, prop: &str) -> bool
pub fn has_own_property(&self, prop: &str) -> bool
Checks whether a non-inherited property prop exists
Sourcepub fn at<T>(&self, idx: T) -> Val
pub fn at<T>(&self, idx: T) -> Val
Gets the element at index idx. Assumes the underlying js type is indexable
Sourcepub fn to_vec<V>(&self) -> Vec<V>where
V: FromVal,
pub fn to_vec<V>(&self) -> Vec<V>where
V: FromVal,
Converts the underlying js array to a Vec of V
Sourcepub fn call(&self, f: &str, args: &[Val]) -> Val
pub fn call(&self, f: &str, args: &[Val]) -> Val
Calls the method f with args, can return an undefined js value
Sourcepub fn new(&self, args: &[Val]) -> Val
pub fn new(&self, args: &[Val]) -> Val
Calls the object’s constructor with args constructing a new object
Sourcepub fn invoke(&self, args: &[Val]) -> Val
pub fn invoke(&self, args: &[Val]) -> Val
Invokes the function object with args, can return an undefined js value
Sourcepub fn instanceof(&self, v: Val) -> bool
pub fn instanceof(&self, v: Val) -> bool
Checks whether this Val is an instanceof v
pub fn is_number(&self) -> bool
pub fn is_bool(&self) -> bool
pub fn is_string(&self) -> bool
pub fn is_null(&self) -> bool
pub fn is_undefined(&self) -> bool
pub fn is_error(&self) -> bool
pub fn is_function(&self) -> bool
Sourcepub fn as_<T>(&self) -> Twhere
T: FromVal,
pub fn as_<T>(&self) -> Twhere
T: FromVal,
Examples found in repository?
examples/any.rs (line 15)
3fn main() {
4 emlite::init();
5 // Create Any from different Rust types
6 let num = Any::from(123);
7 let text = Any::from("hello");
8 let boolean = Any::from(true);
9 println!("Any from int: {:?}", num);
10 println!("Any from str: {:?}", text);
11 println!("Any from bool: {:?}", boolean);
12 Console::get().log(&[num.clone(), text.clone(), boolean.clone()]);
13
14 // Convert Any back to Rust types using as_::<T>()
15 let n: i32 = num.as_();
16 let s: Option<String> = text.as_();
17 let b: bool = boolean.as_();
18 println!("Extracted i32: {}", n);
19 println!("Extracted String: {:?}", s);
20 println!("Extracted bool: {}", b);
21}More examples
examples/closures.rs (line 10)
4fn main() {
5 emlite::init();
6
7 // 0-arg closure returning a number
8 let c0 = Closure::bind0(|| 42);
9 let f0: Function = (&c0).into();
10 let r0 = f0.call(&Any::undefined(), &[]).unwrap().as_::<i32>();
11 Console::get().log(&[Any::from(r0)]);
12
13 // 1-arg closure: add 1
14 let c1 = Closure::bind1(|x: i32| x + 1);
15 let f1: Function = (&c1).into();
16 let r1 = f1
17 .call(&Any::undefined(), &[Any::from(9)])
18 .unwrap()
19 .as_::<i32>();
20 Console::get().log(&[Any::from(r1)]);
21
22 // 2-arg closure: sum
23 let c2 = Closure::bind2(|a: i32, b: i32| a + b);
24 let f2: Function = (&c2).into();
25 let r2 = f2
26 .call(&Any::undefined(), &[Any::from(2), Any::from(3)])
27 .unwrap()
28 .as_::<i32>();
29 Console::get().log(&[Any::from(r2)]);
30
31 // 3-arg closure: format string
32 let c3 = Closure::bind3(|a: i32, b: i32, c: i32| format!("{}-{}-{}", a, b, c));
33 let f3: Function = (&c3).into();
34 let r3 = f3
35 .call(
36 &Any::undefined(),
37 &[Any::from(1), Any::from(2), Any::from(3)],
38 )
39 .unwrap()
40 .as_::<Option<String>>()
41 .unwrap();
42 Console::get().log(&[Any::from(r3)]);
43
44 // 4-arg closure: sum of four
45 let c4 = Closure::bind4(|a: i32, b: i32, c: i32, d: i32| a + b + c + d);
46 let f4: Function = (&c4).into();
47 let r4 = f4
48 .call(
49 &Any::undefined(),
50 &[Any::from(1), Any::from(2), Any::from(3), Any::from(4)],
51 )
52 .unwrap()
53 .as_::<i32>();
54 Console::get().log(&[Any::from(r4)]);
55}Trait Implementations§
Source§impl<T> AsMut<Val> for TypedArray<T>
impl<T> AsMut<Val> for TypedArray<T>
Source§impl<T> AsRef<Val> for TypedArray<T>
impl<T> AsRef<Val> for TypedArray<T>
Source§impl<T: Clone> Clone for TypedArray<T>
impl<T: Clone> Clone for TypedArray<T>
Source§fn clone(&self) -> TypedArray<T>
fn clone(&self) -> TypedArray<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for TypedArray<T>
impl<T: Debug> Debug for TypedArray<T>
Source§impl<T> Deref for TypedArray<T>
impl<T> Deref for TypedArray<T>
Source§impl<T> DerefMut for TypedArray<T>
impl<T> DerefMut for TypedArray<T>
Source§impl<T> From<&TypedArray<T>> for Val
impl<T> From<&TypedArray<T>> for Val
Source§fn from(x: &TypedArray<T>) -> Val
fn from(x: &TypedArray<T>) -> Val
Converts to this type from the input type.
Source§impl<T> From<TypedArray<T>> for Val
impl<T> From<TypedArray<T>> for Val
Source§fn from(x: TypedArray<T>) -> Val
fn from(x: TypedArray<T>) -> Val
Converts to this type from the input type.
Source§impl<T> FromVal for TypedArray<T>
impl<T> FromVal for TypedArray<T>
Source§impl<'a, T> IntoIterator for &'a TypedArray<T>where
T: FromVal,
impl<'a, T> IntoIterator for &'a TypedArray<T>where
T: FromVal,
Source§impl<T: PartialEq> PartialEq for TypedArray<T>
impl<T: PartialEq> PartialEq for TypedArray<T>
Source§impl<T: PartialOrd> PartialOrd for TypedArray<T>
impl<T: PartialOrd> PartialOrd for TypedArray<T>
impl<T> StructuralPartialEq for TypedArray<T>
Auto Trait Implementations§
impl<T> Freeze for TypedArray<T>
impl<T> RefUnwindSafe for TypedArray<T>where
T: RefUnwindSafe,
impl<T> Send for TypedArray<T>where
T: Send,
impl<T> Sync for TypedArray<T>where
T: Sync,
impl<T> Unpin for TypedArray<T>where
T: Unpin,
impl<T> UnwindSafe for TypedArray<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more