1 |
|
2 | function f(a) {
|
3 | var s = (e, t) => `${e}__${t}`;
|
4 | return {
|
5 | get(e, t, r) {
|
6 | return l(a, s(e, t), r);
|
7 | },
|
8 | put(e, t, r, n) {
|
9 | return d(a, s(e, t), r, {toJSON: !0, ...n});
|
10 | },
|
11 | del(e, t) {
|
12 | return u(a, s(e, t));
|
13 | }
|
14 | };
|
15 | }
|
16 | function l(a, s, e = "json") {
|
17 | return typeof e == "string" || !e.metadata ? a.get(s, e) : a.getWithMetadata(s, e);
|
18 | }
|
19 | function d(a, s, e, t) {
|
20 | let n = !(t && !!t.toJSON) && typeof e == "string" || e instanceof ArrayBuffer || e instanceof ReadableStream ? e : JSON.stringify(e);
|
21 | return a.put(s, n, t).then(() => !0, () => !1);
|
22 | }
|
23 | function u(a, s) {
|
24 | return a.delete(s).then(() => !0, () => !1);
|
25 | }
|
26 | async function* K(a, s) {
|
27 | let {prefix: e, limit: t, cursor: r, metadata: n} = s || {};
|
28 | for (; ; ) {
|
29 | let o = await a.list({prefix: e, limit: t, cursor: r});
|
30 | if (r = o.cursor, yield {
|
31 | done: o.list_complete,
|
32 | keys: n ? o.keys : o.keys.map((i) => i.name)
|
33 | }, o.list_complete)
|
34 | return;
|
35 | }
|
36 | }
|
37 | async function M(a, s) {
|
38 | let {prefix: e, metadata: t = !1, limit: r = 50, page: n = 1} = s || {}, o = K(a, {prefix: e, limit: r, metadata: t});
|
39 | for await (let i of o) {
|
40 | if (--n && i.done)
|
41 | return [];
|
42 | if (n === 0)
|
43 | return i.keys;
|
44 | }
|
45 | return [];
|
46 | }
|
47 | async function m(a, s) {
|
48 | let e, t = "";
|
49 | for (; ; )
|
50 | if (e = await s(t = a()), e == null)
|
51 | return t;
|
52 | }
|
53 | export {
|
54 | f as Database,
|
55 | K as list,
|
56 | M as paginate,
|
57 | l as read,
|
58 | u as remove,
|
59 | m as until,
|
60 | d as write
|
61 | };
|