diff --git a/cli/tests/unit/kv_test.ts b/cli/tests/unit/kv_test.ts index 62b53fc553..3081917da4 100644 --- a/cli/tests/unit/kv_test.ts +++ b/cli/tests/unit/kv_test.ts @@ -46,7 +46,7 @@ Deno.test({ }, }); -function dbTest(name: string, fn: (db: Deno.Kv) => Promise) { +function dbTest(name: string, fn: (db: Deno.Kv) => Promise | void) { Deno.test({ name, // https://github.com/denoland/deno/issues/18363 @@ -58,7 +58,7 @@ function dbTest(name: string, fn: (db: Deno.Kv) => Promise) { try { await fn(db); } finally { - await db.close(); + db.close(); } }, }); @@ -1750,3 +1750,9 @@ Deno.test({ } }, }); + +dbTest("atomic operation is exposed", (db) => { + assert(Deno.AtomicOperation); + const ao = db.atomic(); + assert(ao instanceof Deno.AtomicOperation); +}); diff --git a/ext/kv/01_db.ts b/ext/kv/01_db.ts index 2a3101e6cf..8fd1f5997a 100644 --- a/ext/kv/01_db.ts +++ b/ext/kv/01_db.ts @@ -657,4 +657,4 @@ class KvListIterator extends AsyncIterator } } -export { Kv, KvListIterator, KvU64, openKv }; +export { AtomicOperation, Kv, KvListIterator, KvU64, openKv }; diff --git a/runtime/js/90_deno_ns.js b/runtime/js/90_deno_ns.js index 3507a98a3d..423a0dd833 100644 --- a/runtime/js/90_deno_ns.js +++ b/runtime/js/90_deno_ns.js @@ -173,6 +173,7 @@ const denoNsUnstable = { upgradeHttp: http.upgradeHttp, serve: http.serve, openKv: kv.openKv, + AtomicOperation: kv.AtomicOperation, Kv: kv.Kv, KvU64: kv.KvU64, KvListIterator: kv.KvListIterator,