From 0b78a61f084bc60648589c79f202cc63c792066e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 12 Sep 2023 13:14:45 +0200 Subject: refactor: rewrite cli/ ops to op2 (#20462) --- cli/ops/bench.rs | 20 ++++++++++++-------- cli/ops/mod.rs | 5 +++-- cli/ops/testing.rs | 25 ++++++++++++++----------- 3 files changed, 29 insertions(+), 21 deletions(-) (limited to 'cli/ops') diff --git a/cli/ops/bench.rs b/cli/ops/bench.rs index 0f7509751..7a1572a83 100644 --- a/cli/ops/bench.rs +++ b/cli/ops/bench.rs @@ -7,6 +7,7 @@ use std::time; use deno_core::error::generic_error; use deno_core::error::AnyError; use deno_core::op; +use deno_core::op2; use deno_core::serde_v8; use deno_core::v8; use deno_core::ModuleSpecifier; @@ -47,10 +48,11 @@ deno_core::extension!(deno_bench, #[derive(Clone)] struct PermissionsHolder(Uuid, PermissionsContainer); -#[op] +#[op2] +#[serde] pub fn op_pledge_test_permissions( state: &mut OpState, - args: ChildPermissionsArg, + #[serde] args: ChildPermissionsArg, ) -> Result { let token = Uuid::new_v4(); let parent_permissions = state.borrow_mut::(); @@ -73,10 +75,10 @@ pub fn op_pledge_test_permissions( Ok(token) } -#[op] +#[op2] pub fn op_restore_test_permissions( state: &mut OpState, - token: Uuid, + #[serde] token: Uuid, ) -> Result<(), AnyError> { if let Some(permissions_holder) = state.try_take::() { if token != permissions_holder.0 { @@ -114,11 +116,12 @@ struct BenchRegisterResult { static NEXT_ID: AtomicUsize = AtomicUsize::new(0); -#[op(v8)] +#[op2] +#[serde] fn op_register_bench<'a>( scope: &mut v8::HandleScope<'a>, state: &mut OpState, - info: BenchInfo<'a>, + #[serde] info: BenchInfo<'a>, ) -> Result { let id = NEXT_ID.fetch_add(1, Ordering::SeqCst); let origin = state.borrow::().to_string(); @@ -143,8 +146,8 @@ fn op_register_bench<'a>( Ok(BenchRegisterResult { id, origin }) } -#[op] -fn op_dispatch_bench_event(state: &mut OpState, event: BenchEvent) { +#[op2] +fn op_dispatch_bench_event(state: &mut OpState, #[serde] event: BenchEvent) { assert!( matches!(event, BenchEvent::Output(_)), "Only output events are expected from JS." @@ -153,6 +156,7 @@ fn op_dispatch_bench_event(state: &mut OpState, event: BenchEvent) { sender.send(event).ok(); } +// TODO(bartlomieju): op2 forces to use bigint, but JS doesn't expect a bigint #[op] fn op_bench_now(state: &mut OpState) -> Result { let ns = state.borrow::().elapsed().as_nanos(); diff --git a/cli/ops/mod.rs b/cli/ops/mod.rs index 7af5f14af..d4d8a84ba 100644 --- a/cli/ops/mod.rs +++ b/cli/ops/mod.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use crate::npm::CliNpmResolver; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::Extension; use deno_core::OpState; @@ -46,7 +46,8 @@ deno_core::extension!(cli, }, ); -#[op] +#[op2] +#[string] fn op_npm_process_state(state: &mut OpState) -> Result { let npm_resolver = state.borrow_mut::>(); Ok(npm_resolver.get_npm_process_state()) diff --git a/cli/ops/testing.rs b/cli/ops/testing.rs index b4d9b451a..2f5f04e8a 100644 --- a/cli/ops/testing.rs +++ b/cli/ops/testing.rs @@ -8,7 +8,7 @@ use crate::tools::test::TestStepDescription; use deno_core::error::generic_error; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::serde_v8; use deno_core::v8; use deno_core::ModuleSpecifier; @@ -48,10 +48,11 @@ deno_core::extension!(deno_test, #[derive(Clone)] struct PermissionsHolder(Uuid, PermissionsContainer); -#[op] +#[op2] +#[serde] pub fn op_pledge_test_permissions( state: &mut OpState, - args: ChildPermissionsArg, + #[serde] args: ChildPermissionsArg, ) -> Result { let token = Uuid::new_v4(); let parent_permissions = state.borrow_mut::(); @@ -73,10 +74,10 @@ pub fn op_pledge_test_permissions( Ok(token) } -#[op] +#[op2] pub fn op_restore_test_permissions( state: &mut OpState, - token: Uuid, + #[serde] token: Uuid, ) -> Result<(), AnyError> { if let Some(permissions_holder) = state.try_take::() { if token != permissions_holder.0 { @@ -113,11 +114,12 @@ struct TestRegisterResult { static NEXT_ID: AtomicUsize = AtomicUsize::new(0); -#[op(v8)] +#[op2] +#[serde] fn op_register_test<'a>( scope: &mut v8::HandleScope<'a>, state: &mut OpState, - info: TestInfo<'a>, + #[serde] info: TestInfo<'a>, ) -> Result { let id = NEXT_ID.fetch_add(1, Ordering::SeqCst); let origin = state.borrow::().to_string(); @@ -164,10 +166,11 @@ struct TestStepInfo { root_name: String, } -#[op] +#[op2] +#[serde] fn op_register_test_step( state: &mut OpState, - info: TestStepInfo, + #[serde] info: TestStepInfo, ) -> Result { let id = NEXT_ID.fetch_add(1, Ordering::SeqCst); let origin = state.borrow::().to_string(); @@ -186,10 +189,10 @@ fn op_register_test_step( Ok(TestRegisterResult { id, origin }) } -#[op] +#[op2] fn op_dispatch_test_event( state: &mut OpState, - event: TestEvent, + #[serde] event: TestEvent, ) -> Result<(), AnyError> { assert!( matches!(event, TestEvent::StepWait(_) | TestEvent::StepResult(..)), -- cgit v1.2.3