tinybase 4.6.8 → 4.6.10

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.
Files changed (80) hide show
  1. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  2. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  4. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  6. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  10. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  13. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  16. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  25. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +36 -19
  26. package/lib/debug/persisters/persister-electric-sql.js +36 -19
  27. package/lib/debug/persisters/persister-expo-sqlite-next.js +36 -19
  28. package/lib/debug/persisters/persister-expo-sqlite.js +36 -19
  29. package/lib/debug/persisters/persister-sqlite-wasm.js +36 -19
  30. package/lib/debug/persisters/persister-sqlite3.js +36 -19
  31. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  32. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  33. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  34. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  35. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  36. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  37. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  38. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  39. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  40. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  41. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  42. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  43. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  44. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  45. package/lib/persisters/persister-electric-sql.js +1 -1
  46. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  47. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  48. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  49. package/lib/persisters/persister-expo-sqlite.js +1 -1
  50. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  51. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  52. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  53. package/lib/persisters/persister-sqlite3.js +1 -1
  54. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  55. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  56. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  57. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  58. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  59. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  60. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  61. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  62. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  63. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  64. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  65. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  66. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  67. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  68. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  69. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  70. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  71. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  72. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  73. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  74. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  75. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  76. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  77. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  78. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  79. package/package.json +14 -14
  80. 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 = (cmd, managedTableNames, onIgnoredError) => {
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 type='table'AND name IN(` +
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(cmd, tableName, rowIdColumnName, objIds(row), [
251
- rowId,
252
- ...objValues(row),
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 INTO' +
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
- 'ON CONFLICT(' +
336
- escapeId(rowIdColumnName) +
337
- ')DO UPDATE SET' +
338
- arrayJoin(
339
- arrayMap(
340
- changingColumnNames,
341
- (columnName) =>
342
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
343
- ),
344
- COMMA,
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 = (cmd, managedTableNames, onIgnoredError) => {
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 type='table'AND name IN(` +
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(cmd, tableName, rowIdColumnName, objIds(row), [
251
- rowId,
252
- ...objValues(row),
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 INTO' +
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
- 'ON CONFLICT(' +
336
- escapeId(rowIdColumnName) +
337
- ')DO UPDATE SET' +
338
- arrayJoin(
339
- arrayMap(
340
- changingColumnNames,
341
- (columnName) =>
342
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
343
- ),
344
- COMMA,
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 = (cmd, managedTableNames, onIgnoredError) => {
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 type='table'AND name IN(` +
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(cmd, tableName, rowIdColumnName, objIds(row), [
252
- rowId,
253
- ...objValues(row),
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 INTO' +
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
- 'ON CONFLICT(' +
337
- escapeId(rowIdColumnName) +
338
- ')DO UPDATE SET' +
339
- arrayJoin(
340
- arrayMap(
341
- changingColumnNames,
342
- (columnName) =>
343
- escapeId(columnName) + '=excluded.' + escapeId(columnName),
344
- ),
345
- COMMA,
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=",",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:[]]},R=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),N=b.keys,x=b.freeze,S=(e=[])=>b.fromEntries(e),C=(...e)=>b.assign({},...e),D=(e,n)=>m(b.entries(e),(([e,l])=>n(l,e))),g=e=>b.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&d(w(e),(e=>e==b.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)?(R(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)=>(D(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,S(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,S(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)?S(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();D(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*(){R(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(D(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,...g(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=[];D(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,d)=>{const[a,c,v,s]=ee(n,i,o);return ue(e,(()=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var n,l;yield a(),yield v(r,f,{[y]:{[ae]:(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 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,E)=>{const[h,m,O,A]=ee(n,v,o),L=(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 O(l,t,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return a?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return S(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return d?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield h(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,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 D(e,((e,r)=>{const i=c(g(C(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",Re="schema_version",be=(e,l,t,o,r,u,d,v,s="getDb")=>{let y,p,h;const[m,O,T,A]=(e=>{const l=(e=>C(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(g(C(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(m?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+Re))[0][Re],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),y=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=p=null,r(n)}),d,T,P(A),v,s)},we=(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{we as createCrSqliteWasmPersister};
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};
@@ -1 +1 @@
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",E=e=>`"${e.replace(/"/g,'""')}"`,h="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,C=(e=[])=>w.fromEntries(e),D=(...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=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,C(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,C(m(yield e(h+" 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)?C(O(m(yield e(Q+E(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"+E(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${E(n)}ADD${E(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+E(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield v(S(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+E(n)+Z+E(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"+E(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"+E(n)+Z+E(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"+E(n)+"("+E(t)+p(m(r,(e=>l+E(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+p(m(r,(e=>E(e)+"=excluded."+E(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,E=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=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 h((()=>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),E=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>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:()=>(E&&(o(y),y=void 0,E=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,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield s(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,[a,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,E,h)=>{const[p,m,T,A]=ee(n,s,o),b=(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 T(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield T(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 p();const e=yield se(void 0,null,(function*(){return C(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(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 p(),u(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,[h,E],E)},ye="json",fe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="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(D(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,v="getDb")=>{let y,E,p;const[m,T,O,A]=(e=>{const l=(e=>D(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(D(Te,i)),0,I(Te)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[he]:null,[Ee]:f},he,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[Ee]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(m?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(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=E?E:E=l)&&o==(null!=p?p:p=o)||(e(),y=n,E=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=E=null,r(n)}),a,O,L(A),s,v)},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,"getElectricClient");export{Re as createElectricSqlPersister};
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};
@@ -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=clearInterval,d=e=>null==e,a=(e,n,l)=>d(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,S=R.freeze,g=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>A(R.entries(e),(([e,l])=>n(l,e))),I=e=>R.values(e),F=e=>s(x(e)),M=e=>(e=>!d(e)&&a(w(e),(e=>e==R.prototype||d(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)=>d(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)=>(D(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),k=e=>new Set(Array.isArray(e)||d(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,g(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,g(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)=>!d(j(j(o,e),n)))(n,l)?g(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])=>!d(e)&&!M(n)))):{}})),(n,l,r,i,u,a=!1)=>Q(void 0,null,(function*(){const c=k();D(null!=r?r:{},(e=>A(x(null!=e?e:{}),(e=>G(c,e)))));const v=b(c);if(!a&&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,""))})))),...!a&&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(a)d(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(D(r,((t,o)=>Q(void 0,null,(function*(){d(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=[];D(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=$(),de=(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:()=>(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),S(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,p))[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,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,[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,E)=>{const[h,m,A,O]=ne(n,v,o),L=(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))})))))})),P=(e,n)=>se(void 0,null,(function*(){return a?yield A(c,p,{[f]:e},!0,!0,n):null}));return de(e,(()=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){yield h();const e=yield se(void 0,null,(function*(){return g(T(yield y(B(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){if(yield h(),d(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,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 D(e,((e,r)=>{const i=v(I(C(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 ",be="data_version",Ne="schema_version",Re=(e,n,t,o,r,i,d,a,s="getDb")=>{let y,f,E;const[m,A,O,T]=(e=>{const n=(e=>C(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(C(Oe,i)),0,F(Oe)),d=u[2],a=k(d);return[0,t,[Te(o,{[he]:null,[Ee]:p},he,(e=>G(a,e)&&e==d)),Te(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(a,n)&&n==d)),u],a]})(n);return(m?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!=y?y:y=n)&&l==(null!=f?f:f=l)&&o==(null!=E?E:E=o)||(e(),y=n,f=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),y=f=null,r(n)}),d,O,b(T),a,s)},we=(n,l,t,o,r)=>Re(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{we as createExpoSqliteNextPersister};
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};