diff options
Diffstat (limited to 'runtime/ops/web_worker.rs')
-rw-r--r-- | runtime/ops/web_worker.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/runtime/ops/web_worker.rs b/runtime/ops/web_worker.rs index e32f2371d..3c64cf1f6 100644 --- a/runtime/ops/web_worker.rs +++ b/runtime/ops/web_worker.rs @@ -5,8 +5,8 @@ mod sync_fetch; use crate::web_worker::WebWorkerInternalHandle; use crate::web_worker::WebWorkerType; use deno_core::error::AnyError; -use deno_core::op_async; -use deno_core::op_sync; +use deno_core::op; + use deno_core::CancelFuture; use deno_core::Extension; use deno_core::OpState; @@ -19,16 +19,17 @@ use self::sync_fetch::op_worker_sync_fetch; pub fn init() -> Extension { Extension::builder() .ops(vec![ - ("op_worker_post_message", op_sync(op_worker_post_message)), - ("op_worker_recv_message", op_async(op_worker_recv_message)), + op_worker_post_message::decl(), + op_worker_recv_message::decl(), // Notify host that guest worker closes. - ("op_worker_close", op_sync(op_worker_close)), - ("op_worker_get_type", op_sync(op_worker_get_type)), - ("op_worker_sync_fetch", op_sync(op_worker_sync_fetch)), + op_worker_close::decl(), + op_worker_get_type::decl(), + op_worker_sync_fetch::decl(), ]) .build() } +#[op] fn op_worker_post_message( state: &mut OpState, data: JsMessageData, @@ -39,6 +40,7 @@ fn op_worker_post_message( Ok(()) } +#[op] async fn op_worker_recv_message( state: Rc<RefCell<OpState>>, _: (), @@ -55,6 +57,7 @@ async fn op_worker_recv_message( .await? } +#[op] fn op_worker_close(state: &mut OpState, _: (), _: ()) -> Result<(), AnyError> { // Notify parent that we're finished let mut handle = state.borrow_mut::<WebWorkerInternalHandle>().clone(); @@ -63,6 +66,7 @@ fn op_worker_close(state: &mut OpState, _: (), _: ()) -> Result<(), AnyError> { Ok(()) } +#[op] fn op_worker_get_type( state: &mut OpState, _: (), |