@peerbit/any-store 1.0.11 → 1.0.12

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.
@@ -3,6 +3,7 @@ import * as memory from "./opfs-worker-messages.js";
3
3
  import { fromBase64URL, toBase64URL, ready } from "@peerbit/crypto";
4
4
  import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
5
5
  import { waitForResolved } from "@peerbit/time";
6
+ const directory = location.hash.split("#")?.[1];
6
7
  const encodeName = (name) => {
7
8
  // since "/" and perhaps other characters might not be allowed we do encode
8
9
  const writer = new BinaryWriter();
@@ -45,14 +46,20 @@ export class OPFSStoreWorker {
45
46
  this._memoryIterator = new Map();
46
47
  this._levels = new Map();
47
48
  let isOpen = false;
48
- const createMemory = (root, level = []) => {
49
+ const createMemory = (root, levels = []) => {
49
50
  let m = root;
50
51
  // 'open' | 'closed' is just a virtual thing since OPFS is always open as soone as we get the FileSystemDirectoryHandle
51
52
  // TODO remove status? or assume not storage adapters can be closed?
52
53
  const open = async () => {
53
54
  await ready;
54
- isOpen = true;
55
- m = m || (await navigator.storage.getDirectory());
55
+ if (!m) {
56
+ m = await navigator.storage.getDirectory();
57
+ if (directory) {
58
+ m = await m.getDirectoryHandle(encodeName(directory), {
59
+ create: true
60
+ });
61
+ }
62
+ }
56
63
  };
57
64
  return {
58
65
  clear: async () => {
@@ -117,7 +124,7 @@ export class OPFSStoreWorker {
117
124
  const fileHandle = await m.getDirectoryHandle(encodedName, {
118
125
  create: true
119
126
  });
120
- const sublevel = [...level, encodedName];
127
+ const sublevel = [...levels, name];
121
128
  const subMemory = createMemory(fileHandle, sublevel);
122
129
  this._levels.set(memory.levelKey(sublevel), subMemory);
123
130
  await subMemory.open();
@@ -146,18 +153,16 @@ export class OPFSStoreWorker {
146
153
  try {
147
154
  if (message instanceof memory.MemoryMessage) {
148
155
  if (message instanceof memory.REQ_Open) {
149
- if (isOpen) {
150
- throw new Error("Already open");
151
- }
152
- await this._rootStore.open();
153
- for (const level of message.level) {
154
- this._rootStore = await this._rootStore.sublevel(level);
156
+ if (!isOpen) {
157
+ await this._rootStore.open();
158
+ isOpen = true;
155
159
  }
156
160
  await this.respond(message, new memory.RESP_Open({ level: message.level }), postMessageFn);
161
+ return;
157
162
  }
158
163
  const m = message.level.length === 0
159
164
  ? this._rootStore
160
- : this._levels.get(memory.levelKey(message.level.map((x) => encodeName(x))));
165
+ : this._levels.get(memory.levelKey(message.level));
161
166
  if (!m) {
162
167
  throw new Error("Recieved memory message for an undefined level");
163
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opfs-worker.js","sourceRoot":"","sources":["../../src/opfs-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opfs-worker.js","sourceRoot":"","sources":["../../src/opfs-worker.ts"],"names":[],"mappings":"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"}
package/lib/esm/opfs.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { AnyStore, MaybePromise } from "./interface.js";
2
2
  import * as memory from "./opfs-worker-messages.js";
3
3
  export declare class OPFSStore implements AnyStore {
4
+ readonly directory?: string | undefined;
4
5
  worker: Worker;
5
- level: string[];
6
6
  levelMap: Map<string, AnyStore>;
7
7
  root: AnyStore;
8
8
  private _responseCallbacks;
9
9
  private _createMemory;
10
- constructor(level?: string[]);
10
+ constructor(directory?: string | undefined);
11
11
  status(): MaybePromise<"opening" | "open" | "closing" | "closed">;
12
12
  close(): Promise<void>;
13
13
  open(): Promise<void>;
package/lib/esm/opfs.js CHANGED
@@ -28,18 +28,19 @@ function memoryIterator(client, level) {
28
28
  }
29
29
  };
30
30
  }
31
- const workerURL = new URL("./opfs-worker.js", import.meta.url);
32
- /* new Worker(workerURL, { type: 'module' }) */
33
- const createWorker = () => new Worker(workerURL, { type: "module" });
31
+ const createWorker = (directory) => {
32
+ const workerURL = new URL("./opfs-worker.js#" + directory, import.meta.url);
33
+ return new Worker(workerURL, { type: "module" });
34
+ };
34
35
  export class OPFSStore {
36
+ directory;
35
37
  worker;
36
- level;
37
38
  levelMap;
38
39
  root;
39
40
  _responseCallbacks = new Map();
40
41
  _createMemory;
41
- constructor(level = []) {
42
- this.level = level;
42
+ constructor(directory) {
43
+ this.directory = directory;
43
44
  this.levelMap = new Map();
44
45
  this._createMemory = (level = []) => {
45
46
  return {
@@ -89,8 +90,8 @@ export class OPFSStore {
89
90
  }
90
91
  async open() {
91
92
  if (!this.worker) {
92
- this.root = this._createMemory(this.level);
93
- this.worker = createWorker();
93
+ this.worker = createWorker(this.directory);
94
+ this.root = this._createMemory([]);
94
95
  this.worker.addEventListener("message", async (ev) => {
95
96
  const message = deserialize(ev.data, memory.MemoryMessage);
96
97
  this._responseCallbacks.get(message.messageId).fn(message);
@@ -1 +1 @@
1
- {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../src/opfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opfs.js","sourceRoot":"","sources":["../../src/opfs.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { MemoryStore } from "./memory.js";
2
2
  import { OPFSStore } from "./opfs.js";
3
3
  export const createStore = (directory) => {
4
- return directory ? new OPFSStore([directory]) : new MemoryStore();
4
+ return directory ? new OPFSStore(directory) : new MemoryStore();
5
5
  };
6
6
  /* export const estimate = (directory: string): Promise<{ quota?: number, usage?: number }> => {
7
7
  return navigator.storage.estimate().then(x => { return { quota: x.quota, usage: x.usage } })
@@ -1 +1 @@
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,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;IAEI"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/any-store",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Level with lazy transactions",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -48,5 +48,5 @@
48
48
  "localMaintainers": [
49
49
  "dao.xyz"
50
50
  ],
51
- "gitHead": "b9b6843a83f12c6b23e78efef9cd323267881adb"
51
+ "gitHead": "954ec9009b2cd65baf4558009504b83eb17badf6"
52
52
  }
@@ -5,6 +5,8 @@ import { fromBase64URL, toBase64URL, ready } from "@peerbit/crypto";
5
5
  import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
6
6
  import { waitForResolved } from "@peerbit/time";
7
7
 
8
+ const directory = location.hash.split("#")?.[1];
9
+
8
10
  const encodeName = (name: string): string => {
9
11
  // since "/" and perhaps other characters might not be allowed we do encode
10
12
  const writer = new BinaryWriter();
@@ -62,7 +64,7 @@ export class OPFSStoreWorker {
62
64
 
63
65
  const createMemory = (
64
66
  root?: FileSystemDirectoryHandle,
65
- level: string[] = []
67
+ levels: string[] = []
66
68
  ): AnyStore => {
67
69
  let m: FileSystemDirectoryHandle = root!;
68
70
 
@@ -70,10 +72,15 @@ export class OPFSStoreWorker {
70
72
  // TODO remove status? or assume not storage adapters can be closed?
71
73
  const open = async () => {
72
74
  await ready;
73
- isOpen = true;
74
- m = m || (await navigator.storage.getDirectory());
75
+ if (!m) {
76
+ m = await navigator.storage.getDirectory();
77
+ if (directory) {
78
+ m = await m.getDirectoryHandle(encodeName(directory), {
79
+ create: true
80
+ });
81
+ }
82
+ }
75
83
  };
76
-
77
84
  return {
78
85
  clear: async () => {
79
86
  for await (const key of m.keys()) {
@@ -141,7 +148,7 @@ export class OPFSStoreWorker {
141
148
  const fileHandle = await m.getDirectoryHandle(encodedName, {
142
149
  create: true
143
150
  });
144
- const sublevel = [...level, encodedName];
151
+ const sublevel = [...levels, name];
145
152
  const subMemory = createMemory(fileHandle, sublevel);
146
153
  this._levels.set(memory.levelKey(sublevel), subMemory);
147
154
  await subMemory.open();
@@ -173,26 +180,22 @@ export class OPFSStoreWorker {
173
180
  try {
174
181
  if (message instanceof memory.MemoryMessage) {
175
182
  if (message instanceof memory.REQ_Open) {
176
- if (isOpen) {
177
- throw new Error("Already open");
178
- }
179
- await this._rootStore.open();
180
- for (const level of message.level) {
181
- this._rootStore = await this._rootStore.sublevel(level);
183
+ if (!isOpen) {
184
+ await this._rootStore.open();
185
+ isOpen = true;
182
186
  }
183
187
  await this.respond(
184
188
  message,
185
189
  new memory.RESP_Open({ level: message.level }),
186
190
  postMessageFn
187
191
  );
192
+ return;
188
193
  }
189
194
 
190
195
  const m =
191
196
  message.level.length === 0
192
197
  ? this._rootStore
193
- : this._levels.get(
194
- memory.levelKey(message.level.map((x) => encodeName(x)))
195
- );
198
+ : this._levels.get(memory.levelKey(message.level));
196
199
  if (!m) {
197
200
  throw new Error("Recieved memory message for an undefined level");
198
201
  } else if (message instanceof memory.REQ_Clear) {
package/src/opfs.ts CHANGED
@@ -50,13 +50,13 @@ function memoryIterator(
50
50
  };
51
51
  }
52
52
 
53
- const workerURL = new URL("./opfs-worker.js", import.meta.url);
53
+ const createWorker = (directory) => {
54
+ const workerURL = new URL("./opfs-worker.js#" + directory, import.meta.url);
55
+ return new Worker(workerURL, { type: "module" });
56
+ };
54
57
 
55
- /* new Worker(workerURL, { type: 'module' }) */
56
- const createWorker = () => new Worker(workerURL, { type: "module" });
57
58
  export class OPFSStore implements AnyStore {
58
59
  worker: Worker;
59
- level: string[];
60
60
  levelMap: Map<string, AnyStore>;
61
61
  root: AnyStore;
62
62
 
@@ -66,8 +66,7 @@ export class OPFSStore implements AnyStore {
66
66
  > = new Map();
67
67
 
68
68
  private _createMemory: (level: string[]) => AnyStore;
69
- constructor(level: string[] = []) {
70
- this.level = level;
69
+ constructor(readonly directory?: string) {
71
70
  this.levelMap = new Map();
72
71
  this._createMemory = (level: string[] = []): AnyStore => {
73
72
  return {
@@ -100,9 +99,7 @@ export class OPFSStore implements AnyStore {
100
99
  )
101
100
  ).status,
102
101
  sublevel: async (name) => {
103
- await this.request<memory.RESP_Sublevel>(
104
- new memory.REQ_Sublevel({ level, name })
105
- );
102
+ await this.request(new memory.REQ_Sublevel({ level, name }));
106
103
  const newLevels = [...level, name];
107
104
  const sublevel = this._createMemory(newLevels);
108
105
  this.levelMap.set(memory.levelKey(newLevels), sublevel);
@@ -140,8 +137,8 @@ export class OPFSStore implements AnyStore {
140
137
  }
141
138
  async open(): Promise<void> {
142
139
  if (!this.worker) {
143
- this.root = this._createMemory(this.level);
144
- this.worker = createWorker();
140
+ this.worker = createWorker(this.directory);
141
+ this.root = this._createMemory([]);
145
142
  this.worker.addEventListener("message", async (ev) => {
146
143
  const message = deserialize(ev.data, memory.MemoryMessage);
147
144
  this._responseCallbacks.get(message.messageId)!.fn(message);
@@ -2,7 +2,7 @@ import { MemoryStore } from "./memory.js";
2
2
  import { OPFSStore } from "./opfs.js";
3
3
 
4
4
  export const createStore = (directory?: string) => {
5
- return directory ? new OPFSStore([directory]) : new MemoryStore();
5
+ return directory ? new OPFSStore(directory) : new MemoryStore();
6
6
  };
7
7
 
8
8
  /* export const estimate = (directory: string): Promise<{ quota?: number, usage?: number }> => {