tinybase 7.3.3 → 7.3.4
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/checkpoints/index.js +12 -11
- package/checkpoints/with-schemas/index.js +12 -11
- package/common/index.js +3 -2
- package/common/with-schemas/index.js +3 -2
- package/index.js +92 -64
- package/indexes/index.js +13 -12
- package/indexes/with-schemas/index.js +13 -12
- package/mergeable-store/index.js +92 -64
- package/mergeable-store/with-schemas/index.js +92 -64
- package/metrics/index.js +13 -12
- package/metrics/with-schemas/index.js +13 -12
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/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/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/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-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/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-react-native-mmkv/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/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/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/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/omni/index.js +99 -64
- package/omni/with-schemas/index.js +99 -64
- package/package.json +3 -3
- package/persisters/index.js +19 -11
- package/persisters/persister-automerge/index.js +17 -9
- package/persisters/persister-automerge/with-schemas/index.js +17 -9
- package/persisters/persister-browser/index.js +17 -9
- package/persisters/persister-browser/with-schemas/index.js +17 -9
- package/persisters/persister-cr-sqlite-wasm/index.js +19 -11
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +19 -11
- package/persisters/persister-durable-object-sql-storage/index.js +19 -11
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +19 -11
- package/persisters/persister-durable-object-storage/index.js +19 -11
- package/persisters/persister-durable-object-storage/with-schemas/index.js +19 -11
- package/persisters/persister-electric-sql/index.js +19 -11
- package/persisters/persister-electric-sql/with-schemas/index.js +19 -11
- package/persisters/persister-expo-sqlite/index.js +19 -11
- package/persisters/persister-expo-sqlite/with-schemas/index.js +19 -11
- package/persisters/persister-file/index.js +17 -9
- package/persisters/persister-file/with-schemas/index.js +17 -9
- package/persisters/persister-indexed-db/index.js +17 -9
- package/persisters/persister-indexed-db/with-schemas/index.js +17 -9
- package/persisters/persister-libsql/index.js +19 -11
- package/persisters/persister-libsql/with-schemas/index.js +19 -11
- package/persisters/persister-partykit-client/index.js +17 -9
- package/persisters/persister-partykit-client/with-schemas/index.js +17 -9
- package/persisters/persister-partykit-server/index.js +2 -2
- package/persisters/persister-partykit-server/with-schemas/index.js +2 -2
- package/persisters/persister-pglite/index.js +19 -11
- package/persisters/persister-pglite/with-schemas/index.js +19 -11
- package/persisters/persister-postgres/index.js +19 -11
- package/persisters/persister-postgres/with-schemas/index.js +19 -11
- package/persisters/persister-powersync/index.js +19 -11
- package/persisters/persister-powersync/with-schemas/index.js +19 -11
- package/persisters/persister-react-native-mmkv/index.js +17 -9
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +17 -9
- package/persisters/persister-react-native-sqlite/index.js +19 -11
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +19 -11
- package/persisters/persister-remote/index.js +17 -9
- package/persisters/persister-remote/with-schemas/index.js +17 -9
- package/persisters/persister-sqlite-bun/index.js +19 -11
- package/persisters/persister-sqlite-bun/with-schemas/index.js +19 -11
- package/persisters/persister-sqlite-wasm/index.js +19 -11
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +19 -11
- package/persisters/persister-sqlite3/index.js +19 -11
- package/persisters/persister-sqlite3/with-schemas/index.js +19 -11
- package/persisters/persister-yjs/index.js +19 -11
- package/persisters/persister-yjs/with-schemas/index.js +19 -11
- package/persisters/with-schemas/index.js +19 -11
- package/queries/index.js +15 -14
- package/queries/with-schemas/index.js +15 -14
- package/readme.md +2 -2
- package/relationships/index.js +13 -12
- package/relationships/with-schemas/index.js +13 -12
- package/store/index.js +74 -60
- package/store/with-schemas/index.js +74 -60
- package/synchronizers/index.js +17 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +17 -9
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +17 -9
- package/synchronizers/synchronizer-local/index.js +19 -11
- package/synchronizers/synchronizer-local/with-schemas/index.js +19 -11
- package/synchronizers/synchronizer-ws-client/index.js +17 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +17 -9
- package/synchronizers/synchronizer-ws-server/index.js +20 -12
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +20 -12
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +17 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +17 -9
- package/synchronizers/synchronizer-ws-server-simple/index.js +11 -10
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +11 -10
- package/synchronizers/with-schemas/index.js +17 -9
- package/ui-react-inspector/index.js +81 -60
- package/ui-react-inspector/with-schemas/index.js +81 -60
- package/with-schemas/index.js +92 -64
|
@@ -79,17 +79,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
79
79
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
80
80
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
81
81
|
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
const map = Map;
|
|
83
|
+
const mapNew = (entries) => new map(entries);
|
|
84
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
85
|
+
const mapSet = (map2, key, value) =>
|
|
86
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
87
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
88
|
+
if (!collHas(map2, key)) {
|
|
89
|
+
mapSet(map2, key, getDefaultValue());
|
|
89
90
|
} else {
|
|
90
|
-
hadExistingValue?.(mapGet(
|
|
91
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
91
92
|
}
|
|
92
|
-
return mapGet(
|
|
93
|
+
return mapGet(map2, key);
|
|
93
94
|
};
|
|
94
95
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
95
96
|
ifNotUndefined(
|
|
@@ -291,6 +292,11 @@ const createCustomPersister = (
|
|
|
291
292
|
? store.applyChanges
|
|
292
293
|
: store.setContent)(contentOrChanges);
|
|
293
294
|
};
|
|
295
|
+
const saveAfterMutated = async () => {
|
|
296
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
297
|
+
await save();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
294
300
|
const load = async (initialContent) => {
|
|
295
301
|
/* istanbul ignore else */
|
|
296
302
|
if (status != 2 /* Saving */) {
|
|
@@ -315,6 +321,7 @@ const createCustomPersister = (
|
|
|
315
321
|
},
|
|
316
322
|
);
|
|
317
323
|
setStatus(0 /* Idle */);
|
|
324
|
+
await saveAfterMutated();
|
|
318
325
|
});
|
|
319
326
|
}
|
|
320
327
|
return persister;
|
|
@@ -333,6 +340,7 @@ const createCustomPersister = (
|
|
|
333
340
|
loads++;
|
|
334
341
|
setContentOrChanges(changes ?? content);
|
|
335
342
|
setStatus(0 /* Idle */);
|
|
343
|
+
await saveAfterMutated();
|
|
336
344
|
}
|
|
337
345
|
} else {
|
|
338
346
|
await load();
|
|
@@ -79,17 +79,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
79
79
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
80
80
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
81
81
|
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
const map = Map;
|
|
83
|
+
const mapNew = (entries) => new map(entries);
|
|
84
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
85
|
+
const mapSet = (map2, key, value) =>
|
|
86
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
87
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
88
|
+
if (!collHas(map2, key)) {
|
|
89
|
+
mapSet(map2, key, getDefaultValue());
|
|
89
90
|
} else {
|
|
90
|
-
hadExistingValue?.(mapGet(
|
|
91
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
91
92
|
}
|
|
92
|
-
return mapGet(
|
|
93
|
+
return mapGet(map2, key);
|
|
93
94
|
};
|
|
94
95
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
95
96
|
ifNotUndefined(
|
|
@@ -291,6 +292,11 @@ const createCustomPersister = (
|
|
|
291
292
|
? store.applyChanges
|
|
292
293
|
: store.setContent)(contentOrChanges);
|
|
293
294
|
};
|
|
295
|
+
const saveAfterMutated = async () => {
|
|
296
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
297
|
+
await save();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
294
300
|
const load = async (initialContent) => {
|
|
295
301
|
/* istanbul ignore else */
|
|
296
302
|
if (status != 2 /* Saving */) {
|
|
@@ -315,6 +321,7 @@ const createCustomPersister = (
|
|
|
315
321
|
},
|
|
316
322
|
);
|
|
317
323
|
setStatus(0 /* Idle */);
|
|
324
|
+
await saveAfterMutated();
|
|
318
325
|
});
|
|
319
326
|
}
|
|
320
327
|
return persister;
|
|
@@ -333,6 +340,7 @@ const createCustomPersister = (
|
|
|
333
340
|
loads++;
|
|
334
341
|
setContentOrChanges(changes ?? content);
|
|
335
342
|
setStatus(0 /* Idle */);
|
|
343
|
+
await saveAfterMutated();
|
|
336
344
|
}
|
|
337
345
|
} else {
|
|
338
346
|
await load();
|
|
@@ -69,17 +69,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
69
69
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
70
70
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
71
71
|
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
const map = Map;
|
|
73
|
+
const mapNew = (entries) => new map(entries);
|
|
74
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
75
|
+
const mapSet = (map2, key, value) =>
|
|
76
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
77
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
78
|
+
if (!collHas(map2, key)) {
|
|
79
|
+
mapSet(map2, key, getDefaultValue());
|
|
79
80
|
} else {
|
|
80
|
-
hadExistingValue?.(mapGet(
|
|
81
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
81
82
|
}
|
|
82
|
-
return mapGet(
|
|
83
|
+
return mapGet(map2, key);
|
|
83
84
|
};
|
|
84
85
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
85
86
|
ifNotUndefined(
|
|
@@ -281,6 +282,11 @@ const createCustomPersister = (
|
|
|
281
282
|
? store.applyChanges
|
|
282
283
|
: store.setContent)(contentOrChanges);
|
|
283
284
|
};
|
|
285
|
+
const saveAfterMutated = async () => {
|
|
286
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
287
|
+
await save();
|
|
288
|
+
}
|
|
289
|
+
};
|
|
284
290
|
const load = async (initialContent) => {
|
|
285
291
|
/* istanbul ignore else */
|
|
286
292
|
if (status != 2 /* Saving */) {
|
|
@@ -305,6 +311,7 @@ const createCustomPersister = (
|
|
|
305
311
|
},
|
|
306
312
|
);
|
|
307
313
|
setStatus(0 /* Idle */);
|
|
314
|
+
await saveAfterMutated();
|
|
308
315
|
});
|
|
309
316
|
}
|
|
310
317
|
return persister;
|
|
@@ -323,6 +330,7 @@ const createCustomPersister = (
|
|
|
323
330
|
loads++;
|
|
324
331
|
setContentOrChanges(changes ?? content);
|
|
325
332
|
setStatus(0 /* Idle */);
|
|
333
|
+
await saveAfterMutated();
|
|
326
334
|
}
|
|
327
335
|
} else {
|
|
328
336
|
await load();
|
|
@@ -69,17 +69,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
69
69
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
70
70
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
71
71
|
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
const map = Map;
|
|
73
|
+
const mapNew = (entries) => new map(entries);
|
|
74
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
75
|
+
const mapSet = (map2, key, value) =>
|
|
76
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
77
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
78
|
+
if (!collHas(map2, key)) {
|
|
79
|
+
mapSet(map2, key, getDefaultValue());
|
|
79
80
|
} else {
|
|
80
|
-
hadExistingValue?.(mapGet(
|
|
81
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
81
82
|
}
|
|
82
|
-
return mapGet(
|
|
83
|
+
return mapGet(map2, key);
|
|
83
84
|
};
|
|
84
85
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
85
86
|
ifNotUndefined(
|
|
@@ -281,6 +282,11 @@ const createCustomPersister = (
|
|
|
281
282
|
? store.applyChanges
|
|
282
283
|
: store.setContent)(contentOrChanges);
|
|
283
284
|
};
|
|
285
|
+
const saveAfterMutated = async () => {
|
|
286
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
287
|
+
await save();
|
|
288
|
+
}
|
|
289
|
+
};
|
|
284
290
|
const load = async (initialContent) => {
|
|
285
291
|
/* istanbul ignore else */
|
|
286
292
|
if (status != 2 /* Saving */) {
|
|
@@ -305,6 +311,7 @@ const createCustomPersister = (
|
|
|
305
311
|
},
|
|
306
312
|
);
|
|
307
313
|
setStatus(0 /* Idle */);
|
|
314
|
+
await saveAfterMutated();
|
|
308
315
|
});
|
|
309
316
|
}
|
|
310
317
|
return persister;
|
|
@@ -323,6 +330,7 @@ const createCustomPersister = (
|
|
|
323
330
|
loads++;
|
|
324
331
|
setContentOrChanges(changes ?? content);
|
|
325
332
|
setStatus(0 /* Idle */);
|
|
333
|
+
await saveAfterMutated();
|
|
326
334
|
}
|
|
327
335
|
} else {
|
|
328
336
|
await load();
|
|
@@ -135,21 +135,22 @@ const objValues = (obj) => object.values(obj);
|
|
|
135
135
|
const objSize = (obj) => size(objIds(obj));
|
|
136
136
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
137
137
|
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
|
|
138
|
+
const map = Map;
|
|
139
|
+
const mapNew = (entries) => new map(entries);
|
|
140
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
141
|
+
const mapForEach = (map2, cb) =>
|
|
142
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
142
143
|
const mapMap = (coll, cb) =>
|
|
143
144
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
144
|
-
const mapSet = (
|
|
145
|
-
isUndefined(value) ? (collDel(
|
|
146
|
-
const mapEnsure = (
|
|
147
|
-
if (!collHas(
|
|
148
|
-
mapSet(
|
|
145
|
+
const mapSet = (map2, key, value) =>
|
|
146
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
147
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
148
|
+
if (!collHas(map2, key)) {
|
|
149
|
+
mapSet(map2, key, getDefaultValue());
|
|
149
150
|
} else {
|
|
150
|
-
hadExistingValue?.(mapGet(
|
|
151
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
151
152
|
}
|
|
152
|
-
return mapGet(
|
|
153
|
+
return mapGet(map2, key);
|
|
153
154
|
};
|
|
154
155
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
155
156
|
ifNotUndefined(
|
|
@@ -485,6 +486,11 @@ const createCustomPersister = (
|
|
|
485
486
|
? store.applyChanges
|
|
486
487
|
: store.setContent)(contentOrChanges);
|
|
487
488
|
};
|
|
489
|
+
const saveAfterMutated = async () => {
|
|
490
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
491
|
+
await save();
|
|
492
|
+
}
|
|
493
|
+
};
|
|
488
494
|
const load = async (initialContent) => {
|
|
489
495
|
/* istanbul ignore else */
|
|
490
496
|
if (status != 2 /* Saving */) {
|
|
@@ -509,6 +515,7 @@ const createCustomPersister = (
|
|
|
509
515
|
},
|
|
510
516
|
);
|
|
511
517
|
setStatus(0 /* Idle */);
|
|
518
|
+
await saveAfterMutated();
|
|
512
519
|
});
|
|
513
520
|
}
|
|
514
521
|
return persister;
|
|
@@ -527,6 +534,7 @@ const createCustomPersister = (
|
|
|
527
534
|
loads++;
|
|
528
535
|
setContentOrChanges(changes ?? content);
|
|
529
536
|
setStatus(0 /* Idle */);
|
|
537
|
+
await saveAfterMutated();
|
|
530
538
|
}
|
|
531
539
|
} else {
|
|
532
540
|
await load();
|
|
@@ -135,21 +135,22 @@ const objValues = (obj) => object.values(obj);
|
|
|
135
135
|
const objSize = (obj) => size(objIds(obj));
|
|
136
136
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
137
137
|
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
|
|
138
|
+
const map = Map;
|
|
139
|
+
const mapNew = (entries) => new map(entries);
|
|
140
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
141
|
+
const mapForEach = (map2, cb) =>
|
|
142
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
142
143
|
const mapMap = (coll, cb) =>
|
|
143
144
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
144
|
-
const mapSet = (
|
|
145
|
-
isUndefined(value) ? (collDel(
|
|
146
|
-
const mapEnsure = (
|
|
147
|
-
if (!collHas(
|
|
148
|
-
mapSet(
|
|
145
|
+
const mapSet = (map2, key, value) =>
|
|
146
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
147
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
148
|
+
if (!collHas(map2, key)) {
|
|
149
|
+
mapSet(map2, key, getDefaultValue());
|
|
149
150
|
} else {
|
|
150
|
-
hadExistingValue?.(mapGet(
|
|
151
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
151
152
|
}
|
|
152
|
-
return mapGet(
|
|
153
|
+
return mapGet(map2, key);
|
|
153
154
|
};
|
|
154
155
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
155
156
|
ifNotUndefined(
|
|
@@ -485,6 +486,11 @@ const createCustomPersister = (
|
|
|
485
486
|
? store.applyChanges
|
|
486
487
|
: store.setContent)(contentOrChanges);
|
|
487
488
|
};
|
|
489
|
+
const saveAfterMutated = async () => {
|
|
490
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
491
|
+
await save();
|
|
492
|
+
}
|
|
493
|
+
};
|
|
488
494
|
const load = async (initialContent) => {
|
|
489
495
|
/* istanbul ignore else */
|
|
490
496
|
if (status != 2 /* Saving */) {
|
|
@@ -509,6 +515,7 @@ const createCustomPersister = (
|
|
|
509
515
|
},
|
|
510
516
|
);
|
|
511
517
|
setStatus(0 /* Idle */);
|
|
518
|
+
await saveAfterMutated();
|
|
512
519
|
});
|
|
513
520
|
}
|
|
514
521
|
return persister;
|
|
@@ -527,6 +534,7 @@ const createCustomPersister = (
|
|
|
527
534
|
loads++;
|
|
528
535
|
setContentOrChanges(changes ?? content);
|
|
529
536
|
setStatus(0 /* Idle */);
|
|
537
|
+
await saveAfterMutated();
|
|
530
538
|
}
|
|
531
539
|
} else {
|
|
532
540
|
await load();
|
|
@@ -86,17 +86,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
86
86
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
87
87
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
88
88
|
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
89
|
+
const map = Map;
|
|
90
|
+
const mapNew = (entries) => new map(entries);
|
|
91
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
92
|
+
const mapSet = (map2, key, value) =>
|
|
93
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
94
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
95
|
+
if (!collHas(map2, key)) {
|
|
96
|
+
mapSet(map2, key, getDefaultValue());
|
|
96
97
|
} else {
|
|
97
|
-
hadExistingValue?.(mapGet(
|
|
98
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
98
99
|
}
|
|
99
|
-
return mapGet(
|
|
100
|
+
return mapGet(map2, key);
|
|
100
101
|
};
|
|
101
102
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
102
103
|
ifNotUndefined(
|
|
@@ -298,6 +299,11 @@ const createCustomPersister = (
|
|
|
298
299
|
? store.applyChanges
|
|
299
300
|
: store.setContent)(contentOrChanges);
|
|
300
301
|
};
|
|
302
|
+
const saveAfterMutated = async () => {
|
|
303
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
304
|
+
await save();
|
|
305
|
+
}
|
|
306
|
+
};
|
|
301
307
|
const load = async (initialContent) => {
|
|
302
308
|
/* istanbul ignore else */
|
|
303
309
|
if (status != 2 /* Saving */) {
|
|
@@ -322,6 +328,7 @@ const createCustomPersister = (
|
|
|
322
328
|
},
|
|
323
329
|
);
|
|
324
330
|
setStatus(0 /* Idle */);
|
|
331
|
+
await saveAfterMutated();
|
|
325
332
|
});
|
|
326
333
|
}
|
|
327
334
|
return persister;
|
|
@@ -340,6 +347,7 @@ const createCustomPersister = (
|
|
|
340
347
|
loads++;
|
|
341
348
|
setContentOrChanges(changes ?? content);
|
|
342
349
|
setStatus(0 /* Idle */);
|
|
350
|
+
await saveAfterMutated();
|
|
343
351
|
}
|
|
344
352
|
} else {
|
|
345
353
|
await load();
|
|
@@ -86,17 +86,18 @@ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
|
|
|
86
86
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
87
87
|
const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
88
88
|
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
89
|
+
const map = Map;
|
|
90
|
+
const mapNew = (entries) => new map(entries);
|
|
91
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
92
|
+
const mapSet = (map2, key, value) =>
|
|
93
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
94
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
95
|
+
if (!collHas(map2, key)) {
|
|
96
|
+
mapSet(map2, key, getDefaultValue());
|
|
96
97
|
} else {
|
|
97
|
-
hadExistingValue?.(mapGet(
|
|
98
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
98
99
|
}
|
|
99
|
-
return mapGet(
|
|
100
|
+
return mapGet(map2, key);
|
|
100
101
|
};
|
|
101
102
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
102
103
|
ifNotUndefined(
|
|
@@ -298,6 +299,11 @@ const createCustomPersister = (
|
|
|
298
299
|
? store.applyChanges
|
|
299
300
|
: store.setContent)(contentOrChanges);
|
|
300
301
|
};
|
|
302
|
+
const saveAfterMutated = async () => {
|
|
303
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
304
|
+
await save();
|
|
305
|
+
}
|
|
306
|
+
};
|
|
301
307
|
const load = async (initialContent) => {
|
|
302
308
|
/* istanbul ignore else */
|
|
303
309
|
if (status != 2 /* Saving */) {
|
|
@@ -322,6 +328,7 @@ const createCustomPersister = (
|
|
|
322
328
|
},
|
|
323
329
|
);
|
|
324
330
|
setStatus(0 /* Idle */);
|
|
331
|
+
await saveAfterMutated();
|
|
325
332
|
});
|
|
326
333
|
}
|
|
327
334
|
return persister;
|
|
@@ -340,6 +347,7 @@ const createCustomPersister = (
|
|
|
340
347
|
loads++;
|
|
341
348
|
setContentOrChanges(changes ?? content);
|
|
342
349
|
setStatus(0 /* Idle */);
|
|
350
|
+
await saveAfterMutated();
|
|
343
351
|
}
|
|
344
352
|
} else {
|
|
345
353
|
await load();
|
|
@@ -75,8 +75,8 @@ const replaceUndefinedString = (obj) =>
|
|
|
75
75
|
|
|
76
76
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
77
77
|
|
|
78
|
-
const mapForEach = (
|
|
79
|
-
collForEach(
|
|
78
|
+
const mapForEach = (map2, cb) =>
|
|
79
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
80
80
|
|
|
81
81
|
const SET_CHANGES = 's';
|
|
82
82
|
const STORE_PATH = '/store';
|
|
@@ -75,8 +75,8 @@ const replaceUndefinedString = (obj) =>
|
|
|
75
75
|
|
|
76
76
|
const collForEach = (coll, cb) => coll?.forEach(cb);
|
|
77
77
|
|
|
78
|
-
const mapForEach = (
|
|
79
|
-
collForEach(
|
|
78
|
+
const mapForEach = (map2, cb) =>
|
|
79
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
80
80
|
|
|
81
81
|
const SET_CHANGES = 's';
|
|
82
82
|
const STORE_PATH = '/store';
|
|
@@ -115,21 +115,22 @@ const getHash = (string) => {
|
|
|
115
115
|
return hash >>> 0;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
const
|
|
121
|
-
|
|
118
|
+
const map = Map;
|
|
119
|
+
const mapNew = (entries) => new map(entries);
|
|
120
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
121
|
+
const mapForEach = (map2, cb) =>
|
|
122
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
122
123
|
const mapMap = (coll, cb) =>
|
|
123
124
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
124
|
-
const mapSet = (
|
|
125
|
-
isUndefined(value) ? (collDel(
|
|
126
|
-
const mapEnsure = (
|
|
127
|
-
if (!collHas(
|
|
128
|
-
mapSet(
|
|
125
|
+
const mapSet = (map2, key, value) =>
|
|
126
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
127
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
128
|
+
if (!collHas(map2, key)) {
|
|
129
|
+
mapSet(map2, key, getDefaultValue());
|
|
129
130
|
} else {
|
|
130
|
-
hadExistingValue?.(mapGet(
|
|
131
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
131
132
|
}
|
|
132
|
-
return mapGet(
|
|
133
|
+
return mapGet(map2, key);
|
|
133
134
|
};
|
|
134
135
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
135
136
|
ifNotUndefined(
|
|
@@ -490,6 +491,11 @@ const createCustomPersister = (
|
|
|
490
491
|
? store.applyChanges
|
|
491
492
|
: store.setContent)(contentOrChanges);
|
|
492
493
|
};
|
|
494
|
+
const saveAfterMutated = async () => {
|
|
495
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
496
|
+
await save();
|
|
497
|
+
}
|
|
498
|
+
};
|
|
493
499
|
const load = async (initialContent) => {
|
|
494
500
|
/* istanbul ignore else */
|
|
495
501
|
if (status != 2 /* Saving */) {
|
|
@@ -514,6 +520,7 @@ const createCustomPersister = (
|
|
|
514
520
|
},
|
|
515
521
|
);
|
|
516
522
|
setStatus(0 /* Idle */);
|
|
523
|
+
await saveAfterMutated();
|
|
517
524
|
});
|
|
518
525
|
}
|
|
519
526
|
return persister;
|
|
@@ -532,6 +539,7 @@ const createCustomPersister = (
|
|
|
532
539
|
loads++;
|
|
533
540
|
setContentOrChanges(changes ?? content);
|
|
534
541
|
setStatus(0 /* Idle */);
|
|
542
|
+
await saveAfterMutated();
|
|
535
543
|
}
|
|
536
544
|
} else {
|
|
537
545
|
await load();
|
|
@@ -115,21 +115,22 @@ const getHash = (string) => {
|
|
|
115
115
|
return hash >>> 0;
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
const
|
|
121
|
-
|
|
118
|
+
const map = Map;
|
|
119
|
+
const mapNew = (entries) => new map(entries);
|
|
120
|
+
const mapGet = (map2, key) => map2?.get(key);
|
|
121
|
+
const mapForEach = (map2, cb) =>
|
|
122
|
+
collForEach(map2, (value, key) => cb(key, value));
|
|
122
123
|
const mapMap = (coll, cb) =>
|
|
123
124
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
124
|
-
const mapSet = (
|
|
125
|
-
isUndefined(value) ? (collDel(
|
|
126
|
-
const mapEnsure = (
|
|
127
|
-
if (!collHas(
|
|
128
|
-
mapSet(
|
|
125
|
+
const mapSet = (map2, key, value) =>
|
|
126
|
+
isUndefined(value) ? (collDel(map2, key), map2) : map2?.set(key, value);
|
|
127
|
+
const mapEnsure = (map2, key, getDefaultValue, hadExistingValue) => {
|
|
128
|
+
if (!collHas(map2, key)) {
|
|
129
|
+
mapSet(map2, key, getDefaultValue());
|
|
129
130
|
} else {
|
|
130
|
-
hadExistingValue?.(mapGet(
|
|
131
|
+
hadExistingValue?.(mapGet(map2, key));
|
|
131
132
|
}
|
|
132
|
-
return mapGet(
|
|
133
|
+
return mapGet(map2, key);
|
|
133
134
|
};
|
|
134
135
|
const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
|
|
135
136
|
ifNotUndefined(
|
|
@@ -490,6 +491,11 @@ const createCustomPersister = (
|
|
|
490
491
|
? store.applyChanges
|
|
491
492
|
: store.setContent)(contentOrChanges);
|
|
492
493
|
};
|
|
494
|
+
const saveAfterMutated = async () => {
|
|
495
|
+
if (isAutoSaving() && store.hadMutated?.()) {
|
|
496
|
+
await save();
|
|
497
|
+
}
|
|
498
|
+
};
|
|
493
499
|
const load = async (initialContent) => {
|
|
494
500
|
/* istanbul ignore else */
|
|
495
501
|
if (status != 2 /* Saving */) {
|
|
@@ -514,6 +520,7 @@ const createCustomPersister = (
|
|
|
514
520
|
},
|
|
515
521
|
);
|
|
516
522
|
setStatus(0 /* Idle */);
|
|
523
|
+
await saveAfterMutated();
|
|
517
524
|
});
|
|
518
525
|
}
|
|
519
526
|
return persister;
|
|
@@ -532,6 +539,7 @@ const createCustomPersister = (
|
|
|
532
539
|
loads++;
|
|
533
540
|
setContentOrChanges(changes ?? content);
|
|
534
541
|
setStatus(0 /* Idle */);
|
|
542
|
+
await saveAfterMutated();
|
|
535
543
|
}
|
|
536
544
|
} else {
|
|
537
545
|
await load();
|