tinybase 4.7.4 → 4.8.1

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 (124) 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-libsql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  12. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  28. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  33. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +24 -13
  34. package/lib/debug/persisters/persister-electric-sql.js +24 -13
  35. package/lib/debug/persisters/persister-expo-sqlite-next.js +24 -13
  36. package/lib/debug/persisters/persister-expo-sqlite.js +24 -13
  37. package/lib/debug/persisters/persister-libsql.js +24 -13
  38. package/lib/debug/persisters/persister-powersync.js +892 -0
  39. package/lib/debug/persisters/persister-sqlite-wasm.js +24 -13
  40. package/lib/debug/persisters/persister-sqlite3.js +24 -13
  41. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  42. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  43. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  44. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  45. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  46. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  47. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  48. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  49. package/lib/es6/persisters/persister-libsql.js +1 -1
  50. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  51. package/lib/es6/persisters/persister-powersync.js +1 -0
  52. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  53. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  54. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  55. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  56. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  57. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  58. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  59. package/lib/persisters/persister-electric-sql.js +1 -1
  60. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  61. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  62. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  63. package/lib/persisters/persister-expo-sqlite.js +1 -1
  64. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  65. package/lib/persisters/persister-libsql.js +1 -1
  66. package/lib/persisters/persister-libsql.js.gz +0 -0
  67. package/lib/persisters/persister-powersync.js +1 -0
  68. package/lib/persisters/persister-powersync.js.gz +0 -0
  69. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  70. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  71. package/lib/persisters/persister-sqlite3.js +1 -1
  72. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  73. package/lib/types/persisters/persister-powersync.d.ts +154 -0
  74. package/lib/types/persisters.d.ts +1 -0
  75. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +1 -1
  76. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  77. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -1
  78. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -1
  79. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -1
  80. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -1
  81. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  82. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -1
  83. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +1 -1
  84. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -1
  85. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +167 -0
  86. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -1
  87. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -1
  88. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -1
  89. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -1
  90. package/lib/types/with-schemas/persisters.d.ts +1 -0
  91. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  92. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  93. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  94. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  95. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  96. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  97. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  98. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  99. package/lib/umd/persisters/persister-libsql.js +1 -1
  100. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  101. package/lib/umd/persisters/persister-powersync.js +1 -0
  102. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  103. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  104. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  105. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  106. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  107. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  108. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  109. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  110. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  111. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  112. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  113. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  114. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  115. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  116. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  117. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  118. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  119. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  120. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  121. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  122. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  123. package/package.json +15 -10
  124. package/readme.md +2 -2
@@ -94,6 +94,9 @@ const setNew = (entryOrEntries) =>
94
94
  );
95
95
  const setAdd = (set, value) => set?.add(value);
96
96
 
97
+ const TABLE = 'TABLE';
98
+ const ALTER_TABLE = 'ALTER ' + TABLE;
99
+ const DELETE_FROM = 'DELETE FROM';
97
100
  const SELECT_STAR_FROM = SELECT + '*FROM';
98
101
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
99
102
  const WHERE = 'WHERE';
@@ -186,15 +189,20 @@ const getCommandFunctions = (
186
189
  arrayIsEmpty(tableColumnNames) &&
187
190
  collHas(schemaMap, tableName)
188
191
  ) {
189
- await cmd('DROP TABLE' + escapeId(tableName));
192
+ await cmd('DROP ' + TABLE + escapeId(tableName));
190
193
  mapSet(schemaMap, tableName);
191
194
  return;
192
195
  }
193
196
  if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
194
197
  await cmd(
195
- `CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
196
- arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
197
- )});`,
198
+ `CREATE ` +
199
+ TABLE +
200
+ escapeId(tableName) +
201
+ '(' +
202
+ escapeId(rowIdColumnName) +
203
+ ` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
204
+ arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
205
+ )});`,
198
206
  );
