pub struct DescriptorMethodBuilder<T: FromJsArgs, R: NapiValueT> {
pub utf8name: Option<String>,
pub name: napi_value,
pub method: Option<Box<dyn FnMut(JsObject, T) -> NapiResult<R> + 'static>>,
pub attributes: NapiPropertyAttributes,
}
Expand description
The DescriptorBuild for method. NB: there seems no way to reclaim the napi_property_descriptor.data, so it is leaked.
Fields§
§utf8name: Option<String>
§name: napi_value
§method: Option<Box<dyn FnMut(JsObject, T) -> NapiResult<R> + 'static>>
§attributes: NapiPropertyAttributes
Implementations§
Source§impl<T: FromJsArgs, R: NapiValueT> DescriptorMethodBuilder<T, R>
impl<T: FromJsArgs, R: NapiValueT> DescriptorMethodBuilder<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_method(
self,
method: impl FnMut(JsObject, T) -> NapiResult<R> + 'static,
) -> Self
pub fn with_method( self, method: impl FnMut(JsObject, T) -> NapiResult<R> + 'static, ) -> Self
Set this to make the property descriptor object’s value property to be a JavaScript function represented by method. If this is passed in, set value, getter and setter to NULL (since these members won’t be used). 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