pub struct ReadableStream<'env, T> { /* private fields */ }
Implementations§
Source§impl<T> ReadableStream<'_, T>
impl<T> ReadableStream<'_, T>
Source§impl<T: FromNapiValue> ReadableStream<'_, T>
impl<T: FromNapiValue> ReadableStream<'_, T>
Source§impl<T: ToNapiValue + Send + 'static> ReadableStream<'_, T>
impl<T: ToNapiValue + Send + 'static> ReadableStream<'_, T>
pub fn new<S: Stream<Item = Result<T>> + Unpin + Send + 'static>( env: &Env, inner: S, ) -> Result<Self>
Sourcepub fn with_readable_stream_class<S: Stream<Item = Result<T>> + Unpin + Send + 'static>(
env: &Env,
readable_stream_class: &Unknown<'_>,
inner: S,
) -> Result<Self>
pub fn with_readable_stream_class<S: Stream<Item = Result<T>> + Unpin + Send + 'static>( env: &Env, readable_stream_class: &Unknown<'_>, inner: S, ) -> Result<Self>
Creates a new ReadableStream
with the given stream
and ReadableStream
class.
This is useful if the runtime only supports Node-API 4 but doesn’t support the WebStream API.
Node-API 4 was initially introduced in v10.16.0
and WebStream was introduced in v16.5.0
.
Source§impl<'env> ReadableStream<'env, BufferSlice<'env>>
impl<'env> ReadableStream<'env, BufferSlice<'env>>
Trait Implementations§
Source§impl<T> FromNapiValue for ReadableStream<'_, T>
impl<T> FromNapiValue for ReadableStream<'_, T>
Source§unsafe fn from_napi_value(env: napi_env, napi_val: napi_value) -> Result<Self>
unsafe fn from_napi_value(env: napi_env, napi_val: napi_value) -> Result<Self>
Safety Read more
fn from_unknown(value: Unknown<'_>) -> Result<Self>
Source§impl<'env, T> JsObjectValue<'env> for ReadableStream<'env, T>
impl<'env, T> JsObjectValue<'env> for ReadableStream<'env, T>
Source§fn set_property<'k, 'v, K, V>(&mut self, key: K, value: V) -> Result<()>
fn set_property<'k, 'v, K, V>(&mut self, key: K, value: V) -> Result<()>
Set the property value to the
Object
Source§fn get_property<'k, K, T>(&self, key: K) -> Result<T>
fn get_property<'k, K, T>(&self, key: K) -> Result<T>
Get the property value from the
Object
Read moreSource§fn get_property_unchecked<'k, K, T>(&self, key: K) -> Result<T>where
K: JsValue<'k>,
T: FromNapiValue,
fn get_property_unchecked<'k, K, T>(&self, key: K) -> Result<T>where
K: JsValue<'k>,
T: FromNapiValue,
Get the property value from the
Object
without validationSource§fn set_named_property<T>(&mut self, name: &str, value: T) -> Result<()>where
T: ToNapiValue,
fn set_named_property<T>(&mut self, name: &str, value: T) -> Result<()>where
T: ToNapiValue,
Set the property value to the
Object
Source§fn set_c_named_property<T>(&mut self, name: &CStr, value: T) -> Result<()>where
T: ToNapiValue,
fn set_c_named_property<T>(&mut self, name: &CStr, value: T) -> Result<()>where
T: ToNapiValue,
Set the property value to the
Object
, the property name is a CStr
This is useful when the property name comes from a C
librarySource§fn create_named_method<K>(&mut self, name: K, function: Callback) -> Result<()>
fn create_named_method<K>(&mut self, name: K, function: Callback) -> Result<()>
Create a named method on the
Object
Source§fn create_c_named_method(
&mut self,
name: &CStr,
function: Callback,
) -> Result<()>
fn create_c_named_method( &mut self, name: &CStr, function: Callback, ) -> Result<()>
Create a named method on the
Object
, the name is a CStr
This is useful when the method name comes from a C
librarySource§fn get_named_property<T>(&self, name: &str) -> Result<T>where
T: FromNapiValue + ValidateNapiValue,
fn get_named_property<T>(&self, name: &str) -> Result<T>where
T: FromNapiValue + ValidateNapiValue,
Get the property value from the
Object
Read moreSource§fn get_c_named_property<T>(&self, name: &CStr) -> Result<T>where
T: FromNapiValue + ValidateNapiValue,
fn get_c_named_property<T>(&self, name: &CStr) -> Result<T>where
T: FromNapiValue + ValidateNapiValue,
Get the property value from the
Object
Read moreSource§fn get_named_property_unchecked<T>(&self, name: &str) -> Result<T>where
T: FromNapiValue,
fn get_named_property_unchecked<T>(&self, name: &str) -> Result<T>where
T: FromNapiValue,
Get the property value from the
Object
without validationSource§fn get_c_named_property_unchecked<T>(&self, name: &CStr) -> Result<T>where
T: FromNapiValue,
fn get_c_named_property_unchecked<T>(&self, name: &CStr) -> Result<T>where
T: FromNapiValue,
Get the property value from the
Object
without validation Read moreSource§fn has_named_property<N: AsRef<str>>(&self, name: N) -> Result<bool>
fn has_named_property<N: AsRef<str>>(&self, name: N) -> Result<bool>
Check if the
Object
has the named propertySource§fn has_c_named_property(&self, name: &CStr) -> Result<bool>
fn has_c_named_property(&self, name: &CStr) -> Result<bool>
Check if the
Object
has the named property Read moreSource§fn delete_property<'s, S>(&mut self, name: S) -> Result<bool>where
S: JsValue<'s>,
fn delete_property<'s, S>(&mut self, name: S) -> Result<bool>where
S: JsValue<'s>,
Delete the property from the
Object
, the property name can be a JsValue
Source§fn delete_named_property<K: AsRef<str>>(&mut self, name: K) -> Result<bool>
fn delete_named_property<K: AsRef<str>>(&mut self, name: K) -> Result<bool>
Delete the property from the
Object
Source§fn delete_c_named_property(&mut self, name: &CStr) -> Result<bool>
fn delete_c_named_property(&mut self, name: &CStr) -> Result<bool>
Delete the property from the
Object
Read moreSource§fn has_own_property(&self, key: &str) -> Result<bool>
fn has_own_property(&self, key: &str) -> Result<bool>
Check if the
Object
has the own propertySource§fn has_c_own_property(&self, key: &CStr) -> Result<bool>
fn has_c_own_property(&self, key: &CStr) -> Result<bool>
Check if the
Object
has the own property Read moreSource§fn has_own_property_js<'k, K>(&self, key: K) -> Result<bool>where
K: JsValue<'k>,
fn has_own_property_js<'k, K>(&self, key: K) -> Result<bool>where
K: JsValue<'k>,
The same as
has_own_property
, but accepts a JsValue
as the property name.Source§fn has_property(&self, name: &str) -> Result<bool>
fn has_property(&self, name: &str) -> Result<bool>
This API checks if the Object passed in has the named property.
Source§fn has_property_js<'k, K>(&self, name: K) -> Result<bool>where
K: JsValue<'k>,
fn has_property_js<'k, K>(&self, name: K) -> Result<bool>where
K: JsValue<'k>,
This API is the same as
has_property
, but accepts a JsValue
as the property name.
So you can pass the JsNumber
or JsSymbol
as the property name.Source§fn get_property_names(&self) -> Result<Object<'env>>
fn get_property_names(&self) -> Result<Object<'env>>
This API returns the names of the enumerable properties of object as an array of strings.
The properties of object whose key is a symbol will not be included.
Source§fn get_all_property_names(
&self,
mode: KeyCollectionMode,
filter: KeyFilter,
conversion: KeyConversion,
) -> Result<Object<'env>>
fn get_all_property_names( &self, mode: KeyCollectionMode, filter: KeyFilter, conversion: KeyConversion, ) -> Result<Object<'env>>
https://nodejs.org/api/n-api.html#n_api_napi_get_all_property_names
This API returns an array containing the names of the available properties of this object.
Source§fn get_prototype(&self) -> Result<Unknown<'env>>
fn get_prototype(&self) -> Result<Unknown<'env>>
This returns the equivalent of
Object.getPrototypeOf
(which is not the same as the function’s prototype property).Source§fn get_prototype_unchecked<T>(&self) -> Result<T>where
T: FromNapiValue,
fn get_prototype_unchecked<T>(&self) -> Result<T>where
T: FromNapiValue,
Get the prototype of the
Object
Source§fn set_element<'t, T>(&mut self, index: u32, value: T) -> Result<()>where
T: JsValue<'t>,
fn set_element<'t, T>(&mut self, index: u32, value: T) -> Result<()>where
T: JsValue<'t>,
Set the element at the given index
Source§fn has_element(&self, index: u32) -> Result<bool>
fn has_element(&self, index: u32) -> Result<bool>
Check if the
Array
has the element at the given indexSource§fn delete_element(&mut self, index: u32) -> Result<bool>
fn delete_element(&mut self, index: u32) -> Result<bool>
Delete the element at the given index
Source§fn get_element<T>(&self, index: u32) -> Result<T>where
T: FromNapiValue,
fn get_element<T>(&self, index: u32) -> Result<T>where
T: FromNapiValue,
Get the element at the given index Read more
Source§fn define_properties(&mut self, properties: &[Property]) -> Result<()>
fn define_properties(&mut self, properties: &[Property]) -> Result<()>
This method allows the efficient definition of multiple properties on a given object.
Source§fn get_array_length(&self) -> Result<u32>
fn get_array_length(&self) -> Result<u32>
Perform
is_array
check before get the length Read moreSource§fn get_array_length_unchecked(&self) -> Result<u32>
fn get_array_length_unchecked(&self) -> Result<u32>
use this API if you can ensure this
Object
is Array
Source§fn wrap<T: 'static>(
&mut self,
native_object: T,
size_hint: Option<usize>,
) -> Result<()>
fn wrap<T: 'static>( &mut self, native_object: T, size_hint: Option<usize>, ) -> Result<()>
Wrap the native value
T
to this Object
the T
will be dropped when this Object
is finalizedSource§fn unwrap<T: 'static>(&self) -> Result<&mut T>
fn unwrap<T: 'static>(&self) -> Result<&mut T>
Get the wrapped native value from the
Object
Read moreSource§fn remove_wrapped<T: 'static>(&mut self) -> Result<()>
fn remove_wrapped<T: 'static>(&mut self) -> Result<()>
Remove the wrapped native value from the
Object
Read moreSource§fn add_finalizer<T, Hint, F>(
&mut self,
native: T,
finalize_hint: Hint,
finalize_cb: F,
) -> Result<()>where
T: 'static,
Hint: 'static,
F: FnOnce(FinalizeContext<T, Hint>) + 'static,
fn add_finalizer<T, Hint, F>(
&mut self,
native: T,
finalize_hint: Hint,
finalize_cb: F,
) -> Result<()>where
T: 'static,
Hint: 'static,
F: FnOnce(FinalizeContext<T, Hint>) + 'static,
Adds a
finalize_cb
callback which will be called when the JavaScript object in js_object has been garbage-collected. Read moreSource§fn freeze(&mut self) -> Result<()>
fn freeze(&mut self) -> Result<()>
This method freezes a given object.
This prevents new properties from being added to it, existing properties from being removed, prevents changing the enumerability, configurability, or writability of existing properties, and prevents the values of existing properties from being changed.
It also prevents the object’s prototype from being changed. This is described in Section 19.1.2.6 of the ECMA-262 specification.
Source§impl<'env, T> JsValue<'env> for ReadableStream<'env, T>
impl<'env, T> JsValue<'env> for ReadableStream<'env, T>
fn value(&self) -> Value
fn raw(&self) -> napi_value
Source§fn to_unknown(&self) -> Unknown<'env>
fn to_unknown(&self) -> Unknown<'env>
Convert the value to an unknown
Source§fn coerce_to_bool(&self) -> Result<bool>
fn coerce_to_bool(&self) -> Result<bool>
Coerce the value to a boolean
fn coerce_to_number(&self) -> Result<JsNumber<'_>>
fn coerce_to_string(&self) -> Result<JsString<'_>>
fn coerce_to_object(&self) -> Result<Object<'env>>
fn is_date(&self) -> Result<bool>
fn is_promise(&self) -> Result<bool>
fn is_error(&self) -> Result<bool>
fn is_typedarray(&self) -> Result<bool>
fn is_dataview(&self) -> Result<bool>
fn is_array(&self) -> Result<bool>
fn is_buffer(&self) -> Result<bool>
fn is_arraybuffer(&self) -> Result<bool>
fn instanceof<'c, Constructor>(&self, constructor: Constructor) -> Result<bool>where
Constructor: JsValue<'c>,
fn escape<'scope, E: JsValue<'scope> + FromNapiValue>( &self, escapable_handle_scope: EscapableHandleScope<'scope>, ) -> Result<E>
Source§impl<T> TypeName for ReadableStream<'_, T>
impl<T> TypeName for ReadableStream<'_, T>
Source§impl<T> ValidateNapiValue for ReadableStream<'_, T>
impl<T> ValidateNapiValue for ReadableStream<'_, T>
Source§unsafe fn validate(env: napi_env, napi_val: napi_value) -> Result<napi_value>
unsafe fn validate(env: napi_env, napi_val: napi_value) -> Result<napi_value>
Safety Read more
Auto Trait Implementations§
impl<'env, T> Freeze for ReadableStream<'env, T>
impl<'env, T> RefUnwindSafe for ReadableStream<'env, T>where
T: RefUnwindSafe,
impl<'env, T> !Send for ReadableStream<'env, T>
impl<'env, T> !Sync for ReadableStream<'env, T>
impl<'env, T> Unpin for ReadableStream<'env, T>
impl<'env, T> UnwindSafe for ReadableStream<'env, T>where
T: RefUnwindSafe,
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
Source§impl<'env, T> JsValuesTuple for Twhere
T: JsValue<'env>,
impl<'env, T> JsValuesTuple for Twhere
T: JsValue<'env>,
fn env(&self) -> *mut napi_env__
Source§impl<T> JsValuesTupleIntoVec for Twhere
T: ToNapiValue,
impl<T> JsValuesTupleIntoVec for Twhere
T: ToNapiValue,
fn into_vec(self, env: *mut napi_env__) -> Result<Vec<*mut napi_value__>, Error>
Source§impl<'env, T> ToNapiValue for Twhere
T: JsValue<'env>,
impl<'env, T> ToNapiValue for Twhere
T: JsValue<'env>,
Source§unsafe fn to_napi_value(
_env: *mut napi_env__,
val: T,
) -> Result<*mut napi_value__, Error>
unsafe fn to_napi_value( _env: *mut napi_env__, val: T, ) -> Result<*mut napi_value__, Error>
Safety Read more