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>
impl<T: NapiValueT, R: NapiValueT> DescriptorAccessorBuilder<T, R>
pub fn new() -> Self
Sourcepub fn with_utf8name(self, name: impl Into<String>) -> Self
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.
Sourcepub fn with_name(self, name: impl NapiValueT) -> Self
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.
Sourcepub fn with_getter(
self,
getter: impl FnMut(JsObject) -> NapiResult<R> + 'static,
) -> Self
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.
Sourcepub fn with_setter(
self,
setter: impl FnMut(JsObject, T) -> NapiResult<()> + 'static,
) -> Self
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.
Sourcepub fn with_attribute(self, attribute: NapiPropertyAttributes) -> Self
pub fn with_attribute(self, attribute: NapiPropertyAttributes) -> Self
The attributes associated with the particular property. See napi_property_attributes.
Sourcepub fn build(self) -> NapiResult<NapiPropertyDescriptor>
pub fn build(self) -> NapiResult<NapiPropertyDescriptor>
build finale NapiPropertyDescriptor