summaryrefslogtreecommitdiff
path: root/cli/ops
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-09-12 13:14:45 +0200
committerGitHub <noreply@github.com>2023-09-12 13:14:45 +0200
commit0b78a61f084bc60648589c79f202cc63c792066e (patch)
tree891e8b3086216d70bb61a90b30ec016b70c65c07 /cli/ops
parent4a8b873111dbedde34b9bca702fb0b593fbf09a8 (diff)
refactor: rewrite cli/ ops to op2 (#20462)
Diffstat (limited to 'cli/ops')
-rw-r--r--cli/ops/bench.rs20
-rw-r--r--cli/ops/mod.rs5
-rw-r--r--cli/ops/testing.rs25
3 files changed, 29 insertions, 21 deletions
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<Uuid, AnyError> {
let token = Uuid::new_v4();
let parent_permissions = state.borrow_mut::<PermissionsContainer>();
@@ -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::<PermissionsHolder>() {
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<BenchRegisterResult, AnyError> {
let id = NEXT_ID.fetch_add(1, Ordering::SeqCst);
let origin = state.borrow::<ModuleSpecifier>().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<u64, AnyError> {
let ns = state.borrow::<time::Instant>().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<String, AnyError> {
let npm_resolver = state.borrow_mut::<Arc<CliNpmResolver>>();
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<Uuid, AnyError> {
let token = Uuid::new_v4();
let parent_permissions = state.borrow_mut::<PermissionsContainer>();
@@ -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::<PermissionsHolder>() {
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<TestRegisterResult, AnyError> {
let id = NEXT_ID.fetch_add(1, Ordering::SeqCst);
let origin = state.borrow::<ModuleSpecifier>().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<TestRegisterResult, AnyError> {
let id = NEXT_ID.fetch_add(1, Ordering::SeqCst);
let origin = state.borrow::<ModuleSpecifier>().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(..)),