#typed #array #conversion #js-sys #type #javascript

typed-array

A wrapper for all typed array types from js_sys that implements common functionality and useful conversions

2 unstable releases

0.2.0 Jul 1, 2019
0.1.0 Jul 1, 2019

#694 in WebAssembly

MIT/Apache

12KB
135 lines

typed-array

Build Status

A wrapper for all typed array types from js_sys that implements common functionality and useful conversions.

All typed arrays in Javascript have properties like buffer, subarray and byte_length in common. However, they can be tricky to work with if the variant is not known. This wrapper type makes it easy to use all typed arrays in the way you'd expect.

Examples

use typed_array::TypedArray;
use js_sys::Uint8Array;

fn length_of_typed_array<T: Into<TypedArray>>(typed_array: T) -> u32 {
    typed_array.into().length()
}

assert_eq!(
    length_of_typed_array(Uint8Array::new(&10.into())),
    10
);

Features

The following common functionality between typed arrays is implemented:

Additionally, conversions are easy:

  • From<X> for TypedArray
  • TryFrom<TypedArray> for X
  • TryFrom<JsValue> for TypedArray
  • AsRef<JsValue> for TypedArray
  • AsRef<Object> for TypedArray
  • has_type, analogous to JsCast::has_type
  • dyn_into, analogous to JsCast::dyn_into

Dependencies

~1.1–1.9MB
~34K SLoC