Struct JSArrayBuffer

Source
pub struct JSArrayBuffer { /* private fields */ }
Expand description

A JavaScript array buffer.

Implementations§

Source§

impl JSArrayBuffer

Source

pub fn from_object(object: JSObject) -> Self

Creates a new JSArrayBuffer object from a given JSObject.

Source

pub fn len(&self) -> JSResult<usize>

Gets the length of the ArrayBuffer.

§Example
use rust_jsc::{JSContext, JSArrayBuffer};

let ctx = JSContext::new();
let array_buffer = ctx.evaluate_script("new ArrayBuffer(10)", None).unwrap();
let array_buffer = JSArrayBuffer::from_object(array_buffer.as_object().unwrap());
assert_eq!(array_buffer.len().unwrap(), 10);
§Errors

If an exception is thrown while getting the length. A JSError will be returned.

§Returns

The length of the ArrayBuffer object or 0 if the object is not an ArrayBuffer object.

Source

pub fn bytes(&self) -> JSResult<&mut [u8]>

Gets the bytes of the ArrayBuffer.

§Example
use rust_jsc::{JSContext, JSArrayBuffer};

let ctx = JSContext::new();
let array_buffer = ctx.evaluate_script("new ArrayBuffer(10)", None).unwrap();
let array_buffer = JSArrayBuffer::from_object(array_buffer.as_object().unwrap());
assert_eq!(array_buffer.bytes().unwrap().len(), 10);
§Errors

If an exception is thrown while getting the bytes. A JSError will be returned.

§Returns

The bytes of the ArrayBuffer object or null if the object is not an ArrayBuffer object.

Source

pub fn is_detached(&self) -> bool

Checks if the ArrayBuffer is detached. Detached ArrayBuffers are ArrayBuffers that have been detached from their backing store. This can happen when the backing store is transferred to another object.

Source

pub fn new(ctx: &JSContext, bytes: &mut [u8]) -> JSResult<Self>

Gets the bytes of the ArrayBuffer as a Vec.

§Example
use rust_jsc::{JSContext, JSArrayBuffer};

let ctx = JSContext::new();
let array_buffer = ctx.evaluate_script("new ArrayBuffer(10)", None).unwrap();
let array_buffer = JSArrayBuffer::from_object(array_buffer.as_object().unwrap());
assert_eq!(array_buffer.as_vec().unwrap().len(), 10);
§Errors

If an exception is thrown while getting the bytes. A JSError will be returned.

§Returns

The bytes of the ArrayBuffer object as a Vec or null if the object is not an ArrayBuffer object.

Source

pub fn as_vec(&self) -> JSResult<Vec<u8>>

Gets the bytes of the ArrayBuffer as a Vec.

§Example
use rust_jsc::{JSContext, JSArrayBuffer};

let ctx = JSContext::new();
let array_buffer = ctx.evaluate_script("new ArrayBuffer(10)", None).unwrap();
let array_buffer = JSArrayBuffer::from_object(array_buffer.as_object().unwrap());
assert_eq!(array_buffer.as_vec().unwrap().len(), 10);
§Errors

If an exception is thrown while getting the bytes. A JSError will be returned.

§Returns

The bytes of the ArrayBuffer object as a Vec or null if the object is not an ArrayBuffer object.

Trait Implementations§

Source§

impl Clone for JSArrayBuffer

Source§

fn clone(&self) -> JSArrayBuffer

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for JSArrayBuffer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<JSArrayBuffer> for JSObject

Source§

fn from(array_buffer: JSArrayBuffer) -> Self

Converts to this type from the input type.
Source§

impl From<JSArrayBuffer> for JSValue

Source§

fn from(array_buffer: JSArrayBuffer) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.