mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
This reverts commit 50b793c9ed
.
This commit is contained in:
parent
47aa58c721
commit
f9c8d98b77
6 changed files with 22 additions and 18 deletions
|
@ -8,25 +8,25 @@ import {
|
|||
} from "./test_util.ts";
|
||||
|
||||
Deno.test({
|
||||
name: "kv :memory: no permissions",
|
||||
name: "openKv :memory: no permissions",
|
||||
permissions: {},
|
||||
async fn() {
|
||||
const db = await Deno.kv(":memory:");
|
||||
const db = await Deno.openKv(":memory:");
|
||||
await db.close();
|
||||
},
|
||||
});
|
||||
|
||||
Deno.test({
|
||||
name: "kv invalid filenames",
|
||||
name: "openKv invalid filenames",
|
||||
permissions: {},
|
||||
async fn() {
|
||||
await assertRejects(
|
||||
async () => await Deno.kv(""),
|
||||
async () => await Deno.openKv(""),
|
||||
TypeError,
|
||||
"Filename cannot be empty",
|
||||
);
|
||||
await assertRejects(
|
||||
async () => await Deno.kv(":foo"),
|
||||
async () => await Deno.openKv(":foo"),
|
||||
TypeError,
|
||||
"Filename cannot start with ':' unless prefixed with './'",
|
||||
);
|
||||
|
@ -37,7 +37,9 @@ function dbTest(name: string, fn: (db: Deno.Kv) => Promise<void>) {
|
|||
Deno.test({
|
||||
name,
|
||||
async fn() {
|
||||
const db: Deno.Kv = await Deno.kv(":memory:");
|
||||
const db: Deno.Kv = await Deno.openKv(
|
||||
":memory:",
|
||||
);
|
||||
try {
|
||||
await fn(db);
|
||||
} finally {
|
||||
|
|
12
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
12
cli/tsc/dts/lib.deno.unstable.d.ts
vendored
|
@ -1535,7 +1535,7 @@ declare namespace Deno {
|
|||
* @tags allow-read, allow-write
|
||||
* @category KV
|
||||
*/
|
||||
export function kv(path?: string): Promise<Deno.Kv>;
|
||||
export function openKv(path?: string): Promise<Deno.Kv>;
|
||||
|
||||
/** **UNSTABLE**: New API, yet to be vetted.
|
||||
*
|
||||
|
@ -1876,7 +1876,7 @@ declare namespace Deno {
|
|||
* the returned entry will have a `null` value and versionstamp.
|
||||
*
|
||||
* ```ts
|
||||
* const db = await Deno.kv();
|
||||
* const db = await Deno.openKv();
|
||||
* const result = await db.get(["foo"]);
|
||||
* result.key; // ["foo"]
|
||||
* result.value; // "bar"
|
||||
|
@ -1902,7 +1902,7 @@ declare namespace Deno {
|
|||
* entry will have a `null` value and versionstamp.
|
||||
*
|
||||
* ```ts
|
||||
* const db = await Deno.kv();
|
||||
* const db = await Deno.openKv();
|
||||
* const result = await db.getMany([["foo"], ["baz"]]);
|
||||
* result[0].key; // ["foo"]
|
||||
* result[0].value; // "bar"
|
||||
|
@ -1928,7 +1928,7 @@ declare namespace Deno {
|
|||
* exists for the key, it will be overwritten.
|
||||
*
|
||||
* ```ts
|
||||
* const db = await Deno.kv();
|
||||
* const db = await Deno.openKv();
|
||||
* await db.set(["foo"], "bar");
|
||||
* ```
|
||||
*/
|
||||
|
@ -1939,7 +1939,7 @@ declare namespace Deno {
|
|||
* for the key, this operation is a no-op.
|
||||
*
|
||||
* ```ts
|
||||
* const db = await Deno.kv();
|
||||
* const db = await Deno.openKv();
|
||||
* await db.delete(["foo"]);
|
||||
* ```
|
||||
*/
|
||||
|
@ -1971,7 +1971,7 @@ declare namespace Deno {
|
|||
* not `["users", "noa"]` or `["users", "zoe"]`.
|
||||
*
|
||||
* ```ts
|
||||
* const db = await Deno.kv();
|
||||
* const db = await Deno.openKv();
|
||||
* const entries = db.list({ prefix: ["users"] });
|
||||
* for await (const entry of entries) {
|
||||
* entry.key; // ["users", "alice"]
|
||||
|
|
|
@ -14,7 +14,7 @@ const encodeCursor: (
|
|||
) => string = (selector, boundaryKey) =>
|
||||
ops.op_kv_encode_cursor(selector, boundaryKey);
|
||||
|
||||
async function kv(path: string) {
|
||||
async function openKv(path: string) {
|
||||
const rid = await core.opAsync("op_kv_database_open", path);
|
||||
return new Kv(rid);
|
||||
}
|
||||
|
@ -466,4 +466,4 @@ class KvListIterator extends AsyncIterator
|
|||
}
|
||||
}
|
||||
|
||||
export { Kv, kv, KvListIterator, KvU64 };
|
||||
export { Kv, KvListIterator, KvU64, openKv };
|
||||
|
|
|
@ -84,7 +84,9 @@ where
|
|||
{
|
||||
let handler = {
|
||||
let state = state.borrow();
|
||||
state.borrow::<UnstableChecker>().check_unstable("Deno.kv");
|
||||
state
|
||||
.borrow::<UnstableChecker>()
|
||||
.check_unstable("Deno.openKv");
|
||||
state.borrow::<Rc<DBH>>().clone()
|
||||
};
|
||||
let db = handler.open(state.clone(), path).await?;
|
||||
|
|
|
@ -128,8 +128,8 @@ impl<P: SqliteDbHandlerPermissions> DatabaseHandler for SqliteDbHandler<P> {
|
|||
{
|
||||
let mut state = state.borrow_mut();
|
||||
let permissions = state.borrow_mut::<P>();
|
||||
permissions.check_read(path, "Deno.kv")?;
|
||||
permissions.check_write(path, "Deno.kv")?;
|
||||
permissions.check_read(path, "Deno.openKv")?;
|
||||
permissions.check_write(path, "Deno.openKv")?;
|
||||
}
|
||||
let flags = OpenFlags::default().difference(OpenFlags::SQLITE_OPEN_URI);
|
||||
rusqlite::Connection::open_with_flags(path, flags)?
|
||||
|
|
|
@ -170,7 +170,7 @@ const denoNsUnstable = {
|
|||
funlockSync: fs.funlockSync,
|
||||
upgradeHttp: http.upgradeHttp,
|
||||
upgradeHttpRaw: flash.upgradeHttpRaw,
|
||||
kv: kv.kv,
|
||||
openKv: kv.openKv,
|
||||
Kv: kv.Kv,
|
||||
KvU64: kv.KvU64,
|
||||
KvListIterator: kv.KvListIterator,
|
||||
|
|
Loading…
Reference in a new issue