tinybase 6.1.0-beta.5 → 6.2.0-beta.0
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 -0
- package/@types/persisters/with-schemas/index.d.ts +91 -0
- package/@types/store/index.d.ts +123 -1
- package/@types/store/with-schemas/index.d.ts +159 -24
- package/@types/ui-react/index.d.ts +120 -0
- package/@types/ui-react/with-schemas/index.d.ts +179 -37
- package/index.js +73 -53
- package/mergeable-store/index.js +73 -53
- package/mergeable-store/with-schemas/index.js +73 -53
- 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/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/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 +6 -6
- package/persisters/index.js +33 -8
- package/persisters/persister-automerge/index.js +23 -3
- package/persisters/persister-automerge/with-schemas/index.js +23 -3
- package/persisters/persister-browser/index.js +23 -3
- package/persisters/persister-browser/with-schemas/index.js +23 -3
- package/persisters/persister-cr-sqlite-wasm/index.js +33 -8
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -8
- package/persisters/persister-durable-object-storage/index.js +23 -3
- package/persisters/persister-durable-object-storage/with-schemas/index.js +23 -3
- package/persisters/persister-electric-sql/index.js +33 -8
- package/persisters/persister-electric-sql/with-schemas/index.js +33 -8
- package/persisters/persister-expo-sqlite/index.js +33 -8
- package/persisters/persister-expo-sqlite/with-schemas/index.js +33 -8
- package/persisters/persister-file/index.js +23 -3
- package/persisters/persister-file/with-schemas/index.js +23 -3
- package/persisters/persister-indexed-db/index.js +23 -3
- package/persisters/persister-indexed-db/with-schemas/index.js +23 -3
- package/persisters/persister-libsql/index.js +33 -8
- package/persisters/persister-libsql/with-schemas/index.js +33 -8
- package/persisters/persister-partykit-client/index.js +23 -3
- package/persisters/persister-partykit-client/with-schemas/index.js +23 -3
- package/persisters/persister-pglite/index.js +33 -8
- package/persisters/persister-pglite/with-schemas/index.js +33 -8
- package/persisters/persister-postgres/index.js +33 -8
- package/persisters/persister-postgres/with-schemas/index.js +33 -8
- package/persisters/persister-powersync/index.js +33 -8
- package/persisters/persister-powersync/with-schemas/index.js +33 -8
- package/persisters/persister-remote/index.js +23 -3
- package/persisters/persister-remote/with-schemas/index.js +23 -3
- package/persisters/persister-sqlite-bun/index.js +33 -8
- package/persisters/persister-sqlite-bun/with-schemas/index.js +33 -8
- package/persisters/persister-sqlite-wasm/index.js +33 -8
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -8
- package/persisters/persister-sqlite3/index.js +33 -8
- package/persisters/persister-sqlite3/with-schemas/index.js +33 -8
- package/persisters/persister-yjs/index.js +23 -3
- package/persisters/persister-yjs/with-schemas/index.js +23 -3
- package/persisters/with-schemas/index.js +33 -8
- package/readme.md +17 -17
- package/releases.md +60 -36
- package/store/index.js +73 -53
- package/store/with-schemas/index.js +73 -53
- package/synchronizers/index.js +27 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +27 -9
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-local/index.js +27 -9
- package/synchronizers/synchronizer-local/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-client/index.js +27 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-server/index.js +27 -9
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +27 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +27 -9
- package/synchronizers/with-schemas/index.js +27 -9
- package/ui-react/index.js +84 -20
- package/ui-react/with-schemas/index.js +84 -20
- package/ui-react-dom/index.js +1 -1
- package/ui-react-dom/with-schemas/index.js +1 -1
- package/ui-react-inspector/index.js +97 -57
- package/ui-react-inspector/with-schemas/index.js +97 -57
- package/with-schemas/index.js +73 -53
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0-beta.0",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": "github:tinyplex/tinybase",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,15 +22,15 @@
|
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"@automerge/automerge-repo": "^1.2.1",
|
|
25
|
-
"@cloudflare/workers-types": "^4.
|
|
25
|
+
"@cloudflare/workers-types": "^4.20250515.0",
|
|
26
26
|
"@electric-sql/pglite": "^0.2.17",
|
|
27
|
-
"@libsql/client": "^0.15.
|
|
27
|
+
"@libsql/client": "^0.15.6",
|
|
28
28
|
"@powersync/common": "^1.30.0",
|
|
29
|
-
"@sqlite.org/sqlite-wasm": "^3.49.
|
|
29
|
+
"@sqlite.org/sqlite-wasm": "^3.49.2-build1",
|
|
30
30
|
"@vlcn.io/crsqlite-wasm": "^0.16.0",
|
|
31
31
|
"bun": "^1.2.13",
|
|
32
32
|
"electric-sql": "^0.12.1",
|
|
33
|
-
"expo": "^53.0.
|
|
33
|
+
"expo": "^53.0.9",
|
|
34
34
|
"expo-sqlite": "^15.2.10",
|
|
35
35
|
"partykit": "^0.0.114",
|
|
36
36
|
"partysocket": "^1.1.4",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"react-dom": "^19.0.0",
|
|
40
40
|
"sqlite3": "^5.1.7",
|
|
41
41
|
"ws": "^8.18.2",
|
|
42
|
-
"yjs": "^13.6.
|
|
42
|
+
"yjs": "^13.6.27"
|
|
43
43
|
},
|
|
44
44
|
"peerDependenciesMeta": {
|
|
45
45
|
"@automerge/automerge-repo": {
|
package/persisters/index.js
CHANGED
|
@@ -2,10 +2,13 @@ const getTypeOf = (thing) => typeof thing;
|
|
|
2
2
|
const TINYBASE = 'tinybase';
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const COMMA = ',';
|
|
5
|
+
const DOT = '.';
|
|
5
6
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
6
7
|
const TRUE = 'true';
|
|
7
8
|
const UNDEFINED = '\uFFFC';
|
|
8
9
|
const strMatch = (str, regex) => str?.match(regex);
|
|
10
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
11
|
+
str.split(separator, limit);
|
|
9
12
|
const strReplace = (str, searchValue, replaceValue) =>
|
|
10
13
|
str.replace(searchValue, replaceValue);
|
|
11
14
|
|
|
@@ -405,6 +408,25 @@ const createCustomPersister = (
|
|
|
405
408
|
return persister;
|
|
406
409
|
};
|
|
407
410
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
411
|
+
const startAutoPersisting = async (
|
|
412
|
+
initialContent,
|
|
413
|
+
startSaveFirst = false,
|
|
414
|
+
) => {
|
|
415
|
+
const [call1, call2] = startSaveFirst
|
|
416
|
+
? [startAutoSave, startAutoLoad]
|
|
417
|
+
: [startAutoLoad, startAutoSave];
|
|
418
|
+
await call1(initialContent);
|
|
419
|
+
await call2(initialContent);
|
|
420
|
+
return persister;
|
|
421
|
+
};
|
|
422
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
423
|
+
const [call1, call2] = stopSaveFirst
|
|
424
|
+
? [stopAutoSave, stopAutoLoad]
|
|
425
|
+
: [stopAutoLoad, stopAutoSave];
|
|
426
|
+
await call1();
|
|
427
|
+
await call2();
|
|
428
|
+
return persister;
|
|
429
|
+
};
|
|
408
430
|
const getStatus = () => status;
|
|
409
431
|
const addStatusListener = (listener) =>
|
|
410
432
|
addListener(listener, statusListeners);
|
|
@@ -418,10 +440,9 @@ const createCustomPersister = (
|
|
|
418
440
|
return persister;
|
|
419
441
|
};
|
|
420
442
|
const getStore = () => store;
|
|
421
|
-
const destroy =
|
|
443
|
+
const destroy = () => {
|
|
422
444
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
423
|
-
|
|
424
|
-
return await persister.stopAutoSave();
|
|
445
|
+
return stopAutoPersisting();
|
|
425
446
|
};
|
|
426
447
|
const getStats = () => ({loads, saves});
|
|
427
448
|
const persister = {
|
|
@@ -433,6 +454,8 @@ const createCustomPersister = (
|
|
|
433
454
|
startAutoSave,
|
|
434
455
|
stopAutoSave,
|
|
435
456
|
isAutoSaving,
|
|
457
|
+
startAutoPersisting,
|
|
458
|
+
stopAutoPersisting,
|
|
436
459
|
getStatus,
|
|
437
460
|
addStatusListener,
|
|
438
461
|
delListener,
|
|
@@ -491,7 +514,11 @@ const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
|
491
514
|
return await executeCommand(sql, params);
|
|
492
515
|
}
|
|
493
516
|
: executeCommand;
|
|
494
|
-
const escapeId = (str) =>
|
|
517
|
+
const escapeId = (str) =>
|
|
518
|
+
arrayJoin(
|
|
519
|
+
arrayMap(strSplit(str, DOT), (part) => `"${strReplace(part, /"/g, '""')}"`),
|
|
520
|
+
DOT,
|
|
521
|
+
);
|
|
495
522
|
const escapeIds = (...ids) => escapeId(arrayJoin(ids, '_'));
|
|
496
523
|
const escapeColumnNames = (...columnNames) =>
|
|
497
524
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
@@ -927,8 +954,7 @@ const createJsonPersister = (
|
|
|
927
954
|
);
|
|
928
955
|
});
|
|
929
956
|
const destroy = async () => {
|
|
930
|
-
await persister.
|
|
931
|
-
await persister.stopAutoSave();
|
|
957
|
+
await persister.stopAutoPersisting();
|
|
932
958
|
extraDestroy();
|
|
933
959
|
return persister;
|
|
934
960
|
};
|
|
@@ -1062,8 +1088,7 @@ const createTabularPersister = (
|
|
|
1062
1088
|
}
|
|
1063
1089
|
});
|
|
1064
1090
|
const destroy = async () => {
|
|
1065
|
-
await persister.
|
|
1066
|
-
await persister.stopAutoSave();
|
|
1091
|
+
await persister.stopAutoPersisting();
|
|
1067
1092
|
extraDestroy();
|
|
1068
1093
|
return persister;
|
|
1069
1094
|
};
|
|
@@ -373,6 +373,25 @@ const createCustomPersister = (
|
|
|
373
373
|
return persister;
|
|
374
374
|
};
|
|
375
375
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
376
|
+
const startAutoPersisting = async (
|
|
377
|
+
initialContent,
|
|
378
|
+
startSaveFirst = false,
|
|
379
|
+
) => {
|
|
380
|
+
const [call1, call2] = startSaveFirst
|
|
381
|
+
? [startAutoSave, startAutoLoad]
|
|
382
|
+
: [startAutoLoad, startAutoSave];
|
|
383
|
+
await call1(initialContent);
|
|
384
|
+
await call2(initialContent);
|
|
385
|
+
return persister;
|
|
386
|
+
};
|
|
387
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
388
|
+
const [call1, call2] = stopSaveFirst
|
|
389
|
+
? [stopAutoSave, stopAutoLoad]
|
|
390
|
+
: [stopAutoLoad, stopAutoSave];
|
|
391
|
+
await call1();
|
|
392
|
+
await call2();
|
|
393
|
+
return persister;
|
|
394
|
+
};
|
|
376
395
|
const getStatus = () => status;
|
|
377
396
|
const addStatusListener = (listener) =>
|
|
378
397
|
addListener(listener, statusListeners);
|
|
@@ -386,10 +405,9 @@ const createCustomPersister = (
|
|
|
386
405
|
return persister;
|
|
387
406
|
};
|
|
388
407
|
const getStore = () => store;
|
|
389
|
-
const destroy =
|
|
408
|
+
const destroy = () => {
|
|
390
409
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
391
|
-
|
|
392
|
-
return await persister.stopAutoSave();
|
|
410
|
+
return stopAutoPersisting();
|
|
393
411
|
};
|
|
394
412
|
const getStats = () => ({loads, saves});
|
|
395
413
|
const persister = {
|
|
@@ -401,6 +419,8 @@ const createCustomPersister = (
|
|
|
401
419
|
startAutoSave,
|
|
402
420
|
stopAutoSave,
|
|
403
421
|
isAutoSaving,
|
|
422
|
+
startAutoPersisting,
|
|
423
|
+
stopAutoPersisting,
|
|
404
424
|
getStatus,
|
|
405
425
|
addStatusListener,
|
|
406
426
|
delListener,
|
|
@@ -373,6 +373,25 @@ const createCustomPersister = (
|
|
|
373
373
|
return persister;
|
|
374
374
|
};
|
|
375
375
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
376
|
+
const startAutoPersisting = async (
|
|
377
|
+
initialContent,
|
|
378
|
+
startSaveFirst = false,
|
|
379
|
+
) => {
|
|
380
|
+
const [call1, call2] = startSaveFirst
|
|
381
|
+
? [startAutoSave, startAutoLoad]
|
|
382
|
+
: [startAutoLoad, startAutoSave];
|
|
383
|
+
await call1(initialContent);
|
|
384
|
+
await call2(initialContent);
|
|
385
|
+
return persister;
|
|
386
|
+
};
|
|
387
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
388
|
+
const [call1, call2] = stopSaveFirst
|
|
389
|
+
? [stopAutoSave, stopAutoLoad]
|
|
390
|
+
: [stopAutoLoad, stopAutoSave];
|
|
391
|
+
await call1();
|
|
392
|
+
await call2();
|
|
393
|
+
return persister;
|
|
394
|
+
};
|
|
376
395
|
const getStatus = () => status;
|
|
377
396
|
const addStatusListener = (listener) =>
|
|
378
397
|
addListener(listener, statusListeners);
|
|
@@ -386,10 +405,9 @@ const createCustomPersister = (
|
|
|
386
405
|
return persister;
|
|
387
406
|
};
|
|
388
407
|
const getStore = () => store;
|
|
389
|
-
const destroy =
|
|
408
|
+
const destroy = () => {
|
|
390
409
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
391
|
-
|
|
392
|
-
return await persister.stopAutoSave();
|
|
410
|
+
return stopAutoPersisting();
|
|
393
411
|
};
|
|
394
412
|
const getStats = () => ({loads, saves});
|
|
395
413
|
const persister = {
|
|
@@ -401,6 +419,8 @@ const createCustomPersister = (
|
|
|
401
419
|
startAutoSave,
|
|
402
420
|
stopAutoSave,
|
|
403
421
|
isAutoSaving,
|
|
422
|
+
startAutoPersisting,
|
|
423
|
+
stopAutoPersisting,
|
|
404
424
|
getStatus,
|
|
405
425
|
addStatusListener,
|
|
406
426
|
delListener,
|
|
@@ -363,6 +363,25 @@ const createCustomPersister = (
|
|
|
363
363
|
return persister;
|
|
364
364
|
};
|
|
365
365
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
366
|
+
const startAutoPersisting = async (
|
|
367
|
+
initialContent,
|
|
368
|
+
startSaveFirst = false,
|
|
369
|
+
) => {
|
|
370
|
+
const [call1, call2] = startSaveFirst
|
|
371
|
+
? [startAutoSave, startAutoLoad]
|
|
372
|
+
: [startAutoLoad, startAutoSave];
|
|
373
|
+
await call1(initialContent);
|
|
374
|
+
await call2(initialContent);
|
|
375
|
+
return persister;
|
|
376
|
+
};
|
|
377
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
378
|
+
const [call1, call2] = stopSaveFirst
|
|
379
|
+
? [stopAutoSave, stopAutoLoad]
|
|
380
|
+
: [stopAutoLoad, stopAutoSave];
|
|
381
|
+
await call1();
|
|
382
|
+
await call2();
|
|
383
|
+
return persister;
|
|
384
|
+
};
|
|
366
385
|
const getStatus = () => status;
|
|
367
386
|
const addStatusListener = (listener) =>
|
|
368
387
|
addListener(listener, statusListeners);
|
|
@@ -376,10 +395,9 @@ const createCustomPersister = (
|
|
|
376
395
|
return persister;
|
|
377
396
|
};
|
|
378
397
|
const getStore = () => store;
|
|
379
|
-
const destroy =
|
|
398
|
+
const destroy = () => {
|
|
380
399
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
381
|
-
|
|
382
|
-
return await persister.stopAutoSave();
|
|
400
|
+
return stopAutoPersisting();
|
|
383
401
|
};
|
|
384
402
|
const getStats = () => ({loads, saves});
|
|
385
403
|
const persister = {
|
|
@@ -391,6 +409,8 @@ const createCustomPersister = (
|
|
|
391
409
|
startAutoSave,
|
|
392
410
|
stopAutoSave,
|
|
393
411
|
isAutoSaving,
|
|
412
|
+
startAutoPersisting,
|
|
413
|
+
stopAutoPersisting,
|
|
394
414
|
getStatus,
|
|
395
415
|
addStatusListener,
|
|
396
416
|
delListener,
|
|
@@ -363,6 +363,25 @@ const createCustomPersister = (
|
|
|
363
363
|
return persister;
|
|
364
364
|
};
|
|
365
365
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
366
|
+
const startAutoPersisting = async (
|
|
367
|
+
initialContent,
|
|
368
|
+
startSaveFirst = false,
|
|
369
|
+
) => {
|
|
370
|
+
const [call1, call2] = startSaveFirst
|
|
371
|
+
? [startAutoSave, startAutoLoad]
|
|
372
|
+
: [startAutoLoad, startAutoSave];
|
|
373
|
+
await call1(initialContent);
|
|
374
|
+
await call2(initialContent);
|
|
375
|
+
return persister;
|
|
376
|
+
};
|
|
377
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
378
|
+
const [call1, call2] = stopSaveFirst
|
|
379
|
+
? [stopAutoSave, stopAutoLoad]
|
|
380
|
+
: [stopAutoLoad, stopAutoSave];
|
|
381
|
+
await call1();
|
|
382
|
+
await call2();
|
|
383
|
+
return persister;
|
|
384
|
+
};
|
|
366
385
|
const getStatus = () => status;
|
|
367
386
|
const addStatusListener = (listener) =>
|
|
368
387
|
addListener(listener, statusListeners);
|
|
@@ -376,10 +395,9 @@ const createCustomPersister = (
|
|
|
376
395
|
return persister;
|
|
377
396
|
};
|
|
378
397
|
const getStore = () => store;
|
|
379
|
-
const destroy =
|
|
398
|
+
const destroy = () => {
|
|
380
399
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
381
|
-
|
|
382
|
-
return await persister.stopAutoSave();
|
|
400
|
+
return stopAutoPersisting();
|
|
383
401
|
};
|
|
384
402
|
const getStats = () => ({loads, saves});
|
|
385
403
|
const persister = {
|
|
@@ -391,6 +409,8 @@ const createCustomPersister = (
|
|
|
391
409
|
startAutoSave,
|
|
392
410
|
stopAutoSave,
|
|
393
411
|
isAutoSaving,
|
|
412
|
+
startAutoPersisting,
|
|
413
|
+
stopAutoPersisting,
|
|
394
414
|
getStatus,
|
|
395
415
|
addStatusListener,
|
|
396
416
|
delListener,
|
|
@@ -2,9 +2,12 @@ const getTypeOf = (thing) => typeof thing;
|
|
|
2
2
|
const TINYBASE = 'tinybase';
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const COMMA = ',';
|
|
5
|
+
const DOT = '.';
|
|
5
6
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
6
7
|
const TRUE = 'true';
|
|
7
8
|
const UNDEFINED = '\uFFFC';
|
|
9
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
10
|
+
str.split(separator, limit);
|
|
8
11
|
const strReplace = (str, searchValue, replaceValue) =>
|
|
9
12
|
str.replace(searchValue, replaceValue);
|
|
10
13
|
|
|
@@ -79,7 +82,11 @@ const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
|
79
82
|
return await executeCommand(sql, params);
|
|
80
83
|
}
|
|
81
84
|
: executeCommand;
|
|
82
|
-
const escapeId = (str) =>
|
|
85
|
+
const escapeId = (str) =>
|
|
86
|
+
arrayJoin(
|
|
87
|
+
arrayMap(strSplit(str, DOT), (part) => `"${strReplace(part, /"/g, '""')}"`),
|
|
88
|
+
DOT,
|
|
89
|
+
);
|
|
83
90
|
const escapeColumnNames = (...columnNames) =>
|
|
84
91
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
85
92
|
const getPlaceholders = (array, offset = [1]) =>
|
|
@@ -557,6 +564,25 @@ const createCustomPersister = (
|
|
|
557
564
|
return persister;
|
|
558
565
|
};
|
|
559
566
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
567
|
+
const startAutoPersisting = async (
|
|
568
|
+
initialContent,
|
|
569
|
+
startSaveFirst = false,
|
|
570
|
+
) => {
|
|
571
|
+
const [call1, call2] = startSaveFirst
|
|
572
|
+
? [startAutoSave, startAutoLoad]
|
|
573
|
+
: [startAutoLoad, startAutoSave];
|
|
574
|
+
await call1(initialContent);
|
|
575
|
+
await call2(initialContent);
|
|
576
|
+
return persister;
|
|
577
|
+
};
|
|
578
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
579
|
+
const [call1, call2] = stopSaveFirst
|
|
580
|
+
? [stopAutoSave, stopAutoLoad]
|
|
581
|
+
: [stopAutoLoad, stopAutoSave];
|
|
582
|
+
await call1();
|
|
583
|
+
await call2();
|
|
584
|
+
return persister;
|
|
585
|
+
};
|
|
560
586
|
const getStatus = () => status;
|
|
561
587
|
const addStatusListener = (listener) =>
|
|
562
588
|
addListener(listener, statusListeners);
|
|
@@ -570,10 +596,9 @@ const createCustomPersister = (
|
|
|
570
596
|
return persister;
|
|
571
597
|
};
|
|
572
598
|
const getStore = () => store;
|
|
573
|
-
const destroy =
|
|
599
|
+
const destroy = () => {
|
|
574
600
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
575
|
-
|
|
576
|
-
return await persister.stopAutoSave();
|
|
601
|
+
return stopAutoPersisting();
|
|
577
602
|
};
|
|
578
603
|
const getStats = () => ({loads, saves});
|
|
579
604
|
const persister = {
|
|
@@ -585,6 +610,8 @@ const createCustomPersister = (
|
|
|
585
610
|
startAutoSave,
|
|
586
611
|
stopAutoSave,
|
|
587
612
|
isAutoSaving,
|
|
613
|
+
startAutoPersisting,
|
|
614
|
+
stopAutoPersisting,
|
|
588
615
|
getStatus,
|
|
589
616
|
addStatusListener,
|
|
590
617
|
delListener,
|
|
@@ -902,8 +929,7 @@ const createJsonPersister = (
|
|
|
902
929
|
);
|
|
903
930
|
});
|
|
904
931
|
const destroy = async () => {
|
|
905
|
-
await persister.
|
|
906
|
-
await persister.stopAutoSave();
|
|
932
|
+
await persister.stopAutoPersisting();
|
|
907
933
|
extraDestroy();
|
|
908
934
|
return persister;
|
|
909
935
|
};
|
|
@@ -1037,8 +1063,7 @@ const createTabularPersister = (
|
|
|
1037
1063
|
}
|
|
1038
1064
|
});
|
|
1039
1065
|
const destroy = async () => {
|
|
1040
|
-
await persister.
|
|
1041
|
-
await persister.stopAutoSave();
|
|
1066
|
+
await persister.stopAutoPersisting();
|
|
1042
1067
|
extraDestroy();
|
|
1043
1068
|
return persister;
|
|
1044
1069
|
};
|
|
@@ -2,9 +2,12 @@ const getTypeOf = (thing) => typeof thing;
|
|
|
2
2
|
const TINYBASE = 'tinybase';
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const COMMA = ',';
|
|
5
|
+
const DOT = '.';
|
|
5
6
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
6
7
|
const TRUE = 'true';
|
|
7
8
|
const UNDEFINED = '\uFFFC';
|
|
9
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
10
|
+
str.split(separator, limit);
|
|
8
11
|
const strReplace = (str, searchValue, replaceValue) =>
|
|
9
12
|
str.replace(searchValue, replaceValue);
|
|
10
13
|
|
|
@@ -79,7 +82,11 @@ const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
|
79
82
|
return await executeCommand(sql, params);
|
|
80
83
|
}
|
|
81
84
|
: executeCommand;
|
|
82
|
-
const escapeId = (str) =>
|
|
85
|
+
const escapeId = (str) =>
|
|
86
|
+
arrayJoin(
|
|
87
|
+
arrayMap(strSplit(str, DOT), (part) => `"${strReplace(part, /"/g, '""')}"`),
|
|
88
|
+
DOT,
|
|
89
|
+
);
|
|
83
90
|
const escapeColumnNames = (...columnNames) =>
|
|
84
91
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
85
92
|
const getPlaceholders = (array, offset = [1]) =>
|
|
@@ -557,6 +564,25 @@ const createCustomPersister = (
|
|
|
557
564
|
return persister;
|
|
558
565
|
};
|
|
559
566
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
567
|
+
const startAutoPersisting = async (
|
|
568
|
+
initialContent,
|
|
569
|
+
startSaveFirst = false,
|
|
570
|
+
) => {
|
|
571
|
+
const [call1, call2] = startSaveFirst
|
|
572
|
+
? [startAutoSave, startAutoLoad]
|
|
573
|
+
: [startAutoLoad, startAutoSave];
|
|
574
|
+
await call1(initialContent);
|
|
575
|
+
await call2(initialContent);
|
|
576
|
+
return persister;
|
|
577
|
+
};
|
|
578
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
579
|
+
const [call1, call2] = stopSaveFirst
|
|
580
|
+
? [stopAutoSave, stopAutoLoad]
|
|
581
|
+
: [stopAutoLoad, stopAutoSave];
|
|
582
|
+
await call1();
|
|
583
|
+
await call2();
|
|
584
|
+
return persister;
|
|
585
|
+
};
|
|
560
586
|
const getStatus = () => status;
|
|
561
587
|
const addStatusListener = (listener) =>
|
|
562
588
|
addListener(listener, statusListeners);
|
|
@@ -570,10 +596,9 @@ const createCustomPersister = (
|
|
|
570
596
|
return persister;
|
|
571
597
|
};
|
|
572
598
|
const getStore = () => store;
|
|
573
|
-
const destroy =
|
|
599
|
+
const destroy = () => {
|
|
574
600
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
575
|
-
|
|
576
|
-
return await persister.stopAutoSave();
|
|
601
|
+
return stopAutoPersisting();
|
|
577
602
|
};
|
|
578
603
|
const getStats = () => ({loads, saves});
|
|
579
604
|
const persister = {
|
|
@@ -585,6 +610,8 @@ const createCustomPersister = (
|
|
|
585
610
|
startAutoSave,
|
|
586
611
|
stopAutoSave,
|
|
587
612
|
isAutoSaving,
|
|
613
|
+
startAutoPersisting,
|
|
614
|
+
stopAutoPersisting,
|
|
588
615
|
getStatus,
|
|
589
616
|
addStatusListener,
|
|
590
617
|
delListener,
|
|
@@ -902,8 +929,7 @@ const createJsonPersister = (
|
|
|
902
929
|
);
|
|
903
930
|
});
|
|
904
931
|
const destroy = async () => {
|
|
905
|
-
await persister.
|
|
906
|
-
await persister.stopAutoSave();
|
|
932
|
+
await persister.stopAutoPersisting();
|
|
907
933
|
extraDestroy();
|
|
908
934
|
return persister;
|
|
909
935
|
};
|
|
@@ -1037,8 +1063,7 @@ const createTabularPersister = (
|
|
|
1037
1063
|
}
|
|
1038
1064
|
});
|
|
1039
1065
|
const destroy = async () => {
|
|
1040
|
-
await persister.
|
|
1041
|
-
await persister.stopAutoSave();
|
|
1066
|
+
await persister.stopAutoPersisting();
|
|
1042
1067
|
extraDestroy();
|
|
1043
1068
|
return persister;
|
|
1044
1069
|
};
|
|
@@ -393,6 +393,25 @@ const createCustomPersister = (
|
|
|
393
393
|
return persister;
|
|
394
394
|
};
|
|
395
395
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
396
|
+
const startAutoPersisting = async (
|
|
397
|
+
initialContent,
|
|
398
|
+
startSaveFirst = false,
|
|
399
|
+
) => {
|
|
400
|
+
const [call1, call2] = startSaveFirst
|
|
401
|
+
? [startAutoSave, startAutoLoad]
|
|
402
|
+
: [startAutoLoad, startAutoSave];
|
|
403
|
+
await call1(initialContent);
|
|
404
|
+
await call2(initialContent);
|
|
405
|
+
return persister;
|
|
406
|
+
};
|
|
407
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
408
|
+
const [call1, call2] = stopSaveFirst
|
|
409
|
+
? [stopAutoSave, stopAutoLoad]
|
|
410
|
+
: [stopAutoLoad, stopAutoSave];
|
|
411
|
+
await call1();
|
|
412
|
+
await call2();
|
|
413
|
+
return persister;
|
|
414
|
+
};
|
|
396
415
|
const getStatus = () => status;
|
|
397
416
|
const addStatusListener = (listener) =>
|
|
398
417
|
addListener(listener, statusListeners);
|
|
@@ -406,10 +425,9 @@ const createCustomPersister = (
|
|
|
406
425
|
return persister;
|
|
407
426
|
};
|
|
408
427
|
const getStore = () => store;
|
|
409
|
-
const destroy =
|
|
428
|
+
const destroy = () => {
|
|
410
429
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
411
|
-
|
|
412
|
-
return await persister.stopAutoSave();
|
|
430
|
+
return stopAutoPersisting();
|
|
413
431
|
};
|
|
414
432
|
const getStats = () => ({loads, saves});
|
|
415
433
|
const persister = {
|
|
@@ -421,6 +439,8 @@ const createCustomPersister = (
|
|
|
421
439
|
startAutoSave,
|
|
422
440
|
stopAutoSave,
|
|
423
441
|
isAutoSaving,
|
|
442
|
+
startAutoPersisting,
|
|
443
|
+
stopAutoPersisting,
|
|
424
444
|
getStatus,
|
|
425
445
|
addStatusListener,
|
|
426
446
|
delListener,
|
|
@@ -393,6 +393,25 @@ const createCustomPersister = (
|
|
|
393
393
|
return persister;
|
|
394
394
|
};
|
|
395
395
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
396
|
+
const startAutoPersisting = async (
|
|
397
|
+
initialContent,
|
|
398
|
+
startSaveFirst = false,
|
|
399
|
+
) => {
|
|
400
|
+
const [call1, call2] = startSaveFirst
|
|
401
|
+
? [startAutoSave, startAutoLoad]
|
|
402
|
+
: [startAutoLoad, startAutoSave];
|
|
403
|
+
await call1(initialContent);
|
|
404
|
+
await call2(initialContent);
|
|
405
|
+
return persister;
|
|
406
|
+
};
|
|
407
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
408
|
+
const [call1, call2] = stopSaveFirst
|
|
409
|
+
? [stopAutoSave, stopAutoLoad]
|
|
410
|
+
: [stopAutoLoad, stopAutoSave];
|
|
411
|
+
await call1();
|
|
412
|
+
await call2();
|
|
413
|
+
return persister;
|
|
414
|
+
};
|
|
396
415
|
const getStatus = () => status;
|
|
397
416
|
const addStatusListener = (listener) =>
|
|
398
417
|
addListener(listener, statusListeners);
|
|
@@ -406,10 +425,9 @@ const createCustomPersister = (
|
|
|
406
425
|
return persister;
|
|
407
426
|
};
|
|
408
427
|
const getStore = () => store;
|
|
409
|
-
const destroy =
|
|
428
|
+
const destroy = () => {
|
|
410
429
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
411
|
-
|
|
412
|
-
return await persister.stopAutoSave();
|
|
430
|
+
return stopAutoPersisting();
|
|
413
431
|
};
|
|
414
432
|
const getStats = () => ({loads, saves});
|
|
415
433
|
const persister = {
|
|
@@ -421,6 +439,8 @@ const createCustomPersister = (
|
|
|
421
439
|
startAutoSave,
|
|
422
440
|
stopAutoSave,
|
|
423
441
|
isAutoSaving,
|
|
442
|
+
startAutoPersisting,
|
|
443
|
+
stopAutoPersisting,
|
|
424
444
|
getStatus,
|
|
425
445
|
addStatusListener,
|
|
426
446
|
delListener,
|
|
@@ -2,9 +2,12 @@ const getTypeOf = (thing) => typeof thing;
|
|
|
2
2
|
const TINYBASE = 'tinybase';
|
|
3
3
|
const EMPTY_STRING = '';
|
|
4
4
|
const COMMA = ',';
|
|
5
|
+
const DOT = '.';
|
|
5
6
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
6
7
|
const TRUE = 'true';
|
|
7
8
|
const UNDEFINED = '\uFFFC';
|
|
9
|
+
const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
10
|
+
str.split(separator, limit);
|
|
8
11
|
const strReplace = (str, searchValue, replaceValue) =>
|
|
9
12
|
str.replace(searchValue, replaceValue);
|
|
10
13
|
|
|
@@ -79,7 +82,11 @@ const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
|
79
82
|
return await executeCommand(sql, params);
|
|
80
83
|
}
|
|
81
84
|
: executeCommand;
|
|
82
|
-
const escapeId = (str) =>
|
|
85
|
+
const escapeId = (str) =>
|
|
86
|
+
arrayJoin(
|
|
87
|
+
arrayMap(strSplit(str, DOT), (part) => `"${strReplace(part, /"/g, '""')}"`),
|
|
88
|
+
DOT,
|
|
89
|
+
);
|
|
83
90
|
const escapeColumnNames = (...columnNames) =>
|
|
84
91
|
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
85
92
|
const getPlaceholders = (array, offset = [1]) =>
|
|
@@ -557,6 +564,25 @@ const createCustomPersister = (
|
|
|
557
564
|
return persister;
|
|
558
565
|
};
|
|
559
566
|
const isAutoSaving = () => !isUndefined(autoSaveListenerId);
|
|
567
|
+
const startAutoPersisting = async (
|
|
568
|
+
initialContent,
|
|
569
|
+
startSaveFirst = false,
|
|
570
|
+
) => {
|
|
571
|
+
const [call1, call2] = startSaveFirst
|
|
572
|
+
? [startAutoSave, startAutoLoad]
|
|
573
|
+
: [startAutoLoad, startAutoSave];
|
|
574
|
+
await call1(initialContent);
|
|
575
|
+
await call2(initialContent);
|
|
576
|
+
return persister;
|
|
577
|
+
};
|
|
578
|
+
const stopAutoPersisting = async (stopSaveFirst = false) => {
|
|
579
|
+
const [call1, call2] = stopSaveFirst
|
|
580
|
+
? [stopAutoSave, stopAutoLoad]
|
|
581
|
+
: [stopAutoLoad, stopAutoSave];
|
|
582
|
+
await call1();
|
|
583
|
+
await call2();
|
|
584
|
+
return persister;
|
|
585
|
+
};
|
|
560
586
|
const getStatus = () => status;
|
|
561
587
|
const addStatusListener = (listener) =>
|
|
562
588
|
addListener(listener, statusListeners);
|
|
@@ -570,10 +596,9 @@ const createCustomPersister = (
|
|
|
570
596
|
return persister;
|
|
571
597
|
};
|
|
572
598
|
const getStore = () => store;
|
|
573
|
-
const destroy =
|
|
599
|
+
const destroy = () => {
|
|
574
600
|
arrayClear(mapGet(scheduleActions, scheduleId));
|
|
575
|
-
|
|
576
|
-
return await persister.stopAutoSave();
|
|
601
|
+
return stopAutoPersisting();
|
|
577
602
|
};
|
|
578
603
|
const getStats = () => ({loads, saves});
|
|
579
604
|
const persister = {
|
|
@@ -585,6 +610,8 @@ const createCustomPersister = (
|
|
|
585
610
|
startAutoSave,
|
|
586
611
|
stopAutoSave,
|
|
587
612
|
isAutoSaving,
|
|
613
|
+
startAutoPersisting,
|
|
614
|
+
stopAutoPersisting,
|
|
588
615
|
getStatus,
|
|
589
616
|
addStatusListener,
|
|
590
617
|
delListener,
|
|
@@ -902,8 +929,7 @@ const createJsonPersister = (
|
|
|
902
929
|
);
|
|
903
930
|
});
|
|
904
931
|
const destroy = async () => {
|
|
905
|
-
await persister.
|
|
906
|
-
await persister.stopAutoSave();
|
|
932
|
+
await persister.stopAutoPersisting();
|
|
907
933
|
extraDestroy();
|
|
908
934
|
return persister;
|
|
909
935
|
};
|
|
@@ -1037,8 +1063,7 @@ const createTabularPersister = (
|
|
|
1037
1063
|
}
|
|
1038
1064
|
});
|
|
1039
1065
|
const destroy = async () => {
|
|
1040
|
-
await persister.
|
|
1041
|
-
await persister.stopAutoSave();
|
|
1066
|
+
await persister.stopAutoPersisting();
|
|
1042
1067
|
extraDestroy();
|
|
1043
1068
|
return persister;
|
|
1044
1069
|
};
|