pub struct JsArrayBuffer(/* private fields */);
Expand description
The type of JavaScript
ArrayBuffer
objects.
§Example
use neon::types::buffer::TypedArray;
fn make_sequence(mut cx: FunctionContext) -> JsResult<JsArrayBuffer> {
let len = cx.argument::<JsNumber>(0)?.value(&mut cx);
let mut buffer = cx.array_buffer(len as usize)?;
for (i, elem) in buffer.as_mut_slice(&mut cx).iter_mut().enumerate() {
*elem = i as u8;
}
Ok(buffer)
}
Implementations§
Source§impl JsArrayBuffer
impl JsArrayBuffer
Sourcepub fn new<'a, C: Context<'a>>(cx: &mut C, len: usize) -> JsResult<'a, Self>
pub fn new<'a, C: Context<'a>>(cx: &mut C, len: usize) -> JsResult<'a, Self>
Constructs a new JsArrayBuffer
object, safely zero-filled.
See also: Context::array_buffer
Sourcepub fn from_slice<'cx, C>(cx: &mut C, slice: &[u8]) -> JsResult<'cx, Self>where
C: Context<'cx>,
pub fn from_slice<'cx, C>(cx: &mut C, slice: &[u8]) -> JsResult<'cx, Self>where
C: Context<'cx>,
Constructs a JsArrayBuffer
from a slice by copying its contents.
This method is defined on JsArrayBuffer
as a convenience and delegates to
TypedArray::from_slice
.
Sourcepub fn external<'a, C, T>(cx: &mut C, data: T) -> Handle<'a, Self>
Available on crate feature external-buffers
only.
pub fn external<'a, C, T>(cx: &mut C, data: T) -> Handle<'a, Self>
external-buffers
only.Construct a new JsArrayBuffer
from bytes allocated by Rust.
§Compatibility Note
Some Node environments are built using V8’s sandboxed pointers functionality, which disallows the use of external buffers. In those environments, calling the underlying runtime function used by this method results in an immediate termination of the Node VM.
As a result, this API is disabled by default. If you are confident that your code will
only be used in environments that disable sandboxed pointers, you can make use of this
method by enabling the external-buffers
feature flag.
Sourcepub fn region<'cx, T: Binary>(
buffer: &Handle<'cx, JsArrayBuffer>,
offset: usize,
len: usize,
) -> Region<'cx, T>
pub fn region<'cx, T: Binary>( buffer: &Handle<'cx, JsArrayBuffer>, offset: usize, len: usize, ) -> Region<'cx, T>
Returns a region of this buffer.
See also: Handle<JsArrayBuffer>::region()
for a more
ergonomic form of this method.
Trait Implementations§
Source§impl Debug for JsArrayBuffer
impl Debug for JsArrayBuffer
Source§impl Object for JsArrayBuffer
impl Object for JsArrayBuffer
Source§fn prop<'a, 'cx: 'a, K: PropertyKey>(
&self,
cx: &'a mut Cx<'cx>,
key: K,
) -> PropOptions<'a, 'cx, Self, K>
fn prop<'a, 'cx: 'a, K: PropertyKey>( &self, cx: &'a mut Cx<'cx>, key: K, ) -> PropOptions<'a, 'cx, Self, K>
PropOptions
for accessing a property. Read moreSource§fn method<'a, 'cx: 'a, K: PropertyKey>(
&self,
cx: &'a mut Cx<'cx>,
key: K,
) -> NeonResult<BindOptions<'a, 'cx>>
fn method<'a, 'cx: 'a, K: PropertyKey>( &self, cx: &'a mut Cx<'cx>, key: K, ) -> NeonResult<BindOptions<'a, 'cx>>
this
to the object. Read moreSource§fn get_opt<'a, V: Value, C: Context<'a>, K: PropertyKey>(
&self,
cx: &mut C,
key: K,
) -> NeonResult<Option<Handle<'a, V>>>
fn get_opt<'a, V: Value, C: Context<'a>, K: PropertyKey>( &self, cx: &mut C, key: K, ) -> NeonResult<Option<Handle<'a, V>>>
Object::prop()
insteadSource§fn get_value<'a, C: Context<'a>, K: PropertyKey>(
&self,
cx: &mut C,
key: K,
) -> NeonResult<Handle<'a, JsValue>>
fn get_value<'a, C: Context<'a>, K: PropertyKey>( &self, cx: &mut C, key: K, ) -> NeonResult<Handle<'a, JsValue>>
Object::prop()
insteadSource§fn get<'a, V: Value, C: Context<'a>, K: PropertyKey>(
&self,
cx: &mut C,
key: K,
) -> NeonResult<Handle<'a, V>>
fn get<'a, V: Value, C: Context<'a>, K: PropertyKey>( &self, cx: &mut C, key: K, ) -> NeonResult<Handle<'a, V>>
Object::prop()
insteadSource§fn get_own_property_names<'a, C: Context<'a>>(
&self,
cx: &mut C,
) -> JsResult<'a, JsArray>
fn get_own_property_names<'a, C: Context<'a>>( &self, cx: &mut C, ) -> JsResult<'a, JsArray>
napi-6
only.fn freeze<'a, C: Context<'a>>(&self, cx: &mut C) -> NeonResult<&Self>
fn seal<'a, C: Context<'a>>(&self, cx: &mut C) -> NeonResult<&Self>
Source§fn set<'a, C: Context<'a>, K: PropertyKey, W: Value>(
&self,
cx: &mut C,
key: K,
val: Handle<'_, W>,
) -> NeonResult<bool>
fn set<'a, C: Context<'a>, K: PropertyKey, W: Value>( &self, cx: &mut C, key: K, val: Handle<'_, W>, ) -> NeonResult<bool>
Object::prop()
insteadfn root<'a, C: Context<'a>>(&self, cx: &mut C) -> Root<Self>
Source§fn call_method_with<'a, C, K>(
&self,
cx: &mut C,
method: K,
) -> NeonResult<CallOptions<'a>>where
C: Context<'a>,
K: PropertyKey,
fn call_method_with<'a, C, K>(
&self,
cx: &mut C,
method: K,
) -> NeonResult<CallOptions<'a>>where
C: Context<'a>,
K: PropertyKey,
Object::method()
insteadSource§impl TypedArray for JsArrayBuffer
impl TypedArray for JsArrayBuffer
type Item = u8
Source§fn as_slice<'cx, 'a, C>(&self, cx: &'a C) -> &'a [Self::Item]where
C: Context<'cx>,
fn as_slice<'cx, 'a, C>(&self, cx: &'a C) -> &'a [Self::Item]where
C: Context<'cx>,
Source§fn as_mut_slice<'cx, 'a, C>(&mut self, cx: &'a mut C) -> &'a mut [Self::Item]where
C: Context<'cx>,
fn as_mut_slice<'cx, 'a, C>(&mut self, cx: &'a mut C) -> &'a mut [Self::Item]where
C: Context<'cx>,
Source§fn try_borrow<'cx, 'a, C>(
&self,
lock: &'a Lock<'_, C>,
) -> Result<Ref<'a, Self::Item>, BorrowError>where
C: Context<'cx>,
fn try_borrow<'cx, 'a, C>(
&self,
lock: &'a Lock<'_, C>,
) -> Result<Ref<'a, Self::Item>, BorrowError>where
C: Context<'cx>,
Source§fn try_borrow_mut<'cx, 'a, C>(
&mut self,
lock: &'a Lock<'_, C>,
) -> Result<RefMut<'a, Self::Item>, BorrowError>where
C: Context<'cx>,
fn try_borrow_mut<'cx, 'a, C>(
&mut self,
lock: &'a Lock<'_, C>,
) -> Result<RefMut<'a, Self::Item>, BorrowError>where
C: Context<'cx>,
Source§impl Value for JsArrayBuffer
impl Value for JsArrayBuffer
Auto Trait Implementations§
impl Freeze for JsArrayBuffer
impl RefUnwindSafe for JsArrayBuffer
impl !Send for JsArrayBuffer
impl !Sync for JsArrayBuffer
impl Unpin for JsArrayBuffer
impl UnwindSafe for JsArrayBuffer
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more