diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-09-14 23:05:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-14 23:05:18 +0200 |
commit | 5e7435fb8010a6d90f1b88d68ee8c431abf846e1 (patch) | |
tree | 6d4dda4dc6d23f10dfd9f3ec4683a66f88828c27 /ext/kv/lib.rs | |
parent | dc505e905ec256f034a963f12752dcc4187cb7b9 (diff) |
refactor: rewrite more ops to op2 macro (#20478)
Diffstat (limited to 'ext/kv/lib.rs')
-rw-r--r-- | ext/kv/lib.rs | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/ext/kv/lib.rs b/ext/kv/lib.rs index dfe00ccbf..72d5e862b 100644 --- a/ext/kv/lib.rs +++ b/ext/kv/lib.rs @@ -18,7 +18,7 @@ use codec::encode_key; use deno_core::anyhow::Context; use deno_core::error::type_error; use deno_core::error::AnyError; -use deno_core::op; +use deno_core::op2; use deno_core::serde_v8::AnyValue; use deno_core::serde_v8::BigInt; use deno_core::ByteString; @@ -95,10 +95,11 @@ impl<DB: Database + 'static> Resource for DatabaseResource<DB> { } } -#[op] +#[op2(async)] +#[smi] async fn op_kv_database_open<DBH>( state: Rc<RefCell<OpState>>, - path: Option<String>, + #[string] path: Option<String>, ) -> Result<ResourceId, AnyError> where DBH: DatabaseHandler + 'static, @@ -234,12 +235,13 @@ type SnapshotReadRange = ( Option<ByteString>, ); -#[op] +#[op2(async)] +#[serde] async fn op_kv_snapshot_read<DBH>( state: Rc<RefCell<OpState>>, - rid: ResourceId, - ranges: Vec<SnapshotReadRange>, - consistency: V8Consistency, + #[smi] rid: ResourceId, + #[serde] ranges: Vec<SnapshotReadRange>, + #[serde] consistency: V8Consistency, ) -> Result<Vec<Vec<ToV8KvEntry>>, AnyError> where DBH: DatabaseHandler + 'static, @@ -315,10 +317,11 @@ impl<QMH: QueueMessageHandle + 'static> Resource for QueueMessageResource<QMH> { } } -#[op] +#[op2(async)] +#[serde] async fn op_kv_dequeue_next_message<DBH>( state: Rc<RefCell<OpState>>, - rid: ResourceId, + #[smi] rid: ResourceId, ) -> Result<(ToJsBuffer, ResourceId), AnyError> where DBH: DatabaseHandler + 'static, @@ -339,10 +342,10 @@ where Ok((payload, handle_rid)) } -#[op] +#[op2(async)] async fn op_kv_finish_dequeued_message<DBH>( state: Rc<RefCell<OpState>>, - handle_rid: ResourceId, + #[smi] handle_rid: ResourceId, success: bool, ) -> Result<(), AnyError> where @@ -598,13 +601,14 @@ fn decode_selector_and_cursor( Ok((first_key, last_key)) } -#[op] +#[op2(async)] +#[string] async fn op_kv_atomic_write<DBH>( state: Rc<RefCell<OpState>>, - rid: ResourceId, - checks: Vec<V8KvCheck>, - mutations: Vec<V8KvMutation>, - enqueues: Vec<V8Enqueue>, + #[smi] rid: ResourceId, + #[serde] checks: Vec<V8KvCheck>, + #[serde] mutations: Vec<V8KvMutation>, + #[serde] enqueues: Vec<V8Enqueue>, ) -> Result<Option<String>, AnyError> where DBH: DatabaseHandler + 'static, @@ -697,10 +701,11 @@ where // (prefix, start, end) type EncodeCursorRangeSelector = (Option<KvKey>, Option<KvKey>, Option<KvKey>); -#[op] +#[op2] +#[string] fn op_kv_encode_cursor( - (prefix, start, end): EncodeCursorRangeSelector, - boundary_key: KvKey, + #[serde] (prefix, start, end): EncodeCursorRangeSelector, + #[serde] boundary_key: KvKey, ) -> Result<String, AnyError> { let selector = RawSelector::from_tuple(prefix, start, end)?; let boundary_key = encode_v8_key(boundary_key)?; |