From b4e42953e1d243f2eda20e5be6b845d60b7bf688 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Mon, 14 Mar 2022 23:14:15 +0530 Subject: feat(core): codegen ops (#13861) Co-authored-by: Aaron O'Mullan --- ext/websocket/lib.rs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'ext/websocket/lib.rs') diff --git a/ext/websocket/lib.rs b/ext/websocket/lib.rs index 76ca92136..d712140b5 100644 --- a/ext/websocket/lib.rs +++ b/ext/websocket/lib.rs @@ -8,8 +8,8 @@ use deno_core::futures::stream::SplitStream; use deno_core::futures::SinkExt; use deno_core::futures::StreamExt; use deno_core::include_js_files; -use deno_core::op_async; -use deno_core::op_sync; +use deno_core::op; + use deno_core::url; use deno_core::AsyncRefCell; use deno_core::ByteString; @@ -190,6 +190,7 @@ impl Resource for WsCancelResource { // This op is needed because creating a WS instance in JavaScript is a sync // operation and should throw error when permissions are not fulfilled, // but actual op that connects WS is async. +#[op] pub fn op_ws_check_permission_and_cancel_handle( state: &mut OpState, url: String, @@ -229,6 +230,7 @@ pub struct CreateResponse { extensions: String, } +#[op] pub async fn op_ws_create( state: Rc>, args: CreateArgs, @@ -378,6 +380,7 @@ pub enum SendValue { Ping, } +#[op] pub async fn op_ws_send( state: Rc>, rid: ResourceId, @@ -406,6 +409,7 @@ pub struct CloseArgs { reason: Option, } +#[op] pub async fn op_ws_close( state: Rc>, args: CloseArgs, @@ -440,6 +444,7 @@ pub enum NextEventResponse { Closed, } +#[op] pub async fn op_ws_next_event( state: Rc>, rid: ResourceId, @@ -486,14 +491,11 @@ pub fn init( "02_websocketstream.js", )) .ops(vec![ - ( - "op_ws_check_permission_and_cancel_handle", - op_sync(op_ws_check_permission_and_cancel_handle::

), - ), - ("op_ws_create", op_async(op_ws_create::

)), - ("op_ws_send", op_async(op_ws_send)), - ("op_ws_close", op_async(op_ws_close)), - ("op_ws_next_event", op_async(op_ws_next_event)), + op_ws_check_permission_and_cancel_handle::decl::

(), + op_ws_create::decl::

(), + op_ws_send::decl(), + op_ws_close::decl(), + op_ws_next_event::decl(), ]) .state(move |state| { state.put::(WsUserAgent(user_agent.clone())); -- cgit v1.2.3