tinybase 6.1.0-beta.4 → 6.1.0-beta.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/@types/persisters/index.d.ts +82 -40
- package/@types/persisters/persister-automerge/index.d.ts +4 -4
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-browser/index.d.ts +4 -4
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-file/index.d.ts +2 -2
- package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-libsql/index.d.ts +3 -3
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-pglite/index.d.ts +3 -3
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-remote/index.d.ts +2 -2
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite-bun/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-yjs/index.d.ts +4 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
- package/@types/persisters/with-schemas/index.d.ts +86 -42
- package/@types/synchronizers/index.d.ts +18 -16
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/with-schemas/index.d.ts +18 -16
- package/@types/ui-react/index.d.ts +2 -2
- package/@types/ui-react/with-schemas/index.d.ts +2 -2
- package/index.js +23 -17
- package/mergeable-store/index.js +23 -17
- package/mergeable-store/with-schemas/index.js +23 -17
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +8 -4
- package/persisters/index.js +293 -161
- package/persisters/persister-automerge/index.js +55 -50
- package/persisters/persister-automerge/with-schemas/index.js +55 -50
- package/persisters/persister-browser/index.js +56 -55
- package/persisters/persister-browser/with-schemas/index.js +56 -55
- package/persisters/persister-cr-sqlite-wasm/index.js +181 -134
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +181 -134
- package/persisters/persister-durable-object-storage/index.js +58 -53
- package/persisters/persister-durable-object-storage/with-schemas/index.js +58 -53
- package/persisters/persister-electric-sql/index.js +181 -134
- package/persisters/persister-electric-sql/with-schemas/index.js +181 -134
- package/persisters/persister-expo-sqlite/index.js +181 -134
- package/persisters/persister-expo-sqlite/with-schemas/index.js +181 -134
- package/persisters/persister-file/index.js +55 -50
- package/persisters/persister-file/with-schemas/index.js +55 -50
- package/persisters/persister-indexed-db/index.js +82 -78
- package/persisters/persister-indexed-db/with-schemas/index.js +82 -78
- package/persisters/persister-libsql/index.js +182 -135
- package/persisters/persister-libsql/with-schemas/index.js +182 -135
- package/persisters/persister-partykit-client/index.js +56 -51
- package/persisters/persister-partykit-client/with-schemas/index.js +56 -51
- package/persisters/persister-pglite/index.js +299 -173
- package/persisters/persister-pglite/with-schemas/index.js +299 -173
- package/persisters/persister-postgres/index.js +296 -171
- package/persisters/persister-postgres/with-schemas/index.js +296 -171
- package/persisters/persister-powersync/index.js +189 -138
- package/persisters/persister-powersync/with-schemas/index.js +189 -138
- package/persisters/persister-remote/index.js +55 -50
- package/persisters/persister-remote/with-schemas/index.js +55 -50
- package/persisters/persister-sqlite-bun/index.js +182 -135
- package/persisters/persister-sqlite-bun/with-schemas/index.js +182 -135
- package/persisters/persister-sqlite-wasm/index.js +182 -135
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +182 -135
- package/persisters/persister-sqlite3/index.js +181 -134
- package/persisters/persister-sqlite3/with-schemas/index.js +181 -134
- package/persisters/persister-yjs/index.js +55 -50
- package/persisters/persister-yjs/with-schemas/index.js +55 -50
- package/persisters/with-schemas/index.js +293 -161
- package/readme.md +2 -2
- package/releases.md +29 -1
- package/store/index.js +20 -15
- package/store/with-schemas/index.js +20 -15
- package/synchronizers/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-local/index.js +68 -63
- package/synchronizers/synchronizer-local/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-server/index.js +79 -70
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +79 -70
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/synchronizers/with-schemas/index.js +68 -63
- package/ui-react-inspector/index.js +68 -60
- package/ui-react-inspector/with-schemas/index.js +68 -60
- package/with-schemas/index.js +23 -17
|
@@ -21,6 +21,14 @@ const promiseAll = async (promises) => promise.all(promises);
|
|
|
21
21
|
const errorNew = (message) => {
|
|
22
22
|
throw new Error(message);
|
|
23
23
|
};
|
|
24
|
+
const tryCatch = async (action, then1, then2) => {
|
|
25
|
+
try {
|
|
26
|
+
return await action();
|
|
27
|
+
} catch (error) {
|
|
28
|
+
/* istanbul ignore next */
|
|
29
|
+
then1?.(error);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
24
32
|
|
|
25
33
|
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
26
34
|
const arrayMap = (array, cb) => array.map(cb);
|
|
@@ -255,12 +263,7 @@ const createCustomPersister = (
|
|
|
255
263
|
while (
|
|
256
264
|
!isUndefined((action = arrayShift(mapGet(scheduleActions, scheduleId))))
|
|
257
265
|
) {
|
|
258
|
-
|
|
259
|
-
await action();
|
|
260
|
-
} catch (error) {
|
|
261
|
-
/* istanbul ignore next */
|
|
262
|
-
onIgnoredError?.(error);
|
|
263
|
-
}
|
|
266
|
+
await tryCatch(action, onIgnoredError);
|
|
264
267
|
}
|
|
265
268
|
mapSet(scheduleRunning, scheduleId, 0);
|
|
266
269
|
}
|
|
@@ -280,21 +283,23 @@ const createCustomPersister = (
|
|
|
280
283
|
setStatus(1 /* Loading */);
|
|
281
284
|
loads++;
|
|
282
285
|
await schedule(async () => {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
286
|
+
await tryCatch(
|
|
287
|
+
async () => {
|
|
288
|
+
const content = await getPersisted();
|
|
289
|
+
if (isArray(content)) {
|
|
290
|
+
setContentOrChanges(content);
|
|
291
|
+
} else if (initialContent) {
|
|
292
|
+
setDefaultContent(initialContent);
|
|
293
|
+
} else {
|
|
294
|
+
errorNew(`Content is not an array: ${content}`);
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
() => {
|
|
298
|
+
if (initialContent) {
|
|
299
|
+
setDefaultContent(initialContent);
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
);
|
|
298
303
|
setStatus(0 /* Idle */);
|
|
299
304
|
});
|
|
300
305
|
}
|
|
@@ -303,29 +308,33 @@ const createCustomPersister = (
|
|
|
303
308
|
const startAutoLoad = async (initialContent) => {
|
|
304
309
|
stopAutoLoad();
|
|
305
310
|
await load(initialContent);
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
311
|
+
await tryCatch(
|
|
312
|
+
async () =>
|
|
313
|
+
(autoLoadHandle = await addPersisterListener(
|
|
314
|
+
async (content, changes) => {
|
|
315
|
+
if (changes || content) {
|
|
316
|
+
/* istanbul ignore else */
|
|
317
|
+
if (status != 2 /* Saving */) {
|
|
318
|
+
setStatus(1 /* Loading */);
|
|
319
|
+
loads++;
|
|
320
|
+
setContentOrChanges(changes ?? content);
|
|
321
|
+
setStatus(0 /* Idle */);
|
|
322
|
+
}
|
|
323
|
+
} else {
|
|
324
|
+
await load();
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
)),
|
|
328
|
+
onIgnoredError,
|
|
329
|
+
);
|
|
324
330
|
return persister;
|
|
325
331
|
};
|
|
326
|
-
const stopAutoLoad = () => {
|
|
332
|
+
const stopAutoLoad = async () => {
|
|
327
333
|
if (autoLoadHandle) {
|
|
328
|
-
|
|
334
|
+
await tryCatch(
|
|
335
|
+
() => delPersisterListener(autoLoadHandle),
|
|
336
|
+
onIgnoredError,
|
|
337
|
+
);
|
|
329
338
|
autoLoadHandle = void 0;
|
|
330
339
|
}
|
|
331
340
|
return persister;
|
|
@@ -337,12 +346,7 @@ const createCustomPersister = (
|
|
|
337
346
|
setStatus(2 /* Saving */);
|
|
338
347
|
saves++;
|
|
339
348
|
await schedule(async () => {
|
|
340
|
-
|
|
341
|
-
await setPersisted(getContent, changes);
|
|
342
|
-
} catch (error) {
|
|
343
|
-
/* istanbul ignore next */
|
|
344
|
-
onIgnoredError?.(error);
|
|
345
|
-
}
|
|
349
|
+
await tryCatch(() => setPersisted(getContent, changes), onIgnoredError);
|
|
346
350
|
setStatus(0 /* Idle */);
|
|
347
351
|
});
|
|
348
352
|
}
|
|
@@ -359,7 +363,7 @@ const createCustomPersister = (
|
|
|
359
363
|
});
|
|
360
364
|
return persister;
|
|
361
365
|
};
|
|
362
|
-
const stopAutoSave = () => {
|
|
366
|
+
const stopAutoSave = async () => {
|
|
363
367
|
if (autoSaveListenerId) {
|
|
364
368
|
store.delListener(autoSaveListenerId);
|
|
365
369
|
autoSaveListenerId = void 0;
|
|
@@ -380,9 +384,10 @@ const createCustomPersister = (
|
|
|
380
384
|
return persister;
|
|
381
385
|
};
|
|
382
386
|
const getStore = () => store;
|
|
383
|
-
const destroy = () => {
|
|
387
|
+
const destroy = async () => {
|
|
384
388
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
385
|
-
|
|
389
|
+
await persister.stopAutoLoad();
|
|
390
|
+
return await persister.stopAutoSave();
|
|
386
391
|
};
|
|
387
392
|
const getStats = () => ({loads, saves});
|
|
388
393
|
const persister = {
|
|
@@ -439,34 +444,34 @@ const createIndexedDbPersister = (
|
|
|
439
444
|
);
|
|
440
445
|
request.onupgradeneeded = () =>
|
|
441
446
|
create &&
|
|
442
|
-
arrayMap(OBJECT_STORE_NAMES, (objectStoreName) =>
|
|
443
|
-
|
|
444
|
-
request.result.createObjectStore(objectStoreName, KEY_PATH)
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
request.onsuccess =
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
'readwrite',
|
|
452
|
-
);
|
|
453
|
-
const result = await promiseAll(
|
|
454
|
-
arrayMap(
|
|
447
|
+
arrayMap(OBJECT_STORE_NAMES, (objectStoreName) =>
|
|
448
|
+
tryCatch(() =>
|
|
449
|
+
request.result.createObjectStore(objectStoreName, KEY_PATH),
|
|
450
|
+
),
|
|
451
|
+
);
|
|
452
|
+
request.onsuccess = () =>
|
|
453
|
+
tryCatch(
|
|
454
|
+
async () => {
|
|
455
|
+
const transaction = request.result.transaction(
|
|
455
456
|
OBJECT_STORE_NAMES,
|
|
456
|
-
|
|
457
|
-
|
|
457
|
+
'readwrite',
|
|
458
|
+
);
|
|
459
|
+
const result = await promiseAll(
|
|
460
|
+
arrayMap(OBJECT_STORE_NAMES, (objectStoreName, index) =>
|
|
461
|
+
forObjectStore(
|
|
458
462
|
transaction.objectStore(objectStoreName),
|
|
459
463
|
params[index],
|
|
460
464
|
),
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
465
|
+
),
|
|
466
|
+
);
|
|
467
|
+
request.result.close();
|
|
468
|
+
resolve(result);
|
|
469
|
+
},
|
|
470
|
+
(error) => {
|
|
471
|
+
request.result.close();
|
|
472
|
+
reject(error);
|
|
473
|
+
},
|
|
474
|
+
);
|
|
470
475
|
request.onerror = () => reject('indexedDB.open error');
|
|
471
476
|
});
|
|
472
477
|
const getPersisted = async () =>
|
|
@@ -478,10 +483,9 @@ const createIndexedDbPersister = (
|
|
|
478
483
|
]),
|
|
479
484
|
),
|
|
480
485
|
);
|
|
481
|
-
const setPersisted =
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
await objectStoreMatch(objectStore, content),
|
|
486
|
+
const setPersisted = (getContent) =>
|
|
487
|
+
forObjectStores(
|
|
488
|
+
(objectStore, content) => objectStoreMatch(objectStore, content),
|
|
485
489
|
getContent(),
|
|
486
490
|
1,
|
|
487
491
|
);
|