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
package/lib/debug/checkpoints.js
CHANGED
|
@@ -79,13 +79,15 @@ const setNew = (entryOrEntries) =>
|
|
|
79
79
|
);
|
|
80
80
|
const setAdd = (set, value) => set?.add(value);
|
|
81
81
|
|
|
82
|
-
const getCreateFunction = (getFunction) => {
|
|
83
|
-
const
|
|
82
|
+
const getCreateFunction = (getFunction, initFunction) => {
|
|
83
|
+
const thingsByStore = /* @__PURE__ */ new WeakMap();
|
|
84
84
|
return (store) => {
|
|
85
|
-
if (!
|
|
86
|
-
|
|
85
|
+
if (!thingsByStore.has(store)) {
|
|
86
|
+
thingsByStore.set(store, getFunction(store));
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
const thing = thingsByStore.get(store);
|
|
89
|
+
initFunction?.(thing);
|
|
90
|
+
return thing;
|
|
89
91
|
};
|
|
90
92
|
};
|
|
91
93
|
|
|
@@ -173,240 +175,255 @@ const getListenerFunctions = (getThing) => {
|
|
|
173
175
|
return [addListener, callListeners, delListener, callListener];
|
|
174
176
|
};
|
|
175
177
|
|
|
176
|
-
const createCheckpoints = getCreateFunction(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
collForEach(
|
|
199
|
-
collForEach(
|
|
200
|
-
|
|
178
|
+
const createCheckpoints = getCreateFunction(
|
|
179
|
+
(store) => {
|
|
180
|
+
let backwardIdsSize = 100;
|
|
181
|
+
let currentId;
|
|
182
|
+
let cellsDelta = mapNew();
|
|
183
|
+
let valuesDelta = mapNew();
|
|
184
|
+
let listening = 1;
|
|
185
|
+
let nextCheckpointId;
|
|
186
|
+
let checkpointsChanged;
|
|
187
|
+
const checkpointIdsListeners = mapNew();
|
|
188
|
+
const checkpointListeners = mapNew();
|
|
189
|
+
const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
|
|
190
|
+
() => checkpoints,
|
|
191
|
+
);
|
|
192
|
+
const deltas = mapNew();
|
|
193
|
+
const labels = mapNew();
|
|
194
|
+
const backwardIds = [];
|
|
195
|
+
const forwardIds = [];
|
|
196
|
+
const updateStore = (oldOrNew, checkpointId) => {
|
|
197
|
+
listening = 0;
|
|
198
|
+
store.transaction(() => {
|
|
199
|
+
const [cellsDelta2, valuesDelta2] = mapGet(deltas, checkpointId);
|
|
200
|
+
collForEach(cellsDelta2, (table, tableId) =>
|
|
201
|
+
collForEach(table, (row, rowId) =>
|
|
202
|
+
collForEach(row, (oldNew, cellId) =>
|
|
203
|
+
setOrDelCell(store, tableId, rowId, cellId, oldNew[oldOrNew]),
|
|
204
|
+
),
|
|
201
205
|
),
|
|
202
|
-
)
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
+
);
|
|
207
|
+
collForEach(valuesDelta2, (oldNew, valueId) =>
|
|
208
|
+
setOrDelValue(store, valueId, oldNew[oldOrNew]),
|
|
209
|
+
);
|
|
210
|
+
});
|
|
211
|
+
listening = 1;
|
|
212
|
+
};
|
|
213
|
+
const clearCheckpointId = (checkpointId) => {
|
|
214
|
+
mapSet(deltas, checkpointId);
|
|
215
|
+
mapSet(labels, checkpointId);
|
|
216
|
+
callListeners(checkpointListeners, [checkpointId]);
|
|
217
|
+
};
|
|
218
|
+
const clearCheckpointIds = (checkpointIds, to) =>
|
|
219
|
+
arrayForEach(
|
|
220
|
+
arrayClear(checkpointIds, to ?? size(checkpointIds)),
|
|
221
|
+
clearCheckpointId,
|
|
206
222
|
);
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
);
|
|
220
|
-
const trimBackwardsIds = () =>
|
|
221
|
-
clearCheckpointIds(backwardIds, size(backwardIds) - backwardIdsSize);
|
|
222
|
-
const storeChanged = () =>
|
|
223
|
-
ifNotUndefined(currentId, () => {
|
|
224
|
-
arrayPush(backwardIds, currentId);
|
|
225
|
-
trimBackwardsIds();
|
|
226
|
-
clearCheckpointIds(forwardIds);
|
|
227
|
-
currentId = void 0;
|
|
223
|
+
const trimBackwardsIds = () =>
|
|
224
|
+
clearCheckpointIds(backwardIds, size(backwardIds) - backwardIdsSize);
|
|
225
|
+
const storeChanged = () =>
|
|
226
|
+
ifNotUndefined(currentId, () => {
|
|
227
|
+
arrayPush(backwardIds, currentId);
|
|
228
|
+
trimBackwardsIds();
|
|
229
|
+
clearCheckpointIds(forwardIds);
|
|
230
|
+
currentId = void 0;
|
|
231
|
+
checkpointsChanged = 1;
|
|
232
|
+
});
|
|
233
|
+
const storeUnchanged = () => {
|
|
234
|
+
currentId = arrayPop(backwardIds);
|
|
228
235
|
checkpointsChanged = 1;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
storeChanged();
|
|
241
|
-
const table = mapEnsure(cellsDelta, tableId, mapNew);
|
|
242
|
-
const row = mapEnsure(table, rowId, mapNew);
|
|
243
|
-
const oldNew = mapEnsure(row, cellId, () => [oldCell, void 0]);
|
|
244
|
-
oldNew[1] = newCell;
|
|
245
|
-
if (
|
|
246
|
-
oldNew[0] === newCell &&
|
|
247
|
-
collIsEmpty(mapSet(row, cellId)) &&
|
|
248
|
-
collIsEmpty(mapSet(table, rowId)) &&
|
|
249
|
-
collIsEmpty(mapSet(cellsDelta, tableId))
|
|
250
|
-
) {
|
|
251
|
-
storeUnchanged();
|
|
252
|
-
}
|
|
253
|
-
callListenersIfChanged();
|
|
236
|
+
};
|
|
237
|
+
let cellListenerId;
|
|
238
|
+
let valueListenerId;
|
|
239
|
+
const addCheckpointImpl = (label = EMPTY_STRING) => {
|
|
240
|
+
if (isUndefined(currentId)) {
|
|
241
|
+
currentId = EMPTY_STRING + nextCheckpointId++;
|
|
242
|
+
mapSet(deltas, currentId, [cellsDelta, valuesDelta]);
|
|
243
|
+
setCheckpoint(currentId, label);
|
|
244
|
+
cellsDelta = mapNew();
|
|
245
|
+
valuesDelta = mapNew();
|
|
246
|
+
checkpointsChanged = 1;
|
|
254
247
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
oldValue,
|
|
264
|
-
void 0,
|
|
265
|
-
]);
|
|
266
|
-
oldNew[1] = newValue;
|
|
267
|
-
if (
|
|
268
|
-
oldNew[0] === newValue &&
|
|
269
|
-
collIsEmpty(mapSet(valuesDelta, valueId))
|
|
270
|
-
) {
|
|
271
|
-
storeUnchanged();
|
|
272
|
-
}
|
|
273
|
-
callListenersIfChanged();
|
|
248
|
+
return currentId;
|
|
249
|
+
};
|
|
250
|
+
const goBackwardImpl = () => {
|
|
251
|
+
if (!arrayIsEmpty(backwardIds)) {
|
|
252
|
+
arrayUnshift(forwardIds, addCheckpointImpl());
|
|
253
|
+
updateStore(0, currentId);
|
|
254
|
+
currentId = arrayPop(backwardIds);
|
|
255
|
+
checkpointsChanged = 1;
|
|
274
256
|
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
const
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
callListenersIfChanged();
|
|
353
|
-
return checkpoints;
|
|
354
|
-
};
|
|
355
|
-
const addCheckpointIdsListener = (listener) =>
|
|
356
|
-
addListener(listener, checkpointIdsListeners);
|
|
357
|
-
const addCheckpointListener = (checkpointId, listener) =>
|
|
358
|
-
addListener(listener, checkpointListeners, [checkpointId]);
|
|
359
|
-
const delListener = (listenerId) => {
|
|
360
|
-
delListenerImpl(listenerId);
|
|
361
|
-
return checkpoints;
|
|
362
|
-
};
|
|
363
|
-
const clear = () => {
|
|
364
|
-
clearCheckpointIds(backwardIds);
|
|
365
|
-
clearCheckpointIds(forwardIds);
|
|
366
|
-
if (!isUndefined(currentId)) {
|
|
367
|
-
clearCheckpointId(currentId);
|
|
368
|
-
}
|
|
369
|
-
currentId = void 0;
|
|
370
|
-
nextCheckpointId = 0;
|
|
371
|
-
addCheckpoint();
|
|
372
|
-
return checkpoints;
|
|
373
|
-
};
|
|
374
|
-
const clearForward = () => {
|
|
375
|
-
if (!arrayIsEmpty(forwardIds)) {
|
|
257
|
+
};
|
|
258
|
+
const goForwardImpl = () => {
|
|
259
|
+
if (!arrayIsEmpty(forwardIds)) {
|
|
260
|
+
arrayPush(backwardIds, currentId);
|
|
261
|
+
currentId = arrayShift(forwardIds);
|
|
262
|
+
updateStore(1, currentId);
|
|
263
|
+
checkpointsChanged = 1;
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
const callListenersIfChanged = () => {
|
|
267
|
+
if (checkpointsChanged) {
|
|
268
|
+
callListeners(checkpointIdsListeners);
|
|
269
|
+
checkpointsChanged = 0;
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
const setSize = (size2) => {
|
|
273
|
+
backwardIdsSize = size2;
|
|
274
|
+
trimBackwardsIds();
|
|
275
|
+
return checkpoints;
|
|
276
|
+
};
|
|
277
|
+
const addCheckpoint = (label) => {
|
|
278
|
+
const id = addCheckpointImpl(label);
|
|
279
|
+
callListenersIfChanged();
|
|
280
|
+
return id;
|
|
281
|
+
};
|
|
282
|
+
const setCheckpoint = (checkpointId, label) => {
|
|
283
|
+
if (
|
|
284
|
+
hasCheckpoint(checkpointId) &&
|
|
285
|
+
mapGet(labels, checkpointId) !== label
|
|
286
|
+
) {
|
|
287
|
+
mapSet(labels, checkpointId, label);
|
|
288
|
+
callListeners(checkpointListeners, [checkpointId]);
|
|
289
|
+
}
|
|
290
|
+
return checkpoints;
|
|
291
|
+
};
|
|
292
|
+
const getStore = () => store;
|
|
293
|
+
const getCheckpointIds = () => [
|
|
294
|
+
[...backwardIds],
|
|
295
|
+
currentId,
|
|
296
|
+
[...forwardIds],
|
|
297
|
+
];
|
|
298
|
+
const forEachCheckpoint = (checkpointCallback) =>
|
|
299
|
+
mapForEach(labels, checkpointCallback);
|
|
300
|
+
const hasCheckpoint = (checkpointId) => collHas(deltas, checkpointId);
|
|
301
|
+
const getCheckpoint = (checkpointId) => mapGet(labels, checkpointId);
|
|
302
|
+
const goBackward = () => {
|
|
303
|
+
goBackwardImpl();
|
|
304
|
+
callListenersIfChanged();
|
|
305
|
+
return checkpoints;
|
|
306
|
+
};
|
|
307
|
+
const goForward = () => {
|
|
308
|
+
goForwardImpl();
|
|
309
|
+
callListenersIfChanged();
|
|
310
|
+
return checkpoints;
|
|
311
|
+
};
|
|
312
|
+
const goTo = (checkpointId) => {
|
|
313
|
+
const action = arrayHas(backwardIds, checkpointId)
|
|
314
|
+
? goBackwardImpl
|
|
315
|
+
: arrayHas(forwardIds, checkpointId)
|
|
316
|
+
? goForwardImpl
|
|
317
|
+
: null;
|
|
318
|
+
while (!isUndefined(action) && checkpointId != currentId) {
|
|
319
|
+
action();
|
|
320
|
+
}
|
|
321
|
+
callListenersIfChanged();
|
|
322
|
+
return checkpoints;
|
|
323
|
+
};
|
|
324
|
+
const addCheckpointIdsListener = (listener) =>
|
|
325
|
+
addListener(listener, checkpointIdsListeners);
|
|
326
|
+
const addCheckpointListener = (checkpointId, listener) =>
|
|
327
|
+
addListener(listener, checkpointListeners, [checkpointId]);
|
|
328
|
+
const delListener = (listenerId) => {
|
|
329
|
+
delListenerImpl(listenerId);
|
|
330
|
+
return checkpoints;
|
|
331
|
+
};
|
|
332
|
+
const clear = () => {
|
|
333
|
+
clearCheckpointIds(backwardIds);
|
|
376
334
|
clearCheckpointIds(forwardIds);
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
335
|
+
if (!isUndefined(currentId)) {
|
|
336
|
+
clearCheckpointId(currentId);
|
|
337
|
+
}
|
|
338
|
+
currentId = void 0;
|
|
339
|
+
nextCheckpointId = 0;
|
|
340
|
+
addCheckpoint();
|
|
341
|
+
return checkpoints;
|
|
342
|
+
};
|
|
343
|
+
const clearForward = () => {
|
|
344
|
+
if (!arrayIsEmpty(forwardIds)) {
|
|
345
|
+
clearCheckpointIds(forwardIds);
|
|
346
|
+
callListeners(checkpointIdsListeners);
|
|
347
|
+
}
|
|
348
|
+
return checkpoints;
|
|
349
|
+
};
|
|
350
|
+
const destroy = () => {
|
|
351
|
+
store.delListener(cellListenerId);
|
|
352
|
+
store.delListener(valueListenerId);
|
|
353
|
+
};
|
|
354
|
+
const getListenerStats = () => ({
|
|
355
|
+
checkpointIds: collSize2(checkpointIdsListeners),
|
|
356
|
+
checkpoint: collSize2(checkpointListeners),
|
|
357
|
+
});
|
|
358
|
+
const _registerListeners = () => {
|
|
359
|
+
cellListenerId = store.addCellListener(
|
|
360
|
+
null,
|
|
361
|
+
null,
|
|
362
|
+
null,
|
|
363
|
+
(_store, tableId, rowId, cellId, newCell, oldCell) => {
|
|
364
|
+
if (listening) {
|
|
365
|
+
storeChanged();
|
|
366
|
+
const table = mapEnsure(cellsDelta, tableId, mapNew);
|
|
367
|
+
const row = mapEnsure(table, rowId, mapNew);
|
|
368
|
+
const oldNew = mapEnsure(row, cellId, () => [oldCell, void 0]);
|
|
369
|
+
oldNew[1] = newCell;
|
|
370
|
+
if (
|
|
371
|
+
oldNew[0] === newCell &&
|
|
372
|
+
collIsEmpty(mapSet(row, cellId)) &&
|
|
373
|
+
collIsEmpty(mapSet(table, rowId)) &&
|
|
374
|
+
collIsEmpty(mapSet(cellsDelta, tableId))
|
|
375
|
+
) {
|
|
376
|
+
storeUnchanged();
|
|
377
|
+
}
|
|
378
|
+
callListenersIfChanged();
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
);
|
|
382
|
+
valueListenerId = store.addValueListener(
|
|
383
|
+
null,
|
|
384
|
+
(_store, valueId, newValue, oldValue) => {
|
|
385
|
+
if (listening) {
|
|
386
|
+
storeChanged();
|
|
387
|
+
const oldNew = mapEnsure(valuesDelta, valueId, () => [
|
|
388
|
+
oldValue,
|
|
389
|
+
void 0,
|
|
390
|
+
]);
|
|
391
|
+
oldNew[1] = newValue;
|
|
392
|
+
if (
|
|
393
|
+
oldNew[0] === newValue &&
|
|
394
|
+
collIsEmpty(mapSet(valuesDelta, valueId))
|
|
395
|
+
) {
|
|
396
|
+
storeUnchanged();
|
|
397
|
+
}
|
|
398
|
+
callListenersIfChanged();
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
);
|
|
402
|
+
};
|
|
403
|
+
const checkpoints = {
|
|
404
|
+
setSize,
|
|
405
|
+
addCheckpoint,
|
|
406
|
+
setCheckpoint,
|
|
407
|
+
getStore,
|
|
408
|
+
getCheckpointIds,
|
|
409
|
+
forEachCheckpoint,
|
|
410
|
+
hasCheckpoint,
|
|
411
|
+
getCheckpoint,
|
|
412
|
+
goBackward,
|
|
413
|
+
goForward,
|
|
414
|
+
goTo,
|
|
415
|
+
addCheckpointIdsListener,
|
|
416
|
+
addCheckpointListener,
|
|
417
|
+
delListener,
|
|
418
|
+
clear,
|
|
419
|
+
clearForward,
|
|
420
|
+
destroy,
|
|
421
|
+
getListenerStats,
|
|
422
|
+
_registerListeners,
|
|
423
|
+
};
|
|
424
|
+
return objFreeze(checkpoints.clear());
|
|
425
|
+
},
|
|
426
|
+
(checkpoints) => checkpoints._registerListeners(),
|
|
427
|
+
);
|
|
411
428
|
|
|
412
429
|
export {createCheckpoints};
|
package/lib/debug/indexes.js
CHANGED
|
@@ -246,13 +246,15 @@ const getRowCellFunction = (getRowCell, defaultCellValue) =>
|
|
|
246
246
|
isString(getRowCell)
|
|
247
247
|
? (getCell) => getCell(getRowCell)
|
|
248
248
|
: getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING);
|
|
249
|
-
const getCreateFunction = (getFunction) => {
|
|
250
|
-
const
|
|
249
|
+
const getCreateFunction = (getFunction, initFunction) => {
|
|
250
|
+
const thingsByStore = /* @__PURE__ */ new WeakMap();
|
|
251
251
|
return (store) => {
|
|
252
|
-
if (!
|
|
253
|
-
|
|
252
|
+
if (!thingsByStore.has(store)) {
|
|
253
|
+
thingsByStore.set(store, getFunction(store));
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
const thing = thingsByStore.get(store);
|
|
256
|
+
initFunction?.(thing);
|
|
257
|
+
return thing;
|
|
256
258
|
};
|
|
257
259
|
};
|
|
258
260
|
|
package/lib/debug/metrics.js
CHANGED
|
@@ -317,13 +317,15 @@ const getRowCellFunction = (getRowCell, defaultCellValue) =>
|
|
|
317
317
|
isString(getRowCell)
|
|
318
318
|
? (getCell) => getCell(getRowCell)
|
|
319
319
|
: getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING);
|
|
320
|
-
const getCreateFunction = (getFunction) => {
|
|
321
|
-
const
|
|
320
|
+
const getCreateFunction = (getFunction, initFunction) => {
|
|
321
|
+
const thingsByStore = /* @__PURE__ */ new WeakMap();
|
|
322
322
|
return (store) => {
|
|
323
|
-
if (!
|
|
324
|
-
|
|
323
|
+
if (!thingsByStore.has(store)) {
|
|
324
|
+
thingsByStore.set(store, getFunction(store));
|
|
325
325
|
}
|
|
326
|
-
|
|
326
|
+
const thing = thingsByStore.get(store);
|
|
327
|
+
initFunction?.(thing);
|
|
328
|
+
return thing;
|
|
327
329
|
};
|
|
328
330
|
};
|
|
329
331
|
|
|
@@ -11,6 +11,7 @@ const arrayShift = (array) => array.shift();
|
|
|
11
11
|
|
|
12
12
|
const object = Object;
|
|
13
13
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
14
|
+
const objEntries = object.entries;
|
|
14
15
|
const objIds = object.keys;
|
|
15
16
|
const objFreeze = object.freeze;
|
|
16
17
|
const isObject = (obj) =>
|
|
@@ -20,6 +21,7 @@ const isObject = (obj) =>
|
|
|
20
21
|
(objPrototype) =>
|
|
21
22
|
objPrototype == object.prototype ||
|
|
22
23
|
isUndefined(getPrototypeOf(objPrototype)),
|
|
24
|
+
/* istanbul ignore next */
|
|
23
25
|
() => true,
|
|
24
26
|
);
|
|
25
27
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
@@ -29,7 +31,7 @@ const objDel = (obj, id) => {
|
|
|
29
31
|
return obj;
|
|
30
32
|
};
|
|
31
33
|
const objMap = (obj, cb) =>
|
|
32
|
-
arrayMap(
|
|
34
|
+
arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
|
|
33
35
|
const objSize = (obj) => size(objIds(obj));
|
|
34
36
|
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
35
37
|
const objEnsure = (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
|
|