@peerbit/any-store-interface 1.0.0 → 1.0.1-d375893

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/opfs.js DELETED
@@ -1,149 +0,0 @@
1
- import {} from "./interface.js";
2
- import * as memory from "./opfs-worker-messages.js";
3
- import { v4 as uuid } from "uuid";
4
- import { serialize, deserialize } from "@dao-xyz/borsh";
5
- import workerUrl from "./opfs-worker?worker&url";
6
- function memoryIterator(client, level) {
7
- return {
8
- [Symbol.asyncIterator]() {
9
- const iteratorId = uuid();
10
- return {
11
- next: async () => {
12
- const resp = await client.request(new memory.REQ_Iterator_Next({ id: iteratorId, level }));
13
- if (resp.keys.length > 1) {
14
- throw new Error("Unsupported iteration response");
15
- }
16
- // Will only have 0 or 1 element for now
17
- for (let i = 0; i < resp.keys.length; i++) {
18
- return {
19
- done: false,
20
- value: [resp.keys[i], resp.values[i]]
21
- };
22
- }
23
- return { done: true, value: undefined };
24
- },
25
- async return() {
26
- await client.request(new memory.REQ_Iterator_Stop({ id: iteratorId, level }));
27
- return { done: true, value: undefined };
28
- }
29
- };
30
- }
31
- };
32
- }
33
- const createWorker = (directory) => {
34
- const workerURL = workerUrl + "#" + directory;
35
- return new Worker(workerURL, { type: "module" });
36
- };
37
- export class OPFSStore {
38
- directory;
39
- worker;
40
- levelMap;
41
- root;
42
- _responseCallbacks = new Map();
43
- _createStorage;
44
- constructor(directory) {
45
- this.directory = directory;
46
- this.levelMap = new Map();
47
- this._createStorage = (level = []) => {
48
- return {
49
- clear: async () => {
50
- await this.request(new memory.REQ_Clear({ level }));
51
- },
52
- del: async (key) => {
53
- await this.request(new memory.REQ_Del({ level, key }));
54
- },
55
- get: async (key) => {
56
- return (await this.request(new memory.REQ_Get({ level, key }))).bytes;
57
- },
58
- put: async (key, value) => {
59
- await this.request(new memory.REQ_Put({ level, key, bytes: value }));
60
- },
61
- status: async () => (await this.request(new memory.REQ_Status({ level }))).status,
62
- sublevel: async (name) => {
63
- await this.request(new memory.REQ_Sublevel({ level, name }));
64
- const newLevels = [...level, name];
65
- const sublevel = this._createStorage(newLevels);
66
- this.levelMap.set(memory.levelKey(newLevels), sublevel);
67
- return sublevel;
68
- },
69
- iterator: () => memoryIterator(this, level),
70
- close: async () => {
71
- await this.request(new memory.REQ_Close({ level }));
72
- /* this.levelMap.delete(memory.levelKey(level)); */
73
- },
74
- open: async () => {
75
- await this.request(new memory.REQ_Open({ level }));
76
- },
77
- size: async () => {
78
- const size = await this.request(new memory.REQ_Size({ level }));
79
- return size.size;
80
- }
81
- };
82
- };
83
- }
84
- status() {
85
- return this.worker ? this.root.status() : "closed";
86
- }
87
- async close() {
88
- this.worker.terminate();
89
- this.worker = undefined;
90
- this._responseCallbacks.clear();
91
- this.levelMap.clear();
92
- }
93
- async open() {
94
- if (!this.worker) {
95
- if (!globalThis["__playwright_test__"] &&
96
- (await navigator.storage.persist()) === false) {
97
- throw new Error("OPFS not allowed to persist data");
98
- }
99
- this.worker = createWorker(this.directory);
100
- this.root = this._createStorage([]);
101
- this.worker.addEventListener("message", async (ev) => {
102
- const message = deserialize(ev.data, memory.MemoryMessage);
103
- this._responseCallbacks.get(message.messageId).fn(message);
104
- });
105
- await this.root.open();
106
- }
107
- }
108
- get(key) {
109
- return this.root.get(key);
110
- }
111
- put(key, value) {
112
- return this.root.put(key, value);
113
- }
114
- del(key) {
115
- return this.root.del(key);
116
- }
117
- sublevel(name) {
118
- return this.root.sublevel(name);
119
- }
120
- iterator() {
121
- return this.root.iterator();
122
- }
123
- clear() {
124
- return this.root.clear();
125
- }
126
- size() {
127
- return this.root.size();
128
- }
129
- async request(request) {
130
- return new Promise((resolve, reject) => {
131
- const onResponse = (message) => {
132
- this._responseCallbacks.delete(request.messageId);
133
- if (message instanceof memory.RESP_Error) {
134
- reject(new Error(message.error));
135
- }
136
- else {
137
- resolve(message);
138
- }
139
- };
140
- this._responseCallbacks.set(request.messageId, {
141
- fn: onResponse,
142
- once: true
143
- });
144
- const bytes = serialize(request);
145
- this.worker.postMessage(bytes, [bytes.buffer]);
146
- });
147
- }
148
- }
149
- //# sourceMappingURL=opfs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../src/opfs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { MemoryStore } from "./memory.js";
2
- import { OPFSStore } from "./opfs.brrowser.js";
3
- export declare const createStore: (directory?: string) => MemoryStore | OPFSStore;
4
- //# sourceMappingURL=store.browser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.browser.d.ts","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,WAAW,eAAgB,MAAM,4BAE7C,CAAC"}
@@ -1,9 +0,0 @@
1
- import { MemoryStore } from "./memory.js";
2
- import { OPFSStore } from "./opfs.js";
3
- export const createStore = (directory) => {
4
- return directory ? new OPFSStore(directory) : new MemoryStore();
5
- };
6
- /* export const estimate = (directory: string): Promise<{ quota?: number, usage?: number }> => {
7
- return navigator.storage.estimate().then(x => { return { quota: x.quota, usage: x.usage } })
8
- } */
9
- //# sourceMappingURL=store.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.browser.js","sourceRoot":"","sources":["../../src/store.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,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"}
@@ -1,4 +0,0 @@
1
- import { LevelStore } from "./level.js";
2
- import { MemoryStore } from "./memory.js";
3
- export declare const createStore: (directory?: string) => LevelStore | MemoryStore;
4
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,eAAO,MAAM,WAAW,eAAgB,MAAM,6BAI7C,CAAC"}
package/dist/src/store.js DELETED
@@ -1,14 +0,0 @@
1
- import { LevelStore } from "./level.js";
2
- import { Level } from "level";
3
- import { MemoryStore } from "./memory.js";
4
- /* import os from 'os'
5
- import { check } from 'diskusage' */
6
- export const createStore = (directory) => {
7
- return directory
8
- ? new LevelStore(new Level(directory, { valueEncoding: "view" }))
9
- : new MemoryStore();
10
- };
11
- /* export const estimate = (directory: string): Promise<{ quota?: number, usage?: number }> => {
12
- return check(directory).then(x => { return { quota: x.total, usage: x.total - x.free } })
13
- } */
14
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C;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"}