tinybase 5.0.0-beta.0 → 5.0.0-beta.1
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/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +251 -234
- package/lib/debug/indexes.js +7 -5
- package/lib/debug/metrics.js +7 -5
- package/lib/debug/persisters/persister-automerge.js +3 -1
- package/lib/debug/persisters/persister-browser.js +1 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +10 -6
- package/lib/debug/persisters/persister-electric-sql.js +11 -6
- package/lib/debug/persisters/persister-expo-sqlite-next.js +11 -7
- package/lib/debug/persisters/persister-expo-sqlite.js +10 -6
- package/lib/debug/persisters/persister-file.js +1 -0
- package/lib/debug/persisters/persister-indexed-db.js +4 -1
- package/lib/debug/persisters/persister-partykit-client.js +1 -0
- package/lib/debug/persisters/persister-partykit-server.js +2 -1
- package/lib/debug/persisters/persister-remote.js +1 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +10 -6
- package/lib/debug/persisters/persister-sqlite3.js +10 -6
- package/lib/debug/persisters/persister-yjs.js +3 -1
- package/lib/debug/persisters.js +1 -0
- package/lib/debug/queries.js +9 -6
- package/lib/debug/relationships.js +7 -5
- package/lib/debug/store.js +3 -1
- package/lib/debug/tinybase.js +254 -235
- package/lib/debug/tools.js +19 -43
- package/lib/debug/ui-react-dom.js +3 -1
- package/lib/debug/ui-react.js +166 -200
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -1
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -1
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -3
- package/lib/types/ui-react.d.ts +77 -88
- package/lib/types/with-schemas/internal/queries.d.ts +4 -3
- package/lib/types/with-schemas/internal/store.d.ts +4 -3
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -4
- package/lib/types/with-schemas/ui-react.d.ts +84 -95
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -1
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +21 -21
- package/readme.md +2 -2
|
@@ -41,6 +41,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
41
41
|
|
|
42
42
|
const object = Object;
|
|
43
43
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
44
|
+
const objEntries = object.entries;
|
|
44
45
|
const objIds = object.keys;
|
|
45
46
|
const objFreeze = object.freeze;
|
|
46
47
|
const isObject = (obj) =>
|
|
@@ -50,6 +51,7 @@ const isObject = (obj) =>
|
|
|
50
51
|
(objPrototype) =>
|
|
51
52
|
objPrototype == object.prototype ||
|
|
52
53
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
54
|
+
/* istanbul ignore next */
|
|
53
55
|
() => true,
|
|
54
56
|
);
|
|
55
57
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
@@ -61,7 +63,7 @@ const objDel = (obj, id) => {
|
|
|
61
63
|
return obj;
|
|
62
64
|
};
|
|
63
65
|
const objMap = (obj, cb) =>
|
|
64
|
-
arrayMap(
|
|
66
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
65
67
|
const objValues = (obj) => object.values(obj);
|
|
66
68
|
const objSize = (obj) => size(objIds(obj));
|
|
67
69
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
@@ -188,9 +190,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
188
190
|
}
|
|
189
191
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
190
192
|
await cmd(
|
|
191
|
-
`CREATE TABLE${escapeId(tableName)}(${escapeId(
|
|
192
|
-
rowIdColumnName,
|
|
193
|
-
)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
193
|
+
`CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
194
194
|
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
195
195
|
)});`,
|
|
196
196
|
);
|
|
@@ -514,6 +514,7 @@ const createJsonSqlitePersister = (
|
|
|
514
514
|
[storeTableName],
|
|
515
515
|
managedTableNames,
|
|
516
516
|
db,
|
|
517
|
+
getThing,
|
|
517
518
|
) => {
|
|
518
519
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
519
520
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -546,7 +547,7 @@ const createJsonSqlitePersister = (
|
|
|
546
547
|
addPersisterListener,
|
|
547
548
|
delPersisterListener,
|
|
548
549
|
onIgnoredError,
|
|
549
|
-
[
|
|
550
|
+
[getThing, db],
|
|
550
551
|
db,
|
|
551
552
|
);
|
|
552
553
|
return persister;
|
|
@@ -565,6 +566,7 @@ const createTabularSqlitePersister = (
|
|
|
565
566
|
],
|
|
566
567
|
managedTableNames,
|
|
567
568
|
db,
|
|
569
|
+
getThing,
|
|
568
570
|
) => {
|
|
569
571
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
570
572
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -651,7 +653,7 @@ const createTabularSqlitePersister = (
|
|
|
651
653
|
addPersisterListener,
|
|
652
654
|
delPersisterListener,
|
|
653
655
|
onIgnoredError,
|
|
654
|
-
[
|
|
656
|
+
[getThing, db],
|
|
655
657
|
db,
|
|
656
658
|
);
|
|
657
659
|
return persister;
|
|
@@ -762,6 +764,7 @@ const createSqlitePersister = (
|
|
|
762
764
|
onSqlCommand,
|
|
763
765
|
onIgnoredError,
|
|
764
766
|
db,
|
|
767
|
+
getThing = 'getDb',
|
|
765
768
|
) => {
|
|
766
769
|
let dataVersion;
|
|
767
770
|
let schemaVersion;
|
|
@@ -823,6 +826,7 @@ const createSqlitePersister = (
|
|
|
823
826
|
defaultedConfig,
|
|
824
827
|
collValues(managedTableNamesSet),
|
|
825
828
|
db,
|
|
829
|
+
getThing,
|
|
826
830
|
);
|
|
827
831
|
};
|
|
828
832
|
|
|
@@ -848,6 +852,7 @@ const createElectricSqlPersister = (
|
|
|
848
852
|
onSqlCommand,
|
|
849
853
|
onIgnoredError,
|
|
850
854
|
electricClient,
|
|
855
|
+
'getElectricClient',
|
|
851
856
|
);
|
|
852
857
|
|
|
853
858
|
export {createElectricSqlPersister};
|
|
@@ -42,6 +42,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
42
42
|
|
|
43
43
|
const object = Object;
|
|
44
44
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
45
|
+
const objEntries = object.entries;
|
|
45
46
|
const objIds = object.keys;
|
|
46
47
|
const objFreeze = object.freeze;
|
|
47
48
|
const isObject = (obj) =>
|
|
@@ -51,6 +52,7 @@ const isObject = (obj) =>
|
|
|
51
52
|
(objPrototype) =>
|
|
52
53
|
objPrototype == object.prototype ||
|
|
53
54
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
55
|
+
/* istanbul ignore next */
|
|
54
56
|
() => true,
|
|
55
57
|
);
|
|
56
58
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
@@ -62,7 +64,7 @@ const objDel = (obj, id) => {
|
|
|
62
64
|
return obj;
|
|
63
65
|
};
|
|
64
66
|
const objMap = (obj, cb) =>
|
|
65
|
-
arrayMap(
|
|
67
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
66
68
|
const objValues = (obj) => object.values(obj);
|
|
67
69
|
const objSize = (obj) => size(objIds(obj));
|
|
68
70
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
@@ -189,9 +191,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
189
191
|
}
|
|
190
192
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
191
193
|
await cmd(
|
|
192
|
-
`CREATE TABLE${escapeId(tableName)}(${escapeId(
|
|
193
|
-
rowIdColumnName,
|
|
194
|
-
)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
194
|
+
`CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
195
195
|
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
196
196
|
)});`,
|
|
197
197
|
);
|
|
@@ -515,6 +515,7 @@ const createJsonSqlitePersister = (
|
|
|
515
515
|
[storeTableName],
|
|
516
516
|
managedTableNames,
|
|
517
517
|
db,
|
|
518
|
+
getThing,
|
|
518
519
|
) => {
|
|
519
520
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
520
521
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -547,7 +548,7 @@ const createJsonSqlitePersister = (
|
|
|
547
548
|
addPersisterListener,
|
|
548
549
|
delPersisterListener,
|
|
549
550
|
onIgnoredError,
|
|
550
|
-
[
|
|
551
|
+
[getThing, db],
|
|
551
552
|
db,
|
|
552
553
|
);
|
|
553
554
|
return persister;
|
|
@@ -566,6 +567,7 @@ const createTabularSqlitePersister = (
|
|
|
566
567
|
],
|
|
567
568
|
managedTableNames,
|
|
568
569
|
db,
|
|
570
|
+
getThing,
|
|
569
571
|
) => {
|
|
570
572
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
571
573
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -652,7 +654,7 @@ const createTabularSqlitePersister = (
|
|
|
652
654
|
addPersisterListener,
|
|
653
655
|
delPersisterListener,
|
|
654
656
|
onIgnoredError,
|
|
655
|
-
[
|
|
657
|
+
[getThing, db],
|
|
656
658
|
db,
|
|
657
659
|
);
|
|
658
660
|
return persister;
|
|
@@ -763,6 +765,7 @@ const createSqlitePersister = (
|
|
|
763
765
|
onSqlCommand,
|
|
764
766
|
onIgnoredError,
|
|
765
767
|
db,
|
|
768
|
+
getThing = 'getDb',
|
|
766
769
|
) => {
|
|
767
770
|
let dataVersion;
|
|
768
771
|
let schemaVersion;
|
|
@@ -824,6 +827,7 @@ const createSqlitePersister = (
|
|
|
824
827
|
defaultedConfig,
|
|
825
828
|
collValues(managedTableNamesSet),
|
|
826
829
|
db,
|
|
830
|
+
getThing,
|
|
827
831
|
);
|
|
828
832
|
};
|
|
829
833
|
|
|
@@ -837,7 +841,7 @@ const createExpoSqliteNextPersister = (
|
|
|
837
841
|
createSqlitePersister(
|
|
838
842
|
store,
|
|
839
843
|
configOrStoreTableName,
|
|
840
|
-
async (sql, args = []) => await db.
|
|
844
|
+
async (sql, args = []) => await db.getAllAsync(sql, args),
|
|
841
845
|
(listener) =>
|
|
842
846
|
addDatabaseChangeListener(({tableName}) => listener(tableName)),
|
|
843
847
|
(subscription) => subscription.remove(),
|
|
@@ -40,6 +40,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
40
40
|
|
|
41
41
|
const object = Object;
|
|
42
42
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
43
|
+
const objEntries = object.entries;
|
|
43
44
|
const objIds = object.keys;
|
|
44
45
|
const objFreeze = object.freeze;
|
|
45
46
|
const isObject = (obj) =>
|
|
@@ -49,6 +50,7 @@ const isObject = (obj) =>
|
|
|
49
50
|
(objPrototype) =>
|
|
50
51
|
objPrototype == object.prototype ||
|
|
51
52
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
53
|
+
/* istanbul ignore next */
|
|
52
54
|
() => true,
|
|
53
55
|
);
|
|
54
56
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
@@ -60,7 +62,7 @@ const objDel = (obj, id) => {
|
|
|
60
62
|
return obj;
|
|
61
63
|
};
|
|
62
64
|
const objMap = (obj, cb) =>
|
|
63
|
-
arrayMap(
|
|
65
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
64
66
|
const objValues = (obj) => object.values(obj);
|
|
65
67
|
const objSize = (obj) => size(objIds(obj));
|
|
66
68
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
@@ -187,9 +189,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
187
189
|
}
|
|
188
190
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
189
191
|
await cmd(
|
|
190
|
-
`CREATE TABLE${escapeId(tableName)}(${escapeId(
|
|
191
|
-
rowIdColumnName,
|
|
192
|
-
)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
192
|
+
`CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
193
193
|
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
194
194
|
)});`,
|
|
195
195
|
);
|
|
@@ -513,6 +513,7 @@ const createJsonSqlitePersister = (
|
|
|
513
513
|
[storeTableName],
|
|
514
514
|
managedTableNames,
|
|
515
515
|
db,
|
|
516
|
+
getThing,
|
|
516
517
|
) => {
|
|
517
518
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
518
519
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -545,7 +546,7 @@ const createJsonSqlitePersister = (
|
|
|
545
546
|
addPersisterListener,
|
|
546
547
|
delPersisterListener,
|
|
547
548
|
onIgnoredError,
|
|
548
|
-
[
|
|
549
|
+
[getThing, db],
|
|
549
550
|
db,
|
|
550
551
|
);
|
|
551
552
|
return persister;
|
|
@@ -564,6 +565,7 @@ const createTabularSqlitePersister = (
|
|
|
564
565
|
],
|
|
565
566
|
managedTableNames,
|
|
566
567
|
db,
|
|
568
|
+
getThing,
|
|
567
569
|
) => {
|
|
568
570
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
569
571
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -650,7 +652,7 @@ const createTabularSqlitePersister = (
|
|
|
650
652
|
addPersisterListener,
|
|
651
653
|
delPersisterListener,
|
|
652
654
|
onIgnoredError,
|
|
653
|
-
[
|
|
655
|
+
[getThing, db],
|
|
654
656
|
db,
|
|
655
657
|
);
|
|
656
658
|
return persister;
|
|
@@ -761,6 +763,7 @@ const createSqlitePersister = (
|
|
|
761
763
|
onSqlCommand,
|
|
762
764
|
onIgnoredError,
|
|
763
765
|
db,
|
|
766
|
+
getThing = 'getDb',
|
|
764
767
|
) => {
|
|
765
768
|
let dataVersion;
|
|
766
769
|
let schemaVersion;
|
|
@@ -822,6 +825,7 @@ const createSqlitePersister = (
|
|
|
822
825
|
defaultedConfig,
|
|
823
826
|
collValues(managedTableNamesSet),
|
|
824
827
|
db,
|
|
828
|
+
getThing,
|
|
825
829
|
);
|
|
826
830
|
};
|
|
827
831
|
|
|
@@ -20,6 +20,7 @@ const arrayShift = (array) => array.shift();
|
|
|
20
20
|
|
|
21
21
|
const object = Object;
|
|
22
22
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
23
|
+
const objEntries = object.entries;
|
|
23
24
|
const objIds = object.keys;
|
|
24
25
|
const objFreeze = object.freeze;
|
|
25
26
|
const isObject = (obj) =>
|
|
@@ -29,13 +30,14 @@ const isObject = (obj) =>
|
|
|
29
30
|
(objPrototype) =>
|
|
30
31
|
objPrototype == object.prototype ||
|
|
31
32
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
33
|
+
/* istanbul ignore next */
|
|
32
34
|
() => true,
|
|
33
35
|
);
|
|
34
36
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
35
37
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
36
38
|
const objHas = (obj, id) => !isUndefined(objGet(obj, id));
|
|
37
39
|
const objMap = (obj, cb) =>
|
|
38
|
-
arrayMap(
|
|
40
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
39
41
|
const objSize = (obj) => size(objIds(obj));
|
|
40
42
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
41
43
|
|
|
@@ -252,6 +254,7 @@ const createIndexedDbPersister = (
|
|
|
252
254
|
request.result.close();
|
|
253
255
|
resolve(result);
|
|
254
256
|
} catch (e) {
|
|
257
|
+
request.result.close();
|
|
255
258
|
reject(e);
|
|
256
259
|
}
|
|
257
260
|
};
|
|
@@ -22,11 +22,12 @@ const arrayPush = (array, ...values) => array.push(...values);
|
|
|
22
22
|
const arrayUnshift = (array, ...values) => array.unshift(...values);
|
|
23
23
|
|
|
24
24
|
const object = Object;
|
|
25
|
+
const objEntries = object.entries;
|
|
25
26
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
26
27
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
27
28
|
const objHas = (obj, id) => !isUndefined(objGet(obj, id));
|
|
28
29
|
const objMap = (obj, cb) =>
|
|
29
|
-
arrayMap(
|
|
30
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
30
31
|
const objEnsure = (obj, id, getDefaultValue) => {
|
|
31
32
|
if (!objHas(obj, id)) {
|
|
32
33
|
obj[id] = getDefaultValue();
|
|
@@ -40,6 +40,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
40
40
|
|
|
41
41
|
const object = Object;
|
|
42
42
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
43
|
+
const objEntries = object.entries;
|
|
43
44
|
const objIds = object.keys;
|
|
44
45
|
const objFreeze = object.freeze;
|
|
45
46
|
const isObject = (obj) =>
|
|
@@ -49,6 +50,7 @@ const isObject = (obj) =>
|
|
|
49
50
|
(objPrototype) =>
|
|
50
51
|
objPrototype == object.prototype ||
|
|
51
52
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
53
|
+
/* istanbul ignore next */
|
|
52
54
|
() => true,
|
|
53
55
|
);
|
|
54
56
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
@@ -60,7 +62,7 @@ const objDel = (obj, id) => {
|
|
|
60
62
|
return obj;
|
|
61
63
|
};
|
|
62
64
|
const objMap = (obj, cb) =>
|
|
63
|
-
arrayMap(
|
|
65
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
64
66
|
const objValues = (obj) => object.values(obj);
|
|
65
67
|
const objSize = (obj) => size(objIds(obj));
|
|
66
68
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
@@ -187,9 +189,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
187
189
|
}
|
|
188
190
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
189
191
|
await cmd(
|
|
190
|
-
`CREATE TABLE${escapeId(tableName)}(${escapeId(
|
|
191
|
-
rowIdColumnName,
|
|
192
|
-
)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
192
|
+
`CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
193
193
|
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
194
194
|
)});`,
|
|
195
195
|
);
|
|
@@ -513,6 +513,7 @@ const createJsonSqlitePersister = (
|
|
|
513
513
|
[storeTableName],
|
|
514
514
|
managedTableNames,
|
|
515
515
|
db,
|
|
516
|
+
getThing,
|
|
516
517
|
) => {
|
|
517
518
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
518
519
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -545,7 +546,7 @@ const createJsonSqlitePersister = (
|
|
|
545
546
|
addPersisterListener,
|
|
546
547
|
delPersisterListener,
|
|
547
548
|
onIgnoredError,
|
|
548
|
-
[
|
|
549
|
+
[getThing, db],
|
|
549
550
|
db,
|
|
550
551
|
);
|
|
551
552
|
return persister;
|
|
@@ -564,6 +565,7 @@ const createTabularSqlitePersister = (
|
|
|
564
565
|
],
|
|
565
566
|
managedTableNames,
|
|
566
567
|
db,
|
|
568
|
+
getThing,
|
|
567
569
|
) => {
|
|
568
570
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
569
571
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -650,7 +652,7 @@ const createTabularSqlitePersister = (
|
|
|
650
652
|
addPersisterListener,
|
|
651
653
|
delPersisterListener,
|
|
652
654
|
onIgnoredError,
|
|
653
|
-
[
|
|
655
|
+
[getThing, db],
|
|
654
656
|
db,
|
|
655
657
|
);
|
|
656
658
|
return persister;
|
|
@@ -761,6 +763,7 @@ const createSqlitePersister = (
|
|
|
761
763
|
onSqlCommand,
|
|
762
764
|
onIgnoredError,
|
|
763
765
|
db,
|
|
766
|
+
getThing = 'getDb',
|
|
764
767
|
) => {
|
|
765
768
|
let dataVersion;
|
|
766
769
|
let schemaVersion;
|
|
@@ -822,6 +825,7 @@ const createSqlitePersister = (
|
|
|
822
825
|
defaultedConfig,
|
|
823
826
|
collValues(managedTableNamesSet),
|
|
824
827
|
db,
|
|
828
|
+
getThing,
|
|
825
829
|
);
|
|
826
830
|
};
|
|
827
831
|
|
|
@@ -41,6 +41,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
41
41
|
|
|
42
42
|
const object = Object;
|
|
43
43
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
44
|
+
const objEntries = object.entries;
|
|
44
45
|
const objIds = object.keys;
|
|
45
46
|
const objFreeze = object.freeze;
|
|
46
47
|
const isObject = (obj) =>
|
|
@@ -50,6 +51,7 @@ const isObject = (obj) =>
|
|
|
50
51
|
(objPrototype) =>
|
|
51
52
|
objPrototype == object.prototype ||
|
|
52
53
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
54
|
+
/* istanbul ignore next */
|
|
53
55
|
() => true,
|
|
54
56
|
);
|
|
55
57
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
@@ -61,7 +63,7 @@ const objDel = (obj, id) => {
|
|
|
61
63
|
return obj;
|
|
62
64
|
};
|
|
63
65
|
const objMap = (obj, cb) =>
|
|
64
|
-
arrayMap(
|
|
66
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
65
67
|
const objValues = (obj) => object.values(obj);
|
|
66
68
|
const objSize = (obj) => size(objIds(obj));
|
|
67
69
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
@@ -188,9 +190,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
188
190
|
}
|
|
189
191
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
190
192
|
await cmd(
|
|
191
|
-
`CREATE TABLE${escapeId(tableName)}(${escapeId(
|
|
192
|
-
rowIdColumnName,
|
|
193
|
-
)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
193
|
+
`CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
194
194
|
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
195
195
|
)});`,
|
|
196
196
|
);
|
|
@@ -514,6 +514,7 @@ const createJsonSqlitePersister = (
|
|
|
514
514
|
[storeTableName],
|
|
515
515
|
managedTableNames,
|
|
516
516
|
db,
|
|
517
|
+
getThing,
|
|
517
518
|
) => {
|
|
518
519
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
519
520
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -546,7 +547,7 @@ const createJsonSqlitePersister = (
|
|
|
546
547
|
addPersisterListener,
|
|
547
548
|
delPersisterListener,
|
|
548
549
|
onIgnoredError,
|
|
549
|
-
[
|
|
550
|
+
[getThing, db],
|
|
550
551
|
db,
|
|
551
552
|
);
|
|
552
553
|
return persister;
|
|
@@ -565,6 +566,7 @@ const createTabularSqlitePersister = (
|
|
|
565
566
|
],
|
|
566
567
|
managedTableNames,
|
|
567
568
|
db,
|
|
569
|
+
getThing,
|
|
568
570
|
) => {
|
|
569
571
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
570
572
|
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
@@ -651,7 +653,7 @@ const createTabularSqlitePersister = (
|
|
|
651
653
|
addPersisterListener,
|
|
652
654
|
delPersisterListener,
|
|
653
655
|
onIgnoredError,
|
|
654
|
-
[
|
|
656
|
+
[getThing, db],
|
|
655
657
|
db,
|
|
656
658
|
);
|
|
657
659
|
return persister;
|
|
@@ -762,6 +764,7 @@ const createSqlitePersister = (
|
|
|
762
764
|
onSqlCommand,
|
|
763
765
|
onIgnoredError,
|
|
764
766
|
db,
|
|
767
|
+
getThing = 'getDb',
|
|
765
768
|
) => {
|
|
766
769
|
let dataVersion;
|
|
767
770
|
let schemaVersion;
|
|
@@ -823,6 +826,7 @@ const createSqlitePersister = (
|
|
|
823
826
|
defaultedConfig,
|
|
824
827
|
collValues(managedTableNamesSet),
|
|
825
828
|
db,
|
|
829
|
+
getThing,
|
|
826
830
|
);
|
|
827
831
|
};
|
|
828
832
|
|
|
@@ -17,6 +17,7 @@ const arrayShift = (array) => array.shift();
|
|
|
17
17
|
|
|
18
18
|
const object = Object;
|
|
19
19
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
20
|
+
const objEntries = object.entries;
|
|
20
21
|
const objIds = object.keys;
|
|
21
22
|
const objFreeze = object.freeze;
|
|
22
23
|
const isObject = (obj) =>
|
|
@@ -26,13 +27,14 @@ const isObject = (obj) =>
|
|
|
26
27
|
(objPrototype) =>
|
|
27
28
|
objPrototype == object.prototype ||
|
|
28
29
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
30
|
+
/* istanbul ignore next */
|
|
29
31
|
() => true,
|
|
30
32
|
);
|
|
31
33
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
32
34
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
33
35
|
const objHas = (obj, id) => !isUndefined(objGet(obj, id));
|
|
34
36
|
const objMap = (obj, cb) =>
|
|
35
|
-
arrayMap(
|
|
37
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
36
38
|
const objSize = (obj) => size(objIds(obj));
|
|
37
39
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
38
40
|
const objEnsure = (obj, id, getDefaultValue) => {
|
package/lib/debug/persisters.js
CHANGED
package/lib/debug/queries.js
CHANGED
|
@@ -46,9 +46,10 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
|
46
46
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
47
47
|
|
|
48
48
|
const object = Object;
|
|
49
|
+
const objEntries = object.entries;
|
|
49
50
|
const objFreeze = object.freeze;
|
|
50
51
|
const objMap = (obj, cb) =>
|
|
51
|
-
arrayMap(
|
|
52
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
52
53
|
|
|
53
54
|
const collSize = (coll) => coll?.size ?? 0;
|
|
54
55
|
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
@@ -337,13 +338,15 @@ const getDefinableFunctions = (
|
|
|
337
338
|
delStoreListeners,
|
|
338
339
|
];
|
|
339
340
|
};
|
|
340
|
-
const getCreateFunction = (getFunction) => {
|
|
341
|
-
const
|
|
341
|
+
const getCreateFunction = (getFunction, initFunction) => {
|
|
342
|
+
const thingsByStore = /* @__PURE__ */ new WeakMap();
|
|
342
343
|
return (store) => {
|
|
343
|
-
if (!
|
|
344
|
-
|
|
344
|
+
if (!thingsByStore.has(store)) {
|
|
345
|
+
thingsByStore.set(store, getFunction(store));
|
|
345
346
|
}
|
|
346
|
-
|
|
347
|
+
const thing = thingsByStore.get(store);
|
|
348
|
+
initFunction?.(thing);
|
|
349
|
+
return thing;
|
|
347
350
|
};
|
|
348
351
|
};
|
|
349
352
|
|
|
@@ -238,13 +238,15 @@ const getRowCellFunction = (getRowCell, defaultCellValue) =>
|
|
|
238
238
|
isString(getRowCell)
|
|
239
239
|
? (getCell) => getCell(getRowCell)
|
|
240
240
|
: getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING);
|
|
241
|
-
const getCreateFunction = (getFunction) => {
|
|
242
|
-
const
|
|
241
|
+
const getCreateFunction = (getFunction, initFunction) => {
|
|
242
|
+
const thingsByStore = /* @__PURE__ */ new WeakMap();
|
|
243
243
|
return (store) => {
|
|
244
|
-
if (!
|
|
245
|
-
|
|
244
|
+
if (!thingsByStore.has(store)) {
|
|
245
|
+
thingsByStore.set(store, getFunction(store));
|
|
246
246
|
}
|
|
247
|
-
|
|
247
|
+
const thing = thingsByStore.get(store);
|
|
248
|
+
initFunction?.(thing);
|
|
249
|
+
return thing;
|
|
248
250
|
};
|
|
249
251
|
};
|
|
250
252
|
|
package/lib/debug/store.js
CHANGED
|
@@ -49,6 +49,7 @@ const arrayShift = (array) => array.shift();
|
|
|
49
49
|
|
|
50
50
|
const object = Object;
|
|
51
51
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
52
|
+
const objEntries = object.entries;
|
|
52
53
|
const objIds = object.keys;
|
|
53
54
|
const objFrozen = object.isFrozen;
|
|
54
55
|
const objFreeze = object.freeze;
|
|
@@ -59,6 +60,7 @@ const isObject = (obj) =>
|
|
|
59
60
|
(objPrototype) =>
|
|
60
61
|
objPrototype == object.prototype ||
|
|
61
62
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
63
|
+
/* istanbul ignore next */
|
|
62
64
|
() => true,
|
|
63
65
|
);
|
|
64
66
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
@@ -68,7 +70,7 @@ const objDel = (obj, id) => {
|
|
|
68
70
|
return obj;
|
|
69
71
|
};
|
|
70
72
|
const objMap = (obj, cb) =>
|
|
71
|
-
arrayMap(
|
|
73
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
72
74
|
const objSize = (obj) => size(objIds(obj));
|
|
73
75
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
74
76
|
|