tinybase 4.0.0-beta.4 → 4.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -0
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -0
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -0
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.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.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.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.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/{persister-automerge.js → persisters/persister-automerge.js} +57 -30
- package/lib/debug/{persister-browser.js → persisters/persister-browser.js} +48 -19
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +665 -0
- package/lib/debug/{persister-file.js → persisters/persister-file.js} +50 -24
- package/lib/debug/{persister-remote.js → persisters/persister-remote.js} +47 -18
- package/lib/debug/persisters/persister-sqlite-wasm.js +673 -0
- package/lib/debug/persisters/persister-sqlite3.js +676 -0
- package/lib/debug/{persister-yjs.js → persisters/persister-yjs.js} +48 -19
- package/lib/debug/persisters.js +46 -17
- package/lib/debug/store.js +77 -27
- package/lib/debug/tinybase.js +120 -43
- package/lib/debug/tools.js +121 -27
- package/lib/debug/ui-react.js +24 -0
- package/lib/es6/persisters/persister-automerge.js +1 -0
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -0
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -0
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -0
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -0
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -0
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.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.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -0
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -0
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -0
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -0
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -0
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -0
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.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/checkpoints.d.ts +0 -27
- package/lib/types/common.d.ts +0 -9
- package/lib/types/indexes.d.ts +0 -26
- package/lib/types/metrics.d.ts +0 -23
- package/lib/types/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +95 -0
- package/lib/types/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +102 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +109 -0
- package/lib/types/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/persisters.d.ts +517 -27
- package/lib/types/queries.d.ts +52 -127
- package/lib/types/relationships.d.ts +0 -26
- package/lib/types/store.d.ts +347 -196
- package/lib/types/tinybase.d.ts +0 -1
- package/lib/types/tools.d.ts +15 -28
- package/lib/types/ui-react.d.ts +196 -181
- package/lib/types/with-schemas/checkpoints.d.ts +5 -32
- package/lib/types/with-schemas/common.d.ts +0 -9
- package/lib/types/with-schemas/indexes.d.ts +9 -35
- package/lib/types/with-schemas/metrics.d.ts +9 -32
- package/lib/types/with-schemas/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/with-schemas/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +105 -0
- package/lib/types/with-schemas/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/with-schemas/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +113 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +119 -0
- package/lib/types/with-schemas/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/with-schemas/persisters.d.ts +534 -29
- package/lib/types/with-schemas/queries.d.ts +61 -224
- package/lib/types/with-schemas/relationships.d.ts +9 -35
- package/lib/types/with-schemas/store.d.ts +488 -239
- package/lib/types/with-schemas/tinybase.d.ts +0 -1
- package/lib/types/with-schemas/tools.d.ts +19 -32
- package/lib/types/with-schemas/ui-react.d.ts +221 -186
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -0
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -0
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -0
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -0
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -0
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -0
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.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.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -0
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -0
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -0
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -0
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -0
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.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.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +38 -21
- package/readme.md +3 -3
- package/lib/cjs/persister-automerge.cjs +0 -1
- package/lib/cjs/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persister-browser.cjs +0 -1
- package/lib/cjs/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persister-file.cjs +0 -1
- package/lib/cjs/persister-file.cjs.gz +0 -0
- package/lib/cjs/persister-remote.cjs +0 -1
- package/lib/cjs/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persister-yjs.cjs +0 -1
- package/lib/cjs/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persister-automerge.cjs +0 -1
- package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persister-browser.cjs +0 -1
- package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persister-file.cjs +0 -1
- package/lib/cjs-es6/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persister-remote.cjs +0 -1
- package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persister-yjs.cjs +0 -1
- package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
- package/lib/es6/persister-automerge.js +0 -1
- package/lib/es6/persister-automerge.js.gz +0 -0
- package/lib/es6/persister-browser.js +0 -1
- package/lib/es6/persister-browser.js.gz +0 -0
- package/lib/es6/persister-file.js +0 -1
- package/lib/es6/persister-file.js.gz +0 -0
- package/lib/es6/persister-remote.js +0 -1
- package/lib/es6/persister-remote.js.gz +0 -0
- package/lib/es6/persister-yjs.js +0 -1
- package/lib/es6/persister-yjs.js.gz +0 -0
- package/lib/persister-automerge.js +0 -1
- package/lib/persister-automerge.js.gz +0 -0
- package/lib/persister-browser.js +0 -1
- package/lib/persister-browser.js.gz +0 -0
- package/lib/persister-file.js +0 -1
- package/lib/persister-file.js.gz +0 -0
- package/lib/persister-remote.js +0 -1
- package/lib/persister-remote.js.gz +0 -0
- package/lib/persister-yjs.js +0 -1
- package/lib/persister-yjs.js.gz +0 -0
- package/lib/umd/persister-automerge.js +0 -1
- package/lib/umd/persister-automerge.js.gz +0 -0
- package/lib/umd/persister-browser.js +0 -1
- package/lib/umd/persister-browser.js.gz +0 -0
- package/lib/umd/persister-file.js +0 -1
- package/lib/umd/persister-file.js.gz +0 -0
- package/lib/umd/persister-remote.js +0 -1
- package/lib/umd/persister-remote.js.gz +0 -0
- package/lib/umd/persister-yjs.js +0 -1
- package/lib/umd/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persister-automerge.js +0 -1
- package/lib/umd-es6/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persister-browser.js +0 -1
- package/lib/umd-es6/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persister-file.js +0 -1
- package/lib/umd-es6/persister-file.js.gz +0 -0
- package/lib/umd-es6/persister-remote.js +0 -1
- package/lib/umd-es6/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persister-yjs.js +0 -1
- package/lib/umd-es6/persister-yjs.js.gz +0 -0
package/lib/debug/tools.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
const getTypeOf = (thing) => typeof thing;
|
|
2
|
+
const TINYBASE = 'tinybase';
|
|
2
3
|
const EMPTY_STRING = '';
|
|
4
|
+
const COMMA = ',';
|
|
3
5
|
const STRING = getTypeOf(EMPTY_STRING);
|
|
4
6
|
const BOOLEAN = getTypeOf(true);
|
|
5
7
|
const NUMBER = getTypeOf(0);
|
|
@@ -24,9 +26,9 @@ const VALUE_IDS = VALUE + IDS;
|
|
|
24
26
|
const arrayEvery = (array, cb) => array.every(cb);
|
|
25
27
|
const arraySort = (array, sorter) => array.sort(sorter);
|
|
26
28
|
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
29
|
+
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
27
30
|
const arrayMap = (array, cb) => array.map(cb);
|
|
28
31
|
const arrayLength = (array) => array.length;
|
|
29
|
-
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
30
32
|
const arrayFilter = (array, cb) => array.filter(cb);
|
|
31
33
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
32
34
|
const arrayPop = (array) => array.pop();
|
|
@@ -55,7 +57,8 @@ const isObject = (obj) =>
|
|
|
55
57
|
isInstanceOf(obj, object) && obj.constructor == object;
|
|
56
58
|
const objMap = (obj, cb) =>
|
|
57
59
|
arrayMap(object.entries(obj), ([id, value]) => cb(value, id));
|
|
58
|
-
const
|
|
60
|
+
const objSize = (obj) => arrayLength(objIds(obj));
|
|
61
|
+
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
59
62
|
|
|
60
63
|
const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
|
|
61
64
|
const collValues = (coll) => [...(coll?.values() ?? [])];
|
|
@@ -217,6 +220,7 @@ const NOUNS = [
|
|
|
217
220
|
A + VALUE,
|
|
218
221
|
'invalid Value changes',
|
|
219
222
|
THE + 'sorted ' + ROW + SPACE + IDS,
|
|
223
|
+
THE + CELL + SPACE + IDS + ' anywhere',
|
|
220
224
|
];
|
|
221
225
|
const CONTENT = [EMPTY_STRING, 'tabular ', 'keyed value '];
|
|
222
226
|
|
|
@@ -232,7 +236,7 @@ const NON_ALPHA = /[^A-Za-z]+/;
|
|
|
232
236
|
const NON_ALPHANUMERIC = /[^A-Za-z0-9]+/;
|
|
233
237
|
const JSDOC = /^( *)\/\*\* *(.*?) *\*\/$/gm;
|
|
234
238
|
const substr = (str, start, end) => str.substring(start, end);
|
|
235
|
-
const stringHasComma = (str) => str.includes(
|
|
239
|
+
const stringHasComma = (str) => str.includes(COMMA);
|
|
236
240
|
const mapUnique = (map, id, value, index = 1) => {
|
|
237
241
|
const uniqueId = `${id}${index == 1 ? '' : index}`;
|
|
238
242
|
if (collHas(map, uniqueId)) {
|
|
@@ -253,10 +257,9 @@ ${text.replace(
|
|
|
253
257
|
)}${indent} */`;
|
|
254
258
|
});
|
|
255
259
|
const length = (str) => str.length;
|
|
256
|
-
const join = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
257
260
|
const flat = (array) => array.flat(1e3);
|
|
258
261
|
const camel = (str, firstCap = 0) =>
|
|
259
|
-
|
|
262
|
+
arrayJoin(
|
|
260
263
|
arrayMap(
|
|
261
264
|
str.split(NON_ALPHANUMERIC),
|
|
262
265
|
(word, w) =>
|
|
@@ -266,7 +269,7 @@ const camel = (str, firstCap = 0) =>
|
|
|
266
269
|
);
|
|
267
270
|
const snake = (str) =>
|
|
268
271
|
upper(
|
|
269
|
-
|
|
272
|
+
arrayJoin(
|
|
270
273
|
(str && !NON_ALPHA.test(str[0]) ? str : ' ' + str).split(
|
|
271
274
|
NON_ALPHANUMERIC,
|
|
272
275
|
),
|
|
@@ -275,18 +278,18 @@ const snake = (str) =>
|
|
|
275
278
|
);
|
|
276
279
|
const comment = (doc) => `/** ${doc}. */`;
|
|
277
280
|
const getParameterList = (...params) =>
|
|
278
|
-
|
|
281
|
+
arrayJoin(
|
|
279
282
|
arrayFilter(params, (param) => param),
|
|
280
283
|
', ',
|
|
281
284
|
);
|
|
282
|
-
const getFieldTypeList = (...props) => '{' +
|
|
285
|
+
const getFieldTypeList = (...props) => '{' + arrayJoin(props, '; ') + '}';
|
|
283
286
|
const getPropTypeList = (...props) =>
|
|
284
287
|
getFieldTypeList(...arrayMap(props, (prop) => 'readonly ' + prop));
|
|
285
288
|
const getCodeFunctions = () => {
|
|
286
289
|
const allImports = [mapNew(), mapNew(), mapNew(), mapNew()];
|
|
287
290
|
const types = mapNew();
|
|
288
291
|
const constants = mapNew();
|
|
289
|
-
const build = (...lines) =>
|
|
292
|
+
const build = (...lines) => arrayJoin(flat(lines), '\n');
|
|
290
293
|
const addImport = (location, source, ...items) =>
|
|
291
294
|
arrayForEach(items, (item) =>
|
|
292
295
|
arrayForEach([0, 1], (eachLocation) =>
|
|
@@ -307,6 +310,10 @@ const getCodeFunctions = () => {
|
|
|
307
310
|
);
|
|
308
311
|
const addConstant = (name, body) =>
|
|
309
312
|
mapGet(constants, name) === body ? name : mapUnique(constants, name, body);
|
|
313
|
+
const getSortableImport = (importMaybeAs) => {
|
|
314
|
+
const as = importMaybeAs.indexOf(' as ');
|
|
315
|
+
return as != -1 ? importMaybeAs.substring(as + 4) : importMaybeAs;
|
|
316
|
+
};
|
|
310
317
|
const getImports = (location = 0) =>
|
|
311
318
|
arrayMap(
|
|
312
319
|
[
|
|
@@ -314,8 +321,12 @@ const getCodeFunctions = () => {
|
|
|
314
321
|
mapMap(
|
|
315
322
|
allImports[location],
|
|
316
323
|
(items, source) =>
|
|
317
|
-
`import {${
|
|
318
|
-
arraySort(collValues(items))
|
|
324
|
+
`import {${arrayJoin(
|
|
325
|
+
arraySort(collValues(items), (import1, import2) =>
|
|
326
|
+
getSortableImport(import1) > getSortableImport(import2)
|
|
327
|
+
? 1
|
|
328
|
+
: -1,
|
|
329
|
+
),
|
|
319
330
|
', ',
|
|
320
331
|
)}} from '${source}';`,
|
|
321
332
|
),
|
|
@@ -510,6 +521,12 @@ const getTypeFunctions = (
|
|
|
510
521
|
getCallbackDoc(A + ROW + ' Id, and a ' + CELL + ' iterator'),
|
|
511
522
|
tIdGeneric,
|
|
512
523
|
);
|
|
524
|
+
const tableCellCallbackType = addType(
|
|
525
|
+
TABLE + CELL + CALLBACK,
|
|
526
|
+
`(cellId: ${cellIdType}<TId>, count: number) ` + RETURNS_VOID,
|
|
527
|
+
getCallbackDoc(A + CELL + ' Id, and count of how many times it appears'),
|
|
528
|
+
tIdGeneric,
|
|
529
|
+
);
|
|
513
530
|
const tableIdForEachRowArrayType = addType(
|
|
514
531
|
'TableIdForEachRowArray',
|
|
515
532
|
`TId extends ${tableIdType} ? [tableId: TId, forEachRow: (rowCallback: ${rowCallbackType}<TId>)${RETURNS_VOID}] : never`,
|
|
@@ -555,6 +572,11 @@ const getTypeFunctions = (
|
|
|
555
572
|
RETURNS_VOID,
|
|
556
573
|
getListenerTypeDoc(3),
|
|
557
574
|
);
|
|
575
|
+
const tableCellIdsListenerType = addType(
|
|
576
|
+
TABLE + CELL_IDS + LISTENER,
|
|
577
|
+
`(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
|
|
578
|
+
getListenerTypeDoc(14, 3),
|
|
579
|
+
);
|
|
558
580
|
const rowIdsListenerType = addType(
|
|
559
581
|
ROW_IDS + LISTENER,
|
|
560
582
|
`(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
|
|
@@ -641,10 +663,12 @@ const getTypeFunctions = (
|
|
|
641
663
|
cellType,
|
|
642
664
|
cellCallbackType,
|
|
643
665
|
rowCallbackType,
|
|
666
|
+
tableCellCallbackType,
|
|
644
667
|
tableCallbackType,
|
|
645
668
|
tablesListenerType,
|
|
646
669
|
tableIdsListenerType,
|
|
647
670
|
tableListenerType,
|
|
671
|
+
tableCellIdsListenerType,
|
|
648
672
|
rowIdsListenerType,
|
|
649
673
|
sortedRowIdsListenerType,
|
|
650
674
|
rowListenerType,
|
|
@@ -873,8 +897,8 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
873
897
|
`create${storeType} as create${storeType}Decl`,
|
|
874
898
|
);
|
|
875
899
|
if (!objIsEmpty(tablesSchema)) {
|
|
876
|
-
addImport(0,
|
|
877
|
-
addImport(null,
|
|
900
|
+
addImport(0, TINYBASE, 'CellChange');
|
|
901
|
+
addImport(null, TINYBASE, IDS);
|
|
878
902
|
const [
|
|
879
903
|
tablesType,
|
|
880
904
|
tablesWhenSetType,
|
|
@@ -887,10 +911,12 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
887
911
|
_cellType,
|
|
888
912
|
cellCallbackType,
|
|
889
913
|
rowCallbackType,
|
|
914
|
+
tableCellCallbackType,
|
|
890
915
|
tableCallbackType,
|
|
891
916
|
tablesListenerType,
|
|
892
917
|
tableIdsListenerType,
|
|
893
918
|
tableListenerType,
|
|
919
|
+
tableCellIdsListenerType,
|
|
894
920
|
rowIdsListenerType,
|
|
895
921
|
sortedRowIdsListenerType,
|
|
896
922
|
rowListenerType,
|
|
@@ -948,6 +974,14 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
948
974
|
`a Row Id from the '${tableId}' Table, and a Cell iterator`,
|
|
949
975
|
),
|
|
950
976
|
),
|
|
977
|
+
// TableCellCallbackType
|
|
978
|
+
addType(
|
|
979
|
+
tableName + TABLE + CELL + CALLBACK,
|
|
980
|
+
tableCellCallbackType + tableIdGeneric,
|
|
981
|
+
getCallbackDoc(
|
|
982
|
+
`a Cell Id from anywhere in the '${tableId}' Table, and a count of how many times it appears`,
|
|
983
|
+
),
|
|
984
|
+
),
|
|
951
985
|
];
|
|
952
986
|
mapSet(tablesTypes, tableId, tableTypes);
|
|
953
987
|
addImport(1, moduleDefinition, ...tableTypes);
|
|
@@ -963,6 +997,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
963
997
|
tablesListenerType,
|
|
964
998
|
tableIdsListenerType,
|
|
965
999
|
tableListenerType,
|
|
1000
|
+
tableCellIdsListenerType,
|
|
966
1001
|
rowIdsListenerType,
|
|
967
1002
|
sortedRowIdsListenerType,
|
|
968
1003
|
rowListenerType,
|
|
@@ -978,6 +1013,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
978
1013
|
tablesListenerType,
|
|
979
1014
|
tableIdsListenerType,
|
|
980
1015
|
tableListenerType,
|
|
1016
|
+
tableCellIdsListenerType,
|
|
981
1017
|
rowIdsListenerType,
|
|
982
1018
|
sortedRowIdsListenerType,
|
|
983
1019
|
rowListenerType,
|
|
@@ -1028,6 +1064,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1028
1064
|
cellIdType2,
|
|
1029
1065
|
cellCallbackType2,
|
|
1030
1066
|
rowCallbackType2,
|
|
1067
|
+
tableCellCallbackType2,
|
|
1031
1068
|
] = mapGet(tablesTypes, tableId);
|
|
1032
1069
|
arrayForEach(
|
|
1033
1070
|
[
|
|
@@ -1047,6 +1084,24 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1047
1084
|
TABLE_ID + paramsInCall,
|
|
1048
1085
|
),
|
|
1049
1086
|
);
|
|
1087
|
+
addProxyMethod(
|
|
1088
|
+
0,
|
|
1089
|
+
tableName,
|
|
1090
|
+
TABLE + CELL_IDS,
|
|
1091
|
+
IDS,
|
|
1092
|
+
getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)),
|
|
1093
|
+
EMPTY_STRING,
|
|
1094
|
+
TABLE_ID,
|
|
1095
|
+
);
|
|
1096
|
+
addProxyMethod(
|
|
1097
|
+
5,
|
|
1098
|
+
tableName,
|
|
1099
|
+
TABLE + CELL,
|
|
1100
|
+
VOID,
|
|
1101
|
+
getForEachDoc(TABLE + CELL, 'the whole of ' + getTableDoc(tableId)),
|
|
1102
|
+
'tableCellCallback: ' + tableCellCallbackType2,
|
|
1103
|
+
TABLE_ID + ', tableCellCallback as any',
|
|
1104
|
+
);
|
|
1050
1105
|
addProxyMethod(
|
|
1051
1106
|
0,
|
|
1052
1107
|
tableName,
|
|
@@ -1151,6 +1206,17 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1151
1206
|
TABLE_ID + ', rowId, ' + CELL_ID + paramsInCall,
|
|
1152
1207
|
),
|
|
1153
1208
|
);
|
|
1209
|
+
addProxyMethod(
|
|
1210
|
+
1,
|
|
1211
|
+
tableName + cellName,
|
|
1212
|
+
TABLE + CELL,
|
|
1213
|
+
BOOLEAN,
|
|
1214
|
+
VERBS[1] +
|
|
1215
|
+
` the '${cellId}' Cell anywhere in ` +
|
|
1216
|
+
getTableDoc(tableId),
|
|
1217
|
+
EMPTY_STRING,
|
|
1218
|
+
TABLE_ID + ', ' + CELL_ID,
|
|
1219
|
+
);
|
|
1154
1220
|
},
|
|
1155
1221
|
);
|
|
1156
1222
|
});
|
|
@@ -1183,6 +1249,13 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1183
1249
|
`tableId: ${tableIdType} | null`,
|
|
1184
1250
|
'tableId',
|
|
1185
1251
|
);
|
|
1252
|
+
addProxyListener(
|
|
1253
|
+
TABLE + CELL_IDS,
|
|
1254
|
+
tableCellIdsListenerType,
|
|
1255
|
+
getListenerDoc(14, 3, 1),
|
|
1256
|
+
`tableId: ${tableIdType} | null`,
|
|
1257
|
+
'tableId',
|
|
1258
|
+
);
|
|
1186
1259
|
addProxyListener(
|
|
1187
1260
|
ROW_IDS,
|
|
1188
1261
|
rowIdsListenerType,
|
|
@@ -1223,7 +1296,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1223
1296
|
CELL,
|
|
1224
1297
|
cellListenerType,
|
|
1225
1298
|
getListenerDoc(7, 5),
|
|
1226
|
-
`tableId: ${tableIdType} | null, rowId: IdOrNull, cellId: ${
|
|
1299
|
+
`tableId: ${tableIdType} | null, rowId: IdOrNull, cellId: ${arrayJoin(
|
|
1227
1300
|
mapTablesSchema(
|
|
1228
1301
|
(tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
|
|
1229
1302
|
),
|
|
@@ -1266,7 +1339,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1266
1339
|
'})',
|
|
1267
1340
|
);
|
|
1268
1341
|
} else {
|
|
1269
|
-
addImport(null,
|
|
1342
|
+
addImport(null, TINYBASE, TABLES);
|
|
1270
1343
|
}
|
|
1271
1344
|
if (!objIsEmpty(valuesSchema)) {
|
|
1272
1345
|
const [
|
|
@@ -1394,7 +1467,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1394
1467
|
'valueId',
|
|
1395
1468
|
);
|
|
1396
1469
|
addImport(1, moduleDefinition, ...collValues(mapCellOrValueTypes));
|
|
1397
|
-
addImport(0,
|
|
1470
|
+
addImport(0, TINYBASE, 'ValueChange');
|
|
1398
1471
|
arrayPush(
|
|
1399
1472
|
createSteps,
|
|
1400
1473
|
'.set' + VALUES + SCHEMA + '({',
|
|
@@ -1414,7 +1487,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1414
1487
|
'})',
|
|
1415
1488
|
);
|
|
1416
1489
|
} else {
|
|
1417
|
-
addImport(null,
|
|
1490
|
+
addImport(null, TINYBASE, VALUES);
|
|
1418
1491
|
}
|
|
1419
1492
|
addProxyMethod(
|
|
1420
1493
|
0,
|
|
@@ -1450,7 +1523,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1450
1523
|
);
|
|
1451
1524
|
addImport(
|
|
1452
1525
|
null,
|
|
1453
|
-
|
|
1526
|
+
TINYBASE,
|
|
1454
1527
|
'DoRollback',
|
|
1455
1528
|
ID,
|
|
1456
1529
|
'IdOrNull',
|
|
@@ -1458,7 +1531,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1458
1531
|
'Store',
|
|
1459
1532
|
TRANSACTION_CHANGES,
|
|
1460
1533
|
);
|
|
1461
|
-
addImport(0,
|
|
1534
|
+
addImport(0, TINYBASE, 'Get' + TRANSACTION_CHANGES, 'GetTransactionLog');
|
|
1462
1535
|
addProxyMethod(
|
|
1463
1536
|
0,
|
|
1464
1537
|
EMPTY_STRING,
|
|
@@ -1554,7 +1627,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1554
1627
|
'store',
|
|
1555
1628
|
VERBS[0] + ' the underlying Store object',
|
|
1556
1629
|
);
|
|
1557
|
-
addImport(1,
|
|
1630
|
+
addImport(1, TINYBASE, 'createStore');
|
|
1558
1631
|
addImport(
|
|
1559
1632
|
1,
|
|
1560
1633
|
moduleDefinition,
|
|
@@ -1747,7 +1820,7 @@ const getStoreUiReactApi = (
|
|
|
1747
1820
|
});
|
|
1748
1821
|
addImport(
|
|
1749
1822
|
null,
|
|
1750
|
-
|
|
1823
|
+
TINYBASE,
|
|
1751
1824
|
ID,
|
|
1752
1825
|
'Store',
|
|
1753
1826
|
CALLBACK,
|
|
@@ -1840,6 +1913,7 @@ const getStoreUiReactApi = (
|
|
|
1840
1913
|
tablesListenerType,
|
|
1841
1914
|
tableIdsListenerType,
|
|
1842
1915
|
tableListenerType,
|
|
1916
|
+
tableCellIdsListenerType,
|
|
1843
1917
|
rowIdsListenerType,
|
|
1844
1918
|
sortedRowIdsListenerType,
|
|
1845
1919
|
rowListenerType,
|
|
@@ -1856,6 +1930,7 @@ const getStoreUiReactApi = (
|
|
|
1856
1930
|
tablesListenerType,
|
|
1857
1931
|
tableIdsListenerType,
|
|
1858
1932
|
tableListenerType,
|
|
1933
|
+
tableCellIdsListenerType,
|
|
1859
1934
|
rowIdsListenerType,
|
|
1860
1935
|
sortedRowIdsListenerType,
|
|
1861
1936
|
rowListenerType,
|
|
@@ -1864,7 +1939,7 @@ const getStoreUiReactApi = (
|
|
|
1864
1939
|
);
|
|
1865
1940
|
addImport(0, moduleDefinition, cellIdType);
|
|
1866
1941
|
addImport(1, moduleDefinition, storeType);
|
|
1867
|
-
addImport(null,
|
|
1942
|
+
addImport(null, TINYBASE, IDS, 'IdOrNull');
|
|
1868
1943
|
const tableView = addInternalFunction(
|
|
1869
1944
|
'tableView',
|
|
1870
1945
|
`{${storeInstance}, rowComponent, getRowComponentProps` +
|
|
@@ -1890,7 +1965,7 @@ const getStoreUiReactApi = (
|
|
|
1890
1965
|
const getDefaultTableComponent = addInternalFunction(
|
|
1891
1966
|
'getDefaultTableComponent',
|
|
1892
1967
|
'tableId: Id',
|
|
1893
|
-
|
|
1968
|
+
arrayJoin(
|
|
1894
1969
|
mapTablesSchema(
|
|
1895
1970
|
(_, tableName, TABLE_ID) =>
|
|
1896
1971
|
`tableId == ${TABLE_ID} ? ${tableName}TableView : `,
|
|
@@ -1900,11 +1975,11 @@ const getStoreUiReactApi = (
|
|
|
1900
1975
|
const getDefaultCellComponent = addInternalFunction(
|
|
1901
1976
|
'getDefaultCellComponent',
|
|
1902
1977
|
'tableId: Id, cellId: Id',
|
|
1903
|
-
|
|
1978
|
+
arrayJoin(
|
|
1904
1979
|
mapTablesSchema(
|
|
1905
1980
|
(tableId, tableName, TABLE_ID) =>
|
|
1906
1981
|
`tableId == ${TABLE_ID} ? ${
|
|
1907
|
-
|
|
1982
|
+
arrayJoin(
|
|
1908
1983
|
mapCellSchema(
|
|
1909
1984
|
tableId,
|
|
1910
1985
|
(_, _2, _3, CELL_ID, cellName) =>
|
|
@@ -2088,6 +2163,14 @@ const getStoreUiReactApi = (
|
|
|
2088
2163
|
EMPTY_STRING,
|
|
2089
2164
|
TABLE_ID,
|
|
2090
2165
|
);
|
|
2166
|
+
addProxyHook(
|
|
2167
|
+
tableName + TABLE + CELL_IDS,
|
|
2168
|
+
TABLE + CELL_IDS,
|
|
2169
|
+
IDS,
|
|
2170
|
+
getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)) + AND_REGISTERS,
|
|
2171
|
+
EMPTY_STRING,
|
|
2172
|
+
TABLE_ID,
|
|
2173
|
+
);
|
|
2091
2174
|
const useRowIds = addProxyHook(
|
|
2092
2175
|
tableName + ROW_IDS,
|
|
2093
2176
|
ROW_IDS,
|
|
@@ -2328,7 +2411,7 @@ const getStoreUiReactApi = (
|
|
|
2328
2411
|
},
|
|
2329
2412
|
);
|
|
2330
2413
|
});
|
|
2331
|
-
const cellIdsType =
|
|
2414
|
+
const cellIdsType = arrayJoin(
|
|
2332
2415
|
mapTablesSchema(
|
|
2333
2416
|
(tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
|
|
2334
2417
|
),
|
|
@@ -2361,6 +2444,17 @@ const getStoreUiReactApi = (
|
|
|
2361
2444
|
),
|
|
2362
2445
|
getListenerHookParamsInCall('tableId'),
|
|
2363
2446
|
);
|
|
2447
|
+
addProxyHook(
|
|
2448
|
+
TABLE + CELL_IDS + LISTENER,
|
|
2449
|
+
TABLE + CELL_IDS + LISTENER,
|
|
2450
|
+
VOID,
|
|
2451
|
+
getListenerDoc(14, 3, 1),
|
|
2452
|
+
getListenerHookParams(
|
|
2453
|
+
tableCellIdsListenerType,
|
|
2454
|
+
`tableId: ${tableIdType} | null`,
|
|
2455
|
+
),
|
|
2456
|
+
getListenerHookParamsInCall('tableId'),
|
|
2457
|
+
);
|
|
2364
2458
|
addProxyHook(
|
|
2365
2459
|
ROW_IDS + LISTENER,
|
|
2366
2460
|
ROW_IDS + LISTENER,
|
|
@@ -2445,7 +2539,7 @@ const getStoreUiReactApi = (
|
|
|
2445
2539
|
const getDefaultValueComponent = addInternalFunction(
|
|
2446
2540
|
'getDefaultValueComponent',
|
|
2447
2541
|
'valueId: Id',
|
|
2448
|
-
|
|
2542
|
+
arrayJoin(
|
|
2449
2543
|
mapValuesSchema(
|
|
2450
2544
|
(_, _2, _3, VALUE_ID, valueName) =>
|
|
2451
2545
|
`valueId == ${VALUE_ID} ? ` + valueName + 'ValueView : ',
|
package/lib/debug/ui-react.js
CHANGED
|
@@ -174,6 +174,13 @@ const useTableIds = (storeOrStoreId) =>
|
|
|
174
174
|
useListenable(TABLE_IDS, useStoreOrStoreId(storeOrStoreId), [], []);
|
|
175
175
|
const useTable = (tableId, storeOrStoreId) =>
|
|
176
176
|
useListenable(TABLE, useStoreOrStoreId(storeOrStoreId), {}, [tableId]);
|
|
177
|
+
const useTableCellIds = (tableId, storeOrStoreId) =>
|
|
178
|
+
useListenable(
|
|
179
|
+
TABLE + CELL_IDS,
|
|
180
|
+
useStoreOrStoreId(storeOrStoreId),
|
|
181
|
+
[],
|
|
182
|
+
[tableId],
|
|
183
|
+
);
|
|
177
184
|
const useRowIds = (tableId, storeOrStoreId) =>
|
|
178
185
|
useListenable(ROW_IDS, useStoreOrStoreId(storeOrStoreId), [], [tableId]);
|
|
179
186
|
const useSortedRowIds = (
|
|
@@ -435,6 +442,21 @@ const useTableListener = (
|
|
|
435
442
|
[tableId],
|
|
436
443
|
mutator,
|
|
437
444
|
);
|
|
445
|
+
const useTableCellIdsListener = (
|
|
446
|
+
tableId,
|
|
447
|
+
listener,
|
|
448
|
+
listenerDeps,
|
|
449
|
+
mutator,
|
|
450
|
+
storeOrStoreId,
|
|
451
|
+
) =>
|
|
452
|
+
useListener(
|
|
453
|
+
TABLE + CELL_IDS,
|
|
454
|
+
useStoreOrStoreId(storeOrStoreId),
|
|
455
|
+
listener,
|
|
456
|
+
listenerDeps,
|
|
457
|
+
[tableId],
|
|
458
|
+
mutator,
|
|
459
|
+
);
|
|
438
460
|
const useRowIdsListener = (
|
|
439
461
|
tableId,
|
|
440
462
|
listener,
|
|
@@ -1479,6 +1501,8 @@ export {
|
|
|
1479
1501
|
useSortedRowIdsListener,
|
|
1480
1502
|
useStore,
|
|
1481
1503
|
useTable,
|
|
1504
|
+
useTableCellIds,
|
|
1505
|
+
useTableCellIdsListener,
|
|
1482
1506
|
useTableIds,
|
|
1483
1507
|
useTableIdsListener,
|
|
1484
1508
|
useTableListener,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,i=n.freeze,l=(t,n)=>e(t,(t=>t[n])),r=(e,n)=>!t(l(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),d=t=>o(t).length,a=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==d(t);var s=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{u(n.next(t))}catch(t){i(t)}},r=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,r);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{u(n.next(t))}catch(t){i(t)}},r=t=>{try{u(n.throw(t))}catch(t){i(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,r);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,i)=>{const l=t(n)?e:((t,e,n)=>(r(t,e)||(t[e]={}),t[e]))(e,n);let d;return c(o,((t,e)=>{i(l,e,t)&&(d=1)})),c(l,((t,e)=>{r(o,e)||(u(l,e),d=1)})),!t(n)&&a(l)&&u(e,n),d},f=(n,o,r="tinybase")=>(o.change((t=>t[r]={})),((n,d,f,p,g)=>{let A,L,m,S=0,x=0,C=0;const w=[],P=t=>s(void 0,null,(function*(){2!=S&&(S=1,yield t(),S=0)})),b={load:(...t)=>s(void 0,[...t],(function*(t={},e={}){return yield P((()=>s(void 0,null,(function*(){try{n.setContent(yield d())}catch(o){n.setContent([t,e])}})))),b})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,m=(t=>{const e=({doc:e})=>t((()=>y(e,r)));return o.on("change",e),e})(((t,e)=>s(void 0,null,(function*(){yield P((()=>s(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield d())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=m,o.removeListener("change",t),m=void 0,C=0),b;var t},save:i=>s(void 0,null,(function*(){return yield b.schedule((()=>s(void 0,null,(function*(){if(1!=S){S=2;try{yield((n,i)=>v(void 0,null,(function*(){return o.change((o=>((n,o,i,r)=>{((t,e)=>{a(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[d,s]=y(n,o),v=()=>{f=1};let f=1;if(e(null==r?void 0:r(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(d,o):e(d[o],(o=>c(n,((n,i)=>f?0:t(n)?u(o,i):e(l(o,i),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(s,n):s[n]=e))})),f){const[t,e]=i();h(d,void 0,t,((t,e,n)=>h(d,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(l(t,e)!==n)return t[e]=n,1})))))),h(s,void 0,e,((t,e,n)=>{l(s,e)!==n&&(s[e]=n)}))}})(o,r,n,i)))})))(n.getContent,i)}catch(t){}S=0}})))),b})),startAutoSave:()=>s(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const n=e();b.save((()=>n))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>s(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...e),yield s(void 0,null,(function*(){if(!x){for(x=1;!t((e=w,L=e.shift()));)try{yield L()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(n,(()=>v(void 0,null,(function*(){return 2==d(o.doc[r])?y(o.doc,r):void 0})))));export{f as createAutomergePersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i="storage",l=globalThis.window,a=(a,u,s)=>((a,d,c,v,y)=>{let f,h,p,g=0,S=0,A=0;const L=[],m=t=>o(void 0,null,(function*(){2!=g&&(g=1,yield t(),g=0)})),w={load:(...t)=>o(void 0,[...t],(function*(t={},e={}){return yield m((()=>o(void 0,null,(function*(){try{a.setContent(yield d())}catch(n){a.setContent([t,e])}})))),w})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return w.stopAutoLoad(),yield w.load(e,n),A=1,p=(e=>{const n=n=>{n.storageArea===s&&n.key===u&&e((()=>t(n.newValue)))};return l.addEventListener(i,n),n})(((t,e)=>o(void 0,null,(function*(){yield m((()=>o(void 0,null,(function*(){var n;if(e)a.setTransactionChanges(e());else try{a.setContent(null!=(n=null==t?void 0:t())?n:yield d())}catch(t){}}))))})))),w})),stopAutoLoad:()=>{return A&&(t=p,l.removeEventListener(i,t),p=void 0,A=0),w;var t},save:t=>o(void 0,null,(function*(){return yield w.schedule((()=>o(void 0,null,(function*(){if(1!=g){g=2;try{yield(t=a.getContent,r(void 0,null,(function*(){return s.setItem(u,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))));var e})))}catch(t){}g=0}var t})))),w})),startAutoSave:()=>o(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=a.addDidFinishTransactionListener(((t,e)=>{const n=e();w.save((()=>n))})),w})),stopAutoSave:()=>{var t,n;return t=f,n=a.delListener,!!e(t)||n(t),w},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=L,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),w})),getStore:()=>a,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(w)})(a,(()=>r(void 0,null,(function*(){return t(s.getItem(u))})))),u=(t,e)=>a(t,e,localStorage),s=(t,e)=>a(t,e,sessionStorage);export{u as createLocalPersister,s as createSessionPersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n="")=>e.join(n),r=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),c=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),m=n=>e(n)==l,p=e=>{return n=function*(){return c.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),w=(e,n)=>(delete e[n],e),x=(e,n)=>r(E.entries(e),(([e,t])=>n(t,e))),S=e=>E.values(e),C=e=>i(A(e)),N=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==C(e),O=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=(e,n)=>null==e?void 0:e.delete(n),b=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return r([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(g(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(x(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M="_id",F=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var j=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",J="FROM pragma_table_",U="WHERE",Y=U+" schema='main'AND type='table'AND name!='sqlite_schema'",q=e=>{const n=b(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,c,v)=>j(void 0,null,(function*(){const y=B();x(null!=v?v:{},(e=>r(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=R(y);if(u(f)&&O(n,l)&&c)return yield e("DROP TABLE"+F(l)),void D(n,l);if(u(f)||O(n,l)){const t=I(n,l),o=B([...null!=(m=null==(h=t)?void 0:h.keys())?m:[]]);yield p([...r(f,(n=>j(void 0,null,(function*(){g(o,n)||(yield e(`ALTER TABLE${F(l)}ADD${F(n)}`),D(t,n,""))})))),...d?r(R(o),(n=>j(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${F(l)}DROP${F(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${F(l)}(${F(a)} PRIMARY KEY ON CONFLICT REPLACE${o(r(f,(e=>t+F(e))))});`),D(n,l,b([[a,""],...r(f,(e=>[e,""]))]));var h,m;if(u(f))yield e("DELETE FROM"+F(l));else{const n=[],u=[],d=[];x(v,((e,t)=>{var l;s(n,`(?${l=i(f),",?".repeat(l)})`),s(u,t,...r(f,(n=>e[n]))),s(d,t)})),yield e("INSERT INTO"+F(l)+"("+F(a)+o(r(f,(e=>t+F(e))))+")VALUES"+o(n,t),u),yield e("DELETE FROM"+F(l)+U+F(a)+"NOT IN("+o(r(d,(()=>"?")),t)+")",d)}}));return[()=>j(void 0,null,(function*(){return $(n,T(yield p(r(yield e("SELECT name "+J+"list "+Y),(n=>j(void 0,[n],(function*({name:n}){return[n,T(r(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=b,O(o=n,r=t)||D(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var o,r,i}),((e,t)=>D(n,t)))})),(n,t)=>j(void 0,null,(function*(){const o=l(n,t)?yield e(k+F(n)+U+F(t)+"=?",["_"]):[];return u(o)?null:w(o[0],t)})),(e,n,t,l)=>j(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>j(void 0,null,(function*(){return l(n,t)?T(a(r(yield e(k+F(n)),(e=>[e[t],w(e,t)])),(([e,n])=>!f(e)&&!N(n)))):null})),d]};var z=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const H=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,c=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),m={load:(...t)=>z(void 0,[...t],(function*(t={},l={}){return yield y((()=>z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),m})),startAutoLoad:(...t)=>z(void 0,[...t],(function*(t={},o={}){return m.stopAutoLoad(),yield m.load(t,o),c=1,u=l(((t,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),m})),stopAutoLoad:()=>(c&&(o(u),u=void 0,c=0),m),save:n=>z(void 0,null,(function*(){return yield m.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),m})),startAutoSave:()=>z(void 0,null,(function*(){return yield m.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();m.save((()=>t))})),m})),stopAutoSave:()=>(h(r,e.delListener),m),schedule:(...e)=>z(void 0,null,(function*(){return s(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(m)};var K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="store",W=(e,t,l,o,{storeTableName:r=n})=>{const[i,u,a]=q(t),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,M))?e:{})[V])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var n;yield a(r,M,"_",{[V]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const o=b();return x(e,((e,r)=>{const i=d(S(P(n,m(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(r,i[0])||D(o,r,i)})),o};var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{const[r,i,[u,s,c]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(S(P(Z,t)),0,C(Z)),o=l[2];return[ee(e,{[Q]:null,[G]:M},Q,(e=>e==o)),ee(n,{[X]:null,[G]:M,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==o)),l]})(o),[v,y,h,m,E]=q(n),A=H(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return T(a(yield p(_(r,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>e[1])))})),n=yield ne(void 0,null,(function*(){return u?yield y(c,M):{}}));return N(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,o],r)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,o,e[r])})))))(n),(e=>s?()=>ne(void 0,null,(function*(){return yield h(c,M,"_",e)})):null)(t))}))),t,l);return A},le="json",oe="autoLoadIntervalSeconds",re={mode:le,[oe]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,o)=>{const r=P(re,m(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==le?W:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[oe]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)},se=(e,n,t)=>de(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.onUpdate((()=>e()))),(e=>e()));export{se as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",r=JSON.parse,i=t=>null==t,l=Object.freeze;var u=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));const s=(s,d)=>((e,r,s,c,v)=>{let f,y,h,p=0,m=0,A=0;const S=[],L=t=>u(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(...t)=>u(void 0,[...t],(function*(t={},n={}){return yield L((()=>u(void 0,null,(function*(){try{e.setContent(yield r())}catch(o){e.setContent([t,n])}})))),g})),startAutoLoad:(...n)=>u(void 0,[...n],(function*(n={},o={}){return g.stopAutoLoad(),yield g.load(n,o),A=1,i=(t,n)=>u(void 0,null,(function*(){yield L((()=>u(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield r())}catch(t){}}))))})),h=t(d,(()=>i())),g;var i})),stopAutoLoad:()=>{return A&&(null==(t=h)||t.close(),h=void 0,A=0),g;var t},save:t=>u(void 0,null,(function*(){return yield g.schedule((()=>u(void 0,null,(function*(){if(1!=p){p=2;try{yield(t=e.getContent,a(void 0,null,(function*(){return yield n(d,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))),o);var e})))}catch(t){}p=0}var t})))),g})),startAutoSave:()=>u(void 0,null,(function*(){return yield g.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((t,e)=>{const n=e();g.save((()=>n))})),g})),stopAutoSave:()=>{var t,n;return t=f,n=e.delListener,!!i(t)||n(t),g},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(S,...t),yield u(void 0,null,(function*(){if(!m){for(m=1;!i((t=S,y=t.shift()));)try{yield y()}catch(t){}m=0}var t})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(g)})(s,(()=>a(void 0,null,(function*(){return r(yield e(d,o))}))));export{s as createFilePersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=JSON.parse,e=t=>null==t,n=Object.freeze;var o=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())})),r=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{a(n.next(t))}catch(t){r(t)}},l=t=>{try{a(n.throw(t))}catch(t){r(t)}},a=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);a((n=n.apply(t,e)).next())}));const i=t=>t.headers.get("ETag"),l=(l,a,u,d)=>{let c;return((t,l,s,v,y)=>{let f,h,p,A=0,S=0,g=0;const m=[],x=t=>o(void 0,null,(function*(){2!=A&&(A=1,yield t(),A=0)})),C={load:(...e)=>o(void 0,[...e],(function*(e={},n={}){return yield x((()=>o(void 0,null,(function*(){try{t.setContent(yield l())}catch(o){t.setContent([e,n])}})))),C})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},u={}){return C.stopAutoLoad(),yield C.load(n,u),g=1,s=(e,n)=>o(void 0,null,(function*(){yield x((()=>o(void 0,null,(function*(){var o;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield l())}catch(t){}}))))})),p=setInterval((()=>r(void 0,null,(function*(){const t=yield fetch(a,{method:"HEAD"}),n=i(t);e(c)||e(n)||n==c||(c=n,s())}))),1e3*d),C;var s})),stopAutoLoad:()=>(g&&(clearInterval(p),p=void 0,g=0),C),save:e=>o(void 0,null,(function*(){return yield C.schedule((()=>o(void 0,null,(function*(){if(1!=A){A=2;try{yield(e=t.getContent,r(void 0,null,(function*(){return yield fetch(u,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var t})))}catch(t){}A=0}var e})))),C})),startAutoSave:()=>o(void 0,null,(function*(){return yield C.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>{const n=e();C.save((()=>n))})),C})),stopAutoSave:()=>{var n,o;return n=f,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>o(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(m,...t),yield o(void 0,null,(function*(){if(!S){for(S=1;!e((t=m,h=t.shift()));)try{yield h()}catch(t){}S=0}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(C)})(l,(()=>r(void 0,null,(function*(){const e=yield fetch(a);return c=i(e),t(yield e.text())}))))};export{l as createRemotePersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=Object,A=E.keys,w=E.freeze,P=(e=[])=>E.fromEntries(e),b=(...e)=>E.assign({},...e),L=(e,n)=>(delete e[n],e),T=(e,n)=>o(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),x=e=>i(A(e)),S=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==x(e),R=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),_=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(N(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(T(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var k=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const B="SELECT*FROM",q="FROM pragma_table_",J="WHERE",V=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=e=>{const n=_(),l=(e,t)=>!f(g(g(n,e),t)),d=(l,a,d,s,v)=>k(void 0,null,(function*(){const y=F();T(null!=v?v:{},(e=>o(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=C(y);if(u(f)&&R(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||R(n,l)){const t=g(n,l),r=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...o(f,(n=>k(void 0,null,(function*(){N(r,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?o(C(r),(n=>k(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${r(o(f,(e=>t+M(e))))});`),D(n,l,_([[a,""],...o(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];T(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...o(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+r(o(f,(e=>t+M(e))))+")VALUES"+r(n,t),u),yield e("DELETE FROM"+M(l)+J+M(a)+"NOT IN("+r(o(d,(()=>"?")),t)+")",d)}}));return[()=>k(void 0,null,(function*(){return $(n,P(yield m(o(yield e("SELECT name "+q+"list "+V),(n=>k(void 0,[n],(function*({name:n}){return[n,P(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=_,R(r=n,o=t)||D(r,o,i()),g(r,o)),l,((e,n,t)=>{t!=g(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,t)=>D(n,t)))})),(n,t)=>k(void 0,null,(function*(){const r=l(n,t)?yield e(B+M(n)+J+M(t)+"=?",["_"]):[];return u(r)?null:L(r[0],t)})),(e,n,t,l)=>k(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>k(void 0,null,(function*(){return l(n,t)?P(a(o(yield e(B+M(n)),(e=>[e[t],L(e,t)])),(([e,n])=>!f(e)&&!S(n)))):null})),d]};var z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const H=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>z(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(...t)=>z(void 0,[...t],(function*(t={},l={}){return yield y((()=>z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),p})),startAutoLoad:(...t)=>z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>z(void 0,null,(function*(){yield y((()=>z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>z(void 0,null,(function*(){return yield p.schedule((()=>z(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),p})),startAutoSave:()=>z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const t=n();p.save((()=>t))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>z(void 0,null,(function*(){return c(v,...e),yield z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(p)};var K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const U="store",W=(e,t,l,r,{storeTableName:o=n})=>{const[i,u,a]=Y(t),d=H(e,(()=>K(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(o,j))?e:{})[U])}))),(e=>K(void 0,null,(function*(){return d.schedule(i,(()=>K(void 0,null,(function*(){var n;yield a(o,j,"_",{[U]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,r);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const r=_();return T(e,((e,o)=>{const i=d(O(b(n,p(e)?{[t]:e}:e)),0,x(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,r)=>{const[o,i,[u,c,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(O(b(Z,t)),0,x(Z)),r=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==r)),ee(n,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==r)),l]})(r),[v,y,h,p,E]=Y(n),A=H(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return P(a(yield m(I(o,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>e[1])))})),n=yield ne(void 0,null,(function*(){return u?yield y(s,j):{}}));return S(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>I(i,(([n,t,l,r],o)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,r,e[o])})))))(n),(e=>c?()=>ne(void 0,null,(function*(){return yield h(s,j,"_",e)})):null)(t))}))),t,l);return A},le="json",re="autoLoadIntervalSeconds",oe={mode:le,[re]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,r)=>{const o=b(oe,p(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(o.mode==le?W:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*o[re]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,r(n)}),o)};var ce=Object.defineProperty,se=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he=(e,n,t,l)=>de(e,l,((e,...n)=>{return l=[e,...n],r=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))ve.call(n,t)&&fe(e,t,n[t]);if(se)for(var t of se(n))ye.call(n,t)&&fe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.capi.sqlite3_update_hook(t,(()=>e()),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)));export{he as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n="")=>e.join(n),r=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},E=Object,A=E.keys,L=E.freeze,T=(e=[])=>E.fromEntries(e),P=(...e)=>E.assign({},...e),b=(e,n)=>(delete e[n],e),w=(e,n)=>r(E.entries(e),(([e,t])=>n(t,e))),O=e=>E.values(e),S=e=>i(A(e)),g=e=>(e=>y(e,E)&&e.constructor==E)(e)&&0==S(e),C=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),_=(e,n)=>{var t;return r([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(R(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(w(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",M=e=>`"${e.replace(/"/g,'""')}"`,F=e=>new Set(Array.isArray(e)||f(e)?e:[e]);var B=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",z=e=>{const n=x(),l=(e,t)=>!f(I(I(n,e),t)),d=(l,a,d,s,v)=>B(void 0,null,(function*(){const y=F();w(null!=v?v:{},(e=>r(A(e),(e=>{return t=e,null==(n=y)?void 0:n.add(t);var n,t}))));const f=N(y);if(u(f)&&C(n,l)&&s)return yield e("DROP TABLE"+M(l)),void D(n,l);if(u(f)||C(n,l)){const t=I(n,l),o=F([...null!=(p=null==(h=t)?void 0:h.keys())?p:[]]);yield m([...r(f,(n=>B(void 0,null,(function*(){R(o,n)||(yield e(`ALTER TABLE${M(l)}ADD${M(n)}`),D(t,n,""))})))),...d?r(N(o),(n=>B(void 0,null,(function*(){n!=a&&(yield e(`ALTER TABLE${M(l)}DROP${M(n)}`),D(t,n))})))):[]])}else yield e(`CREATE TABLE${M(l)}(${M(a)} PRIMARY KEY ON CONFLICT REPLACE${o(r(f,(e=>t+M(e))))});`),D(n,l,x([[a,""],...r(f,(e=>[e,""]))]));var h,p;if(u(f))yield e("DELETE FROM"+M(l));else{const n=[],u=[],d=[];w(v,((e,t)=>{var l;c(n,`(?${l=i(f),",?".repeat(l)})`),c(u,t,...r(f,(n=>e[n]))),c(d,t)})),yield e("INSERT INTO"+M(l)+"("+M(a)+o(r(f,(e=>t+M(e))))+")VALUES"+o(n,t),u),yield e("DELETE FROM"+M(l)+Y+M(a)+"NOT IN("+o(r(d,(()=>"?")),t)+")",d)}}));return[()=>B(void 0,null,(function*(){return $(n,T(yield m(r(yield e("SELECT name "+J+"list "+q),(n=>B(void 0,[n],(function*({name:n}){return[n,T(r(yield e("SELECT name,type "+J+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,t,l)=>{return D(n,t,$((i=x,C(o=n,r=t)||D(o,r,i()),I(o,r)),l,((e,n,t)=>{t!=I(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var o,r,i}),((e,t)=>D(n,t)))})),(n,t)=>B(void 0,null,(function*(){const o=l(n,t)?yield e(k+M(n)+Y+M(t)+"=?",["_"]):[];return u(o)?null:b(o[0],t)})),(e,n,t,l)=>B(void 0,null,(function*(){return yield d(e,n,!0,!0,{[t]:l})})),(n,t)=>B(void 0,null,(function*(){return l(n,t)?T(a(r(yield e(k+M(n)),(e=>[e[t],b(e,t)])),(([e,n])=>!f(e)&&!g(n)))):null})),d]};var H=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const K=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,s=0;const v=[],y=e=>H(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),p={load:(...t)=>H(void 0,[...t],(function*(t={},l={}){return yield y((()=>H(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}})))),p})),startAutoLoad:(...t)=>H(void 0,[...t],(function*(t={},o={}){return p.stopAutoLoad(),yield p.load(t,o),s=1,u=l(((t,l)=>H(void 0,null,(function*(){yield y((()=>H(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(o(u),u=void 0,s=0),p),save:n=>H(void 0,null,(function*(){return yield p.schedule((()=>H(void 0,null,(function*(){if(1!=a){a=2;try{yield t(e.getContent,n)}catch(e){}a=0}})))),p})),startAutoSave:()=>H(void 0,null,(function*(){return yield p.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const t=n();p.save((()=>t))})),p})),stopAutoSave:()=>(h(r,e.delListener),p),schedule:(...e)=>H(void 0,null,(function*(){return c(v,...e),yield H(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var U=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const V="store",W=(e,t,l,o,{storeTableName:r=n})=>{const[i,u,a]=z(t),d=K(e,(()=>U(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,j))?e:{})[V])}))),(e=>U(void 0,null,(function*(){return d.schedule(i,(()=>U(void 0,null,(function*(){var n;yield a(r,j,"_",{[V]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),l,o);return d},G="rowIdColumnName",Q="tableId",X="tableName",Z={load:0,save:0,[X]:n+"_values"},ee=(e,n,t,l)=>{const o=x();return w(e,((e,r)=>{const i=d(O(P(n,p(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(r,i[0])||D(o,r,i)})),o};var ne=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const te=(e,n,t,l,o)=>{const[r,i,[u,c,s]]=(({tables:{load:e={},save:n={}}={},values:t={}})=>{const l=d(O(P(Z,t)),0,S(Z)),o=l[2];return[ee(e,{[Q]:null,[G]:j},Q,(e=>e==o)),ee(n,{[X]:null,[G]:j,deleteEmptyColumns:0,deleteEmptyTable:0},X,((e,n)=>n==o)),l]})(o),[v,y,h,p,E]=z(n),A=K(e,(()=>ne(void 0,null,(function*(){yield v();const e=yield ne(void 0,null,(function*(){return T(a(yield m(_(r,((e,n)=>ne(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>e[1])))})),n=yield ne(void 0,null,(function*(){return u?yield y(s,j):{}}));return g(e)&&f(n)?void 0:[e,n]}))),(e=>ne(void 0,null,(function*(){const[n,t]=e();A.schedule(v,...(e=>_(i,(([n,t,l,o],r)=>()=>ne(void 0,null,(function*(){return yield E(n,t,l,o,e[r])})))))(n),(e=>c?()=>ne(void 0,null,(function*(){return yield h(s,j,"_",e)})):null)(t))}))),t,l);return A},le="json",oe="autoLoadIntervalSeconds",re={mode:le,[oe]:1},ie="pragma ",ue="data_version",ae="schema_version",de=(e,n,t,l,o)=>{const r=P(re,p(n)?{storeTableName:n}:null!=n?n:{});let i,u;return(r.mode==le?W:te)(e,t,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield t(ie+ue))[0][ue],l=(yield t(ie+ae))[0][ae];n==(null!=i?i:i=n)&&l==(null!=u?u:u=l)||(e(),i=n,u=l)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n}),1e3*r[oe]),l(e)]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),r)};var ce=Object.defineProperty,se=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,fe=(e,n,t)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const he="change",pe=(e,n,t)=>de(e,t,((e,t=[])=>new s(((l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))ve.call(n,t)&&fe(e,t,n[t]);if(se)for(var t of se(n))ye.call(n,t)&&fe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=()=>e();return n.on(he,t),t}),(e=>n.off(he,e)));export{pe as createSqlite3Persister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,i=r.freeze,u=(t=[])=>r.fromEntries(t),s=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=(t,e,n)=>(s(t,e)||(t[e]=n()),t[e]);var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const v=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var f=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const h="t",y="delete",g=t=>[t.get(h),t.get("v")],p=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let d;return a(l,((t,e)=>{r(u,e,t)&&(d=1)})),u.forEach(((t,e)=>{s(l,e)||(u.delete(e),d=1)})),o(n)||u.size||e.delete(n),d},S=(r,s,S="tinybase")=>{const m=s.getMap(S);return((r,S,A,w,O)=>{let J,L,N,x=0,C=0,b=0;const z=[],E=t=>c(void 0,null,(function*(){2!=x&&(x=1,yield t(),x=0)})),P={load:(...t)=>c(void 0,[...t],(function*(t={},e={}){return yield E((()=>c(void 0,null,(function*(){try{r.setContent(yield S())}catch(n){r.setContent([t,e])}})))),P})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},o={}){return P.stopAutoLoad(),yield P.load(t,o),b=1,N=(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[i,s]=g(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?l(n(t),(o=>{const r=d(a,o,u),s=i.get(o);l(n(t),(t=>{const n=d(r,t,u),o=s.get(t);v(e,((t,{action:e})=>n[t]=e==y?null:o.get(t)))}),(()=>v(e,((t,{action:e})=>{var n;return r[t]=e==y?null:null==(n=s.get(t))?void 0:n.toJSON()}))))}),(()=>v(e,((t,{action:e})=>{var n;return a[t]=e==y?null:null==(n=i.get(t))?void 0:n.toJSON()})))):v(e,((t,{action:e})=>c[t]=e==y?null:s.get(t)))))})(o),[a,c]})(m,o)));return m.observeDeep(o),o})(((t,e)=>c(void 0,null,(function*(){yield E((()=>c(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield S())}catch(t){}}))))})))),P})),stopAutoLoad:()=>{return b&&(t=N,m.unobserveDeep(t),N=void 0,b=0),P;var t},save:e=>c(void 0,null,(function*(){return yield P.schedule((()=>c(void 0,null,(function*(){if(1!=x){x=2;try{yield((e,n)=>f(void 0,null,(function*(){return s.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(h,new t),e.set("v",new t))})(e);const[i,u]=g(e),s=()=>{d=1};let d=1;if(l(null==r?void 0:r(),(([t,e])=>{d=0,a(t,((t,e)=>d?0:o(t)?i.delete(e):l(i.get(e),(e=>a(t,((t,n)=>d?0:o(t)?e.delete(n):l(e.get(n),(e=>a(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),a(e,((t,e)=>d?0:o(t)?u.delete(e):u.set(e,t)))})),d){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(m,e,n)))})))(r.getContent,e)}catch(t){}x=0}})))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),J=r.addDidFinishTransactionListener(((t,e)=>{const n=e();P.save((()=>n))})),P})),stopAutoSave:()=>(l(J,r.delListener),P),schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(z,...t),yield c(void 0,null,(function*(){if(!C){for(C=1;!o(L=n(z));)try{yield L()}catch(t){}C=0}})),P})),getStore:()=>r,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(r,(()=>f(void 0,null,(function*(){return m.size?[m.get(h).toJSON(),m.get("v").toJSON()]:void 0}))))};export{S as createYjsPersister};
|
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=Object.freeze;var
|
|
1
|
+
const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,i)=>{var l=t=>{try{r(n.next(t))}catch(t){i(t)}},u=t=>{try{r(n.throw(t))}catch(t){i(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,u);r((n=n.apply(t,e)).next())}));const o=(o,i,l,u,r)=>{let d,a,s,c=0,v=0,y=0;const f=[],h=t=>n(void 0,null,(function*(){2!=c&&(c=1,yield t(),c=0)})),p={load:(...t)=>n(void 0,[...t],(function*(t={},e={}){return yield h((()=>n(void 0,null,(function*(){try{o.setContent(yield i())}catch(n){o.setContent([t,e])}})))),p})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},e={}){return p.stopAutoLoad(),yield p.load(t,e),y=1,s=u(((t,e)=>n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield i())}catch(t){}}))))})))),p})),stopAutoLoad:()=>(y&&(r(s),s=void 0,y=0),p),save:t=>n(void 0,null,(function*(){return yield p.schedule((()=>n(void 0,null,(function*(){if(1!=c){c=2;try{yield l(o.getContent,t)}catch(t){}c=0}})))),p})),startAutoSave:()=>n(void 0,null,(function*(){return yield p.stopAutoSave().save(),d=o.addDidFinishTransactionListener(((t,e)=>{const n=e();p.save((()=>n))})),p})),stopAutoSave:()=>{var e,n;return e=d,n=o.delListener,!!t(e)||n(e),p},schedule:(...e)=>n(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(f,...e),yield n(void 0,null,(function*(){if(!v){for(v=1;!t((e=f,a=e.shift()));)try{yield a()}catch(t){}v=0}var e})),p})),getStore:()=>o,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};export{o as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|