mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 02:48:24 +00:00
fix(napi): handle static properties in classes (#17320)
Adds support for static properties when using "napi_define_class".
This commit is contained in:
parent
636352e0ca
commit
0329bc69da
4 changed files with 90 additions and 3 deletions
|
@ -123,6 +123,38 @@ pub enum Error {
|
|||
WouldDeadlock,
|
||||
}
|
||||
|
||||
#[allow(clippy::from_over_into)]
|
||||
impl Into<Error> for napi_status {
|
||||
fn into(self) -> Error {
|
||||
match self {
|
||||
napi_invalid_arg => Error::InvalidArg,
|
||||
napi_object_expected => Error::ObjectExpected,
|
||||
napi_string_expected => Error::StringExpected,
|
||||
napi_name_expected => Error::NameExpected,
|
||||
napi_function_expected => Error::FunctionExpected,
|
||||
napi_number_expected => Error::NumberExpected,
|
||||
napi_boolean_expected => Error::BooleanExpected,
|
||||
napi_array_expected => Error::ArrayExpected,
|
||||
napi_generic_failure => Error::GenericFailure,
|
||||
napi_pending_exception => Error::PendingException,
|
||||
napi_cancelled => Error::Cancelled,
|
||||
napi_escape_called_twice => Error::EscapeCalledTwice,
|
||||
napi_handle_scope_mismatch => Error::HandleScopeMismatch,
|
||||
napi_callback_scope_mismatch => Error::CallbackScopeMismatch,
|
||||
napi_queue_full => Error::QueueFull,
|
||||
napi_closing => Error::Closing,
|
||||
napi_bigint_expected => Error::BigIntExpected,
|
||||
napi_date_expected => Error::DateExpected,
|
||||
napi_arraybuffer_expected => Error::ArrayBufferExpected,
|
||||
napi_detachable_arraybuffer_expected => {
|
||||
Error::DetachableArraybufferExpected
|
||||
}
|
||||
napi_would_deadlock => Error::WouldDeadlock,
|
||||
_ => unreachable!(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub type Result = std::result::Result<(), Error>;
|
||||
|
||||
impl From<Error> for napi_status {
|
||||
|
@ -603,6 +635,7 @@ where
|
|||
),
|
||||
)
|
||||
};
|
||||
|
||||
Ok(serde_v8::Value {
|
||||
v8_value: exports.into(),
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue