From a64e63c3614b98aa2b51fb6b7ef4e30251e03111 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 18 Apr 2022 18:00:14 -0400 Subject: perf: move Deno.writeTextFile and like functions to Rust (#14221) Co-authored-by: Luca Casonato --- ext/web/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'ext/web/lib.rs') diff --git a/ext/web/lib.rs b/ext/web/lib.rs index 423e53c51..d14a4a5d5 100644 --- a/ext/web/lib.rs +++ b/ext/web/lib.rs @@ -12,6 +12,7 @@ use deno_core::include_js_files; use deno_core::op; use deno_core::url::Url; use deno_core::ByteString; +use deno_core::CancelHandle; use deno_core::Extension; use deno_core::OpState; use deno_core::Resource; @@ -107,6 +108,7 @@ pub fn init( compression::op_compression_finish::decl(), op_now::decl::

(), op_timer_handle::decl(), + op_cancel_handle::decl(), op_sleep::decl(), op_sleep_sync::decl::

(), ]) @@ -352,6 +354,13 @@ fn op_encoding_encode_into( }) } +/// Creates a [`CancelHandle`] resource that can be used to cancel invocations of certain ops. +#[op] +pub fn op_cancel_handle(state: &mut OpState) -> Result { + let rid = state.resource_table.add(CancelHandle::new()); + Ok(rid) +} + pub fn get_declaration() -> PathBuf { PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("lib.deno_web.d.ts") } -- cgit v1.2.3