tinybase 4.6.0-beta.2 → 4.6.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-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.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/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.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/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +40 -26
- package/lib/debug/persisters/persister-electric-sql.js +40 -26
- package/lib/debug/persisters/persister-expo-sqlite-next.js +40 -26
- package/lib/debug/persisters/persister-expo-sqlite.js +40 -26
- package/lib/debug/persisters/persister-indexed-db.js +5 -2
- package/lib/debug/persisters/persister-remote.js +5 -2
- package/lib/debug/persisters/persister-sqlite-wasm.js +40 -26
- package/lib/debug/persisters/persister-sqlite3.js +40 -26
- package/lib/debug/ui-react-dom.js +1 -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-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.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/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.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/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.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/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.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/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/package.json +20 -19
- package/readme.md +13 -13
|
@@ -2,7 +2,10 @@ const T = 't';
|
|
|
2
2
|
const V = 'v';
|
|
3
3
|
|
|
4
4
|
const promise = Promise;
|
|
5
|
-
const startInterval =
|
|
5
|
+
const startInterval = (callback, sec, immediate) => {
|
|
6
|
+
immediate && callback();
|
|
7
|
+
return setInterval(callback, sec * 1e3);
|
|
8
|
+
};
|
|
6
9
|
const stopInterval = clearInterval;
|
|
7
10
|
const isUndefined = (thing) => thing == void 0;
|
|
8
11
|
const ifNotUndefined = (value, then, otherwise) =>
|
|
@@ -271,7 +274,7 @@ const createIndexedDbPersister = (
|
|
|
271
274
|
1,
|
|
272
275
|
);
|
|
273
276
|
const addPersisterListener = (listener) =>
|
|
274
|
-
startInterval(listener, autoLoadIntervalSeconds
|
|
277
|
+
startInterval(listener, autoLoadIntervalSeconds);
|
|
275
278
|
const delPersisterListener = (interval) => stopInterval(interval);
|
|
276
279
|
return createCustomPersister(
|
|
277
280
|
store,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
const startInterval =
|
|
1
|
+
const startInterval = (callback, sec, immediate) => {
|
|
2
|
+
immediate && callback();
|
|
3
|
+
return setInterval(callback, sec * 1e3);
|
|
4
|
+
};
|
|
2
5
|
const stopInterval = clearInterval;
|
|
3
6
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
4
7
|
const isUndefined = (thing) => thing == void 0;
|
|
@@ -221,7 +224,7 @@ const createRemotePersister = (
|
|
|
221
224
|
lastEtag = currentEtag;
|
|
222
225
|
listener();
|
|
223
226
|
}
|
|
224
|
-
}, autoLoadIntervalSeconds
|
|
227
|
+
}, autoLoadIntervalSeconds);
|
|
225
228
|
const delPersisterListener = (interval) => stopInterval(interval);
|
|
226
229
|
return createCustomPersister(
|
|
227
230
|
store,
|
|
@@ -6,7 +6,10 @@ const STRING = getTypeOf(EMPTY_STRING);
|
|
|
6
6
|
const strRepeat = (str, count) => str.repeat(count);
|
|
7
7
|
|
|
8
8
|
const promise = Promise;
|
|
9
|
-
const startInterval =
|
|
9
|
+
const startInterval = (callback, sec, immediate) => {
|
|
10
|
+
immediate && callback();
|
|
11
|
+
return setInterval(callback, sec * 1e3);
|
|
12
|
+
};
|
|
10
13
|
const stopInterval = clearInterval;
|
|
11
14
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
12
15
|
const isUndefined = (thing) => thing == void 0;
|
|
@@ -18,6 +21,11 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
|
18
21
|
const size = (arrayOrString) => arrayOrString.length;
|
|
19
22
|
const promiseAll = async (promises) => promise.all(promises);
|
|
20
23
|
|
|
24
|
+
const SINGLE_ROW_ID = '_';
|
|
25
|
+
const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
|
|
26
|
+
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
27
|
+
const SELECT = 'SELECT';
|
|
28
|
+
|
|
21
29
|
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
22
30
|
const arrayMap = (array, cb) => array.map(cb);
|
|
23
31
|
const arrayIsEmpty = (array) => size(array) == 0;
|
|
@@ -86,11 +94,7 @@ const setNew = (entryOrEntries) =>
|
|
|
86
94
|
);
|
|
87
95
|
const setAdd = (set, value) => set?.add(value);
|
|
88
96
|
|
|
89
|
-
const
|
|
90
|
-
const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
|
|
91
|
-
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
92
|
-
|
|
93
|
-
const SELECT_STAR_FROM = 'SELECT*FROM';
|
|
97
|
+
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
94
98
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
95
99
|
const WHERE = 'WHERE';
|
|
96
100
|
const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
@@ -108,7 +112,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
108
112
|
FROM_PRAGMA_TABLE +
|
|
109
113
|
`list WHERE schema='main'AND type='table'AND name IN(` +
|
|
110
114
|
getPlaceholders(managedTableNames) +
|
|
111
|
-
`)`,
|
|
115
|
+
`)ORDER BY name`,
|
|
112
116
|
managedTableNames,
|
|
113
117
|
),
|
|
114
118
|
async ({name: tableName}) => [
|
|
@@ -116,7 +120,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
116
120
|
objNew(
|
|
117
121
|
arrayMap(
|
|
118
122
|
await cmd(
|
|
119
|
-
|
|
123
|
+
SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
|
|
120
124
|
[tableName],
|
|
121
125
|
),
|
|
122
126
|
({name: columnName, type}) => [columnName, type],
|
|
@@ -760,6 +764,8 @@ const createSqlitePersister = (
|
|
|
760
764
|
) => {
|
|
761
765
|
let dataVersion;
|
|
762
766
|
let schemaVersion;
|
|
767
|
+
let totalChanges;
|
|
768
|
+
const CHANGES_COLUMN = 'c';
|
|
763
769
|
const [
|
|
764
770
|
isJson,
|
|
765
771
|
autoLoadIntervalSeconds,
|
|
@@ -767,24 +773,32 @@ const createSqlitePersister = (
|
|
|
767
773
|
managedTableNamesSet,
|
|
768
774
|
] = getConfigStructures(configOrStoreTableName);
|
|
769
775
|
const addPersisterListener = (listener) => [
|
|
770
|
-
startInterval(
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
DATA_VERSION
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
SCHEMA_VERSION
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
776
|
+
startInterval(
|
|
777
|
+
async () => {
|
|
778
|
+
try {
|
|
779
|
+
const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
|
|
780
|
+
DATA_VERSION
|
|
781
|
+
];
|
|
782
|
+
const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
|
|
783
|
+
SCHEMA_VERSION
|
|
784
|
+
];
|
|
785
|
+
const newTotalChanges = (
|
|
786
|
+
await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
|
|
787
|
+
)[0][CHANGES_COLUMN];
|
|
788
|
+
if (
|
|
789
|
+
newDataVersion != (dataVersion ??= newDataVersion) ||
|
|
790
|
+
newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
|
|
791
|
+
newTotalChanges != (totalChanges ??= newTotalChanges)
|
|
792
|
+
) {
|
|
793
|
+
listener();
|
|
794
|
+
dataVersion = newDataVersion;
|
|
795
|
+
schemaVersion = newSchemaVersion;
|
|
796
|
+
}
|
|
797
|
+
} catch {}
|
|
798
|
+
},
|
|
799
|
+
autoLoadIntervalSeconds,
|
|
800
|
+
1,
|
|
801
|
+
),
|
|
788
802
|
addUpdateListener((tableName) =>
|
|
789
803
|
managedTableNamesSet.has(tableName) ? listener() : 0,
|
|
790
804
|
),
|
|
@@ -6,7 +6,10 @@ const STRING = getTypeOf(EMPTY_STRING);
|
|
|
6
6
|
const strRepeat = (str, count) => str.repeat(count);
|
|
7
7
|
|
|
8
8
|
const promise = Promise;
|
|
9
|
-
const startInterval =
|
|
9
|
+
const startInterval = (callback, sec, immediate) => {
|
|
10
|
+
immediate && callback();
|
|
11
|
+
return setInterval(callback, sec * 1e3);
|
|
12
|
+
};
|
|
10
13
|
const stopInterval = clearInterval;
|
|
11
14
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
12
15
|
const isUndefined = (thing) => thing == void 0;
|
|
@@ -19,6 +22,11 @@ const size = (arrayOrString) => arrayOrString.length;
|
|
|
19
22
|
const promiseNew = (resolver) => new promise(resolver);
|
|
20
23
|
const promiseAll = async (promises) => promise.all(promises);
|
|
21
24
|
|
|
25
|
+
const SINGLE_ROW_ID = '_';
|
|
26
|
+
const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
|
|
27
|
+
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
28
|
+
const SELECT = 'SELECT';
|
|
29
|
+
|
|
22
30
|
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
23
31
|
const arrayMap = (array, cb) => array.map(cb);
|
|
24
32
|
const arrayIsEmpty = (array) => size(array) == 0;
|
|
@@ -87,11 +95,7 @@ const setNew = (entryOrEntries) =>
|
|
|
87
95
|
);
|
|
88
96
|
const setAdd = (set, value) => set?.add(value);
|
|
89
97
|
|
|
90
|
-
const
|
|
91
|
-
const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
|
|
92
|
-
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
93
|
-
|
|
94
|
-
const SELECT_STAR_FROM = 'SELECT*FROM';
|
|
98
|
+
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
95
99
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
96
100
|
const WHERE = 'WHERE';
|
|
97
101
|
const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
@@ -109,7 +113,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
109
113
|
FROM_PRAGMA_TABLE +
|
|
110
114
|
`list WHERE schema='main'AND type='table'AND name IN(` +
|
|
111
115
|
getPlaceholders(managedTableNames) +
|
|
112
|
-
`)`,
|
|
116
|
+
`)ORDER BY name`,
|
|
113
117
|
managedTableNames,
|
|
114
118
|
),
|
|
115
119
|
async ({name: tableName}) => [
|
|
@@ -117,7 +121,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
117
121
|
objNew(
|
|
118
122
|
arrayMap(
|
|
119
123
|
await cmd(
|
|
120
|
-
|
|
124
|
+
SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
|
|
121
125
|
[tableName],
|
|
122
126
|
),
|
|
123
127
|
({name: columnName, type}) => [columnName, type],
|
|
@@ -761,6 +765,8 @@ const createSqlitePersister = (
|
|
|
761
765
|
) => {
|
|
762
766
|
let dataVersion;
|
|
763
767
|
let schemaVersion;
|
|
768
|
+
let totalChanges;
|
|
769
|
+
const CHANGES_COLUMN = 'c';
|
|
764
770
|
const [
|
|
765
771
|
isJson,
|
|
766
772
|
autoLoadIntervalSeconds,
|
|
@@ -768,24 +774,32 @@ const createSqlitePersister = (
|
|
|
768
774
|
managedTableNamesSet,
|
|
769
775
|
] = getConfigStructures(configOrStoreTableName);
|
|
770
776
|
const addPersisterListener = (listener) => [
|
|
771
|
-
startInterval(
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
DATA_VERSION
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
SCHEMA_VERSION
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
777
|
+
startInterval(
|
|
778
|
+
async () => {
|
|
779
|
+
try {
|
|
780
|
+
const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
|
|
781
|
+
DATA_VERSION
|
|
782
|
+
];
|
|
783
|
+
const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
|
|
784
|
+
SCHEMA_VERSION
|
|
785
|
+
];
|
|
786
|
+
const newTotalChanges = (
|
|
787
|
+
await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
|
|
788
|
+
)[0][CHANGES_COLUMN];
|
|
789
|
+
if (
|
|
790
|
+
newDataVersion != (dataVersion ??= newDataVersion) ||
|
|
791
|
+
newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
|
|
792
|
+
newTotalChanges != (totalChanges ??= newTotalChanges)
|
|
793
|
+
) {
|
|
794
|
+
listener();
|
|
795
|
+
dataVersion = newDataVersion;
|
|
796
|
+
schemaVersion = newSchemaVersion;
|
|
797
|
+
}
|
|
798
|
+
} catch {}
|
|
799
|
+
},
|
|
800
|
+
autoLoadIntervalSeconds,
|
|
801
|
+
1,
|
|
802
|
+
),
|
|
789
803
|
addUpdateListener((tableName) =>
|
|
790
804
|
managedTableNamesSet.has(tableName) ? listener() : 0,
|
|
791
805
|
),
|
|
@@ -163,7 +163,7 @@ const POSITION_VALUE = 'position';
|
|
|
163
163
|
const OPEN_VALUE = OPEN_CELL;
|
|
164
164
|
const EDITABLE_CELL = 'editable';
|
|
165
165
|
const getUniqueId = (...args) => jsonString(args);
|
|
166
|
-
const sortedIdsMap = (ids, callback) => arrayMap(ids
|
|
166
|
+
const sortedIdsMap = (ids, callback) => arrayMap(arraySort(ids), callback);
|
|
167
167
|
const useEditable = (uniqueId, s) => [
|
|
168
168
|
!!useCell(STATE_TABLE, uniqueId, EDITABLE_CELL, s),
|
|
169
169
|
useCallback$1(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,d=(e,n,l)=>u(e)?null==l?void 0:l():n(e),a=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=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},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",h=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),N=R.keys,x=R.freeze,D=(e=[])=>R.fromEntries(e),S=(...e)=>R.assign({},...e),g=(e,n)=>m(R.entries(e),(([e,l])=>n(l,e))),C=e=>R.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&d(w(e),(e=>e==R.prototype||u(w(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(g(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)=>!u(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||u(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&K(e,l,n[l]);if(G)for(var l of G(n))z.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=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>q(void 0,null,(function*(){return W(o,D(yield s(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>q(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(T(m(yield e(Q+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,d,a=!1)=>q(void 0,null,(function*(){const c=U();g(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>Y(c,e)))));const v=P(c);if(!a&&d&&O(v)&&L(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(v)||L(o,n)){const l=_(o,n),r=U($(l));yield s([...m(v,(t=>q(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${p(n)}ADD${p(t)}`),B(l,t,""))})))),...!a&&i?m(P(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(t)} PRIMARY KEY ON CONFLICT REPLACE${h(m(v,(e=>l+p(e))))});`),B(o,n,M([[t,""],...m(v,(e=>[e,""]))]));if(a)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield s(g(r,((l,o)=>q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+p(n)+Z+p(t)+"=?",[o]):O(v)||(yield ne(e,n,t,N(l),[o,...C(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];g(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+p(n)+Z+p(t)+"NOT IN("+le(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}))]},ne=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(t)+h(m(r,(e=>l+p(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+p(t)+")DO UPDATE SET"+h(m(r,(e=>p(e)+"=excluded."+p(e))),l),i)})),le=e=>h(m(e,(()=>"?")),l),te=JSON.parse;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 re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,a]=[],c=[])=>{let v,s,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(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:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>oe(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}B(re,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>a),x(h)};var de=(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",ce=(e,n,l,t,o,[r],i,u)=>{const[d,a,c,v]=ee(n,i,o);return ue(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield a(r,f))[y])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield c(r,f,{[y]:{[ae]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var ve=(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,[d,a,c]],v,p)=>{const[E,h,m,O]=ee(n,v,o),A=(e,n)=>ve(void 0,null,(function*(){return yield s(j(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return a?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return D(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return d?(yield h(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield A(n),yield L(l)}else{const[e,l]=n();yield A(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",Ee="tableId",he="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[he]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return g(e,((e,r)=>{const i=c(C(S(n,a(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(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 ",Pe="data_version",be="schema_version",Re=(e,l,t,o,r,u,d,v)=>{let s,y,p;const[h,m,O,T]=(e=>{const l=(e=>S(me,a(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],U(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(C(S(Oe,i)),0,I(Oe)),d=u[2],v=U(d);return[0,t,[Te(o,{[Ee]:null,[pe]:f},Ee,(e=>Y(v,e)&&e==d)),Te(r,{[he]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},he,((e,n)=>Y(v,n)&&n==d)),u],v]})(l);return(h?ce:se)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=p?p:p=o)||(e(),s=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),s=y=null,r(n)}),d,O,P(T),v)},we=(e,n,l,t,o)=>Re(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{we 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=
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,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},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),T=e=>0==s(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(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:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,R=e=>w.getPrototypeOf(e),N=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),C=(...e)=>w.assign({},...e),S=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),x=e=>w.values(e),I=e=>s(N(e)),F=e=>(e=>!u(e)&&a(R(e),(e=>e==w.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(P(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(b(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(S(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)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(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=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,D(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(O(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();S(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&a&&T(s)&&b(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(T(s)||b(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(S(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):T(s)||(yield ne(e,n,t,N(l),[o,...x(l)]))})))));else if(T(s))b(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(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}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;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 re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};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 de="store",ce=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield c(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(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 ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h)=>{const[E,p,m,T]=ee(n,s,o),A=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),b=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return D(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield p(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield A(n),yield b(l)}else{const[e,l]=n();yield A(e,!0),yield b(l,!0)}}))))}))),l,t,o,["getDb",h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return S(e,((e,r)=>{const i=c(x(C(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(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 be="pragma ",Le="data_version",Pe="schema_version",we=(e,l,t,o,r,u,a,s)=>{let v,y,h;const[p,m,T,O]=(e=>{const l=(e=>C(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(x(C(Te,i)),0,I(Te)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(p?ce:ve)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(be+Le))[0][Le],l=(yield t(be+Pe))[0][Pe],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&l==(null!=y?y:y=l)&&o==(null!=h?h:h=o)||(e(),v=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),v=y=null,r(n)}),a,T,L(O),s)},Re=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args: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.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n);export{Re as createElectricSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=
|
|
1
|
+
import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=e=>n(e)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.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="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==s(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),x=R.keys,D=R.freeze,S=(e=[])=>R.fromEntries(e),g=(...e)=>R.assign({},...e),C=(e,n)=>A(R.entries(e),(([e,l])=>n(l,e))),I=e=>R.values(e),F=e=>s(x(e)),M=e=>(e=>!a(e)&&d(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(P(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(C(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)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=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={}))q.call(n,l)&&K(e,l,n[l]);if(U)for(var l of U(n))z.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 X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,l)=>{const o=$();return[()=>Q(void 0,null,(function*(){return Y(o,S(yield y(A(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(A(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,Y(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(o,e),n)))(n,l)?S(T(A(yield e(X+E(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,l,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=k();C(null!=r?r:{},(e=>A(x(null!=e?e:{}),(e=>G(c,e)))));const v=b(c);if(!d&&u&&O(v)&&P(o,n))return yield e("DROP TABLE"+E(n)),void H(o,n);if(O(v)||P(o,n)){const t=j(o,n),r=k(_(t));yield y([...A(v,(l=>Q(void 0,null,(function*(){N(r,l)||(yield e(`ALTER TABLE${E(n)}ADD${E(l)}`),H(t,l,""))})))),...!d&&i?A(b(r),(o=>Q(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),H(t,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(l)} PRIMARY KEY ON CONFLICT REPLACE${m(A(v,(e=>t+E(e))))});`),H(o,n,$([[l,""],...A(v,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(C(r,((t,o)=>Q(void 0,null,(function*(){a(t)?yield e("DELETE FROM"+E(n)+ee+E(l)+"=?",[o]):O(v)||(yield le(e,n,l,x(t),[o,...I(t)]))})))));else if(O(v))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=T(_(j(o,n)),(e=>e!=l)),i=[],u=[];C(null!=r?r:{},((e,n)=>{L(i,n,...A(t,(n=>null==e?void 0:e[n]))),L(u,n)})),yield le(e,n,l,t,i),yield e("DELETE FROM"+E(n)+ee+E(l)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},le=(e,n,l,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(l)+m(A(o,(e=>t+E(e))))+")VALUES"+v(r(`,(?${r(",?",s(o))})`,s(i)/(s(o)+1)),1)+"ON CONFLICT("+E(l)+")DO UPDATE SET"+m(A(o,(e=>E(e)+"=excluded."+E(e))),t),i)})),te=e=>m(A(e,(()=>"?")),t),oe=JSON.parse;var re=(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 ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(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:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return L(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!a((e=j(ue,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),D(h)};var de=(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 ce="store",ve=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield d(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield a(),yield c(r,p,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(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 ye=(e,n,l,t,o,[r,i,[u,d,c]],v,s)=>{const[E,h,m,A]=ne(n,v,o),O=(e,n)=>se(void 0,null,(function*(){return yield y(B(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return S(T(yield y(B(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return u?(yield h(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield O(n),yield L(l)}else{const[e,l]=n();yield O(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",s],s)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Ae={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:l+"_values"},Te=(e,n,l,t)=>{const o=$();return C(e,((e,r)=>{const i=v(I(g(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||H(o,r,i)})),o};var Le=(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 Pe="pragma ",be="data_version",Ne="schema_version",Re=(e,n,t,o,r,i,a,d)=>{let s,y,f;const[E,m,A,O]=(e=>{const n=(e=>g(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[pe];if(n.mode==fe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(I(g(Oe,i)),0,F(Oe)),a=u[2],d=k(a);return[0,t,[Te(o,{[he]:null,[Ee]:p},he,(e=>G(d,e)&&e==a)),Te(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(d,n)&&n==a)),u],d]})(n);return(E?ve:ye)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+be))[0][be],l=(yield t(Pe+Ne))[0][Ne],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=f?f:f=o)||(e(),s=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),s=y=null,r(n)}),a,A,b(O),d)},we=(n,l,t,o,r)=>Re(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.allAsync(e,n)},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}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{we as createExpoSqliteNextPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,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},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),A=e=>0==s(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),R=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),x=(...e)=>w.assign({},...e),C=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),I=e=>s(R(e)),F=e=>(e=>!u(e)&&a(N(e),(e=>e==w.prototype||u(N(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(C(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)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(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=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,D(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(O(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>m(R(null!=e?e:{}),(e=>k(c,e)))));const s=P(c);if(!d&&a&&A(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(A(s)||L(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(P(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(C(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):A(s)||(yield ne(e,n,t,R(l),[o,...S(l)]))})))));else if(A(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{T(i,n,...m(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(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}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;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 re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(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)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return T(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};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 de="store",ce=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield c(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(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 ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h)=>{const[E,p,m,A]=ee(n,s,o),T=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return D(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield p(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield T(n),yield L(l)}else{const[e,l]=n();yield T(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Ae={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return C(e,((e,r)=>{const i=c(S(x(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};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 Le="pragma ",Pe="data_version",be="schema_version",we=(e,l,t,o,r,u,a,s)=>{let v,y,h;const[p,m,A,O]=(e=>{const l=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(S(x(Ae,i)),0,I(Ae)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(p?ce:ve)(e,u?(e,n)=>Te(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&l==(null!=y?y:y=l)&&o==(null!=h?h:h=o)||(e(),v=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),v=y=null,r(n)}),a,A,P(O),s)},Ne=(e,n,l,t,o)=>we(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{Ne as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=Promise,t=
|
|
1
|
+
const e=Promise,t=clearInterval,n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=t=>new e(t),r=t=>{return n=function*(){return e.all(t)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},u=(e,t)=>e.map(t),i=(e,...t)=>e.push(...t),d=Object,c=e=>d.getPrototypeOf(e),s=d.keys,a=d.freeze,v=e=>(e=>!n(e)&&o(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>s(e).length)(e),y=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),h=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},p=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||h(e,t,n()),f(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const w=y(),m=y();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const x=globalThis.window,P=["t","v"],S={keyPath:"k"},b=(e,t)=>A(void 0,null,(function*(){const l=((t,n)=>u(d.entries(t),(([t,n])=>L(e,"put",{k:t,v:n}))))(t);u(yield L(e,"getAllKeys"),(r=>((e,t)=>!n(((e,t)=>o(e,(e=>e[t])))(e,t)))(t,r)?0:i(l,L(e,"delete",r)))),yield r(l)})),L=(e,t,n)=>A(void 0,null,(function*(){return l(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))})),k=(e,c,s=1,y)=>{const k=(e,...t)=>A(void 0,[e,...t],(function*(e,t=[],n=0){return l(((o,l)=>{const i=x.indexedDB.open(c,n?2:void 0);i.onupgradeneeded=()=>n&&u(P,(e=>{try{i.result.createObjectStore(e,S)}catch(e){}})),i.onsuccess=()=>A(void 0,null,(function*(){try{const n=i.result.transaction(P,"readwrite"),l=yield r(u(P,((o,l)=>A(void 0,null,(function*(){return yield e(n.objectStore(o),t[l])})))));i.result.close(),o(l)}catch(e){l(e)}})),i.onerror=()=>l("indexedDB.open error")}))}));return((e,t,l,r,u,d,[c,s]=[],y=[])=>{let A,x,P,S=0,b=0;p(w,y,(()=>0)),p(m,y,(()=>[]));const L=e=>g(void 0,null,(function*(){return 2!=S&&(S=1,yield k.schedule((()=>g(void 0,null,(function*(){yield e(),S=0}))))),k})),k={load:(n,o)=>g(void 0,null,(function*(){return yield L((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return k.stopAutoLoad(),yield k.load(n,o),b=1,P=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield L((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield L((()=>g(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==d||d(e)}}))))})))),k})),stopAutoLoad:()=>(b&&(u(P),P=void 0,b=0),k),save:t=>g(void 0,null,(function*(){return 1!=S&&(S=2,yield k.schedule((()=>g(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==d||d(e)}S=0}))))),k})),startAutoSave:()=>g(void 0,null,(function*(){return yield k.stopAutoSave().save(),A=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||k.save((()=>[n,o]))})),k})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,k),schedule:(...e)=>g(void 0,null,(function*(){return i(f(m,y),...e),yield g(void 0,null,(function*(){if(!f(w,y)){for(h(w,y,1);!n((e=f(m,y),x=e.shift()));)try{yield x()}catch(e){null==d||d(e)}h(w,y,0)}var e})),k})),getStore:()=>e,destroy:()=>k.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(k[c]=()=>s),a(k)})(e,(()=>A(void 0,null,(function*(){return yield k((e=>A(void 0,null,(function*(){return((e=[])=>d.fromEntries(e))(u(yield L(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>A(void 0,null,(function*(){return yield k(((e,t)=>A(void 0,null,(function*(){return yield b(e,t)}))),e(),1)}))),(e=>setInterval(e,1e3*s)),(e=>t(e)),y,["getDbName",c])};export{k as createIndexedDbPersister,b as objectStoreMatch};
|
|
Binary file
|