199
207
  mapSet(
200
208
  schemaMap,
@@ -214,7 +222,7 @@ const getCommandFunctions = (
214
222
  ...arrayMap(tableColumnNames, async (columnName) => {
215
223
  if (!collDel(columnNamesAccountedFor, columnName)) {
216
224
  await cmd(
217
- `ALTER TABLE${escapeId(tableName)}ADD${escapeId(columnName)}`,
225
+ ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
218
226
  );
219
227
  mapSet(tableSchemaMap, columnName, EMPTY_STRING);
220
228
  }
@@ -225,9 +233,10 @@ const getCommandFunctions = (
225
233
  async (columnName) => {
226
234
  if (columnName != rowIdColumnName) {
227
235
  await cmd(
228
- `ALTER TABLE${escapeId(tableName)}DROP${escapeId(
229
- columnName,
230
- )}`,
236
+ ALTER_TABLE +
237
+ escapeId(tableName) +
238
+ 'DROP' +
239
+ escapeId(columnName),
231
240
  );
232
241
  mapSet(tableSchemaMap, columnName);
233
242
  }
@@ -238,13 +247,13 @@ const getCommandFunctions = (
238
247
  }
239
248
  if (partial) {
240
249
  if (isUndefined(table)) {
241
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
250
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
242
251
  } else {
243
252
  await promiseAll(
244
253
  objMap(table, async (row, rowId) => {
245
254
  if (isUndefined(row)) {
246
255
  await cmd(
247
- 'DELETE FROM' +
256
+ DELETE_FROM +
248
257
  escapeId(tableName) +
249
258
  WHERE +
250
259
  escapeId(rowIdColumnName) +
@@ -286,9 +295,10 @@ const getCommandFunctions = (
286
295
  rowIdColumnName,
287
296
  changingColumnNames,
288
297
  args,
298
+ useOnConflict,
289
299
  );
290
300
  await cmd(
291
- 'DELETE FROM' +
301
+ DELETE_FROM +
292
302
  escapeId(tableName) +
293
303
  WHERE +
294
304
  escapeId(rowIdColumnName) +
@@ -298,7 +308,7 @@ const getCommandFunctions = (
298
308
  deleteRowIds,
299
309
  );
300
310
  } else if (collHas(schemaMap, tableName)) {
301
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
311
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
302
312
  }
303
313
  }
304
314
  };
@@ -526,9 +536,10 @@ const createJsonSqlitePersister = (
526
536
  managedTableNames,
527
537
  db,
528
538
  getThing,
539
+ useOnConflict,
529
540
  ) => {
530
541
  const [refreshSchema, loadTable, saveTable, transaction] =
531
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
542
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
532
543
  const getPersisted = async () =>
533
544
  await transaction(async () => {
534
545
  await refreshSchema();
@@ -95,6 +95,9 @@ const setNew = (entryOrEntries) =>
95
95
  );
96
96
  const setAdd = (set, value) => set?.add(value);
97
97
 
98
+ const TABLE = 'TABLE';
99
+ const ALTER_TABLE = 'ALTER ' + TABLE;
100
+ const DELETE_FROM = 'DELETE FROM';
98
101
  const SELECT_STAR_FROM = SELECT + '*FROM';
99
102
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
100
103
  const WHERE = 'WHERE';
@@ -187,15 +190,20 @@ const getCommandFunctions = (
187
190
  arrayIsEmpty(tableColumnNames) &&
188
191
  collHas(schemaMap, tableName)
189
192
  ) {
190
- await cmd('DROP TABLE' + escapeId(tableName));
193
+ await cmd('DROP ' + TABLE + escapeId(tableName));
191
194
  mapSet(schemaMap, tableName);
192
195
  return;
193
196
  }
194
197
  if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
195
198
  await cmd(
196
- `CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
197
- arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
198
- )});`,
199
+ `CREATE ` +
200
+ TABLE +
201
+ escapeId(tableName) +
202
+ '(' +
203
+ escapeId(rowIdColumnName) +
204
+ ` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
205
+ arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
206
+ )});`,
199
207
  );
200
208
  mapSet(
201
209
  schemaMap,
@@ -215,7 +223,7 @@ const getCommandFunctions = (
215
223
  ...arrayMap(tableColumnNames, async (columnName) => {
216
224
  if (!collDel(columnNamesAccountedFor, columnName)) {
217
225
  await cmd(
218
- `ALTER TABLE${escapeId(tableName)}ADD${escapeId(columnName)}`,
226
+ ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
219
227
  );
220
228
  mapSet(tableSchemaMap, columnName, EMPTY_STRING);
221
229
  }
@@ -226,9 +234,10 @@ const getCommandFunctions = (
226
234
  async (columnName) => {
227
235
  if (columnName != rowIdColumnName) {
228
236
  await cmd(
229
- `ALTER TABLE${escapeId(tableName)}DROP${escapeId(
230
- columnName,
231
- )}`,
237
+ ALTER_TABLE +
238
+ escapeId(tableName) +
239
+ 'DROP' +
240
+ escapeId(columnName),
232
241
  );
233
242
  mapSet(tableSchemaMap, columnName);
234
243
  }
@@ -239,13 +248,13 @@ const getCommandFunctions = (
239
248
  }
240
249
  if (partial) {
241
250
  if (isUndefined(table)) {
242
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
251
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
243
252
  } else {
244
253
  await promiseAll(
245
254
  objMap(table, async (row, rowId) => {
246
255
  if (isUndefined(row)) {
247
256
  await cmd(
248
- 'DELETE FROM' +
257
+ DELETE_FROM +
249
258
  escapeId(tableName) +
250
259
  WHERE +
251
260
  escapeId(rowIdColumnName) +
@@ -287,9 +296,10 @@ const getCommandFunctions = (
287
296
  rowIdColumnName,
288
297
  changingColumnNames,
289
298
  args,
299
+ useOnConflict,
290
300
  );
291
301
  await cmd(
292
- 'DELETE FROM' +
302
+ DELETE_FROM +
293
303
  escapeId(tableName) +
294
304
  WHERE +
295
305
  escapeId(rowIdColumnName) +
@@ -299,7 +309,7 @@ const getCommandFunctions = (
299
309
  deleteRowIds,
300
310
  );
301
311
  } else if (collHas(schemaMap, tableName)) {
302
- await cmd('DELETE FROM' + escapeId(tableName) + 'WHERE 1');
312
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
303
313
  }
304
314
  }
305
315
  };
@@ -527,9 +537,10 @@ const createJsonSqlitePersister = (
527
537
  managedTableNames,
528
538
  db,
529
539
  getThing,
540
+ useOnConflict,
530
541
  ) => {
531
542
  const [refreshSchema, loadTable, saveTable, transaction] =
532
- getCommandFunctions(cmd, managedTableNames, onIgnoredError);
543
+ getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
533
544
  const getPersisted = async () =>
534
545
  await transaction(async () => {
535
546
  await refreshSchema();
@@ -1 +1 @@
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),O(u,(e=>null!=e?e:null)))})),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
+ 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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),P=e=>0==s(e),A=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),L=Object,R=e=>L.getPrototypeOf(e),x=L.keys,C=L.freeze,S=(e=[])=>L.fromEntries(e),g=(...e)=>L.assign({},...e),I=(e,n)=>O(L.entries(e),(([e,l])=>n(l,e))),D=e=>L.values(e),_=e=>s(x(e)),j=e=>(e=>!d(e)&&a(R(e),(e=>e==L.prototype||d(R(e))),(()=>!0)))(e)&&0==_(e),F=e=>new Map(e),M=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)))},U=(e,n,l)=>d(l)?(T(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l)=>(b(e,n)||U(e,n,l()),B(e,n)),$=(e,n,l,t=U)=>(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)=>!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,W=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?J(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(W)for(var l of W(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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=F();return[()=>Q(void 0,null,(function*(){return $(i,S(yield y(O(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(O(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>U(i,n,$(Y(i,n,F),l,((e,n,l)=>{l!=B(e,n)&&U(e,n,l)}),((e,n)=>U(e,n))))),((e,n)=>U(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d(B(B(i,e),n)))(n,l)?S(A(O(yield e(ne+h(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!j(n)))):{}})),(n,o,u,a,c,v=!1)=>Q(void 0,null,(function*(){const s=k();I(null!=u?u:{},(e=>O(x(null!=e?e:{}),(e=>G(s,e)))));const f=N(s);if(!v&&c&&P(f)&&b(i,n))return yield e("DROP "+X+h(n)),void U(i,n);if(P(f)||b(i,n)){const t=B(i,n),r=k(M(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){T(r,o)||(yield e(Z+h(n)+"ADD"+h(o)),U(t,o,l))})))),...!v&&a?O(N(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+h(n)+"DROP"+h(l)),U(t,l))})))):[]])}else yield e("CREATE "+X+h(n)+"("+h(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(O(f,(e=>t+h(e))))});`),U(i,n,F([[o,l],...O(f,(e=>[e,l]))]));if(v)d(u)?yield e(ee+h(n)+te+" 1"):yield y(I(u,((l,t)=>Q(void 0,null,(function*(){d(l)?yield e(ee+h(n)+te+h(o)+"=?",[t]):P(f)||(yield re(e,n,o,x(l),[t,...D(l)],r))})))));else if(P(f))b(i,n)&&(yield e(ee+h(n)+te+" 1"));else{const l=A(M(B(i,n)),(e=>e!=o)),t=[],d=[];I(null!=u?u:{},((e,n)=>{w(t,n,...O(l,(n=>null==e?void 0:e[n]))),w(d,n)})),yield re(e,n,o,l,t,r),yield e(ee+h(n)+te+h(o)+"NOT IN("+ie(d)+")",d)}})),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}))]},re=(e,n,o,i,u,d=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+E(O(i,(e=>t+h(e))))+")VALUES"+v(r(`,(?${r(",?",s(i))})`,s(u)/(s(i)+1)),1)+(d?"ON CONFLICT("+h(o)+")DO UPDATE SET"+E(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),O(u,(e=>null!=e?e:null)))})),ie=e=>E(O(e,(()=>"?")),t),ue=JSON.parse;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=F(),ce=F(),ve=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,p=0;Y(ae,c,(()=>0)),Y(ce,c,(()=>[]));const h=e=>de(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>de(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>de(void 0,null,(function*(){return yield h((()=>de(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>de(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>de(void 0,null,(function*(){if(t){const n=t();yield h((()=>de(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>de(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)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>de(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>de(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>de(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();j(l)&&j(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(a(v,e.delListener),v=void 0,m),schedule:(...e)=>de(void 0,null,(function*(){return w(B(ce,c),...e),yield de(void 0,null,(function*(){if(!B(ae,c)){for(U(ae,c,1);!d((e=B(ce,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}U(ae,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),C(m)};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="store",fe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,v,s,y]=oe(n,i,o,a);return ve(e,(()=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield v(r,p))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>se(void 0,null,(function*(){return yield y((()=>se(void 0,null,(function*(){var n,l;yield c(),yield s(r,p,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};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 he=(e,n,l,t,o,[r,i,[u,a,c]],v,s,h,m)=>{const[E,O,P,w]=oe(n,v,o,m),b=(e,n)=>pe(void 0,null,(function*(){return yield y(H(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield P(l,t,u,o,r,n))})))))})),N=(e,n)=>pe(void 0,null,(function*(){return a?yield P(c,p,{[f]:e},!0,!0,n):null}));return ve(e,(()=>pe(void 0,null,(function*(){return yield w((()=>pe(void 0,null,(function*(){yield E();const e=yield pe(void 0,null,(function*(){return S(A(yield y(H(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!j(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return j(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield w((()=>pe(void 0,null,(function*(){if(yield E(),d(n)){const[n,l]=e();yield b(n),yield N(l)}else{const[e,l]=n();yield b(e,!0),yield N(l,!0)}}))))}))),l,t,o,[h,s],s)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",we={mode:me,[Ee]:1},be={load:0,save:0,[Ae]:n+"_values"},Ne=(e,n,l,t)=>{const o=F();return I(e,((e,r)=>{const i=v(D(g(n,c(e)?{[l]:e}:e)),0,_(n));d(i[0])||t(r,i[0])||U(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Re="data_version",xe="schema_version",Ce=(e,l,t,o,r,i,d,a,s="getDb",y)=>{let f,h,E;const[O,P,A,w]=(e=>{const l=(e=>g(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(D(g(be,i)),0,_(be)),d=u[2],a=k(d);return[0,t,[Ne(o,{[Pe]:null,[Oe]:p},Pe,(e=>G(a,e)&&e==d)),Ne(r,{[Ae]:null,[Oe]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>G(a,n)&&n==d)),u],a]})(l);return(O?fe:he)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Le+Re))[0][Re],l=(yield t(Le+xe))[0][xe],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=E?E:E=o)||(e(),f=n,h=l)}catch(e){}})),l=P,n(),setInterval(n,1e3*l)),o((n=>w.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),d,A,N(w),a,s,y)},Se=(e,n,l,t,o)=>Ce(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{Se as createCrSqliteWasmPersister};
@@ -1 +1 @@
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),O(u,(e=>null!=e?e:null)))})),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
+ 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="_",h="_id",p=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),P=e=>0==v(e),b=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),w=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),C=Object,g=e=>C.getPrototypeOf(e),L=C.keys,R=C.freeze,S=(e=[])=>C.fromEntries(e),x=(...e)=>C.assign({},...e),D=(e,n)=>O(C.entries(e),(([e,l])=>n(l,e))),I=e=>C.values(e),_=e=>v(L(e)),j=e=>(e=>!a(e)&&d(g(e),(e=>e==C.prototype||a(g(e))),(()=>!0)))(e)&&0==_(e),F=e=>new Map(e),M=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)))},Y=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),$=(e,n,l)=>(w(e,n)||Y(e,n,l()),B(e,n)),k=(e,n,l,t=Y)=>(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)=>!a(((e,n)=>d(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,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=F();return[()=>Q(void 0,null,(function*(){return k(i,S(yield y(O(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(O(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,k($(i,n,F),l,((e,n,l)=>{l!=B(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(B(B(i,e),n)))(n,l)?S(b(O(yield e(ne+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!j(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=G();D(null!=u?u:{},(e=>O(L(null!=e?e:{}),(e=>J(v,e)))));const f=T(v);if(!s&&c&&P(f)&&w(i,n))return yield e("DROP "+X+p(n)),void Y(i,n);if(P(f)||w(i,n)){const t=B(i,n),r=G(M(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){N(r,o)||(yield e(Z+p(n)+"ADD"+p(o)),Y(t,o,l))})))),...!s&&d?O(T(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+p(n)+"DROP"+p(l)),Y(t,l))})))):[]])}else yield e("CREATE "+X+p(n)+"("+p(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(O(f,(e=>t+p(e))))});`),Y(i,n,F([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e(ee+p(n)+te+" 1"):yield y(D(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+p(n)+te+p(o)+"=?",[t]):P(f)||(yield re(e,n,o,L(l),[t,...I(l)],r))})))));else if(P(f))w(i,n)&&(yield e(ee+p(n)+te+" 1"));else{const l=b(M(B(i,n)),(e=>e!=o)),t=[],a=[];D(null!=u?u:{},((e,n)=>{A(t,n,...O(l,(n=>null==e?void 0:e[n]))),A(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+p(n)+te+p(o)+"NOT IN("+ie(a)+")",a)}})),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}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+E(O(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+E(O(i,(e=>p(e)+"=excluded."+p(e))),t):l),O(u,(e=>null!=e?e:null)))})),ie=e=>E(O(e,(()=>"?")),t),ue=JSON.parse;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=F(),ce=F(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;$(de,c,(()=>0)),$(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();j(l)&&j(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return A(B(ce,c),...e),yield ae(void 0,null,(function*(){if(!B(de,c)){for(Y(de,c,1);!a((e=B(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}Y(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),R(m)};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="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,h))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,h,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?C.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,m)=>{const[E,O,P,A]=oe(n,s,o,m),w=(e,n)=>he(void 0,null,(function*(){return yield y(H(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield P(l,t,u,o,r,n))})))))})),T=(e,n)=>he(void 0,null,(function*(){return d?yield P(c,h,{[f]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){yield E();const e=yield he(void 0,null,(function*(){return S(b(yield y(H(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!j(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield O(c,h))[f]:{}}));return j(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield A((()=>he(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield w(n),yield T(l)}else{const[e,l]=n();yield w(e,!0),yield T(l,!0)}}))))}))),l,t,o,[p,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",be="tableName",Ae={mode:me,[Ee]:1},we={load:0,save:0,[be]:n+"_values"},Te=(e,n,l,t)=>{const o=F();return D(e,((e,r)=>{const i=s(I(x(n,c(e)?{[l]:e}:e)),0,_(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Ne=(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="pragma ",ge="data_version",Le="schema_version",Re=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,E;const[O,P,b,A]=(e=>{const l=(e=>x(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(x(we,i)),0,_(we)),a=u[2],d=G(a);return[0,t,[Te(o,{[Pe]:null,[Oe]:h},Pe,(e=>J(d,e)&&e==a)),Te(r,{[be]:null,[Oe]:h,deleteEmptyColumns:0,deleteEmptyTable:0},be,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(O?fe:pe)(e,i?(e,n)=>Ne(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ne(void 0,null,(function*(){try{const n=(yield t(Ce+ge))[0][ge],l=(yield t(Ce+Le))[0][Le],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=E?E:E=o)||(e(),f=n,p=l)}catch(e){}})),l=P,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,b,T(A),d,v,y)},Se=(e,n,l,t,o)=>Re(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{Se as createElectricSqlPersister};
@@ -1 +1 @@
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),O(u,(e=>null!=e?e:null)))})),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};
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="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",O=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),P=e=>0==y(e),b=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),N=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},x=(e,n)=>null==e?void 0:e.delete(n),L=Object,R=e=>L.getPrototypeOf(e),C=L.keys,S=L.freeze,g=(e=[])=>L.fromEntries(e),I=(...e)=>L.assign({},...e),D=(e,n)=>A(L.entries(e),(([e,l])=>n(l,e))),_=e=>L.values(e),j=e=>y(C(e)),F=e=>(e=>!a(e)&&c(R(e),(e=>e==L.prototype||a(R(e))),(()=>!0)))(e)&&0==j(e),M=e=>new Map(e),B=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},H=(e,n)=>null==e?void 0:e.get(n),Y=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},$=(e,n,l)=>a(l)?(x(e,n),e):null==e?void 0:e.set(n,l),k=(e,n,l)=>(N(e,n)||$(e,n,l()),H(e,n)),G=(e,n,l,t=$)=>(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)=>!a(((e,n)=>c(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),J=e=>new Set(Array.isArray(e)||a(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var W=Object.defineProperty,q=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?W(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="TABLE",ee="ALTER "+Z,ne="DELETE FROM",le=E+"*FROM",te="FROM pragma_table_",oe="WHERE",re=(e,n,l,r)=>{const i=M();return[()=>X(void 0,null,(function*(){return G(i,g(yield f(A(yield e("SELECT name "+te+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ue(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,g(A(yield e(E+" name,type "+te+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>$(i,n,G(k(i,n,M),l,((e,n,l)=>{l!=H(e,n)&&$(e,n,l)}),((e,n)=>$(e,n))))),((e,n)=>$(i,n)))})),(n,l)=>X(void 0,null,(function*(){return((e,n)=>!a(H(H(i,e),n)))(n,l)?g(b(A(yield e(le+m(n)),(e=>{return[e[l],(n=Q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!F(n)))):{}})),(n,l,u,d,c,v=!1)=>X(void 0,null,(function*(){const s=J();D(null!=u?u:{},(e=>A(C(null!=e?e:{}),(e=>U(s,e)))));const y=T(s);if(!v&&c&&P(y)&&N(i,n))return yield e("DROP "+Z+m(n)),void $(i,n);if(P(y)||N(i,n)){const o=H(i,n),r=J(B(o));yield f([...A(y,(l=>X(void 0,null,(function*(){x(r,l)||(yield e(ee+m(n)+"ADD"+m(l)),$(o,l,t))})))),...!v&&d?A(T(r),(t=>X(void 0,null,(function*(){t!=l&&(yield e(ee+m(n)+"DROP"+m(t)),$(o,t))})))):[]])}else yield e("CREATE "+Z+m(n)+"("+m(l)+` PRIMARY KEY ON CONFLICT REPLACE${O(A(y,(e=>o+m(e))))});`),$(i,n,M([[l,t],...A(y,(e=>[e,t]))]));if(v)a(u)?yield e(ne+m(n)+oe+" 1"):yield f(D(u,((t,o)=>X(void 0,null,(function*(){a(t)?yield e(ne+m(n)+oe+m(l)+"=?",[o]):P(y)||(yield ie(e,n,l,C(t),[o,..._(t)],r))})))));else if(P(y))N(i,n)&&(yield e(ne+m(n)+oe+" 1"));else{const t=b(B(H(i,n)),(e=>e!=l)),o=[],d=[];D(null!=u?u:{},((e,n)=>{w(o,n,...A(t,(n=>null==e?void 0:e[n]))),w(d,n)})),yield ie(e,n,l,t,o,r),yield e(ne+m(n)+oe+m(l)+"NOT IN("+ue(d)+")",d)}})),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}))]},ie=(e,n,l,r,u,d=!0)=>X(void 0,null,(function*(){return yield e("INSERT "+(d?t:"OR REPLACE ")+"INTO"+m(n)+"("+m(l)+O(A(r,(e=>o+m(e))))+")VALUES"+s(i(`,(?${i(",?",y(r))})`,y(u)/(y(r)+1)),1)+(d?"ON CONFLICT("+m(l)+")DO UPDATE SET"+O(A(r,(e=>m(e)+"=excluded."+m(e))),o):t),A(u,(e=>null!=e?e:null)))})),ue=e=>O(A(e,(()=>"?")),o),de=JSON.parse;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=M(),ve=M(),se=(e,n,l,t,o,r,[i,u]=[],d=[])=>{let v,s,y,f=0,p=0;k(ce,d,(()=>0)),k(ve,d,(()=>[]));const h=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield h((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield h((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(c(v,e.delListener),v=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return w(H(ve,d),...e),yield ae(void 0,null,(function*(){if(!H(ce,d)){for($(ce,d,1);!a((e=H(ve,d),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}$(ce,d,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),S(m)};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="store",pe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,v,s,y]=re(n,i,o,a);return se(e,(()=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var e,n;return yield c(),de(null!=(n=null==(e=(yield v(r,h))[p])?void 0:e[fe])?n:"null")}))))}))),(e=>ye(void 0,null,(function*(){return yield y((()=>ye(void 0,null,(function*(){var n,l;yield c(),yield s(r,h,{[p]:{[fe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var he=(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 me=(e,n,l,t,o,[r,i,[u,d,c]],v,s,y,m)=>{const[E,O,A,P]=re(n,v,o,m),w=(e,n)=>he(void 0,null,(function*(){return yield f(Y(i,((l,t)=>he(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))})))))})),N=(e,n)=>he(void 0,null,(function*(){return d?yield A(c,h,{[p]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){yield E();const e=yield he(void 0,null,(function*(){return g(b(yield f(Y(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!F(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield O(c,h))[p]:{}}));return F(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield P((()=>he(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield w(n),yield N(l)}else{const[e,l]=n();yield w(e,!0),yield N(l,!0)}}))))}))),l,t,o,[y,s],s)},Ee="json",Oe="autoLoadIntervalSeconds",Ae="rowIdColumnName",Pe="tableId",be="tableName",we={mode:Ee,[Oe]:1},Ne={load:0,save:0,[be]:l+"_values"},Te=(e,n,l,t)=>{const o=M();return D(e,((e,r)=>{const i=s(_(I(n,v(e)?{[l]:e}:e)),0,j(n));a(i[0])||t(r,i[0])||$(o,r,i)})),o};var xe=(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 ",Re="data_version",Ce="schema_version",Se=(e,n,t,o,r,i,u,a,c="getDb",y)=>{let f,p,m;const[O,A,P,b]=(e=>{const n=(e=>I(we,v(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[Oe];if(n.mode==Ee){const{storeTableName:e=l}=n;return[1,t,[e],J(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=s(_(I(Ne,i)),0,j(Ne)),d=u[2],a=J(d);return[0,t,[Te(o,{[Pe]:null,[Ae]:h},Pe,(e=>U(a,e)&&e==d)),Te(r,{[be]:null,[Ae]:h,deleteEmptyColumns:0,deleteEmptyTable:0},be,((e,n)=>U(a,n)&&n==d)),u],a]})(n);return(O?pe:me)(e,i?(e,n)=>xe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>xe(void 0,null,(function*(){try{const n=(yield t(Le+Re))[0][Re],l=(yield t(Le+Ce))[0][Ce],o=(yield t(E+" 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=>b.has(n)?e():0))];var n,l}),(([e,n])=>{d(e),f=p=null,r(n)}),u,P,T(b),a,c,y)},ge=(n,l,t,o,r)=>Se(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{ge as createExpoSqliteNextPersister};
@@ -1 +1 @@
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),A=e=>0==v(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:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),C=w.keys,g=w.freeze,x=(e=[])=>w.fromEntries(e),D=(...e)=>w.assign({},...e),S=(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)?(b(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)=>(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)=>!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,x(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,x(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)?x(T(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();S(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>G(v,e)))));const f=R(v);if(!s&&c&&A(f)&&P(i,n))return yield e("DROP TABLE"+h(n)),void H(i,n);if(A(f)||P(i,n)){const t=j(i,n),r=k(_(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){b(r,o)||(yield e(`ALTER TABLE${h(n)}ADD${h(o)}`),H(t,o,l))})))),...!s&&d?O(R(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(S(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e("DELETE FROM"+h(n)+ee+h(o)+"=?",[t]):A(f)||(yield le(e,n,o,C(l),[t,...I(l)],r))})))));else if(A(f))P(i,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T(_(j(i,n)),(e=>e!=o)),t=[],r=[];S(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),O(u,(e=>null!=e?e:null)))})),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,A,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 A(l,t,u,o,r,n))})))))})),R=(e,n)=>ve(void 0,null,(function*(){return d?yield A(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 x(T(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 R(l)}else{const[e,l]=n();yield P(e,!0),yield R(l,!0)}}))))}))),l,t,o,[h,v],v)},fe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",pe="tableId",me="tableName",Oe={mode:fe,[Ee]:1},Ae={load:0,save:0,[me]:n+"_values"},Te=(e,n,l,t)=>{const o=$();return S(e,((e,r)=>{const i=s(I(D(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 ",Re="data_version",be="schema_version",we=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,h,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],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(D(Ae,i)),0,F(Ae)),a=u[2],d=k(a);return[0,t,[Te(o,{[pe]:null,[he]:E},pe,(e=>G(d,e)&&e==a)),Te(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+Re))[0][Re],l=(yield t(Pe+be))[0][be],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=A,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,T,R(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.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Ne as createExpoSqlitePersister};
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="_",h="_id",p=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),P=e=>0==v(e),A=(e,n)=>e.filter(n),b=(e,...n)=>e.push(...n),w=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),C=Object,L=e=>C.getPrototypeOf(e),R=C.keys,g=C.freeze,x=(e=[])=>C.fromEntries(e),S=(...e)=>C.assign({},...e),D=(e,n)=>O(C.entries(e),(([e,l])=>n(l,e))),I=e=>C.values(e),_=e=>v(R(e)),j=e=>(e=>!a(e)&&d(L(e),(e=>e==C.prototype||a(L(e))),(()=>!0)))(e)&&0==_(e),F=e=>new Map(e),M=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)))},Y=(e,n,l)=>a(l)?(T(e,n),e):null==e?void 0:e.set(n,l),$=(e,n,l)=>(w(e,n)||Y(e,n,l()),B(e,n)),k=(e,n,l,t=Y)=>(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)=>!a(((e,n)=>d(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,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=F();return[()=>Q(void 0,null,(function*(){return k(i,x(yield y(O(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(O(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,k($(i,n,F),l,((e,n,l)=>{l!=B(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(B(B(i,e),n)))(n,l)?x(A(O(yield e(ne+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!j(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=G();D(null!=u?u:{},(e=>O(R(null!=e?e:{}),(e=>J(v,e)))));const f=N(v);if(!s&&c&&P(f)&&w(i,n))return yield e("DROP "+X+p(n)),void Y(i,n);if(P(f)||w(i,n)){const t=B(i,n),r=G(M(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){T(r,o)||(yield e(Z+p(n)+"ADD"+p(o)),Y(t,o,l))})))),...!s&&d?O(N(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+p(n)+"DROP"+p(l)),Y(t,l))})))):[]])}else yield e("CREATE "+X+p(n)+"("+p(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(O(f,(e=>t+p(e))))});`),Y(i,n,F([[o,l],...O(f,(e=>[e,l]))]));if(s)a(u)?yield e(ee+p(n)+te+" 1"):yield y(D(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+p(n)+te+p(o)+"=?",[t]):P(f)||(yield re(e,n,o,R(l),[t,...I(l)],r))})))));else if(P(f))w(i,n)&&(yield e(ee+p(n)+te+" 1"));else{const l=A(M(B(i,n)),(e=>e!=o)),t=[],a=[];D(null!=u?u:{},((e,n)=>{b(t,n,...O(l,(n=>null==e?void 0:e[n]))),b(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+p(n)+te+p(o)+"NOT IN("+ie(a)+")",a)}})),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}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+E(O(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+E(O(i,(e=>p(e)+"=excluded."+p(e))),t):l),O(u,(e=>null!=e?e:null)))})),ie=e=>E(O(e,(()=>"?")),t),ue=JSON.parse;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=F(),ce=F(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;$(de,c,(()=>0)),$(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();j(l)&&j(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return b(B(ce,c),...e),yield ae(void 0,null,(function*(){if(!B(de,c)){for(Y(de,c,1);!a((e=B(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}Y(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),g(m)};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="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,h))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,h,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?C.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,m)=>{const[E,O,P,b]=oe(n,s,o,m),w=(e,n)=>he(void 0,null,(function*(){return yield y(H(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield P(l,t,u,o,r,n))})))))})),N=(e,n)=>he(void 0,null,(function*(){return d?yield P(c,h,{[f]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield b((()=>he(void 0,null,(function*(){yield E();const e=yield he(void 0,null,(function*(){return x(A(yield y(H(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!j(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield O(c,h))[f]:{}}));return j(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield b((()=>he(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield w(n),yield N(l)}else{const[e,l]=n();yield w(e,!0),yield N(l,!0)}}))))}))),l,t,o,[p,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",be={mode:me,[Ee]:1},we={load:0,save:0,[Ae]:n+"_values"},Ne=(e,n,l,t)=>{const o=F();return D(e,((e,r)=>{const i=s(I(S(n,c(e)?{[l]:e}:e)),0,_(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma ",Le="data_version",Re="schema_version",ge=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,E;const[O,P,A,b]=(e=>{const l=(e=>S(be,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(I(S(we,i)),0,_(we)),a=u[2],d=G(a);return[0,t,[Ne(o,{[Pe]:null,[Oe]:h},Pe,(e=>J(d,e)&&e==a)),Ne(r,{[Ae]:null,[Oe]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(O?fe:pe)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Ce+Le))[0][Le],l=(yield t(Ce+Re))[0][Re],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=E?E:E=o)||(e(),f=n,p=l)}catch(e){}})),l=P,n(),setInterval(n,1e3*l)),o((n=>b.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,A,N(b),d,v,y)},xe=(e,n,l,t,o)=>ge(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{xe as createExpoSqlitePersister};
@@ -1 +1 @@
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,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",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),A=e=>0==v(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),C=b.keys,g=b.freeze,x=(e=[])=>b.fromEntries(e),S=(...e)=>b.assign({},...e),D=(e,n)=>O(b.entries(e),(([e,l])=>n(l,e))),I=e=>b.values(e),F=e=>v(C(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)),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,o,r)=>{const i=$();return[()=>Q(void 0,null,(function*(){return Y(i,x(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,x(O(yield e(h+" 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)=>!d(j(j(i,e),n)))(n,l)?x(T(O(yield e(X+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,o,u,a,c,s=!1)=>Q(void 0,null,(function*(){const v=k();D(null!=u?u:{},(e=>O(C(null!=e?e:{}),(e=>G(v,e)))));const f=R(v);if(!s&&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=k(_(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))})))),...!s&&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(s)d(u)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield y(D(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,C(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=[];D(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"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(d?"ON CONFLICT("+p(o)+")DO UPDATE SET"+m(O(i,(e=>p(e)+"=excluded."+p(e))),t):l),O(u,(e=>null!=e?e:null)))})),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 s,v,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(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(a(s,e.delListener),s=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),v=e.shift()));)try{yield v()}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),g(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",se=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,s,v]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield v((()=>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 v((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield s(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 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,a,c]],s,v,p,h)=>{const[m,O,A,L]=ne(n,s,o,h),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 A(l,t,u,o,r,n))})))))})),R=(e,n)=>ve(void 0,null,(function*(){return a?yield A(c,E,{[f]:e},!0,!0,n):null}));return de(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 x(T(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)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield L((()=>ve(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,v],v)},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 D(e,((e,r)=>{const i=s(I(S(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,v="getDb",y)=>{let f,p,m;const[O,A,T,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(Ae,i)),0,F(Ae)),d=u[2],a=k(d);return[0,t,[Te(o,{[he]:null,[pe]:E},he,(e=>G(a,e)&&e==d)),Te(r,{[me]:null,[pe]:E,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(a,n)&&n==d)),u],a]})(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+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,v,y)},Ne=(e,n,l,t,o)=>be(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execute({sql:e,args:l})).rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(()=>()=>0),(e=>e()),t,o,n,"getClient");export{Ne as createLibSqlPersister};
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,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="_",p="_id",h=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),P=e=>0==v(e),A=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),C=Object,L=e=>C.getPrototypeOf(e),R=C.keys,g=C.freeze,x=(e=[])=>C.fromEntries(e),S=(...e)=>C.assign({},...e),I=(e,n)=>O(C.entries(e),(([e,l])=>n(l,e))),D=e=>C.values(e),_=e=>v(R(e)),j=e=>(e=>!d(e)&&a(L(e),(e=>e==C.prototype||d(L(e))),(()=>!0)))(e)&&0==_(e),F=e=>new Map(e),M=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)))},Y=(e,n,l)=>d(l)?(T(e,n),e):null==e?void 0:e.set(n,l),$=(e,n,l)=>(b(e,n)||Y(e,n,l()),B(e,n)),k=(e,n,l,t=Y)=>(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)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),G=e=>new Set(Array.isArray(e)||d(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?U(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(W)for(var l of W(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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=F();return[()=>Q(void 0,null,(function*(){return k(i,x(yield y(O(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,x(O(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,k($(i,n,F),l,((e,n,l)=>{l!=B(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d(B(B(i,e),n)))(n,l)?x(A(O(yield e(ne+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!j(n)))):{}})),(n,o,u,a,c,s=!1)=>Q(void 0,null,(function*(){const v=G();I(null!=u?u:{},(e=>O(R(null!=e?e:{}),(e=>J(v,e)))));const f=N(v);if(!s&&c&&P(f)&&b(i,n))return yield e("DROP "+X+h(n)),void Y(i,n);if(P(f)||b(i,n)){const t=B(i,n),r=G(M(t));yield y([...O(f,(o=>Q(void 0,null,(function*(){T(r,o)||(yield e(Z+h(n)+"ADD"+h(o)),Y(t,o,l))})))),...!s&&a?O(N(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+h(n)+"DROP"+h(l)),Y(t,l))})))):[]])}else yield e("CREATE "+X+h(n)+"("+h(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(O(f,(e=>t+h(e))))});`),Y(i,n,F([[o,l],...O(f,(e=>[e,l]))]));if(s)d(u)?yield e(ee+h(n)+te+" 1"):yield y(I(u,((l,t)=>Q(void 0,null,(function*(){d(l)?yield e(ee+h(n)+te+h(o)+"=?",[t]):P(f)||(yield re(e,n,o,R(l),[t,...D(l)],r))})))));else if(P(f))b(i,n)&&(yield e(ee+h(n)+te+" 1"));else{const l=A(M(B(i,n)),(e=>e!=o)),t=[],d=[];I(null!=u?u:{},((e,n)=>{w(t,n,...O(l,(n=>null==e?void 0:e[n]))),w(d,n)})),yield re(e,n,o,l,t,r),yield e(ee+h(n)+te+h(o)+"NOT IN("+ie(d)+")",d)}})),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}))]},re=(e,n,o,i,u,d=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(d?l:"OR REPLACE ")+"INTO"+h(n)+"("+h(o)+E(O(i,(e=>t+h(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(d?"ON CONFLICT("+h(o)+")DO UPDATE SET"+E(O(i,(e=>h(e)+"=excluded."+h(e))),t):l),O(u,(e=>null!=e?e:null)))})),ie=e=>E(O(e,(()=>"?")),t),ue=JSON.parse;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=F(),ce=F(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,p=0;$(ae,c,(()=>0)),$(ce,c,(()=>[]));const h=e=>de(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>de(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>de(void 0,null,(function*(){return yield h((()=>de(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>de(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),p=1,y=t(((l,t)=>de(void 0,null,(function*(){if(t){const n=t();yield h((()=>de(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>de(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)}}))))})))),m})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),m),save:n=>de(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>de(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>de(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();j(l)&&j(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,m),schedule:(...e)=>de(void 0,null,(function*(){return w(B(ce,c),...e),yield de(void 0,null,(function*(){if(!B(ae,c)){for(Y(ae,c,1);!d((e=B(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}Y(ae,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),g(m)};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="store",fe=(e,n,l,t,o,[r],i,u,d,a)=>{const[c,s,v,y]=oe(n,i,o,a);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,p))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,p,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?C.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};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 he=(e,n,l,t,o,[r,i,[u,a,c]],s,v,h,m)=>{const[E,O,P,w]=oe(n,s,o,m),b=(e,n)=>pe(void 0,null,(function*(){return yield y(H(i,((l,t)=>pe(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield P(l,t,u,o,r,n))})))))})),N=(e,n)=>pe(void 0,null,(function*(){return a?yield P(c,p,{[f]:e},!0,!0,n):null}));return se(e,(()=>pe(void 0,null,(function*(){return yield w((()=>pe(void 0,null,(function*(){yield E();const e=yield pe(void 0,null,(function*(){return x(A(yield y(H(r,((e,n)=>pe(void 0,[e,n],(function*([e,n],l){return[e,yield O(l,n)]}))))),(e=>!j(e[1]))))})),n=yield pe(void 0,null,(function*(){return u?(yield O(c,p))[f]:{}}));return j(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>pe(void 0,null,(function*(){return yield w((()=>pe(void 0,null,(function*(){if(yield E(),d(n)){const[n,l]=e();yield b(n),yield N(l)}else{const[e,l]=n();yield b(e,!0),yield N(l,!0)}}))))}))),l,t,o,[h,v],v)},me="json",Ee="autoLoadIntervalSeconds",Oe="rowIdColumnName",Pe="tableId",Ae="tableName",we={mode:me,[Ee]:1},be={load:0,save:0,[Ae]:n+"_values"},Ne=(e,n,l,t)=>{const o=F();return I(e,((e,r)=>{const i=s(D(S(n,c(e)?{[l]:e}:e)),0,_(n));d(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce="pragma ",Le="data_version",Re="schema_version",ge=(e,l,t,o,r,i,d,a,v="getDb",y)=>{let f,h,E;const[O,P,A,w]=(e=>{const l=(e=>S(we,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(D(S(be,i)),0,_(be)),d=u[2],a=G(d);return[0,t,[Ne(o,{[Pe]:null,[Oe]:p},Pe,(e=>J(a,e)&&e==d)),Ne(r,{[Ae]:null,[Oe]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(a,n)&&n==d)),u],a]})(l);return(O?fe:he)(e,i?(e,n)=>Te(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Ce+Le))[0][Le],l=(yield t(Ce+Re))[0][Re],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=h?h:h=l)&&o==(null!=E?E:E=o)||(e(),f=n,h=l)}catch(e){}})),l=P,n(),setInterval(n,1e3*l)),o((n=>w.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=h=null,r(n)}),d,A,N(w),a,v,y)},xe=(e,n,l,t,o)=>ge(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execute({sql:e,args:l})).rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(()=>()=>0),(e=>e()),t,o,n,"getClient");export{xe as createLibSqlPersister};
@@ -0,0 +1 @@
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="_",h="_id",p=e=>`"${e.replace(/"/g,'""')}"`,m="SELECT",E=(e,n="")=>e.join(n),P=(e,n)=>e.map(n),b=e=>0==v(e),w=(e,n)=>e.filter(n),O=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),S=Object,g=e=>S.getPrototypeOf(e),x=S.keys,C=S.freeze,L=(e=[])=>S.fromEntries(e),R=(...e)=>S.assign({},...e),I=(e,n)=>P(S.entries(e),(([e,l])=>n(l,e))),D=e=>S.values(e),_=e=>v(x(e)),j=e=>(e=>!a(e)&&d(g(e),(e=>e==S.prototype||a(g(e))),(()=>!0)))(e)&&0==_(e),F=e=>new Map(e),M=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 P([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},Y=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),$=(e,n,l)=>(A(e,n)||Y(e,n,l()),B(e,n)),k=(e,n,l,t=Y)=>(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)=>d(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,W=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(W)for(var l of W(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="TABLE",Z="ALTER "+X,ee="DELETE FROM",ne=m+"*FROM",le="FROM pragma_table_",te="WHERE",oe=(e,n,o,r)=>{const i=F();return[()=>Q(void 0,null,(function*(){return k(i,L(yield y(P(yield e("SELECT name "+le+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ie(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,L(P(yield e(m+" name,type "+le+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>Y(i,n,k($(i,n,F),l,((e,n,l)=>{l!=B(e,n)&&Y(e,n,l)}),((e,n)=>Y(e,n))))),((e,n)=>Y(i,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(B(B(i,e),n)))(n,l)?L(w(P(yield e(ne+p(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!j(n)))):{}})),(n,o,u,d,c,s=!1)=>Q(void 0,null,(function*(){const v=G();I(null!=u?u:{},(e=>P(x(null!=e?e:{}),(e=>J(v,e)))));const f=T(v);if(!s&&c&&b(f)&&A(i,n))return yield e("DROP "+X+p(n)),void Y(i,n);if(b(f)||A(i,n)){const t=B(i,n),r=G(M(t));yield y([...P(f,(o=>Q(void 0,null,(function*(){N(r,o)||(yield e(Z+p(n)+"ADD"+p(o)),Y(t,o,l))})))),...!s&&d?P(T(r),(l=>Q(void 0,null,(function*(){l!=o&&(yield e(Z+p(n)+"DROP"+p(l)),Y(t,l))})))):[]])}else yield e("CREATE "+X+p(n)+"("+p(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(P(f,(e=>t+p(e))))});`),Y(i,n,F([[o,l],...P(f,(e=>[e,l]))]));if(s)a(u)?yield e(ee+p(n)+te+" 1"):yield y(I(u,((l,t)=>Q(void 0,null,(function*(){a(l)?yield e(ee+p(n)+te+p(o)+"=?",[t]):b(f)||(yield re(e,n,o,x(l),[t,...D(l)],r))})))));else if(b(f))A(i,n)&&(yield e(ee+p(n)+te+" 1"));else{const l=w(M(B(i,n)),(e=>e!=o)),t=[],a=[];I(null!=u?u:{},((e,n)=>{O(t,n,...P(l,(n=>null==e?void 0:e[n]))),O(a,n)})),yield re(e,n,o,l,t,r),yield e(ee+p(n)+te+p(o)+"NOT IN("+ie(a)+")",a)}})),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}))]},re=(e,n,o,i,u,a=!0)=>Q(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+p(n)+"("+p(o)+E(P(i,(e=>t+p(e))))+")VALUES"+s(r(`,(?${r(",?",v(i))})`,v(u)/(v(i)+1)),1)+(a?"ON CONFLICT("+p(o)+")DO UPDATE SET"+E(P(i,(e=>p(e)+"=excluded."+p(e))),t):l),P(u,(e=>null!=e?e:null)))})),ie=e=>E(P(e,(()=>"?")),t),ue=JSON.parse;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=F(),ce=F(),se=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let s,v,y,f=0,h=0;$(de,c,(()=>0)),$(ce,c,(()=>[]));const p=e=>ae(void 0,null,(function*(){return 2!=f&&(f=1,yield m.schedule((()=>ae(void 0,null,(function*(){yield e(),f=0}))))),m})),m={load:(l,t)=>ae(void 0,null,(function*(){return yield p((()=>ae(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ae(void 0,[...l],(function*(l={},o={}){return m.stopAutoLoad(),yield m.load(l,o),h=1,y=t(((l,t)=>ae(void 0,null,(function*(){if(t){const n=t();yield p((()=>ae(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield p((()=>ae(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)}}))))})))),m})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),m),save:n=>ae(void 0,null,(function*(){return 1!=f&&(f=2,yield m.schedule((()=>ae(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),m})),startAutoSave:()=>ae(void 0,null,(function*(){return yield m.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();j(l)&&j(t)||m.save((()=>[l,t]))})),m})),stopAutoSave:()=>(d(s,e.delListener),s=void 0,m),schedule:(...e)=>ae(void 0,null,(function*(){return O(B(ce,c),...e),yield ae(void 0,null,(function*(){if(!B(de,c)){for(Y(de,c,1);!a((e=B(ce,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}Y(de,c,0)}var e})),m})),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(m[i]=()=>u),C(m)};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="store",fe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=oe(n,i,o,d);return se(e,(()=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var e,n;return yield c(),ue(null!=(n=null==(e=(yield s(r,h))[f])?void 0:e[ye])?n:"null")}))))}))),(e=>ve(void 0,null,(function*(){return yield y((()=>ve(void 0,null,(function*(){var n,l;yield c(),yield v(r,h,{[f]:{[ye]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?S.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var he=(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=(e,n,l,t,o,[r,i,[u,d,c]],s,v,p,m)=>{const[E,P,b,O]=oe(n,s,o,m),A=(e,n)=>he(void 0,null,(function*(){return yield y(H(i,((l,t)=>he(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield b(l,t,u,o,r,n))})))))})),T=(e,n)=>he(void 0,null,(function*(){return d?yield b(c,h,{[f]:e},!0,!0,n):null}));return se(e,(()=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){yield E();const e=yield he(void 0,null,(function*(){return L(w(yield y(H(r,((e,n)=>he(void 0,[e,n],(function*([e,n],l){return[e,yield P(l,n)]}))))),(e=>!j(e[1]))))})),n=yield he(void 0,null,(function*(){return u?(yield P(c,h))[f]:{}}));return j(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield A(n),yield T(l)}else{const[e,l]=n();yield A(e,!0),yield T(l,!0)}}))))}))),l,t,o,[p,v],v)},me="json",Ee="autoLoadIntervalSeconds",Pe="rowIdColumnName",be="tableId",we="tableName",Oe={mode:me,[Ee]:1},Ae={load:0,save:0,[we]:n+"_values"},Te=(e,n,l,t)=>{const o=F();return I(e,((e,r)=>{const i=s(D(R(n,c(e)?{[l]:e}:e)),0,_(n));a(i[0])||t(r,i[0])||Y(o,r,i)})),o};var Ne=(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="pragma ",ge="data_version",xe="schema_version",Ce=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,E;const[P,b,w,O]=(e=>{const l=(e=>R(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==me){const{storeTableName:e=n}=l;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(D(R(Ae,i)),0,_(Ae)),a=u[2],d=G(a);return[0,t,[Te(o,{[be]:null,[Pe]:h},be,(e=>J(d,e)&&e==a)),Te(r,{[we]:null,[Pe]:h,deleteEmptyColumns:0,deleteEmptyTable:0},we,((e,n)=>J(d,n)&&n==a)),u],d]})(l);return(P?fe:pe)(e,i?(e,n)=>Ne(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ne(void 0,null,(function*(){try{const n=(yield t(Se+ge))[0][ge],l=(yield t(Se+xe))[0][xe],o=(yield t(m+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=E?E:E=o)||(e(),f=n,p=l)}catch(e){}})),l=b,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,w,T(O),d,v,y)};var Le=(e,n)=>(n=Symbol[e])?n:Symbol.for("Symbol."+e),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=(e,n,l,t,o,r=!1)=>Ce(e,l,((e,...l)=>Re(void 0,[e,...l],(function*(e,l=[]){return n.execute(e,l).then((e=>{var n,l;return null!=(l=null==(n=e.rows)?void 0:n._array)?l:[]}))}))),(e=>{const l=new AbortController,t=n.onChange({rawTableNames:!0,signal:l.signal});return Re(void 0,null,(function*(){try{for(var n,l,o,r=((e,n,l)=>(n=e[Le("asyncIterator")])?n.call(e):(e=e[Le("iterator")](),n={},(l=(l,t)=>(t=e[l])&&(n[l]=n=>new Promise(((l,o,r)=>(n=t.call(e,n),r=n.done,Promise.resolve(n.value).then((e=>l({value:e,done:r})),o))))))("next"),l("return"),n))(t);n=!(l=yield r.next()).done;n=!1){const n=l.value;P(n.changedTables,e)}}catch(l){o=[l]}finally{try{n&&(l=r.return)&&(yield l.call(r))}finally{if(o)throw o[0]}}})),l}),(e=>e.abort()),t,o,n,"getPowerSync",r);export{Ie as createPowerSyncPersister};