summaryrefslogtreecommitdiff
path: root/ext/node/lib.rs
diff options
context:
space:
mode:
authorsnek <snek@deno.com>2024-08-02 11:16:59 -0700
committerGitHub <noreply@github.com>2024-08-02 18:16:59 +0000
commit71ca61e189cca9215982ce4598b7a4da8430c584 (patch)
treea0dd2aa94cf61103b1dbcfa28a6c67feebf6eedd /ext/node/lib.rs
parent3a1a1cc030fb7fc90d51ee27162466d6ac924926 (diff)
Revert "feat: async context" (#24856)
Reverts denoland/deno#24402 deno_web can't depend on code in runtime
Diffstat (limited to 'ext/node/lib.rs')
-rw-r--r--ext/node/lib.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/node/lib.rs b/ext/node/lib.rs
index 74c528b0c..a4a757996 100644
--- a/ext/node/lib.rs
+++ b/ext/node/lib.rs
@@ -181,6 +181,15 @@ fn op_node_build_os() -> String {
env!("TARGET").split('-').nth(2).unwrap().to_string()
}
+#[op2(fast)]
+fn op_node_is_promise_rejected(value: v8::Local<v8::Value>) -> bool {
+ let Ok(promise) = v8::Local::<v8::Promise>::try_from(value) else {
+ return false;
+ };
+
+ promise.state() == v8::PromiseState::Rejected
+}
+
#[op2]
#[string]
fn op_npm_process_state(state: &mut OpState) -> Result<String, AnyError> {
@@ -341,6 +350,7 @@ deno_core::extension!(deno_node,
ops::os::op_cpus<P>,
ops::os::op_homedir<P>,
op_node_build_os,
+ op_node_is_promise_rejected,
op_npm_process_state,
ops::require::op_require_init_paths,
ops::require::op_require_node_module_paths<P>,