@peerbit/any-store 2.0.2-aa577a5 → 2.0.2-cccc078
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/level.d.ts +2 -1
- package/dist/src/level.d.ts.map +1 -1
- package/dist/src/level.js +14 -7
- package/dist/src/level.js.map +1 -1
- package/dist/src/memory.d.ts +1 -0
- package/dist/src/memory.d.ts.map +1 -1
- package/dist/src/memory.js +3 -0
- package/dist/src/memory.js.map +1 -1
- package/dist/src/store.browser.d.ts +1 -1
- package/dist/src/store.browser.d.ts.map +1 -1
- package/dist/src/store.browser.js +1 -1
- package/dist/src/store.browser.js.map +1 -1
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +1 -1
- package/dist/src/store.js.map +1 -1
- package/package.json +9 -8
- package/src/index.ts +4 -2
- package/src/level.ts +21 -13
- package/src/memory.ts +4 -0
- package/src/store.browser.ts +1 -1
- package/src/store.ts +2 -1
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/src/level.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractLevel } from "abstract-level";
|
|
2
1
|
import { type AnyStore } from "@peerbit/any-store-interface";
|
|
2
|
+
import { type AbstractLevel } from "abstract-level";
|
|
3
3
|
export declare class LevelStore implements AnyStore {
|
|
4
4
|
readonly store: AbstractLevel<any, any, any>;
|
|
5
5
|
constructor(store: AbstractLevel<any, any, any>);
|
|
@@ -13,5 +13,6 @@ export declare class LevelStore implements AnyStore {
|
|
|
13
13
|
del(key: string): Promise<void>;
|
|
14
14
|
size(): Promise<number>;
|
|
15
15
|
sublevel(name: string): Promise<LevelStore>;
|
|
16
|
+
persisted(): boolean;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=level.d.ts.map
|
package/dist/src/level.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../src/level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"level.d.ts","sourceRoot":"","sources":["../../src/level.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAOpD,qBAAa,UAAW,YAAW,QAAQ;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAnC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAExD,MAAM;IAIA,KAAK;IAWL,IAAI;IAYJ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAehD,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAS7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAQlC,GAAG,CAAC,GAAG,EAAE,MAAM;IAkBf,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BvB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAI3B,SAAS;CAGT"}
|
package/dist/src/level.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractLevel } from "abstract-level";
|
|
2
1
|
import {} from "@peerbit/any-store-interface";
|
|
2
|
+
import {} from "abstract-level";
|
|
3
3
|
import { ClassicLevel } from "classic-level";
|
|
4
4
|
const isNotFoundError = (err) => err.toString().indexOf("NotFoundError: Key not found in database") === -1 &&
|
|
5
5
|
err.toString().indexOf("NotFound") === -1;
|
|
@@ -21,8 +21,9 @@ export class LevelStore {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
async open() {
|
|
24
|
-
if (!this.store)
|
|
24
|
+
if (!this.store) {
|
|
25
25
|
return Promise.reject(new Error("No cache store found to open"));
|
|
26
|
+
}
|
|
26
27
|
if (this.status() !== "open") {
|
|
27
28
|
await this.store.open();
|
|
28
29
|
return Promise.resolve();
|
|
@@ -47,7 +48,7 @@ export class LevelStore {
|
|
|
47
48
|
}
|
|
48
49
|
async *iterator() {
|
|
49
50
|
const iterator = this.store.iterator({
|
|
50
|
-
valueEncoding: "view"
|
|
51
|
+
valueEncoding: "view",
|
|
51
52
|
});
|
|
52
53
|
for await (const [key, value] of iterator) {
|
|
53
54
|
yield [key, value];
|
|
@@ -57,7 +58,10 @@ export class LevelStore {
|
|
|
57
58
|
await this.store.clear();
|
|
58
59
|
}
|
|
59
60
|
async put(key, value) {
|
|
60
|
-
return this.store.put(key, value, {
|
|
61
|
+
return this.store.put(key, value, {
|
|
62
|
+
valueEncoding: "view",
|
|
63
|
+
sync: true,
|
|
64
|
+
}); // sync option to make sure read after write behaves correctly
|
|
61
65
|
}
|
|
62
66
|
// Remove a value and key from the cache
|
|
63
67
|
async del(key) {
|
|
@@ -81,17 +85,17 @@ export class LevelStore {
|
|
|
81
85
|
if (this.store instanceof ClassicLevel) {
|
|
82
86
|
const e = this.store.keys({
|
|
83
87
|
limit: 1,
|
|
84
|
-
fillCache: !1
|
|
88
|
+
fillCache: !1,
|
|
85
89
|
}), a = await e.next();
|
|
86
90
|
await e.close();
|
|
87
91
|
const t = this.store.keys({
|
|
88
92
|
limit: 1,
|
|
89
93
|
reverse: !0,
|
|
90
|
-
fillCache: !1
|
|
94
|
+
fillCache: !1,
|
|
91
95
|
}), s = await t.next();
|
|
92
96
|
return (await t.close(),
|
|
93
97
|
this.store.approximateSize(a, s + "\uffff", {
|
|
94
|
-
keyEncoding: "utf8"
|
|
98
|
+
keyEncoding: "utf8",
|
|
95
99
|
}));
|
|
96
100
|
}
|
|
97
101
|
else {
|
|
@@ -104,5 +108,8 @@ export class LevelStore {
|
|
|
104
108
|
async sublevel(name) {
|
|
105
109
|
return new LevelStore(this.store.sublevel(name, { valueEncoding: "view" }));
|
|
106
110
|
}
|
|
111
|
+
persisted() {
|
|
112
|
+
return this.store instanceof ClassicLevel;
|
|
113
|
+
}
|
|
107
114
|
}
|
|
108
115
|
//# sourceMappingURL=level.js.map
|
package/dist/src/level.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/level.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/level.ts"],"names":[],"mappings":"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"}
|
package/dist/src/memory.d.ts
CHANGED
package/dist/src/memory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,qBAAa,WAAY,YAAW,QAAQ;IAC3C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAU;;IAMxB,MAAM;IAIN,KAAK;IAOL,IAAI;IAIJ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjC,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAMnE,KAAK,IAAI,IAAI;IAOb,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAKlC,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,QAAQ,CAAC,IAAI,EAAE,MAAM;IAerB,IAAI;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,qBAAa,WAAY,YAAW,QAAQ;IAC3C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,MAAM,CAAU;;IAMxB,MAAM;IAIN,KAAK;IAOL,IAAI;IAIJ,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjC,QAAQ,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;IAMnE,KAAK,IAAI,IAAI;IAOb,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAKlC,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,QAAQ,CAAC,IAAI,EAAE,MAAM;IAerB,IAAI;IAQJ,SAAS;CAGT"}
|
package/dist/src/memory.js
CHANGED
package/dist/src/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAE7D,MAAM,OAAO,WAAW;IACf,KAAK,CAA0B;IAC/B,SAAS,CAA2B;IACpC,MAAM,CAAU;IACxB;QACC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,IAAI;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACd,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAiB;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,GAAW;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI;QACH,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAE7D,MAAM,OAAO,WAAW;IACf,KAAK,CAA0B;IAC/B,SAAS,CAA2B;IACpC,MAAM,CAAU;IACxB;QACC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,IAAI;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,GAAG,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACd,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACF,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAiB;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,GAAW;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI;QACH,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS;QACR,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MemoryStore } from "./memory.js";
|
|
2
1
|
import { OPFSStore } from "@peerbit/any-store-opfs/opfs-store";
|
|
2
|
+
import { MemoryStore } from "./memory.js";
|
|
3
3
|
export declare const createStore: (directory?: string) => MemoryStore | OPFSStore;
|
|
4
4
|
//# sourceMappingURL=store.browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.browser.d.ts","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"store.browser.d.ts","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,WAAW,eAAgB,MAAM,4BAE7C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MemoryStore } from "./memory.js";
|
|
2
1
|
import { OPFSStore } from "@peerbit/any-store-opfs/opfs-store";
|
|
2
|
+
import { MemoryStore } from "./memory.js";
|
|
3
3
|
export const createStore = (directory) => {
|
|
4
4
|
return directory ? new OPFSStore(directory) : new MemoryStore();
|
|
5
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.browser.js","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"store.browser.js","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAkB,EAAE,EAAE;IACjD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;AACjE,CAAC,CAAC;AAEF;;IAEI"}
|
package/dist/src/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,eAAO,MAAM,WAAW,eAAgB,MAAM,6BAI7C,CAAC"}
|
package/dist/src/store.js
CHANGED
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;oCACoC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAkB,EAAE,EAAE;IACjD,OAAO,SAAS;QACf,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF;;IAEI"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/any-store",
|
|
3
|
-
"version": "2.0.2-
|
|
3
|
+
"version": "2.0.2-cccc078",
|
|
4
4
|
"description": "Level with lazy transactions",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"eslintConfig": {
|
|
37
|
-
"extends": "
|
|
37
|
+
"extends": "peerbit",
|
|
38
38
|
"parserOptions": {
|
|
39
39
|
"project": true,
|
|
40
40
|
"sourceType": "module"
|
|
@@ -60,15 +60,16 @@
|
|
|
60
60
|
"scripts": {
|
|
61
61
|
"clean": "aegir clean",
|
|
62
62
|
"build": "aegir build --no-bundle",
|
|
63
|
-
"test": "aegir test"
|
|
63
|
+
"test": "aegir test",
|
|
64
|
+
"lint": "aegir lint"
|
|
64
65
|
},
|
|
65
66
|
"license": "MIT",
|
|
66
67
|
"dependencies": {
|
|
67
|
-
"@peerbit/crypto": "2.2.0-
|
|
68
|
-
"@peerbit/logger": "1.0.2-
|
|
69
|
-
"@peerbit/any-store-opfs": "2.0.2-
|
|
70
|
-
"@peerbit/any-store-interface": "2.0.2-
|
|
71
|
-
"@peerbit/time": "2.0.6-
|
|
68
|
+
"@peerbit/crypto": "2.2.0-cccc078",
|
|
69
|
+
"@peerbit/logger": "1.0.2-cccc078",
|
|
70
|
+
"@peerbit/any-store-opfs": "2.0.2-cccc078",
|
|
71
|
+
"@peerbit/any-store-interface": "2.0.2-cccc078",
|
|
72
|
+
"@peerbit/time": "2.0.6-cccc078",
|
|
72
73
|
"level": "^8.0.0",
|
|
73
74
|
"uuid": "^9.0.0"
|
|
74
75
|
},
|
package/src/index.ts
CHANGED
package/src/level.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractLevel } from "abstract-level";
|
|
2
1
|
import { type AnyStore } from "@peerbit/any-store-interface";
|
|
2
|
+
import { type AbstractLevel } from "abstract-level";
|
|
3
3
|
import { ClassicLevel } from "classic-level";
|
|
4
4
|
|
|
5
5
|
const isNotFoundError = (err: any) =>
|
|
@@ -7,7 +7,7 @@ const isNotFoundError = (err: any) =>
|
|
|
7
7
|
err.toString().indexOf("NotFound") === -1;
|
|
8
8
|
|
|
9
9
|
export class LevelStore implements AnyStore {
|
|
10
|
-
constructor(readonly store: AbstractLevel<any, any, any>) {
|
|
10
|
+
constructor(readonly store: AbstractLevel<any, any, any>) {}
|
|
11
11
|
|
|
12
12
|
status() {
|
|
13
13
|
return this.store.status;
|
|
@@ -25,8 +25,9 @@ export class LevelStore implements AnyStore {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
async open() {
|
|
28
|
-
if (!this.store)
|
|
28
|
+
if (!this.store) {
|
|
29
29
|
return Promise.reject(new Error("No cache store found to open"));
|
|
30
|
+
}
|
|
30
31
|
if (this.status() !== "open") {
|
|
31
32
|
await this.store.open();
|
|
32
33
|
return Promise.resolve();
|
|
@@ -52,7 +53,7 @@ export class LevelStore implements AnyStore {
|
|
|
52
53
|
|
|
53
54
|
async *iterator(): AsyncGenerator<[string, Uint8Array], void, void> {
|
|
54
55
|
const iterator = this.store.iterator<any, Uint8Array>({
|
|
55
|
-
valueEncoding: "view"
|
|
56
|
+
valueEncoding: "view",
|
|
56
57
|
});
|
|
57
58
|
for await (const [key, value] of iterator) {
|
|
58
59
|
yield [key, value];
|
|
@@ -64,7 +65,10 @@ export class LevelStore implements AnyStore {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
async put(key: string, value: Uint8Array) {
|
|
67
|
-
return this.store.put(key, value, {
|
|
68
|
+
return this.store.put(key, value, {
|
|
69
|
+
valueEncoding: "view",
|
|
70
|
+
sync: true,
|
|
71
|
+
} as any); // sync option to make sure read after write behaves correctly
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
// Remove a value and key from the cache
|
|
@@ -90,21 +94,21 @@ export class LevelStore implements AnyStore {
|
|
|
90
94
|
let size = 0;
|
|
91
95
|
if (this.store instanceof ClassicLevel) {
|
|
92
96
|
const e = this.store.keys({
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
limit: 1,
|
|
98
|
+
fillCache: !1,
|
|
99
|
+
}),
|
|
96
100
|
a = await e.next();
|
|
97
101
|
await e.close();
|
|
98
102
|
const t = this.store.keys({
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
limit: 1,
|
|
104
|
+
reverse: !0,
|
|
105
|
+
fillCache: !1,
|
|
106
|
+
}),
|
|
103
107
|
s = await t.next();
|
|
104
108
|
return (
|
|
105
109
|
await t.close(),
|
|
106
110
|
this.store.approximateSize(a, s + "\uffff", {
|
|
107
|
-
keyEncoding: "utf8"
|
|
111
|
+
keyEncoding: "utf8",
|
|
108
112
|
})
|
|
109
113
|
);
|
|
110
114
|
} else {
|
|
@@ -118,4 +122,8 @@ export class LevelStore implements AnyStore {
|
|
|
118
122
|
async sublevel(name: string) {
|
|
119
123
|
return new LevelStore(this.store.sublevel(name, { valueEncoding: "view" }));
|
|
120
124
|
}
|
|
125
|
+
|
|
126
|
+
persisted() {
|
|
127
|
+
return this.store instanceof ClassicLevel;
|
|
128
|
+
}
|
|
121
129
|
}
|
package/src/memory.ts
CHANGED
package/src/store.browser.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MemoryStore } from "./memory.js";
|
|
2
1
|
import { OPFSStore } from "@peerbit/any-store-opfs/opfs-store";
|
|
2
|
+
import { MemoryStore } from "./memory.js";
|
|
3
3
|
|
|
4
4
|
export const createStore = (directory?: string) => {
|
|
5
5
|
return directory ? new OPFSStore(directory) : new MemoryStore();
|