summaryrefslogtreecommitdiff
path: root/cli/napi/js_native_api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/napi/js_native_api.rs')
-rw-r--r--cli/napi/js_native_api.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/cli/napi/js_native_api.rs b/cli/napi/js_native_api.rs
index c72da9b02..f58bd3004 100644
--- a/cli/napi/js_native_api.rs
+++ b/cli/napi/js_native_api.rs
@@ -1484,6 +1484,11 @@ fn napi_get_date_value(
) -> Result {
let env: &mut Env = env.as_mut().ok_or(Error::InvalidArg)?;
let value = transmute::<napi_value, v8::Local<v8::Value>>(value);
+
+ if !value.is_date() {
+ return Err(Error::DateExpected);
+ }
+
let date = v8::Local::<v8::Date>::try_from(value).unwrap();
*result = date.number_value(&mut env.scope()).unwrap();
Ok(())
@@ -2287,7 +2292,9 @@ fn napi_unwrap(
let shared = &*(env.shared as *const EnvShared);
let napi_wrap = v8::Local::new(&mut env.scope(), &shared.napi_wrap);
let ext = obj.get_private(&mut env.scope(), napi_wrap).unwrap();
- let ext = v8::Local::<v8::External>::try_from(ext).unwrap();
+ let ext = v8::Local::<v8::External>::try_from(ext)
+ .ok()
+ .ok_or(Error::InvalidArg)?;
*result = ext.value();
Ok(())
}