@peerbit/any-store-opfs 1.1.4 → 1.1.5
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/assets/opfs/opfs.worker.min.js +166 -13
- package/dist/assets/opfs/opfs.worker.min.js.map +3 -3
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/opfs-store.d.ts +7 -3
- package/dist/src/opfs-store.d.ts.map +1 -1
- package/dist/src/opfs-store.js +104 -21
- package/dist/src/opfs-store.js.map +1 -1
- package/dist/src/protocol.d.ts +62 -0
- package/dist/src/protocol.d.ts.map +1 -0
- package/dist/src/protocol.js +45 -0
- package/dist/src/protocol.js.map +1 -0
- package/dist/src/worker.d.ts +3 -1
- package/dist/src/worker.d.ts.map +1 -1
- package/dist/src/worker.js +144 -8
- package/dist/src/worker.js.map +1 -1
- package/package.json +4 -4
- package/src/opfs-store.ts +147 -47
- package/src/protocol.ts +128 -0
- package/src/worker.ts +151 -15
package/dist/src/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/any-store-opfs",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "OPFS worker",
|
|
5
5
|
"sideEffects": true,
|
|
6
6
|
"type": "module",
|
|
@@ -63,10 +63,10 @@
|
|
|
63
63
|
"@dao-xyz/borsh": "^6.0.0",
|
|
64
64
|
"uuid": "^10.0.0",
|
|
65
65
|
"elliptic": "^6.6.1",
|
|
66
|
-
"@peerbit/crypto": "3.0.
|
|
67
|
-
"@peerbit/logger": "2.0.0",
|
|
66
|
+
"@peerbit/crypto": "3.0.1",
|
|
68
67
|
"@peerbit/time": "3.0.0",
|
|
69
|
-
"@peerbit/any-store-interface": "1.1.0"
|
|
68
|
+
"@peerbit/any-store-interface": "1.1.0",
|
|
69
|
+
"@peerbit/logger": "2.0.0"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@types/uuid": "^9.0.8",
|
package/src/opfs-store.ts
CHANGED
|
@@ -3,13 +3,21 @@ import { type AnyStore, type MaybePromise } from "@peerbit/any-store-interface";
|
|
|
3
3
|
import * as memory from "@peerbit/any-store-interface/messages";
|
|
4
4
|
import { v4 as uuid } from "uuid";
|
|
5
5
|
import { createWorker } from "./create.js";
|
|
6
|
+
import {
|
|
7
|
+
getTransferables,
|
|
8
|
+
type OPFSRequest,
|
|
9
|
+
type OPFSResponse,
|
|
10
|
+
type OPFSStoreProtocol,
|
|
11
|
+
isOPFSResponse,
|
|
12
|
+
} from "./protocol.js";
|
|
6
13
|
|
|
7
|
-
function
|
|
14
|
+
function storeIterator(
|
|
8
15
|
client: {
|
|
9
|
-
request
|
|
10
|
-
request: memory.MemoryRequest,
|
|
11
|
-
): Promise<
|
|
16
|
+
request(
|
|
17
|
+
request: OPFSRequest | memory.MemoryRequest,
|
|
18
|
+
): Promise<OPFSResponse | memory.MemoryRequest>;
|
|
12
19
|
},
|
|
20
|
+
protocol: OPFSStoreProtocol,
|
|
13
21
|
level: string[],
|
|
14
22
|
): {
|
|
15
23
|
[Symbol.asyncIterator]: () => AsyncIterator<[string, Uint8Array], void, void>;
|
|
@@ -19,18 +27,37 @@ function memoryIterator(
|
|
|
19
27
|
const iteratorId = uuid();
|
|
20
28
|
return {
|
|
21
29
|
next: async () => {
|
|
22
|
-
const
|
|
23
|
-
|
|
30
|
+
const response = await client.request(
|
|
31
|
+
protocol === "legacy"
|
|
32
|
+
? new memory.REQ_Iterator_Next({ id: iteratorId, level })
|
|
33
|
+
: {
|
|
34
|
+
type: "iterator-next",
|
|
35
|
+
id: iteratorId,
|
|
36
|
+
level,
|
|
37
|
+
messageId: uuid(),
|
|
38
|
+
},
|
|
24
39
|
);
|
|
25
|
-
|
|
40
|
+
const cloneResponse =
|
|
41
|
+
isOPFSResponse(response) && response.type === "iterator-next"
|
|
42
|
+
? response
|
|
43
|
+
: undefined;
|
|
44
|
+
const keys =
|
|
45
|
+
response instanceof memory.RESP_Iterator_Next
|
|
46
|
+
? response.keys
|
|
47
|
+
: cloneResponse?.keys ?? [];
|
|
48
|
+
const values =
|
|
49
|
+
response instanceof memory.RESP_Iterator_Next
|
|
50
|
+
? response.values
|
|
51
|
+
: cloneResponse?.values ?? [];
|
|
52
|
+
if (keys.length > 1) {
|
|
26
53
|
throw new Error("Unsupported iteration response");
|
|
27
54
|
}
|
|
28
55
|
// Will only have 0 or 1 element for now
|
|
29
56
|
// eslint-disable-next-line no-unreachable-loop
|
|
30
|
-
for (let i = 0; i <
|
|
57
|
+
for (let i = 0; i < keys.length; i++) {
|
|
31
58
|
return {
|
|
32
59
|
done: false,
|
|
33
|
-
value: [
|
|
60
|
+
value: [keys[i], values[i]] as [string, Uint8Array],
|
|
34
61
|
} as { done: false; value: [string, Uint8Array] };
|
|
35
62
|
}
|
|
36
63
|
return { done: true, value: undefined } as {
|
|
@@ -39,8 +66,15 @@ function memoryIterator(
|
|
|
39
66
|
};
|
|
40
67
|
},
|
|
41
68
|
async return() {
|
|
42
|
-
await client.request
|
|
43
|
-
|
|
69
|
+
await client.request(
|
|
70
|
+
protocol === "legacy"
|
|
71
|
+
? new memory.REQ_Iterator_Stop({ id: iteratorId, level })
|
|
72
|
+
: {
|
|
73
|
+
type: "iterator-stop",
|
|
74
|
+
id: iteratorId,
|
|
75
|
+
level,
|
|
76
|
+
messageId: uuid(),
|
|
77
|
+
},
|
|
44
78
|
);
|
|
45
79
|
return { done: true, value: undefined } as {
|
|
46
80
|
done: true;
|
|
@@ -56,69 +90,122 @@ export class OPFSStore implements AnyStore {
|
|
|
56
90
|
worker: Worker;
|
|
57
91
|
levelMap: Map<string, AnyStore>;
|
|
58
92
|
root: AnyStore;
|
|
93
|
+
private readonly protocol: OPFSStoreProtocol;
|
|
59
94
|
|
|
60
95
|
private _responseCallbacks: Map<
|
|
61
96
|
string,
|
|
62
|
-
{
|
|
97
|
+
{
|
|
98
|
+
fn: (message: OPFSResponse | memory.MemoryRequest) => any;
|
|
99
|
+
once: boolean;
|
|
100
|
+
}
|
|
63
101
|
> = new Map();
|
|
64
102
|
|
|
65
103
|
private _createStorage: (level: string[]) => AnyStore;
|
|
66
|
-
constructor(
|
|
104
|
+
constructor(
|
|
105
|
+
readonly directory?: string,
|
|
106
|
+
options: { protocol?: OPFSStoreProtocol } = {},
|
|
107
|
+
) {
|
|
108
|
+
this.protocol = options.protocol ?? "clone";
|
|
67
109
|
this.levelMap = new Map();
|
|
68
110
|
this._createStorage = (level: string[] = []): AnyStore => {
|
|
69
111
|
return {
|
|
70
112
|
clear: async () => {
|
|
71
|
-
await this.request
|
|
72
|
-
|
|
113
|
+
await this.request(
|
|
114
|
+
this.protocol === "legacy"
|
|
115
|
+
? new memory.REQ_Clear({ level })
|
|
116
|
+
: { type: "clear", level, messageId: uuid() },
|
|
73
117
|
);
|
|
74
118
|
},
|
|
75
119
|
del: async (key) => {
|
|
76
|
-
await this.request
|
|
77
|
-
|
|
120
|
+
await this.request(
|
|
121
|
+
this.protocol === "legacy"
|
|
122
|
+
? new memory.REQ_Del({ level, key })
|
|
123
|
+
: { type: "del", level, key, messageId: uuid() },
|
|
78
124
|
);
|
|
79
125
|
},
|
|
80
126
|
get: async (key) => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
new memory.REQ_Get({ level, key })
|
|
84
|
-
|
|
85
|
-
)
|
|
127
|
+
const response = await this.request(
|
|
128
|
+
this.protocol === "legacy"
|
|
129
|
+
? new memory.REQ_Get({ level, key })
|
|
130
|
+
: { type: "get", level, key, messageId: uuid() },
|
|
131
|
+
);
|
|
132
|
+
if (response instanceof memory.RESP_Get) {
|
|
133
|
+
return response.bytes;
|
|
134
|
+
}
|
|
135
|
+
if (isOPFSResponse(response) && response.type === "get") {
|
|
136
|
+
return response.bytes;
|
|
137
|
+
}
|
|
138
|
+
return undefined;
|
|
86
139
|
},
|
|
87
140
|
put: async (key, value) => {
|
|
88
|
-
await this.request
|
|
89
|
-
|
|
141
|
+
await this.request(
|
|
142
|
+
this.protocol === "legacy"
|
|
143
|
+
? new memory.REQ_Put({ level, key, bytes: value })
|
|
144
|
+
: {
|
|
145
|
+
type: "put",
|
|
146
|
+
level,
|
|
147
|
+
key,
|
|
148
|
+
bytes: value,
|
|
149
|
+
messageId: uuid(),
|
|
150
|
+
},
|
|
90
151
|
);
|
|
91
152
|
},
|
|
92
|
-
status: async () =>
|
|
93
|
-
(
|
|
94
|
-
|
|
95
|
-
new memory.REQ_Status({ level })
|
|
96
|
-
|
|
97
|
-
)
|
|
153
|
+
status: async () => {
|
|
154
|
+
const response = await this.request(
|
|
155
|
+
this.protocol === "legacy"
|
|
156
|
+
? new memory.REQ_Status({ level })
|
|
157
|
+
: { type: "status", level, messageId: uuid() },
|
|
158
|
+
);
|
|
159
|
+
if (response instanceof memory.RESP_Status) {
|
|
160
|
+
return response.status;
|
|
161
|
+
}
|
|
162
|
+
if (!isOPFSResponse(response) || response.type !== "status") {
|
|
163
|
+
throw new Error("Unexpected OPFS status response");
|
|
164
|
+
}
|
|
165
|
+
return response.status;
|
|
166
|
+
},
|
|
98
167
|
sublevel: async (name) => {
|
|
99
|
-
await this.request(
|
|
168
|
+
await this.request(
|
|
169
|
+
this.protocol === "legacy"
|
|
170
|
+
? new memory.REQ_Sublevel({ level, name })
|
|
171
|
+
: { type: "sublevel", level, name, messageId: uuid() },
|
|
172
|
+
);
|
|
100
173
|
const newLevels = [...level, name];
|
|
101
174
|
const sublevel = this._createStorage(newLevels);
|
|
102
175
|
this.levelMap.set(memory.levelKey(newLevels), sublevel);
|
|
103
176
|
return sublevel;
|
|
104
177
|
},
|
|
105
178
|
|
|
106
|
-
iterator: () =>
|
|
179
|
+
iterator: () => storeIterator(this, this.protocol, level),
|
|
107
180
|
close: async () => {
|
|
108
|
-
await this.request
|
|
109
|
-
|
|
181
|
+
await this.request(
|
|
182
|
+
this.protocol === "legacy"
|
|
183
|
+
? new memory.REQ_Close({ level })
|
|
184
|
+
: { type: "close", level, messageId: uuid() },
|
|
110
185
|
);
|
|
111
186
|
/* this.levelMap.delete(memory.levelKey(level)); */
|
|
112
187
|
},
|
|
113
188
|
open: async () => {
|
|
114
|
-
await this.request
|
|
189
|
+
await this.request(
|
|
190
|
+
this.protocol === "legacy"
|
|
191
|
+
? new memory.REQ_Open({ level })
|
|
192
|
+
: { type: "open", level, messageId: uuid() },
|
|
193
|
+
);
|
|
115
194
|
},
|
|
116
195
|
|
|
117
196
|
size: async () => {
|
|
118
|
-
const
|
|
119
|
-
|
|
197
|
+
const response = await this.request(
|
|
198
|
+
this.protocol === "legacy"
|
|
199
|
+
? new memory.REQ_Size({ level })
|
|
200
|
+
: { type: "size", level, messageId: uuid() },
|
|
120
201
|
);
|
|
121
|
-
|
|
202
|
+
if (response instanceof memory.RESP_Size) {
|
|
203
|
+
return response.size;
|
|
204
|
+
}
|
|
205
|
+
if (!isOPFSResponse(response) || response.type !== "size") {
|
|
206
|
+
throw new Error("Unexpected OPFS size response");
|
|
207
|
+
}
|
|
208
|
+
return response.size;
|
|
122
209
|
},
|
|
123
210
|
persisted: directory != null ? () => true : () => false,
|
|
124
211
|
};
|
|
@@ -144,7 +231,14 @@ export class OPFSStore implements AnyStore {
|
|
|
144
231
|
this.worker = createWorker(this.directory);
|
|
145
232
|
this.root = this._createStorage([]);
|
|
146
233
|
this.worker.addEventListener("message", async (ev) => {
|
|
147
|
-
const message =
|
|
234
|
+
const message = isOPFSResponse(ev.data)
|
|
235
|
+
? ev.data
|
|
236
|
+
: deserialize(
|
|
237
|
+
ev.data instanceof Uint8Array
|
|
238
|
+
? ev.data
|
|
239
|
+
: new Uint8Array(ev.data as ArrayBuffer),
|
|
240
|
+
memory.MemoryMessage,
|
|
241
|
+
);
|
|
148
242
|
this._responseCallbacks.get(message.messageId)!.fn(message);
|
|
149
243
|
});
|
|
150
244
|
await this.root.open();
|
|
@@ -179,24 +273,30 @@ export class OPFSStore implements AnyStore {
|
|
|
179
273
|
return this.root.size();
|
|
180
274
|
}
|
|
181
275
|
|
|
182
|
-
async request
|
|
183
|
-
request: memory.MemoryRequest,
|
|
184
|
-
): Promise<
|
|
185
|
-
return new Promise<
|
|
186
|
-
const onResponse = (message: memory.MemoryRequest) => {
|
|
276
|
+
async request(
|
|
277
|
+
request: OPFSRequest | memory.MemoryRequest,
|
|
278
|
+
): Promise<OPFSResponse | memory.MemoryRequest> {
|
|
279
|
+
return new Promise<OPFSResponse | memory.MemoryRequest>((resolve, reject) => {
|
|
280
|
+
const onResponse = (message: OPFSResponse | memory.MemoryRequest) => {
|
|
187
281
|
this._responseCallbacks.delete(request.messageId);
|
|
188
282
|
if (message instanceof memory.RESP_Error) {
|
|
189
283
|
reject(new Error(message.error));
|
|
284
|
+
} else if (isOPFSResponse(message) && message.type === "error") {
|
|
285
|
+
reject(new Error(message.error));
|
|
190
286
|
} else {
|
|
191
|
-
resolve(message
|
|
287
|
+
resolve(message);
|
|
192
288
|
}
|
|
193
289
|
};
|
|
194
290
|
this._responseCallbacks.set(request.messageId, {
|
|
195
291
|
fn: onResponse,
|
|
196
292
|
once: true,
|
|
197
293
|
});
|
|
198
|
-
|
|
199
|
-
|
|
294
|
+
if (request instanceof memory.MemoryRequest) {
|
|
295
|
+
const bytes = serialize(request);
|
|
296
|
+
this.worker.postMessage(bytes, [bytes.buffer]);
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
this.worker.postMessage(request, getTransferables(request));
|
|
200
300
|
});
|
|
201
301
|
}
|
|
202
302
|
|
package/src/protocol.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
export type OPFSStoreProtocol = "clone" | "legacy";
|
|
2
|
+
|
|
3
|
+
export type OPFSRequest =
|
|
4
|
+
| {
|
|
5
|
+
type: "open" | "close" | "clear" | "size" | "status";
|
|
6
|
+
messageId: string;
|
|
7
|
+
level: string[];
|
|
8
|
+
}
|
|
9
|
+
| {
|
|
10
|
+
type: "get" | "del";
|
|
11
|
+
messageId: string;
|
|
12
|
+
level: string[];
|
|
13
|
+
key: string;
|
|
14
|
+
}
|
|
15
|
+
| {
|
|
16
|
+
type: "put";
|
|
17
|
+
messageId: string;
|
|
18
|
+
level: string[];
|
|
19
|
+
key: string;
|
|
20
|
+
bytes: Uint8Array;
|
|
21
|
+
}
|
|
22
|
+
| {
|
|
23
|
+
type: "sublevel";
|
|
24
|
+
messageId: string;
|
|
25
|
+
level: string[];
|
|
26
|
+
name: string;
|
|
27
|
+
}
|
|
28
|
+
| {
|
|
29
|
+
type: "iterator-next" | "iterator-stop";
|
|
30
|
+
messageId: string;
|
|
31
|
+
level: string[];
|
|
32
|
+
id: string;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type OPFSResponse =
|
|
36
|
+
| {
|
|
37
|
+
type: "ack";
|
|
38
|
+
messageId: string;
|
|
39
|
+
level: string[];
|
|
40
|
+
}
|
|
41
|
+
| {
|
|
42
|
+
type: "status";
|
|
43
|
+
messageId: string;
|
|
44
|
+
level: string[];
|
|
45
|
+
status: "opening" | "open" | "closing" | "closed";
|
|
46
|
+
}
|
|
47
|
+
| {
|
|
48
|
+
type: "get";
|
|
49
|
+
messageId: string;
|
|
50
|
+
level: string[];
|
|
51
|
+
bytes?: Uint8Array;
|
|
52
|
+
}
|
|
53
|
+
| {
|
|
54
|
+
type: "size";
|
|
55
|
+
messageId: string;
|
|
56
|
+
level: string[];
|
|
57
|
+
size: number;
|
|
58
|
+
}
|
|
59
|
+
| {
|
|
60
|
+
type: "iterator-next";
|
|
61
|
+
messageId: string;
|
|
62
|
+
level: string[];
|
|
63
|
+
keys: string[];
|
|
64
|
+
values: Uint8Array[];
|
|
65
|
+
}
|
|
66
|
+
| {
|
|
67
|
+
type: "error";
|
|
68
|
+
messageId: string;
|
|
69
|
+
level: string[];
|
|
70
|
+
error: string;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const REQUEST_TYPES = new Set<OPFSRequest["type"]>([
|
|
74
|
+
"open",
|
|
75
|
+
"close",
|
|
76
|
+
"clear",
|
|
77
|
+
"size",
|
|
78
|
+
"status",
|
|
79
|
+
"get",
|
|
80
|
+
"del",
|
|
81
|
+
"put",
|
|
82
|
+
"sublevel",
|
|
83
|
+
"iterator-next",
|
|
84
|
+
"iterator-stop",
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
const RESPONSE_TYPES = new Set<OPFSResponse["type"]>([
|
|
88
|
+
"ack",
|
|
89
|
+
"status",
|
|
90
|
+
"get",
|
|
91
|
+
"size",
|
|
92
|
+
"iterator-next",
|
|
93
|
+
"error",
|
|
94
|
+
]);
|
|
95
|
+
|
|
96
|
+
export const isOPFSRequest = (value: unknown): value is OPFSRequest => {
|
|
97
|
+
return (
|
|
98
|
+
typeof value === "object" &&
|
|
99
|
+
value !== null &&
|
|
100
|
+
typeof (value as OPFSRequest).messageId === "string" &&
|
|
101
|
+
Array.isArray((value as OPFSRequest).level) &&
|
|
102
|
+
REQUEST_TYPES.has((value as OPFSRequest).type)
|
|
103
|
+
);
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export const isOPFSResponse = (value: unknown): value is OPFSResponse => {
|
|
107
|
+
return (
|
|
108
|
+
typeof value === "object" &&
|
|
109
|
+
value !== null &&
|
|
110
|
+
typeof (value as OPFSResponse).messageId === "string" &&
|
|
111
|
+
Array.isArray((value as OPFSResponse).level) &&
|
|
112
|
+
RESPONSE_TYPES.has((value as OPFSResponse).type)
|
|
113
|
+
);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export const getTransferables = (
|
|
117
|
+
message: OPFSRequest | OPFSResponse,
|
|
118
|
+
): Transferable[] => {
|
|
119
|
+
if (message.type === "get" && "bytes" in message && message.bytes) {
|
|
120
|
+
return [message.bytes.buffer as ArrayBuffer];
|
|
121
|
+
}
|
|
122
|
+
if (message.type === "iterator-next" && "values" in message) {
|
|
123
|
+
return message.values.map(
|
|
124
|
+
(value: Uint8Array) => value.buffer as ArrayBuffer,
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
return [];
|
|
128
|
+
};
|