From bbb348aa33b56e15f376e8e7ee7b71bd5badd936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Thu, 14 Sep 2023 08:29:44 +0200 Subject: refactor: rewrite ext/node to op2 (#20489) --- ext/node/ops/zlib/brotli.rs | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'ext/node/ops/zlib/brotli.rs') diff --git a/ext/node/ops/zlib/brotli.rs b/ext/node/ops/zlib/brotli.rs index b4d970970..a5c0f0f92 100644 --- a/ext/node/ops/zlib/brotli.rs +++ b/ext/node/ops/zlib/brotli.rs @@ -8,6 +8,7 @@ use brotli::Decompressor; use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::JsBuffer; use deno_core::OpState; use deno_core::Resource; @@ -71,12 +72,13 @@ fn max_compressed_size(input_size: usize) -> usize { } } -#[op] +#[op2(async)] +#[serde] pub async fn op_brotli_compress_async( - input: JsBuffer, - quality: i32, - lgwin: i32, - mode: u32, + #[buffer] input: JsBuffer, + #[smi] quality: i32, + #[smi] lgwin: i32, + #[smi] mode: u32, ) -> Result { tokio::task::spawn_blocking(move || { let in_buffer = input.as_ptr(); @@ -123,10 +125,11 @@ impl Drop for BrotliCompressCtx { } } -#[op] +#[op2] +#[smi] pub fn op_create_brotli_compress( state: &mut OpState, - params: Vec<(u8, i32)>, + #[serde] params: Vec<(u8, i32)>, ) -> u32 { let inst = // SAFETY: Creates a brotli encoder instance for default allocators. @@ -222,14 +225,18 @@ fn brotli_decompress(buffer: &[u8]) -> Result { Ok(output.into()) } -#[op] -pub fn op_brotli_decompress(buffer: &[u8]) -> Result { +#[op2] +#[serde] +pub fn op_brotli_decompress( + #[buffer] buffer: &[u8], +) -> Result { brotli_decompress(buffer) } -#[op] +#[op2(async)] +#[serde] pub async fn op_brotli_decompress_async( - buffer: JsBuffer, + #[buffer] buffer: JsBuffer, ) -> Result { tokio::task::spawn_blocking(move || brotli_decompress(&buffer)).await? } @@ -247,7 +254,8 @@ impl Drop for BrotliDecompressCtx { } } -#[op] +#[op2(fast)] +#[smi] pub fn op_create_brotli_decompress(state: &mut OpState) -> u32 { let inst = // SAFETY: TODO(littledivy) -- cgit v1.2.3