diff options
author | Matt Mastracci <matthew@mastracci.com> | 2023-06-14 10:45:59 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 16:45:59 +0000 |
commit | 88e6e9c1e6263f326d30b7fcc33465e0428faf33 (patch) | |
tree | 956e60abea884d89e4c76cc792e2b3159317278e /core/error.rs | |
parent | cd27757184e683575c2540f73a96dc96e268943a (diff) |
refactor(core): some runtime methods should live on the module map (#19502)
A few easy migrations of module code from the runtime to the module map.
The module map already has a few places where it needs a handle scope,
so we're not coupling it any further with the v8 runtime.
`init_runtime_module_map` is replaced with an option to reduce API
surface of JsRuntime.
`module_resolve_callback` now lives in the `ModuleMap` and we use a
annex data to avoid having to go through the `Rc<RefCell<...>>` stored
in the `JsRuntime`'s isolate.
Diffstat (limited to 'core/error.rs')
-rw-r--r-- | core/error.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/error.rs b/core/error.rs index 07dc98a22..55fdcaa7c 100644 --- a/core/error.rs +++ b/core/error.rs @@ -695,6 +695,12 @@ pub(crate) fn exception_to_err_result<T>( Err(js_error.into()) } +pub fn throw_type_error(scope: &mut v8::HandleScope, message: impl AsRef<str>) { + let message = v8::String::new(scope, message.as_ref()).unwrap(); + let exception = v8::Exception::type_error(scope, message); + scope.throw_exception(exception); +} + #[cfg(test)] mod tests { use super::*; |