tinybase 4.6.9 → 4.6.11
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-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-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-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/debug/persisters/persister-cr-sqlite-wasm.js +36 -19
- package/lib/debug/persisters/persister-electric-sql.js +36 -19
- package/lib/debug/persisters/persister-expo-sqlite-next.js +36 -19
- package/lib/debug/persisters/persister-expo-sqlite.js +36 -19
- package/lib/debug/persisters/persister-sqlite-wasm.js +36 -19
- package/lib/debug/persisters/persister-sqlite3.js +36 -19
- 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-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/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-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-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-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-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/package.json +16 -16
- package/readme.md +1 -1
|
@@ -97,7 +97,12 @@ const setAdd = (set, value) => set?.add(value);
|
|
|
97
97
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
98
98
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
99
99
|
const WHERE = 'WHERE';
|
|
100
|
-
const getCommandFunctions = (
|
|
100
|
+
const getCommandFunctions = (
|
|
101
|
+
cmd,
|
|
102
|
+
managedTableNames,
|
|
103
|
+
onIgnoredError,
|
|
104
|
+
useOnConflict,
|
|
105
|
+
) => {
|
|
101
106
|
const schemaMap = mapNew();
|
|
102
107
|
const canSelect = (tableName, rowIdColumnName) =>
|
|
103
108
|
!isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
|
|
@@ -110,7 +115,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
110
115
|
await cmd(
|
|
111
116
|
'SELECT name ' +
|
|
112
117
|
FROM_PRAGMA_TABLE +
|
|
113
|
-
`list WHERE schema='main'AND
|
|
118
|
+
`list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
|
|
114
119
|
getPlaceholders(managedTableNames) +
|
|
115
120
|
`)ORDER BY name`,
|
|
116
121
|
managedTableNames,
|
|
@@ -247,10 +252,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
247
252
|
[rowId],
|
|
248
253
|
);
|
|
249
254
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
250
|
-
await upsert(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
255
|
+
await upsert(
|
|
256
|
+
cmd,
|
|
257
|
+
tableName,
|
|
258
|
+
rowIdColumnName,
|
|
259
|
+
objIds(row),
|
|
260
|
+
[rowId, ...objValues(row)],
|
|
261
|
+
useOnConflict,
|
|
262
|
+
);
|
|
254
263
|
}
|
|
255
264
|
}),
|
|
256
265
|
);
|
|
@@ -312,9 +321,12 @@ const upsert = async (
|
|
|
312
321
|
rowIdColumnName,
|
|
313
322
|
changingColumnNames,
|
|
314
323
|
args,
|
|
324
|
+
useOnConflict = true,
|
|
315
325
|
) =>
|
|
316
326
|
await cmd(
|
|
317
|
-
'INSERT
|
|
327
|
+
'INSERT ' +
|
|
328
|
+
(useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
|
|
329
|
+
'INTO' +
|
|
318
330
|
escapeId(tableName) +
|
|
319
331
|
'(' +
|
|
320
332
|
escapeId(rowIdColumnName) +
|
|
@@ -332,17 +344,19 @@ const upsert = async (
|
|
|
332
344
|
),
|
|
333
345
|
1,
|
|
334
346
|
) +
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
347
|
+
(useOnConflict
|
|
348
|
+
? 'ON CONFLICT(' +
|
|
349
|
+
escapeId(rowIdColumnName) +
|
|
350
|
+
')DO UPDATE SET' +
|
|
351
|
+
arrayJoin(
|
|
352
|
+
arrayMap(
|
|
353
|
+
changingColumnNames,
|
|
354
|
+
(columnName) =>
|
|
355
|
+
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
356
|
+
),
|
|
357
|
+
COMMA,
|
|
358
|
+
)
|
|
359
|
+
: EMPTY_STRING),
|
|
346
360
|
args,
|
|
347
361
|
);
|
|
348
362
|
const getPlaceholders = (array) =>
|
|
@@ -564,9 +578,10 @@ const createTabularSqlitePersister = (
|
|
|
564
578
|
managedTableNames,
|
|
565
579
|
db,
|
|
566
580
|
getThing,
|
|
581
|
+
useOnConflict,
|
|
567
582
|
) => {
|
|
568
583
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
569
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
584
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
570
585
|
const saveTables = async (tables, partial) =>
|
|
571
586
|
await promiseAll(
|
|
572
587
|
mapMap(
|
|
@@ -762,6 +777,7 @@ const createSqlitePersister = (
|
|
|
762
777
|
onIgnoredError,
|
|
763
778
|
db,
|
|
764
779
|
getThing = 'getDb',
|
|
780
|
+
useOnConflict,
|
|
765
781
|
) => {
|
|
766
782
|
let dataVersion;
|
|
767
783
|
let schemaVersion;
|
|
@@ -824,6 +840,7 @@ const createSqlitePersister = (
|
|
|
824
840
|
collValues(managedTableNamesSet),
|
|
825
841
|
db,
|
|
826
842
|
getThing,
|
|
843
|
+
useOnConflict,
|
|
827
844
|
);
|
|
828
845
|
};
|
|
829
846
|
|
|
@@ -97,7 +97,12 @@ const setAdd = (set, value) => set?.add(value);
|
|
|
97
97
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
98
98
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
99
99
|
const WHERE = 'WHERE';
|
|
100
|
-
const getCommandFunctions = (
|
|
100
|
+
const getCommandFunctions = (
|
|
101
|
+
cmd,
|
|
102
|
+
managedTableNames,
|
|
103
|
+
onIgnoredError,
|
|
104
|
+
useOnConflict,
|
|
105
|
+
) => {
|
|
101
106
|
const schemaMap = mapNew();
|
|
102
107
|
const canSelect = (tableName, rowIdColumnName) =>
|
|
103
108
|
!isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
|
|
@@ -110,7 +115,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
110
115
|
await cmd(
|
|
111
116
|
'SELECT name ' +
|
|
112
117
|
FROM_PRAGMA_TABLE +
|
|
113
|
-
`list WHERE schema='main'AND
|
|
118
|
+
`list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
|
|
114
119
|
getPlaceholders(managedTableNames) +
|
|
115
120
|
`)ORDER BY name`,
|
|
116
121
|
managedTableNames,
|
|
@@ -247,10 +252,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
247
252
|
[rowId],
|
|
248
253
|
);
|
|
249
254
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
250
|
-
await upsert(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
255
|
+
await upsert(
|
|
256
|
+
cmd,
|
|
257
|
+
tableName,
|
|
258
|
+
rowIdColumnName,
|
|
259
|
+
objIds(row),
|
|
260
|
+
[rowId, ...objValues(row)],
|
|
261
|
+
useOnConflict,
|
|
262
|
+
);
|
|
254
263
|
}
|
|
255
264
|
}),
|
|
256
265
|
);
|
|
@@ -312,9 +321,12 @@ const upsert = async (
|
|
|
312
321
|
rowIdColumnName,
|
|
313
322
|
changingColumnNames,
|
|
314
323
|
args,
|
|
324
|
+
useOnConflict = true,
|
|
315
325
|
) =>
|
|
316
326
|
await cmd(
|
|
317
|
-
'INSERT
|
|
327
|
+
'INSERT ' +
|
|
328
|
+
(useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
|
|
329
|
+
'INTO' +
|
|
318
330
|
escapeId(tableName) +
|
|
319
331
|
'(' +
|
|
320
332
|
escapeId(rowIdColumnName) +
|
|
@@ -332,17 +344,19 @@ const upsert = async (
|
|
|
332
344
|
),
|
|
333
345
|
1,
|
|
334
346
|
) +
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
347
|
+
(useOnConflict
|
|
348
|
+
? 'ON CONFLICT(' +
|
|
349
|
+
escapeId(rowIdColumnName) +
|
|
350
|
+
')DO UPDATE SET' +
|
|
351
|
+
arrayJoin(
|
|
352
|
+
arrayMap(
|
|
353
|
+
changingColumnNames,
|
|
354
|
+
(columnName) =>
|
|
355
|
+
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
356
|
+
),
|
|
357
|
+
COMMA,
|
|
358
|
+
)
|
|
359
|
+
: EMPTY_STRING),
|
|
346
360
|
args,
|
|
347
361
|
);
|
|
348
362
|
const getPlaceholders = (array) =>
|
|
@@ -564,9 +578,10 @@ const createTabularSqlitePersister = (
|
|
|
564
578
|
managedTableNames,
|
|
565
579
|
db,
|
|
566
580
|
getThing,
|
|
581
|
+
useOnConflict,
|
|
567
582
|
) => {
|
|
568
583
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
569
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
584
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
570
585
|
const saveTables = async (tables, partial) =>
|
|
571
586
|
await promiseAll(
|
|
572
587
|
mapMap(
|
|
@@ -762,6 +777,7 @@ const createSqlitePersister = (
|
|
|
762
777
|
onIgnoredError,
|
|
763
778
|
db,
|
|
764
779
|
getThing = 'getDb',
|
|
780
|
+
useOnConflict,
|
|
765
781
|
) => {
|
|
766
782
|
let dataVersion;
|
|
767
783
|
let schemaVersion;
|
|
@@ -824,6 +840,7 @@ const createSqlitePersister = (
|
|
|
824
840
|
collValues(managedTableNamesSet),
|
|
825
841
|
db,
|
|
826
842
|
getThing,
|
|
843
|
+
useOnConflict,
|
|
827
844
|
);
|
|
828
845
|
};
|
|
829
846
|
|
|
@@ -98,7 +98,12 @@ const setAdd = (set, value) => set?.add(value);
|
|
|
98
98
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
99
99
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
100
100
|
const WHERE = 'WHERE';
|
|
101
|
-
const getCommandFunctions = (
|
|
101
|
+
const getCommandFunctions = (
|
|
102
|
+
cmd,
|
|
103
|
+
managedTableNames,
|
|
104
|
+
onIgnoredError,
|
|
105
|
+
useOnConflict,
|
|
106
|
+
) => {
|
|
102
107
|
const schemaMap = mapNew();
|
|
103
108
|
const canSelect = (tableName, rowIdColumnName) =>
|
|
104
109
|
!isUndefined(mapGet(mapGet(schemaMap, tableName), rowIdColumnName));
|
|
@@ -111,7 +116,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
111
116
|
await cmd(
|
|
112
117
|
'SELECT name ' +
|
|
113
118
|
FROM_PRAGMA_TABLE +
|
|
114
|
-
`list WHERE schema='main'AND
|
|
119
|
+
`list WHERE schema='main'AND(type='table'OR type='view')AND name IN(` +
|
|
115
120
|
getPlaceholders(managedTableNames) +
|
|
116
121
|
`)ORDER BY name`,
|
|
117
122
|
managedTableNames,
|
|
@@ -248,10 +253,14 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
|
|
|
248
253
|
[rowId],
|
|
249
254
|
);
|
|
250
255
|
} else if (!arrayIsEmpty(tableColumnNames)) {
|
|
251
|
-
await upsert(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
256
|
+
await upsert(
|
|
257
|
+
cmd,
|
|
258
|
+
tableName,
|
|
259
|
+
rowIdColumnName,
|
|
260
|
+
objIds(row),
|
|
261
|
+
[rowId, ...objValues(row)],
|
|
262
|
+
useOnConflict,
|
|
263
|
+
);
|
|
255
264
|
}
|
|
256
265
|
}),
|
|
257
266
|
);
|
|
@@ -313,9 +322,12 @@ const upsert = async (
|
|
|
313
322
|
rowIdColumnName,
|
|
314
323
|
changingColumnNames,
|
|
315
324
|
args,
|
|
325
|
+
useOnConflict = true,
|
|
316
326
|
) =>
|
|
317
327
|
await cmd(
|
|
318
|
-
'INSERT
|
|
328
|
+
'INSERT ' +
|
|
329
|
+
(useOnConflict ? EMPTY_STRING : 'OR REPLACE ') +
|
|
330
|
+
'INTO' +
|
|
319
331
|
escapeId(tableName) +
|
|
320
332
|
'(' +
|
|
321
333
|
escapeId(rowIdColumnName) +
|
|
@@ -333,17 +345,19 @@ const upsert = async (
|
|
|
333
345
|
),
|
|
334
346
|
1,
|
|
335
347
|
) +
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
348
|
+
(useOnConflict
|
|
349
|
+
? 'ON CONFLICT(' +
|
|
350
|
+
escapeId(rowIdColumnName) +
|
|
351
|
+
')DO UPDATE SET' +
|
|
352
|
+
arrayJoin(
|
|
353
|
+
arrayMap(
|
|
354
|
+
changingColumnNames,
|
|
355
|
+
(columnName) =>
|
|
356
|
+
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
357
|
+
),
|
|
358
|
+
COMMA,
|
|
359
|
+
)
|
|
360
|
+
: EMPTY_STRING),
|
|
347
361
|
args,
|
|
348
362
|
);
|
|
349
363
|
const getPlaceholders = (array) =>
|
|
@@ -565,9 +579,10 @@ const createTabularSqlitePersister = (
|
|
|
565
579
|
managedTableNames,
|
|
566
580
|
db,
|
|
567
581
|
getThing,
|
|
582
|
+
useOnConflict,
|
|
568
583
|
) => {
|
|
569
584
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
570
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
585
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
571
586
|
const saveTables = async (tables, partial) =>
|
|
572
587
|
await promiseAll(
|
|
573
588
|
mapMap(
|
|
@@ -763,6 +778,7 @@ const createSqlitePersister = (
|
|
|
763
778
|
onIgnoredError,
|
|
764
779
|
db,
|
|
765
780
|
getThing = 'getDb',
|
|
781
|
+
useOnConflict,
|
|
766
782
|
) => {
|
|
767
783
|
let dataVersion;
|
|
768
784
|
let schemaVersion;
|
|
@@ -825,6 +841,7 @@ const createSqlitePersister = (
|
|
|
825
841
|
collValues(managedTableNamesSet),
|
|
826
842
|
db,
|
|
827
843
|
getThing,
|
|
844
|
+
useOnConflict,
|
|
828
845
|
);
|
|
829
846
|
};
|
|
830
847
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l="
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=n=>e(n)==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="_",E="_id",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=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},R=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),b=Object,N=e=>b.getPrototypeOf(e),x=b.keys,C=b.freeze,S=(e=[])=>b.fromEntries(e),D=(...e)=>b.assign({},...e),g=(e,n)=>O(b.entries(e),(([e,l])=>n(l,e))),I=e=>b.values(e),F=e=>s(x(e)),M=e=>(e=>!d(e)&&a(N(e),(e=>e==b.prototype||d(N(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 O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>d(l)?(w(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)),U=(e,n,l,t=H)=>(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)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||d(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(J)for(var l of J(n))K.call(n,l)&&V(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,o,r)=>{const i=$();return[()=>Q(void 0,null,(function*(){return U(i,S(yield y(O(yield e("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(O(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(i,n,U(W(i,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d(j(j(i,e),n)))(n,l)?S(T(O(yield e(X+p(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,o,u,a,c,v=!1)=>Q(void 0,null,(function*(){const s=Y();g(null!=u?u:{},(e=>O(x(null!=e?e:{}),(e=>k(s,e)))));const f=R(s);if(!v&&c&&A(f)&&P(i,n))return yield e("DROP TABLE"+p(n)),void H(i,n);if(A(f)||P(i,n)){const t=j(i,n),r=Y(_(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){w(r,o)||(yield e(`ALTER TABLE${p(n)}ADD${p(o)}`),H(t,o,l))})))),...!v&&a?O(R(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${p(n)}DROP${p(l)}`),H(t,l))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+p(e))))});`),H(i,n,$([[o,l],...O(f,(e=>[e,l]))]));if(v)d(u)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield y(g(u,((l,t)=>Q(void 0,null,(function*(){d(l)?yield e("DELETE FROM"+p(n)+ee+p(o)+"=?",[t]):A(f)||(yield le(e,n,o,x(l),[t,...I(l)],r))})))));else if(A(f))P(i,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T(_(j(i,n)),(e=>e!=o)),t=[],r=[];g(null!=u?u:{},((e,n)=>{L(t,n,...O(l,(n=>null==e?void 0:e[n]))),L(r,n)})),yield le(e,n,o,l,t),yield e("DELETE FROM"+p(n)+ee+p(o)+"NOT IN("+te(r)+")",r)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},le=(e,n,o,i,u,d=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+m(O(i,(e=>t+p(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(d?"ON CONFLICT("+p(o)+")DO UPDATE SET"+m(O(i,(e=>p(e)+"=excluded."+p(e))),t):l),u)})),te=e=>m(O(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=$(),de=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,E=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const p=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 p((()=>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),E=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield p((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>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:()=>(E&&(o(y),y=void 0,E=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:()=>(a(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);!d((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),C(h)};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 ce="store",ve=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield c(r,E))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield v(r,E,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,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,a,c]],v,s,p,h)=>{const[m,O,A,L]=ne(n,v,o,h),P=(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 A(l,t,u,o,r,n))})))))})),R=(e,n)=>se(void 0,null,(function*(){return a?yield A(c,E,{[f]:e},!0,!0,n):null}));return de(e,(()=>se(void 0,null,(function*(){return yield L((()=>se(void 0,null,(function*(){yield m();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 O(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return u?(yield O(c,E))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield L((()=>se(void 0,null,(function*(){if(yield m(),d(n)){const[n,l]=e();yield P(n),yield R(l)}else{const[e,l]=n();yield P(e,!0),yield R(l,!0)}}))))}))),l,t,o,[p,s],s)},fe="json",Ee="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",me="tableName",Oe={mode:fe,[Ee]:1},Ae={load:0,save:0,[me]:n+"_values"},Te=(e,n,l,t)=>{const o=$();return g(e,((e,r)=>{const i=v(I(D(n,c(e)?{[l]:e}:e)),0,F(n));d(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 ",Re="data_version",we="schema_version",be=(e,l,t,o,r,i,d,a,s="getDb",y)=>{let f,p,m;const[O,A,T,L]=(e=>{const l=(e=>D(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(I(D(Ae,i)),0,F(Ae)),d=u[2],a=Y(d);return[0,t,[Te(o,{[he]:null,[pe]:E},he,(e=>k(a,e)&&e==d)),Te(r,{[me]:null,[pe]:E,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(a,n)&&n==d)),u],a]})(l);return(O?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+Re))[0][Re],l=(yield t(Pe+we))[0][we],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),d,T,R(L),a,s,y)},Ne=(e,n,l,t,o)=>be(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{Ne as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n="tinybase",l="
|
|
1
|
+
const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),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=n=>e(n)==o,s=(e,n,l)=>e.slice(n,l),v=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="_",E="_id",h=e=>`"${e.replace(/"/g,'""')}"`,p="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),T=e=>0==v(e),A=(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:[]]},R=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),C=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),S=(...e)=>w.assign({},...e),x=(e,n)=>O(w.entries(e),(([e,l])=>n(l,e))),I=e=>w.values(e),F=e=>v(C(e)),M=e=>(e=>!a(e)&&d(N(e),(e=>e==w.prototype||a(N(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 O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>a(l)?(R(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)=>(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)=>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=p+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,o,r)=>{const i=$();return[()=>Q(void 0,null,(function*(){return Y(i,D(yield y(O(yield e("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,D(O(yield e(p+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(i,n,Y(W(i,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(i,e),n)))(n,l)?D(A(O(yield e(X+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=k();x(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>G(v,e)))));const f=b(v);if(!s&&c&&T(f)&&P(i,n))return yield e("DROP TABLE"+h(n)),void H(i,n);if(T(f)||P(i,n)){const t=j(i,n),r=k(_(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){R(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),H(t,o,l))})))),...!s&&d?O(b(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${h(n)}DROP${h(l)}`),H(t,l))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(o)} PRIMARY KEY ON CONFLICT REPLACE${m(O(f,(e=>t+h(e))))});`),H(i,n,$([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield y(x(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(o)+"=?",[t]):T(f)||(yield le(e,n,o,C(l),[t,...I(l)],r))})))));else if(T(f))P(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=A(_(j(i,n)),(e=>e!=o)),t=[],r=[];x(null!=u?u:{},((e,n)=>{L(t,n,...O(l,(n=>null==e?void 0:e[n]))),L(r,n)})),yield le(e,n,o,l,t),yield e("DELETE FROM"+h(n)+ee+h(o)+"NOT IN("+te(r)+")",r)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},le=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+m(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+h(o)+")DO UPDATE SET"+m(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),u)})),te=e=>m(O(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 s,v,y,f=0,E=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>re(void 0,null,(function*(){return yield h((()=>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 p.stopAutoLoad(),yield p.load(l,o),E=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>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)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>re(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,p),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),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>u),g(p)};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",se=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,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 d(),oe(null!=(n=null==(e=(yield c(r,E))[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 d(),yield s(r,E,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,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 ye=(e,n,l,t,o,[r,i,[u,d,c]],s,v,h,p)=>{const[m,O,T,L]=ne(n,s,o,p),P=(e,n)=>ve(void 0,null,(function*(){return yield y(B(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield T(l,t,u,o,r,n))})))))})),b=(e,n)=>ve(void 0,null,(function*(){return d?yield T(c,E,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield L((()=>ve(void 0,null,(function*(){yield m();const e=yield ve(void 0,null,(function*(){return D(A(yield y(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return u?(yield O(c,E))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield L((()=>ve(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield P(n),yield b(l)}else{const[e,l]=n();yield P(e,!0),yield b(l,!0)}}))))}))),l,t,o,[h,v],v)},fe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",pe="tableId",me="tableName",Oe={mode:fe,[Ee]:1},Te={load:0,save:0,[me]:n+"_values"},Ae=(e,n,l,t)=>{const o=$();return x(e,((e,r)=>{const i=s(I(S(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",Re="schema_version",we=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,m;const[O,T,A,L]=(e=>{const l=(e=>S(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(S(Te,i)),0,F(Te)),a=u[2],d=k(a);return[0,t,[Ae(o,{[pe]:null,[he]:E},pe,(e=>G(d,e)&&e==a)),Ae(r,{[me]:null,[he]:E,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(d,n)&&n==a)),u],d]})(l);return(O?se: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+Re))[0][Re],o=(yield t(p+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=m?m:m=o)||(e(),f=n,h=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),a,A,b(L),d,v,y)},Ne=(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,"getElectricClient");export{Ne as createElectricSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="
|
|
1
|
+
import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,d=clearInterval,a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),v=e=>n(e)==r,s=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return u.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},p="_",E="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",A=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),T=e=>0==y(e),L=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),R=(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:[]]},w=(e,n)=>null==e?void 0:e.delete(n),N=Object,x=e=>N.getPrototypeOf(e),C=N.keys,S=N.freeze,g=(e=[])=>N.fromEntries(e),D=(...e)=>N.assign({},...e),I=(e,n)=>O(N.entries(e),(([e,l])=>n(l,e))),F=e=>N.values(e),M=e=>y(C(e)),$=e=>(e=>!a(e)&&c(x(e),(e=>e==N.prototype||a(x(e))),(()=>!0)))(e)&&0==M(e),_=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),H=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},W=(e,n,l)=>a(l)?(w(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l)=>(R(e,n)||W(e,n,l()),B(e,n)),k=(e,n,l,t=W)=>(I(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),G=e=>new Set(Array.isArray(e)||a(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,q=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(q)for(var l of q(n))K.call(n,l)&&V(e,l,n[l]);return e},X=(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 Z=m+"*FROM",ee="FROM pragma_table_",ne="WHERE",le=(e,n,l,r)=>{const i=_();return[()=>X(void 0,null,(function*(){return k(i,g(yield f(O(yield e("SELECT name "+ee+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,g(O(yield e(m+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>W(i,n,k(Y(i,n,_),l,((e,n,l)=>{l!=B(e,n)&&W(e,n,l)}),((e,n)=>W(e,n))))),((e,n)=>W(i,n)))})),(n,l)=>X(void 0,null,(function*(){return((e,n)=>!a(B(B(i,e),n)))(n,l)?g(L(O(yield e(Z+h(n)),(e=>{return[e[l],(n=Q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!$(n)))):{}})),(n,l,u,d,c,v=!1)=>X(void 0,null,(function*(){const s=G();I(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>J(s,e)))));const y=b(s);if(!v&&c&&T(y)&&R(i,n))return yield e("DROP TABLE"+h(n)),void W(i,n);if(T(y)||R(i,n)){const o=B(i,n),r=G(j(o));yield f([...O(y,(l=>X(void 0,null,(function*(){w(r,l)||(yield e(`ALTER TABLE${h(n)}ADD${h(l)}`),W(o,l,t))})))),...!v&&d?O(b(r),(t=>X(void 0,null,(function*(){t!=l&&(yield e(`ALTER TABLE${h(n)}DROP${h(t)}`),W(o,t))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(l)} PRIMARY KEY ON CONFLICT REPLACE${A(O(y,(e=>o+h(e))))});`),W(i,n,_([[l,t],...O(y,(e=>[e,t]))]));if(v)a(u)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield f(I(u,((t,o)=>X(void 0,null,(function*(){a(t)?yield e("DELETE FROM"+h(n)+ne+h(l)+"=?",[o]):T(y)||(yield te(e,n,l,C(t),[o,...F(t)],r))})))));else if(T(y))R(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const t=L(j(B(i,n)),(e=>e!=l)),o=[],r=[];I(null!=u?u:{},((e,n)=>{P(o,n,...O(t,(n=>null==e?void 0:e[n]))),P(r,n)})),yield te(e,n,l,t,o),yield e("DELETE FROM"+h(n)+ne+h(l)+"NOT IN("+oe(r)+")",r)}})),n=>X(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},te=(e,n,l,r,u,d=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(d?t:"OR REPLACE ")+"INTO"+h(n)+"("+h(l)+A(O(r,(e=>o+h(e))))+")VALUES"+s(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(d?"ON CONFLICT("+h(l)+")DO UPDATE SET"+A(O(r,(e=>h(e)+"=excluded."+h(e))),o):t),u)})),oe=e=>A(O(e,(()=>"?")),o),re=JSON.parse;var ie=(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 ue=_(),de=_(),ae=(e,n,l,t,o,r,[i,u]=[],d=[])=>{let v,s,y,f=0,p=0;Y(ue,d,(()=>0)),Y(de,d,(()=>[]));const E=e=>ie(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>ie(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>ie(void 0,null,(function*(){return yield E((()=>ie(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ie(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>ie(void 0,null,(function*(){if(t){const n=t();yield E((()=>ie(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>ie(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=>ie(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>ie(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>ie(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();$(l)&&$(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(c(v,e.delListener),v=void 0,h),schedule:(...e)=>ie(void 0,null,(function*(){return P(B(de,d),...e),yield ie(void 0,null,(function*(){if(!B(ue,d)){for(W(ue,d,1);!a((e=B(de,d),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}W(ue,d,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),S(h)};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 ve="store",se=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=le(n,i,o);return ae(e,(()=>ce(void 0,null,(function*(){return yield s((()=>ce(void 0,null,(function*(){var e,n;return yield a(),re(null!=(n=null==(e=(yield c(r,E))[p])?void 0:e[ve])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield s((()=>ce(void 0,null,(function*(){var n,l;yield a(),yield v(r,E,{[p]:{[ve]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?N.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var ye=(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 fe=(e,n,l,t,o,[r,i,[u,d,c]],v,s,y,h)=>{const[m,A,O,T]=le(n,v,o,h),P=(e,n)=>ye(void 0,null,(function*(){return yield f(H(i,((l,t)=>ye(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),R=(e,n)=>ye(void 0,null,(function*(){return d?yield O(c,E,{[p]:e},!0,!0,n):null}));return ae(e,(()=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){yield m();const e=yield ye(void 0,null,(function*(){return g(L(yield f(H(r,((e,n)=>ye(void 0,[e,n],(function*([e,n],l){return[e,yield A(l,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield A(c,E))[p]:{}}));return $(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield T((()=>ye(void 0,null,(function*(){if(yield m(),a(n)){const[n,l]=e();yield P(n),yield R(l)}else{const[e,l]=n();yield P(e,!0),yield R(l,!0)}}))))}))),l,t,o,[y,s],s)},pe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",me="tableId",Ae="tableName",Oe={mode:pe,[Ee]:1},Te={load:0,save:0,[Ae]:l+"_values"},Le=(e,n,l,t)=>{const o=_();return I(e,((e,r)=>{const i=s(F(D(n,v(e)?{[l]:e}:e)),0,M(n));a(i[0])||t(r,i[0])||W(o,r,i)})),o};var Pe=(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="pragma ",be="data_version",we="schema_version",Ne=(e,n,t,o,r,i,u,a,c="getDb",y)=>{let f,p,h;const[A,O,T,L]=(e=>{const n=(e=>D(Oe,v(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[Ee];if(n.mode==pe){const{storeTableName:e=l}=n;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(F(D(Te,i)),0,M(Te)),d=u[2],a=G(d);return[0,t,[Le(o,{[me]:null,[he]:E},me,(e=>J(a,e)&&e==d)),Le(r,{[Ae]:null,[he]:E,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(a,n)&&n==d)),u],a]})(n);return(A?se:fe)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(Re+be))[0][be],l=(yield t(Re+we))[0][we],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>L.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),f=p=null,r(n)}),u,T,b(L),a,c,y)},xe=(n,l,t,o,r)=>Ne(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(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{xe as createExpoSqliteNextPersister};
|
|
Binary file
|