summaryrefslogtreecommitdiff
path: root/core/error.rs
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2023-06-14 10:45:59 -0600
committerGitHub <noreply@github.com>2023-06-14 16:45:59 +0000
commit88e6e9c1e6263f326d30b7fcc33465e0428faf33 (patch)
tree956e60abea884d89e4c76cc792e2b3159317278e /core/error.rs
parentcd27757184e683575c2540f73a96dc96e268943a (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.rs6
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::*;