tinybase 4.3.0-beta.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -0
- 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/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/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-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -0
- 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/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/persisters/persister-cr-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-expo-sqlite.js +10 -7
- package/lib/debug/persisters/persister-partykit-client.js +249 -0
- package/lib/debug/persisters/persister-partykit-server.js +161 -0
- package/lib/debug/persisters/persister-sqlite-wasm.js +10 -7
- package/lib/debug/persisters/persister-sqlite3.js +10 -7
- package/lib/debug/queries.js +2 -2
- package/lib/debug/store.js +13 -13
- package/lib/debug/tinybase.js +14 -14
- package/lib/debug/tools.js +3 -4
- package/lib/debug/ui-react-dom.js +35 -24
- package/lib/debug/ui-react.js +38 -1
- 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-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -0
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -0
- 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/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/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.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-partykit-client.js +1 -0
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -0
- 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/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-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +88 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +114 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/store.d.ts +6 -0
- package/lib/types/ui-react.d.ts +187 -4
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +99 -0
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +114 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/store.d.ts +6 -0
- package/lib/types/with-schemas/ui-react.d.ts +223 -8
- 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/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-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -0
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -0
- 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/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/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-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -0
- 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/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 +42 -31
- package/readme.md +13 -13
|
@@ -14,6 +14,7 @@ const ifNotUndefined = (value, then, otherwise) =>
|
|
|
14
14
|
isUndefined(value) ? otherwise?.() : then(value);
|
|
15
15
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
16
16
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
17
18
|
const promiseAll = async (promises) => promise.all(promises);
|
|
18
19
|
|
|
19
20
|
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
@@ -21,7 +22,6 @@ const arrayMap = (array, cb) => array.map(cb);
|
|
|
21
22
|
const arrayLength = (array) => array.length;
|
|
22
23
|
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
23
24
|
const arrayFilter = (array, cb) => array.filter(cb);
|
|
24
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
25
25
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
26
26
|
const arrayShift = (array) => array.shift();
|
|
27
27
|
|
|
@@ -315,10 +315,13 @@ const upsert = async (
|
|
|
315
315
|
),
|
|
316
316
|
) +
|
|
317
317
|
')VALUES' +
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
318
|
+
slice(
|
|
319
|
+
strRepeat(
|
|
320
|
+
`,(?${strRepeat(',?', arrayLength(changingColumnNames))})`,
|
|
321
|
+
arrayLength(args) / (arrayLength(changingColumnNames) + 1),
|
|
322
|
+
),
|
|
323
|
+
1,
|
|
324
|
+
) +
|
|
322
325
|
'ON CONFLICT(' +
|
|
323
326
|
escapeId(rowIdColumnName) +
|
|
324
327
|
')DO UPDATE SET' +
|
|
@@ -666,7 +669,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
666
669
|
) => {
|
|
667
670
|
const configMap = mapNew();
|
|
668
671
|
objMap(configsObj, (configObj, id) => {
|
|
669
|
-
const defaultedConfig =
|
|
672
|
+
const defaultedConfig = slice(
|
|
670
673
|
objValues(
|
|
671
674
|
objMerge(
|
|
672
675
|
defaultObj,
|
|
@@ -695,7 +698,7 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
695
698
|
];
|
|
696
699
|
}
|
|
697
700
|
const {tables: {load = {}, save = {}} = {}, values = {}} = config;
|
|
698
|
-
const valuesConfig =
|
|
701
|
+
const valuesConfig = slice(
|
|
699
702
|
objValues(objMerge(DEFAULT_TABULAR_VALUES_CONFIG, values)),
|
|
700
703
|
0,
|
|
701
704
|
objSize(DEFAULT_TABULAR_VALUES_CONFIG),
|
|
@@ -14,6 +14,7 @@ const ifNotUndefined = (value, then, otherwise) =>
|
|
|
14
14
|
isUndefined(value) ? otherwise?.() : then(value);
|
|
15
15
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
16
16
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
17
18
|
const promiseNew = (resolver) => new promise(resolver);
|
|
18
19
|
const promiseAll = async (promises) => promise.all(promises);
|
|
19
20
|
|
|
@@ -22,7 +23,6 @@ const arrayMap = (array, cb) => array.map(cb);
|
|
|
22
23
|
const arrayLength = (array) => array.length;
|
|
23
24
|
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
24
25
|
const arrayFilter = (array, cb) => array.filter(cb);
|
|
25
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
26
26
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
27
27
|
const arrayShift = (array) => array.shift();
|
|
28
28
|
|
|
@@ -316,10 +316,13 @@ const upsert = async (
|
|
|
316
316
|
),
|
|
317
317
|
) +
|
|
318
318
|
')VALUES' +
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
319
|
+
slice(
|
|
320
|
+
strRepeat(
|
|
321
|
+
`,(?${strRepeat(',?', arrayLength(changingColumnNames))})`,
|
|
322
|
+
arrayLength(args) / (arrayLength(changingColumnNames) + 1),
|
|
323
|
+
),
|
|
324
|
+
1,
|
|
325
|
+
) +
|
|
323
326
|
'ON CONFLICT(' +
|
|
324
327
|
escapeId(rowIdColumnName) +
|
|
325
328
|
')DO UPDATE SET' +
|
|
@@ -667,7 +670,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
667
670
|
) => {
|
|
668
671
|
const configMap = mapNew();
|
|
669
672
|
objMap(configsObj, (configObj, id) => {
|
|
670
|
-
const defaultedConfig =
|
|
673
|
+
const defaultedConfig = slice(
|
|
671
674
|
objValues(
|
|
672
675
|
objMerge(
|
|
673
676
|
defaultObj,
|
|
@@ -696,7 +699,7 @@ const getConfigStructures = (configOrStoreTableName) => {
|
|
|
696
699
|
];
|
|
697
700
|
}
|
|
698
701
|
const {tables: {load = {}, save = {}} = {}, values = {}} = config;
|
|
699
|
-
const valuesConfig =
|
|
702
|
+
const valuesConfig = slice(
|
|
700
703
|
objValues(objMerge(DEFAULT_TABULAR_VALUES_CONFIG, values)),
|
|
701
704
|
0,
|
|
702
705
|
objSize(DEFAULT_TABULAR_VALUES_CONFIG),
|
package/lib/debug/queries.js
CHANGED
|
@@ -31,7 +31,6 @@ const arraySum = (array) => arrayReduce(array, (i, j) => i + j, 0);
|
|
|
31
31
|
const arrayLength = (array) => array.length;
|
|
32
32
|
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
33
33
|
const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
34
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
35
34
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
36
35
|
|
|
37
36
|
const mathMax = Math.max;
|
|
@@ -43,6 +42,7 @@ const ifNotUndefined = (value, then, otherwise) =>
|
|
|
43
42
|
const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
44
43
|
const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
|
|
45
44
|
const isArray = (thing) => Array.isArray(thing);
|
|
45
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
46
46
|
const getUndefined = () => void 0;
|
|
47
47
|
|
|
48
48
|
const object = Object;
|
|
@@ -794,7 +794,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
794
794
|
);
|
|
795
795
|
queries[ADD + RESULT + gettable + LISTENER] = (...args) =>
|
|
796
796
|
resultStore[ADD + gettable + LISTENER](
|
|
797
|
-
...
|
|
797
|
+
...slice(args, 0, argumentCount),
|
|
798
798
|
(_store, ...listenerArgs) =>
|
|
799
799
|
args[argumentCount](queries, ...listenerArgs),
|
|
800
800
|
);
|
package/lib/debug/store.js
CHANGED
|
@@ -30,6 +30,7 @@ const ifNotUndefined = (value, then, otherwise) =>
|
|
|
30
30
|
const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
31
31
|
const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
|
|
32
32
|
const isArray = (thing) => Array.isArray(thing);
|
|
33
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
33
34
|
const test = (regex, subject) => regex.test(subject);
|
|
34
35
|
|
|
35
36
|
const arrayHas = (array, value) => array.includes(value);
|
|
@@ -42,7 +43,6 @@ const arrayForEach = (array, cb) => array.forEach(cb);
|
|
|
42
43
|
const arrayMap = (array, cb) => array.map(cb);
|
|
43
44
|
const arrayLength = (array) => array.length;
|
|
44
45
|
const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
45
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
46
46
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
47
47
|
const arrayShift = (array) => array.shift();
|
|
48
48
|
|
|
@@ -935,7 +935,7 @@ const createStore = () => {
|
|
|
935
935
|
const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
|
|
936
936
|
const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
|
|
937
937
|
arrayMap(
|
|
938
|
-
|
|
938
|
+
slice(
|
|
939
939
|
arraySort(
|
|
940
940
|
mapMap(mapGet(tablesMap, id(tableId)), (row, rowId) => [
|
|
941
941
|
isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
|
|
@@ -1101,16 +1101,16 @@ const createStore = () => {
|
|
|
1101
1101
|
} catch {}
|
|
1102
1102
|
return store;
|
|
1103
1103
|
};
|
|
1104
|
-
const setJson = (tablesAndValuesJson) =>
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1104
|
+
const setJson = (tablesAndValuesJson) =>
|
|
1105
|
+
fluentTransaction(() => {
|
|
1106
|
+
try {
|
|
1107
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
1108
|
+
setOrDelTables(tables);
|
|
1109
|
+
setOrDelValues(values);
|
|
1110
|
+
} catch {
|
|
1111
|
+
setTablesJson(tablesAndValuesJson);
|
|
1112
|
+
}
|
|
1113
|
+
});
|
|
1114
1114
|
const setTablesSchema = (tablesSchema) =>
|
|
1115
1115
|
fluentTransaction(() => {
|
|
1116
1116
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -1495,7 +1495,7 @@ const createStore = () => {
|
|
|
1495
1495
|
addListener(
|
|
1496
1496
|
args[argumentCount],
|
|
1497
1497
|
idSetNode[args[argumentCount + 1] ? 1 : 0],
|
|
1498
|
-
argumentCount > 0 ?
|
|
1498
|
+
argumentCount > 0 ? slice(args, 0, argumentCount) : void 0,
|
|
1499
1499
|
pathGetters,
|
|
1500
1500
|
extraArgsGetter,
|
|
1501
1501
|
);
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -40,6 +40,7 @@ const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
|
40
40
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
41
41
|
const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
|
|
42
42
|
const isArray = (thing) => Array.isArray(thing);
|
|
43
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
43
44
|
const test = (regex, subject) => regex.test(subject);
|
|
44
45
|
const getUndefined = () => void 0;
|
|
45
46
|
|
|
@@ -60,7 +61,6 @@ const arraySum = (array) => arrayReduce(array, (i, j) => i + j, 0);
|
|
|
60
61
|
const arrayLength = (array) => array.length;
|
|
61
62
|
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
62
63
|
const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
63
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
64
64
|
const arrayClear = (array, to) => array.splice(0, to);
|
|
65
65
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
66
66
|
const arrayPop = (array) => array.pop();
|
|
@@ -1627,7 +1627,7 @@ const createQueries = getCreateFunction((store) => {
|
|
|
1627
1627
|
);
|
|
1628
1628
|
queries[ADD + RESULT + gettable + LISTENER] = (...args) =>
|
|
1629
1629
|
resultStore[ADD + gettable + LISTENER](
|
|
1630
|
-
...
|
|
1630
|
+
...slice(args, 0, argumentCount),
|
|
1631
1631
|
(_store, ...listenerArgs) =>
|
|
1632
1632
|
args[argumentCount](queries, ...listenerArgs),
|
|
1633
1633
|
);
|
|
@@ -2509,7 +2509,7 @@ const createStore = () => {
|
|
|
2509
2509
|
const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
|
|
2510
2510
|
const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
|
|
2511
2511
|
arrayMap(
|
|
2512
|
-
|
|
2512
|
+
slice(
|
|
2513
2513
|
arraySort(
|
|
2514
2514
|
mapMap(mapGet(tablesMap, id(tableId)), (row, rowId) => [
|
|
2515
2515
|
isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
|
|
@@ -2675,16 +2675,16 @@ const createStore = () => {
|
|
|
2675
2675
|
} catch {}
|
|
2676
2676
|
return store;
|
|
2677
2677
|
};
|
|
2678
|
-
const setJson = (tablesAndValuesJson) =>
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2678
|
+
const setJson = (tablesAndValuesJson) =>
|
|
2679
|
+
fluentTransaction(() => {
|
|
2680
|
+
try {
|
|
2681
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
2682
|
+
setOrDelTables(tables);
|
|
2683
|
+
setOrDelValues(values);
|
|
2684
|
+
} catch {
|
|
2685
|
+
setTablesJson(tablesAndValuesJson);
|
|
2686
|
+
}
|
|
2687
|
+
});
|
|
2688
2688
|
const setTablesSchema = (tablesSchema) =>
|
|
2689
2689
|
fluentTransaction(() => {
|
|
2690
2690
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -3069,7 +3069,7 @@ const createStore = () => {
|
|
|
3069
3069
|
addListener(
|
|
3070
3070
|
args[argumentCount],
|
|
3071
3071
|
idSetNode[args[argumentCount + 1] ? 1 : 0],
|
|
3072
|
-
argumentCount > 0 ?
|
|
3072
|
+
argumentCount > 0 ? slice(args, 0, argumentCount) : void 0,
|
|
3073
3073
|
pathGetters,
|
|
3074
3074
|
extraArgsGetter,
|
|
3075
3075
|
);
|
package/lib/debug/tools.js
CHANGED
|
@@ -30,6 +30,7 @@ const isUndefined = (thing) => thing == void 0;
|
|
|
30
30
|
const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
31
31
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
32
32
|
const isArray = (thing) => Array.isArray(thing);
|
|
33
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
33
34
|
const promiseAll = async (promises) => promise.all(promises);
|
|
34
35
|
|
|
35
36
|
const getCellOrValueType = (cell) => {
|
|
@@ -237,7 +238,6 @@ const setAdd = (set, value) => set?.add(value);
|
|
|
237
238
|
const NON_ALPHA = /[^A-Za-z]+/;
|
|
238
239
|
const NON_ALPHANUMERIC = /[^A-Za-z0-9]+/;
|
|
239
240
|
const JSDOC = /^( *)\/\*\* *(.*?) *\*\/$/gm;
|
|
240
|
-
const substr = (str, start, end) => str.substring(start, end);
|
|
241
241
|
const stringHasComma = (str) => str.includes(COMMA);
|
|
242
242
|
const mapUnique = (map, id, value, index = 1) => {
|
|
243
243
|
const uniqueId = `${id}${index == 1 ? '' : index}`;
|
|
@@ -265,8 +265,7 @@ const camel = (str, firstCap = 0) =>
|
|
|
265
265
|
arrayMap(
|
|
266
266
|
str.split(NON_ALPHANUMERIC),
|
|
267
267
|
(word, w) =>
|
|
268
|
-
(w > 0 || firstCap ? upper : lower)(
|
|
269
|
-
substr(word, 1),
|
|
268
|
+
(w > 0 || firstCap ? upper : lower)(slice(word, 0, 1)) + slice(word, 1),
|
|
270
269
|
),
|
|
271
270
|
);
|
|
272
271
|
const snake = (str) =>
|
|
@@ -314,7 +313,7 @@ const getCodeFunctions = () => {
|
|
|
314
313
|
mapGet(constants, name) === body ? name : mapUnique(constants, name, body);
|
|
315
314
|
const getSortableImport = (importMaybeAs) => {
|
|
316
315
|
const as = importMaybeAs.indexOf(' as ');
|
|
317
|
-
return as != -1 ? importMaybeAs
|
|
316
|
+
return as != -1 ? slice(importMaybeAs, as + 4) : importMaybeAs;
|
|
318
317
|
};
|
|
319
318
|
const getImports = (location = 0) =>
|
|
320
319
|
arrayMap(
|
|
@@ -79,6 +79,7 @@ const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
|
|
|
79
79
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
80
80
|
const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
|
|
81
81
|
const isArray = (thing) => Array.isArray(thing);
|
|
82
|
+
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
82
83
|
const test = (regex, subject) => regex.test(subject);
|
|
83
84
|
|
|
84
85
|
const {
|
|
@@ -116,7 +117,6 @@ const arrayMap = (array, cb) => array.map(cb);
|
|
|
116
117
|
const arrayLength = (array) => array.length;
|
|
117
118
|
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
118
119
|
const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
119
|
-
const arraySlice = (array, start, end) => array.slice(start, end);
|
|
120
120
|
const arrayPush = (array, ...values) => array.push(...values);
|
|
121
121
|
const arrayShift = (array) => array.shift();
|
|
122
122
|
|
|
@@ -1037,6 +1037,7 @@ const IndexView = ({indexes, indexesId, indexId, s}) =>
|
|
|
1037
1037
|
indexId,
|
|
1038
1038
|
sliceId,
|
|
1039
1039
|
s,
|
|
1040
|
+
key: sliceId,
|
|
1040
1041
|
}),
|
|
1041
1042
|
),
|
|
1042
1043
|
);
|
|
@@ -1080,6 +1081,7 @@ const IndexesView = ({indexesId, s}) => {
|
|
|
1080
1081
|
indexesId,
|
|
1081
1082
|
indexId,
|
|
1082
1083
|
s,
|
|
1084
|
+
key: indexId,
|
|
1083
1085
|
}),
|
|
1084
1086
|
),
|
|
1085
1087
|
);
|
|
@@ -1121,7 +1123,11 @@ const MetricsView = ({metricsId, s}) => {
|
|
|
1121
1123
|
'tbody',
|
|
1122
1124
|
null,
|
|
1123
1125
|
arrayMap(metricIds, (metricId) =>
|
|
1124
|
-
/* @__PURE__ */ createElement(MetricRow, {
|
|
1126
|
+
/* @__PURE__ */ createElement(MetricRow, {
|
|
1127
|
+
metrics,
|
|
1128
|
+
metricId,
|
|
1129
|
+
key: metricId,
|
|
1130
|
+
}),
|
|
1125
1131
|
),
|
|
1126
1132
|
),
|
|
1127
1133
|
),
|
|
@@ -1177,6 +1183,7 @@ const QueriesView = ({queriesId, s}) => {
|
|
|
1177
1183
|
queriesId,
|
|
1178
1184
|
queryId,
|
|
1179
1185
|
s,
|
|
1186
|
+
key: queryId,
|
|
1180
1187
|
}),
|
|
1181
1188
|
),
|
|
1182
1189
|
);
|
|
@@ -1226,6 +1233,7 @@ const RelationshipsView = ({relationshipsId, s}) => {
|
|
|
1226
1233
|
relationshipsId,
|
|
1227
1234
|
relationshipId,
|
|
1228
1235
|
s,
|
|
1236
|
+
key: relationshipId,
|
|
1229
1237
|
}),
|
|
1230
1238
|
),
|
|
1231
1239
|
);
|
|
@@ -1304,6 +1312,7 @@ const StoreView = ({storeId, s}) => {
|
|
|
1304
1312
|
storeId,
|
|
1305
1313
|
tableId,
|
|
1306
1314
|
s,
|
|
1315
|
+
key: tableId,
|
|
1307
1316
|
}),
|
|
1308
1317
|
),
|
|
1309
1318
|
);
|
|
@@ -1371,38 +1380,38 @@ const Body = ({s}) => {
|
|
|
1371
1380
|
{ref: articleRef, onScroll: handleScroll},
|
|
1372
1381
|
/* @__PURE__ */ createElement(StoreView, {s}),
|
|
1373
1382
|
arrayMap(storeIds, (storeId) =>
|
|
1374
|
-
/* @__PURE__ */ createElement(StoreView, {storeId, key: storeId
|
|
1383
|
+
/* @__PURE__ */ createElement(StoreView, {storeId, s, key: storeId}),
|
|
1375
1384
|
),
|
|
1376
1385
|
/* @__PURE__ */ createElement(MetricsView, {s}),
|
|
1377
1386
|
arrayMap(metricsIds, (metricsId) =>
|
|
1378
1387
|
/* @__PURE__ */ createElement(MetricsView, {
|
|
1379
1388
|
metricsId,
|
|
1380
|
-
key: metricsId,
|
|
1381
1389
|
s,
|
|
1390
|
+
key: metricsId,
|
|
1382
1391
|
}),
|
|
1383
1392
|
),
|
|
1384
1393
|
/* @__PURE__ */ createElement(IndexesView, {s}),
|
|
1385
1394
|
arrayMap(indexesIds, (indexesId) =>
|
|
1386
1395
|
/* @__PURE__ */ createElement(IndexesView, {
|
|
1387
1396
|
indexesId,
|
|
1388
|
-
key: indexesId,
|
|
1389
1397
|
s,
|
|
1398
|
+
key: indexesId,
|
|
1390
1399
|
}),
|
|
1391
1400
|
),
|
|
1392
1401
|
/* @__PURE__ */ createElement(RelationshipsView, {s}),
|
|
1393
1402
|
arrayMap(relationshipsIds, (relationshipsId) =>
|
|
1394
1403
|
/* @__PURE__ */ createElement(RelationshipsView, {
|
|
1395
1404
|
relationshipsId,
|
|
1396
|
-
key: relationshipsId,
|
|
1397
1405
|
s,
|
|
1406
|
+
key: relationshipsId,
|
|
1398
1407
|
}),
|
|
1399
1408
|
),
|
|
1400
1409
|
/* @__PURE__ */ createElement(QueriesView, {s}),
|
|
1401
1410
|
arrayMap(queriesIds, (queriesId) =>
|
|
1402
1411
|
/* @__PURE__ */ createElement(QueriesView, {
|
|
1403
1412
|
queriesId,
|
|
1404
|
-
key: queriesId,
|
|
1405
1413
|
s,
|
|
1414
|
+
key: queriesId,
|
|
1406
1415
|
}),
|
|
1407
1416
|
),
|
|
1408
1417
|
);
|
|
@@ -1411,13 +1420,15 @@ const Body = ({s}) => {
|
|
|
1411
1420
|
class ErrorBoundary extends PureComponent {
|
|
1412
1421
|
constructor(props) {
|
|
1413
1422
|
super(props);
|
|
1423
|
+
// eslint-disable-next-line react/no-arrow-function-lifecycle
|
|
1424
|
+
this.componentDidCatch = (error, info) =>
|
|
1425
|
+
// eslint-disable-next-line no-console
|
|
1426
|
+
console.error(error, info.componentStack);
|
|
1414
1427
|
this.state = {e: 0};
|
|
1415
1428
|
}
|
|
1416
|
-
static
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
// eslint-disable-next-line no-console
|
|
1420
|
-
console.error(error, info.componentStack);
|
|
1429
|
+
static {
|
|
1430
|
+
this.getDerivedStateFromError = () => ({e: 1});
|
|
1431
|
+
}
|
|
1421
1432
|
render() {
|
|
1422
1433
|
return this.state.e
|
|
1423
1434
|
? /* @__PURE__ */ createElement(
|
|
@@ -2502,7 +2513,7 @@ const createStore = () => {
|
|
|
2502
2513
|
const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
|
|
2503
2514
|
const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
|
|
2504
2515
|
arrayMap(
|
|
2505
|
-
|
|
2516
|
+
slice(
|
|
2506
2517
|
arraySort(
|
|
2507
2518
|
mapMap(mapGet(tablesMap, id(tableId)), (row, rowId) => [
|
|
2508
2519
|
isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
|
|
@@ -2668,16 +2679,16 @@ const createStore = () => {
|
|
|
2668
2679
|
} catch {}
|
|
2669
2680
|
return store;
|
|
2670
2681
|
};
|
|
2671
|
-
const setJson = (tablesAndValuesJson) =>
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2682
|
+
const setJson = (tablesAndValuesJson) =>
|
|
2683
|
+
fluentTransaction(() => {
|
|
2684
|
+
try {
|
|
2685
|
+
const [tables, values] = jsonParse(tablesAndValuesJson);
|
|
2686
|
+
setOrDelTables(tables);
|
|
2687
|
+
setOrDelValues(values);
|
|
2688
|
+
} catch {
|
|
2689
|
+
setTablesJson(tablesAndValuesJson);
|
|
2690
|
+
}
|
|
2691
|
+
});
|
|
2681
2692
|
const setTablesSchema = (tablesSchema) =>
|
|
2682
2693
|
fluentTransaction(() => {
|
|
2683
2694
|
if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
|
|
@@ -3062,7 +3073,7 @@ const createStore = () => {
|
|
|
3062
3073
|
addListener(
|
|
3063
3074
|
args[argumentCount],
|
|
3064
3075
|
idSetNode[args[argumentCount + 1] ? 1 : 0],
|
|
3065
|
-
argumentCount > 0 ?
|
|
3076
|
+
argumentCount > 0 ? slice(args, 0, argumentCount) : void 0,
|
|
3066
3077
|
pathGetters,
|
|
3067
3078
|
extraArgsGetter,
|
|
3068
3079
|
);
|
package/lib/debug/ui-react.js
CHANGED
|
@@ -72,6 +72,11 @@ const useCheckpoints = (id) => useThing(id, 10);
|
|
|
72
72
|
const useCheckpointsOrCheckpointsById = (checkpointsOrCheckpointsId) =>
|
|
73
73
|
useThingOrThingById(checkpointsOrCheckpointsId, 10);
|
|
74
74
|
|
|
75
|
+
const lower = (str) => str.toLowerCase();
|
|
76
|
+
lower(LISTENER);
|
|
77
|
+
const TRANSACTION = 'Transaction';
|
|
78
|
+
lower(TRANSACTION);
|
|
79
|
+
|
|
75
80
|
const {
|
|
76
81
|
useCallback: useCallback$1,
|
|
77
82
|
useEffect,
|
|
@@ -604,6 +609,35 @@ const useValueListener = (
|
|
|
604
609
|
[valueId],
|
|
605
610
|
mutator,
|
|
606
611
|
);
|
|
612
|
+
const useStartTransactionListener = (listener, listenerDeps, storeOrStoreId) =>
|
|
613
|
+
useListener(
|
|
614
|
+
'Start' + TRANSACTION,
|
|
615
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
616
|
+
listener,
|
|
617
|
+
listenerDeps,
|
|
618
|
+
);
|
|
619
|
+
const useWillFinishTransactionListener = (
|
|
620
|
+
listener,
|
|
621
|
+
listenerDeps,
|
|
622
|
+
storeOrStoreId,
|
|
623
|
+
) =>
|
|
624
|
+
useListener(
|
|
625
|
+
'WillFinish' + TRANSACTION,
|
|
626
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
627
|
+
listener,
|
|
628
|
+
listenerDeps,
|
|
629
|
+
);
|
|
630
|
+
const useDidFinishTransactionListener = (
|
|
631
|
+
listener,
|
|
632
|
+
listenerDeps,
|
|
633
|
+
storeOrStoreId,
|
|
634
|
+
) =>
|
|
635
|
+
useListener(
|
|
636
|
+
'DidFinish' + TRANSACTION,
|
|
637
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
638
|
+
listener,
|
|
639
|
+
listenerDeps,
|
|
640
|
+
);
|
|
607
641
|
const useCreateMetrics = (store, create, createDeps) =>
|
|
608
642
|
useCreate(store, create, createDeps);
|
|
609
643
|
const useMetricsIds = () => useThingIds(3);
|
|
@@ -1067,7 +1101,7 @@ const useCreatePersister = (
|
|
|
1067
1101
|
return;
|
|
1068
1102
|
})();
|
|
1069
1103
|
return () => {
|
|
1070
|
-
persister
|
|
1104
|
+
persister?.destroy();
|
|
1071
1105
|
};
|
|
1072
1106
|
},
|
|
1073
1107
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1582,6 +1616,7 @@ export {
|
|
|
1582
1616
|
useDelTablesCallback,
|
|
1583
1617
|
useDelValueCallback,
|
|
1584
1618
|
useDelValuesCallback,
|
|
1619
|
+
useDidFinishTransactionListener,
|
|
1585
1620
|
useGoBackwardCallback,
|
|
1586
1621
|
useGoForwardCallback,
|
|
1587
1622
|
useGoToCallback,
|
|
@@ -1647,6 +1682,7 @@ export {
|
|
|
1647
1682
|
useSliceRowIdsListener,
|
|
1648
1683
|
useSortedRowIds,
|
|
1649
1684
|
useSortedRowIdsListener,
|
|
1685
|
+
useStartTransactionListener,
|
|
1650
1686
|
useStore,
|
|
1651
1687
|
useStoreIds,
|
|
1652
1688
|
useStoreOrStoreById,
|
|
@@ -1665,4 +1701,5 @@ export {
|
|
|
1665
1701
|
useValueListener,
|
|
1666
1702
|
useValues,
|
|
1667
1703
|
useValuesListener,
|
|
1704
|
+
useWillFinishTransactionListener,
|
|
1668
1705
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,d=(e,n)=>e instanceof n,a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),s=n=>e(n)==t,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,d=(e,n)=>e instanceof n,a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),s=n=>e(n)==t,v=(e,n,l)=>e.slice(n,l),y=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),E=(e,n)=>e.map(n),h=e=>e.length,p=e=>0==h(e),m=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),O=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=(e,n)=>null==e?void 0:e.delete(n),P=Object,w=P.keys,b=P.freeze,N=(e=[])=>P.fromEntries(e),R=(...e)=>P.assign({},...e),x=(e,n)=>E(P.entries(e),(([e,l])=>n(l,e))),S=e=>P.values(e),C=e=>h(w(e)),D=e=>(e=>d(e,P)&&e.constructor==P)(e)&&0==C(e),I=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),M=(e,n)=>{var l;return E([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),j=(e,n,l)=>(O(e,n)||$(e,n,l()),F(e,n)),_=(e,n,l,t=$)=>(x(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!a(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B=e=>new Set(Array.isArray(e)||a(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),W="_",U="_id",k=e=>`"${e.replace(/"/g,'""')}"`;var J=Object.defineProperty,Y=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&K(e,l,n[l]);if(Y)for(var l of Y(n))G.call(n,l)&&K(e,l,n[l]);return e},q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q="FROM pragma_table_",X="WHERE",Z=(e,n,t)=>{const o=I();return[()=>q(void 0,null,(function*(){return _(o,N(yield y(E(yield e("SELECT name "+Q+"list WHERE schema='main'AND type='table'AND name IN("+ne(n)+")",n),(n=>q(void 0,[n],(function*({name:n}){return[n,N(E(yield e("SELECT name,type "+Q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(o,n,_(j(o,n,I),l,((e,n,l)=>{l!=F(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!a(F(F(o,e),n)))(n,l)?N(m(E(yield e("SELECT*FROM"+k(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!D(n)))):{}})),(n,t,r,i,u,d=!1)=>q(void 0,null,(function*(){const c=B();x(null!=r?r:{},(e=>E(w(null!=e?e:{}),(e=>H(c,e)))));const s=A(c);if(!d&&u&&p(s)&&O(o,n))return yield e("DROP TABLE"+k(n)),void $(o,n);if(p(s)||O(o,n)){const l=F(o,n),r=B(g(l));yield y([...E(s,(t=>q(void 0,null,(function*(){L(r,t)||(yield e(`ALTER TABLE${k(n)}ADD${k(t)}`),$(l,t,""))})))),...!d&&i?E(A(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${k(n)}DROP${k(o)}`),$(l,o))})))):[]])}else yield e(`CREATE TABLE${k(n)}(${k(t)} PRIMARY KEY ON CONFLICT REPLACE${f(E(s,(e=>l+k(e))))});`),$(o,n,I([[t,""],...E(s,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+k(n)+"WHERE 1"):yield y(x(r,((l,o)=>q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+k(n)+X+k(t)+"=?",[o]):p(s)||(yield ee(e,n,t,w(l),[o,...S(l)]))})))));else if(p(s))O(o,n)&&(yield e("DELETE FROM"+k(n)+"WHERE 1"));else{const l=m(g(F(o,n)),(e=>e!=t)),i=[],u=[];x(null!=r?r:{},((e,n)=>{T(i,n,...E(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ee(e,n,t,l,i),yield e("DELETE FROM"+k(n)+X+k(t)+"NOT IN("+ne(u)+")",u)}})),n=>q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ee=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+k(n)+"("+k(t)+f(E(r,(e=>l+k(e))))+")VALUES"+v(o(`,(?${o(",?",h(r))})`,h(i)/(h(r)+1)),1)+"ON CONFLICT("+k(t)+")DO UPDATE SET"+f(E(r,(e=>k(e)+"=excluded."+k(e))),l),i)})),ne=e=>f(E(e,(()=>"?")),l),le=JSON.parse;var te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const oe=I(),re=I(),ie=(e,n,l,t,o,r,i=[])=>{let u,d,s,v=0,y=0;j(oe,i,(()=>0)),j(re,i,(()=>[]));const f=e=>te(void 0,null,(function*(){return 2!=v&&(v=1,yield E.schedule((()=>te(void 0,null,(function*(){yield e(),v=0}))))),E})),E={load:(l,t)=>te(void 0,null,(function*(){return yield f((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>te(void 0,[...l],(function*(l={},o={}){return E.stopAutoLoad(),yield E.load(l,o),y=1,s=t(((l,t)=>te(void 0,null,(function*(){if(t){const n=t();yield f((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield f((()=>te(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(y&&(o(s),s=void 0,y=0),E),save:n=>te(void 0,null,(function*(){return 1!=v&&(v=2,yield E.schedule((()=>te(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}v=0}))))),E})),startAutoSave:()=>te(void 0,null,(function*(){return yield E.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();D(l)&&D(t)||E.save((()=>[l,t]))})),E})),stopAutoSave:()=>(c(u,e.delListener),E),schedule:(...e)=>te(void 0,null,(function*(){return T(F(re,i),...e),yield te(void 0,null,(function*(){if(!F(oe,i)){for($(oe,i,1);!a((e=F(re,i),d=e.shift()));)try{yield d()}catch(e){null==r||r(e)}$(oe,i,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return b(E)};var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ae=(e,n,l,t,o,[r],i,u)=>{const[a,c,s,v]=Z(n,i,o);return ie(e,(()=>ue(void 0,null,(function*(){return yield v((()=>ue(void 0,null,(function*(){var e,n;return yield a(),le(null!=(n=null==(e=(yield c(r,U))[W])?void 0:e[de])?n:"null")}))))}))),(e=>ue(void 0,null,(function*(){return yield v((()=>ue(void 0,null,(function*(){var n,l;yield a(),yield s(r,U,{[W]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>d(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var ce=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[u,d,c]],s,v)=>{const[f,E,h,p]=Z(n,s,o),T=(e,n)=>ce(void 0,null,(function*(){return yield y(M(i,((l,t)=>ce(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),O=(e,n)=>ce(void 0,null,(function*(){return d?yield h(c,U,{[W]:e},!0,!0,n):null}));return ie(e,(()=>ce(void 0,null,(function*(){return yield p((()=>ce(void 0,null,(function*(){yield f();const e=yield ce(void 0,null,(function*(){return N(m(yield y(M(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!D(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield E(c,U))[W]:{}}));return D(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield p((()=>ce(void 0,null,(function*(){if(yield f(),a(n)){const[n,l]=e();yield T(n),yield O(l)}else{const[e,l]=n();yield T(e,!0),yield O(l,!0)}}))))}))),l,t,o,v)},ve="json",ye="autoLoadIntervalSeconds",fe="rowIdColumnName",Ee="tableId",he="tableName",pe={mode:ve,[ye]:1},me={load:0,save:0,[he]:n+"_values"},Te=(e,n,l,t)=>{const o=I();return x(e,((e,r)=>{const i=v(S(R(n,s(e)?{[l]:e}:e)),0,C(n));a(i[0])||t(r,i[0])||$(o,r,i)})),o};var Oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ae="pragma ",Le="data_version",Pe="schema_version",we=(e,l,t,o,r,d,a,c)=>{let y,f;const[E,h,p,m]=(e=>{const l=(e=>R(pe,s(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[ye];if(l.mode==ve){const{storeTableName:e=n}=l;return[1,t,[e],B(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(S(R(me,i)),0,C(me)),d=u[2],a=B(d);return[0,t,[Te(o,{[Ee]:null,[fe]:U},Ee,(e=>H(a,e)&&e==d)),Te(r,{[he]:null,[fe]:U,deleteEmptyColumns:0,deleteEmptyTable:0},he,((e,n)=>H(a,n)&&n==d)),u],a]})(l);return(E?ae:se)(e,d?(e,n)=>Oe(void 0,null,(function*(){return d(e,n),yield t(e,n)})):t,(e=>[i((()=>Oe(void 0,null,(function*(){try{const n=(yield t(Ae+Le))[0][Le],l=(yield t(Ae+Pe))[0][Pe];n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)||(e(),y=n,f=l)}catch(e){}}))),1e3*h),o((n=>m.has(n)?e():0))]),(([e,n])=>{u(e),y=f=null,r(n)}),a,p,A(m),c)},be=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=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(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{be as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,a=(e,n)=>e instanceof n,d=e=>null==e,c=(e,n,l)=>d(e)?null==l?void 0:l():n(e),s=n=>e(n)==t,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=setInterval,u=clearInterval,a=(e,n)=>e instanceof n,d=e=>null==e,c=(e,n,l)=>d(e)?null==l?void 0:l():n(e),s=n=>e(n)==t,v=(e,n,l)=>e.slice(n,l),y=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f=(e,n="")=>e.join(n),h=(e,n)=>e.map(n),E=e=>e.length,p=e=>0==E(e),m=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,b=P.keys,w=P.freeze,N=(e=[])=>P.fromEntries(e),R=(...e)=>P.assign({},...e),x=(e,n)=>h(P.entries(e),(([e,l])=>n(l,e))),C=e=>P.values(e),S=e=>E(b(e)),g=e=>(e=>a(e,P)&&e.constructor==P)(e)&&0==S(e),D=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),M=(e,n)=>{var l;return h([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>d(l)?(O(e,n),e):null==e?void 0:e.set(n,l),j=(e,n,l)=>(A(e,n)||$(e,n,l()),F(e,n)),_=(e,n,l,t=$)=>(x(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!d(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),B=e=>new Set(Array.isArray(e)||d(e)?e:[e]),H=(e,n)=>null==e?void 0:e.add(n),W="_",k="_id",J=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,Y=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,G=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&G(e,l,n[l]);if(Y)for(var l of Y(n))z.call(n,l)&&G(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q="FROM pragma_table_",X="WHERE",Z=(e,n,t)=>{const o=D();return[()=>V(void 0,null,(function*(){return _(o,N(yield y(h(yield e("SELECT name "+Q+"list WHERE schema='main'AND type='table'AND name IN("+ne(n)+")",n),(n=>V(void 0,[n],(function*({name:n}){return[n,N(h(yield e("SELECT name,type "+Q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(o,n,_(j(o,n,D),l,((e,n,l)=>{l!=F(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!d(F(F(o,e),n)))(n,l)?N(m(h(yield e("SELECT*FROM"+J(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!g(n)))):{}})),(n,t,r,i,u,a=!1)=>V(void 0,null,(function*(){const c=B();x(null!=r?r:{},(e=>h(b(null!=e?e:{}),(e=>H(c,e)))));const s=L(c);if(!a&&u&&p(s)&&A(o,n))return yield e("DROP TABLE"+J(n)),void $(o,n);if(p(s)||A(o,n)){const l=F(o,n),r=B(I(l));yield y([...h(s,(t=>V(void 0,null,(function*(){O(r,t)||(yield e(`ALTER TABLE${J(n)}ADD${J(t)}`),$(l,t,""))})))),...!a&&i?h(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${J(n)}DROP${J(o)}`),$(l,o))})))):[]])}else yield e(`CREATE TABLE${J(n)}(${J(t)} PRIMARY KEY ON CONFLICT REPLACE${f(h(s,(e=>l+J(e))))});`),$(o,n,D([[t,""],...h(s,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+J(n)+"WHERE 1"):yield y(x(r,((l,o)=>V(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+J(n)+X+J(t)+"=?",[o]):p(s)||(yield ee(e,n,t,b(l),[o,...C(l)]))})))));else if(p(s))A(o,n)&&(yield e("DELETE FROM"+J(n)+"WHERE 1"));else{const l=m(I(F(o,n)),(e=>e!=t)),i=[],u=[];x(null!=r?r:{},((e,n)=>{T(i,n,...h(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ee(e,n,t,l,i),yield e("DELETE FROM"+J(n)+X+J(t)+"NOT IN("+ne(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ee=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+J(n)+"("+J(t)+f(h(r,(e=>l+J(e))))+")VALUES"+v(o(`,(?${o(",?",E(r))})`,E(i)/(E(r)+1)),1)+"ON CONFLICT("+J(t)+")DO UPDATE SET"+f(h(r,(e=>J(e)+"=excluded."+J(e))),l),i)})),ne=e=>f(h(e,(()=>"?")),l),le=JSON.parse;var te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const oe=D(),re=D(),ie=(e,n,l,t,o,r,i=[])=>{let u,a,s,v=0,y=0;j(oe,i,(()=>0)),j(re,i,(()=>[]));const f=e=>te(void 0,null,(function*(){return 2!=v&&(v=1,yield h.schedule((()=>te(void 0,null,(function*(){yield e(),v=0}))))),h})),h={load:(l,t)=>te(void 0,null,(function*(){return yield f((()=>te(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>te(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),y=1,s=t(((l,t)=>te(void 0,null,(function*(){if(t){const n=t();yield f((()=>te(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield f((()=>te(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(y&&(o(s),s=void 0,y=0),h),save:n=>te(void 0,null,(function*(){return 1!=v&&(v=2,yield h.schedule((()=>te(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}v=0}))))),h})),startAutoSave:()=>te(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();g(l)&&g(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(c(u,e.delListener),h),schedule:(...e)=>te(void 0,null,(function*(){return T(F(re,i),...e),yield te(void 0,null,(function*(){if(!F(oe,i)){for($(oe,i,1);!d((e=F(re,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}$(oe,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var ue=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae="store",de=(e,n,l,t,o,[r],i,u)=>{const[d,c,s,v]=Z(n,i,o);return ie(e,(()=>ue(void 0,null,(function*(){return yield v((()=>ue(void 0,null,(function*(){var e,n;return yield d(),le(null!=(n=null==(e=(yield c(r,k))[W])?void 0:e[ae])?n:"null")}))))}))),(e=>ue(void 0,null,(function*(){return yield v((()=>ue(void 0,null,(function*(){var n,l;yield d(),yield s(r,k,{[W]:{[ae]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>a(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};var ce=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[f,h,E,p]=Z(n,s,o),T=(e,n)=>ce(void 0,null,(function*(){return yield y(M(i,((l,t)=>ce(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield E(l,t,u,o,r,n))})))))})),A=(e,n)=>ce(void 0,null,(function*(){return a?yield E(c,k,{[W]:e},!0,!0,n):null}));return ie(e,(()=>ce(void 0,null,(function*(){return yield p((()=>ce(void 0,null,(function*(){yield f();const e=yield ce(void 0,null,(function*(){return N(m(yield y(M(r,((e,n)=>ce(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!g(e[1]))))})),n=yield ce(void 0,null,(function*(){return u?(yield h(c,k))[W]:{}}));return g(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ce(void 0,null,(function*(){return yield p((()=>ce(void 0,null,(function*(){if(yield f(),d(n)){const[n,l]=e();yield T(n),yield A(l)}else{const[e,l]=n();yield T(e,!0),yield A(l,!0)}}))))}))),l,t,o,v)},ve="json",ye="autoLoadIntervalSeconds",fe="rowIdColumnName",he="tableId",Ee="tableName",pe={mode:ve,[ye]:1},me={load:0,save:0,[Ee]:n+"_values"},Te=(e,n,l,t)=>{const o=D();return x(e,((e,r)=>{const i=v(C(R(n,s(e)?{[l]:e}:e)),0,S(n));d(i[0])||t(r,i[0])||$(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Oe="data_version",Pe="schema_version",be=(e,l,t,o,r,a,d,c)=>{let y,f;const[h,E,p,m]=(e=>{const l=(e=>R(pe,s(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[ye];if(l.mode==ve){const{storeTableName:e=n}=l;return[1,t,[e],B(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(C(R(me,i)),0,S(me)),a=u[2],d=B(a);return[0,t,[Te(o,{[he]:null,[fe]:k},he,(e=>H(d,e)&&e==a)),Te(r,{[Ee]:null,[fe]:k,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>H(d,n)&&n==a)),u],d]})(l);return(h?de:se)(e,a?(e,n)=>Ae(void 0,null,(function*(){return a(e,n),yield t(e,n)})):t,(e=>[i((()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Oe))[0][Oe],l=(yield t(Le+Pe))[0][Pe];n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)||(e(),y=n,f=l)}catch(e){}}))),1e3*E),o((n=>m.has(n)?e():0))]),(([e,n])=>{u(e),y=f=null,r(n)}),d,p,L(m),c)},we=(e,n,l,t,o)=>be(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=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(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{we as createExpoSqlitePersister};
|
|
Binary file
|