Struct DescriptorAccessorBuilder

Source
pub struct DescriptorAccessorBuilder<T: NapiValueT, R: NapiValueT> {
    pub utf8name: Option<String>,
    pub name: napi_value,
    pub getter: Option<Box<dyn FnMut(JsObject) -> NapiResult<R> + 'static>>,
    pub setter: Option<Box<dyn FnMut(JsObject, T) -> NapiResult<()> + 'static>>,
    pub attributes: NapiPropertyAttributes,
}
Expand description

The DescriptorBuild for accessor. NB: there seems no way to reclaim the napi_property_descriptor.data, so it is leaked.

Fields§

§utf8name: Option<String>§name: napi_value§getter: Option<Box<dyn FnMut(JsObject) -> NapiResult<R> + 'static>>§setter: Option<Box<dyn FnMut(JsObject, T) -> NapiResult<()> + 'static>>§attributes: NapiPropertyAttributes

Implementations§

Source§

impl<T: NapiValueT, R: NapiValueT> DescriptorAccessorBuilder<T, R>

Source

pub fn new() -> Self

Source

pub fn with_utf8name(self, name: impl Into<String>) -> Self

Optional string describing the key for the property, encoded as UTF8. One of utf8name or name must be provided for the property.

Source

pub fn with_name(self, name: impl NapiValueT) -> Self

Optional napi_value that points to a JavaScript string or symbol to be used as the key for the property. One of utf8name or name must be provided for the property.

Source

pub fn with_getter( self, getter: impl FnMut(JsObject) -> NapiResult<R> + 'static, ) -> Self

A function to call when a get access of the property is performed. If this is passed in, set value and method to NULL (since these members won’t be used). The given function is called implicitly by the runtime when the property is accessed from JavaScript code (or if a get on the property is performed using a Node-API call). napi_callback provides more details.

Source

pub fn with_setter( self, setter: impl FnMut(JsObject, T) -> NapiResult<()> + 'static, ) -> Self

A function to call when a set access of the property is performed. If this is passed in, set value and method to NULL (since these members won’t be used). The given function is called implicitly by the runtime when the property is set from JavaScript code (or if a set on the property is performed using a Node-API call). napi_callback provides more details.

Source

pub fn with_attribute(self, attribute: NapiPropertyAttributes) -> Self

The attributes associated with the particular property. See napi_property_attributes.

Source

pub fn build(self) -> NapiResult<NapiPropertyDescriptor>

build finale NapiPropertyDescriptor

Trait Implementations§

Source§

impl<T: NapiValueT, R: NapiValueT> Default for DescriptorAccessorBuilder<T, R>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<T, R> Freeze for DescriptorAccessorBuilder<T, R>

§

impl<T, R> !RefUnwindSafe for DescriptorAccessorBuilder<T, R>

§

impl<T, R> !Send for DescriptorAccessorBuilder<T, R>

§

impl<T, R> !Sync for DescriptorAccessorBuilder<T, R>

§

impl<T, R> Unpin for DescriptorAccessorBuilder<T, R>

§

impl<T, R> !UnwindSafe for DescriptorAccessorBuilder<T, R>

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> 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, 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.