pub struct FunctionContext<'a> { /* private fields */ }
Expand description
An execution context of a function call.
The type parameter T
is the type of the this
-binding.
Implementations§
Source§impl<'a> FunctionContext<'a>
impl<'a> FunctionContext<'a>
Sourcepub fn argument_opt(&mut self, i: usize) -> Option<Handle<'a, JsValue>>
pub fn argument_opt(&mut self, i: usize) -> Option<Handle<'a, JsValue>>
Produces the i
th argument, or None
if i
is greater than or equal to self.len()
.
Sourcepub fn argument<V: Value>(&mut self, i: usize) -> JsResult<'a, V>
pub fn argument<V: Value>(&mut self, i: usize) -> JsResult<'a, V>
Produces the i
th argument and casts it to the type V
, or throws an exception if i
is greater than or equal to self.len()
or cannot be cast to V
.
Sourcepub fn this<T: Value>(&mut self) -> JsResult<'a, T>
pub fn this<T: Value>(&mut self) -> JsResult<'a, T>
Produces a handle to the this
-binding and attempts to downcast as a specific type.
Equivalent to calling cx.this_value().downcast_or_throw(&mut cx)
.
Throws an exception if the value is a different type.
Sourcepub fn this_value(&mut self) -> Handle<'a, JsValue>
pub fn this_value(&mut self) -> Handle<'a, JsValue>
Produces a handle to the function’s this
-binding.
Trait Implementations§
Source§impl<'a> Context<'a> for FunctionContext<'a>
impl<'a> Context<'a> for FunctionContext<'a>
Source§fn lock<'b>(&'b mut self) -> Lock<'_, Self>where
'a: 'b,
fn lock<'b>(&'b mut self) -> Lock<'_, Self>where
'a: 'b,
Lock the JavaScript engine, returning an RAII guard that keeps the lock active as long as the guard is alive. Read more
Source§fn execute_scoped<'b, T, F>(&mut self, f: F) -> Twhere
F: FnOnce(ExecuteContext<'b>) -> T,
'a: 'b,
fn execute_scoped<'b, T, F>(&mut self, f: F) -> Twhere
F: FnOnce(ExecuteContext<'b>) -> T,
'a: 'b,
Executes a computation in a new memory management scope. Read more
Source§fn compute_scoped<'b, V, F>(&mut self, f: F) -> JsResult<'a, V>
fn compute_scoped<'b, V, F>(&mut self, f: F) -> JsResult<'a, V>
Executes a computation in a new memory management scope and computes a single result value that outlives the computation. Read more
fn try_catch<T, F>(&mut self, f: F) -> Result<T, Handle<'a, JsValue>>where
F: FnOnce(&mut Self) -> NeonResult<T>,
Source§fn boolean(&mut self, b: bool) -> Handle<'a, JsBoolean>
fn boolean(&mut self, b: bool) -> Handle<'a, JsBoolean>
Convenience method for creating a
JsBoolean
value.Source§fn number<T: Into<f64>>(&mut self, x: T) -> Handle<'a, JsNumber>
fn number<T: Into<f64>>(&mut self, x: T) -> Handle<'a, JsNumber>
Convenience method for creating a
JsNumber
value.Source§fn string<S: AsRef<str>>(&mut self, s: S) -> Handle<'a, JsString>
fn string<S: AsRef<str>>(&mut self, s: S) -> Handle<'a, JsString>
Convenience method for creating a
JsString
value. Read moreSource§fn try_string<S: AsRef<str>>(&mut self, s: S) -> StringResult<'a>
fn try_string<S: AsRef<str>>(&mut self, s: S) -> StringResult<'a>
Convenience method for creating a
JsString
value. Read moreSource§fn undefined(&mut self) -> Handle<'a, JsUndefined>
fn undefined(&mut self) -> Handle<'a, JsUndefined>
Convenience method for creating a
JsUndefined
value.Source§fn empty_object(&mut self) -> Handle<'a, JsObject>
fn empty_object(&mut self) -> Handle<'a, JsObject>
Convenience method for creating an empty
JsObject
value.Source§fn empty_array(&mut self) -> Handle<'a, JsArray>
fn empty_array(&mut self) -> Handle<'a, JsArray>
Convenience method for creating an empty
JsArray
value.Source§fn array_buffer(&mut self, size: usize) -> JsResult<'a, JsArrayBuffer>
fn array_buffer(&mut self, size: usize) -> JsResult<'a, JsArrayBuffer>
Convenience method for creating an empty
JsArrayBuffer
value.Source§fn buffer(&mut self, size: usize) -> JsResult<'a, JsBuffer>
fn buffer(&mut self, size: usize) -> JsResult<'a, JsBuffer>
Convenience method for creating an empty
JsBuffer
value.Source§fn date(
&mut self,
value: impl Into<f64>,
) -> Result<Handle<'a, JsDate>, DateError>
fn date( &mut self, value: impl Into<f64>, ) -> Result<Handle<'a, JsDate>, DateError>
Available on crate feature
napi-5
only.Convenience method for creating a
JsDate
value.Source§fn global<T: Value>(&mut self, name: &str) -> JsResult<'a, T>
fn global<T: Value>(&mut self, name: &str) -> JsResult<'a, T>
Convenience method for looking up a global property by name. Read more
Source§fn global_object(&mut self) -> Handle<'a, JsObject>
fn global_object(&mut self) -> Handle<'a, JsObject>
Produces a handle to the JavaScript global object.
Source§fn error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
fn error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
Creates a direct instance of the
Error
class.Source§fn type_error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
fn type_error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
Creates an instance of the
TypeError
class.Source§fn range_error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
fn range_error<S: AsRef<str>>(&mut self, msg: S) -> JsResult<'a, JsError>
Creates an instance of the
RangeError
class.Source§fn throw_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
fn throw_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
Throws a direct instance of the
Error
class.Source§fn throw_type_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
fn throw_type_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
Throws an instance of the
TypeError
class.Source§fn throw_range_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
fn throw_range_error<S: AsRef<str>, T>(&mut self, msg: S) -> NeonResult<T>
Throws an instance of the
RangeError
class.Source§fn boxed<U: Finalize + 'static>(&mut self, v: U) -> Handle<'a, JsBox<U>>
fn boxed<U: Finalize + 'static>(&mut self, v: U) -> Handle<'a, JsBox<U>>
Convenience method for wrapping a value in a
JsBox
. Read moreSource§fn channel(&mut self) -> Channel
fn channel(&mut self) -> Channel
Available on crate feature
napi-4
only.Returns an unbounded channel for scheduling events to be executed on the JavaScript thread. Read more
Source§fn task<'cx, O, E>(&'cx mut self, execute: E) -> TaskBuilder<'_, Self, E>
fn task<'cx, O, E>(&'cx mut self, execute: E) -> TaskBuilder<'_, Self, E>
Creates a
TaskBuilder
which can be used to schedule the execute
callback to asynchronously execute on the
Node worker pool. Read moreimpl<'a> UnwindSafe for FunctionContext<'a>
Auto Trait Implementations§
impl<'a> Freeze for FunctionContext<'a>
impl<'a> RefUnwindSafe for FunctionContext<'a>
impl<'a> !Send for FunctionContext<'a>
impl<'a> !Sync for FunctionContext<'a>
impl<'a> Unpin for FunctionContext<'a>
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