tinybase 4.6.0 → 4.6.2

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 (111) 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-indexed-db.cjs +1 -1
  10. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  12. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  15. package/lib/cjs/ui-react.cjs +1 -1
  16. package/lib/cjs/ui-react.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-indexed-db.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs-es6/ui-react.cjs +1 -1
  32. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  33. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +7 -5
  34. package/lib/debug/persisters/persister-electric-sql.js +8 -5
  35. package/lib/debug/persisters/persister-expo-sqlite-next.js +8 -6
  36. package/lib/debug/persisters/persister-expo-sqlite.js +7 -5
  37. package/lib/debug/persisters/persister-indexed-db.js +1 -0
  38. package/lib/debug/persisters/persister-sqlite-wasm.js +7 -5
  39. package/lib/debug/persisters/persister-sqlite3.js +7 -5
  40. package/lib/debug/tools.js +9 -37
  41. package/lib/debug/ui-react.js +1 -1
  42. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  43. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  44. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  45. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  46. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  47. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  48. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  49. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  50. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  51. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  52. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  53. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  54. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  55. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  56. package/lib/es6/ui-react.js +1 -1
  57. package/lib/es6/ui-react.js.gz +0 -0
  58. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  59. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  60. package/lib/persisters/persister-electric-sql.js +1 -1
  61. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  62. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  63. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  64. package/lib/persisters/persister-expo-sqlite.js +1 -1
  65. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  66. package/lib/persisters/persister-indexed-db.js +1 -1
  67. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  68. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  69. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  70. package/lib/persisters/persister-sqlite3.js +1 -1
  71. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  72. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -3
  73. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  74. package/lib/types/with-schemas/internal/store.d.ts +4 -3
  75. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -4
  76. package/lib/ui-react.js +1 -1
  77. package/lib/ui-react.js.gz +0 -0
  78. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  79. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  80. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  81. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  82. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  83. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  84. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  85. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  86. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  87. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  88. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  89. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  90. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  91. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  92. package/lib/umd/ui-react.js +1 -1
  93. package/lib/umd/ui-react.js.gz +0 -0
  94. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  95. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  96. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  97. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  98. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  99. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  100. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  101. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  102. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  103. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  104. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  105. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  106. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  107. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  108. package/lib/umd-es6/ui-react.js +1 -1
  109. package/lib/umd-es6/ui-react.js.gz +0 -0
  110. package/package.json +21 -21
  111. package/readme.md +1 -1
@@ -188,9 +188,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
188
188
  }
189
189
  if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
190
190
  await cmd(
191
- `CREATE TABLE${escapeId(tableName)}(${escapeId(
192
- rowIdColumnName,
193
- )} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
191
+ `CREATE TABLE${escapeId(tableName)}(${escapeId(rowIdColumnName)} PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
194
192
  arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
195
193
  )});`,
196
194
  );
@@ -514,6 +512,7 @@ const createJsonSqlitePersister = (
514
512
  [storeTableName],
515
513
  managedTableNames,
516
514
  db,
515
+ getThing,
517
516
  ) => {
518
517
  const [refreshSchema, loadTable, saveTable, transaction] =
519
518
  getCommandFunctions(cmd, managedTableNames, onIgnoredError);
@@ -546,7 +545,7 @@ const createJsonSqlitePersister = (
546
545
  addPersisterListener,
547
546
  delPersisterListener,
548
547
  onIgnoredError,
549
- ['getDb', db],
548
+ [getThing, db],
550
549
  db,
551
550
  );
552
551
  return persister;
@@ -565,6 +564,7 @@ const createTabularSqlitePersister = (
565
564
  ],
566
565
  managedTableNames,
567
566
  db,
567
+ getThing,
568
568
  ) => {
569
569
  const [refreshSchema, loadTable, saveTable, transaction] =
570
570
  getCommandFunctions(cmd, managedTableNames, onIgnoredError);
@@ -651,7 +651,7 @@ const createTabularSqlitePersister = (
651
651
  addPersisterListener,
652
652
  delPersisterListener,
653
653
  onIgnoredError,
654
- ['getDb', db],
654
+ [getThing, db],
655
655
  db,
656
656
  );
657
657
  return persister;
@@ -762,6 +762,7 @@ const createSqlitePersister = (
762
762
  onSqlCommand,
763
763
  onIgnoredError,
764
764
  db,
765
+ getThing = 'getDb',
765
766
  ) => {
766
767
  let dataVersion;
767
768
  let schemaVersion;
@@ -823,6 +824,7 @@ const createSqlitePersister = (
823
824
  defaultedConfig,
824
825
  collValues(managedTableNamesSet),
825
826
  db,
827
+ getThing,
826
828
  );
827
829
  };
828
830
 
@@ -155,9 +155,7 @@ const getTheContentOfTheStoreDoc = (content = 0, verb, set = 0, has = 0) =>
155
155
  (set ? ' when setting it' : EMPTY_STRING);
156
156
  const getRowTypeDoc = (tableId, set = 0) =>
157
157
  REPRESENTS +
158
- ` a Row when ${
159
- set ? 's' : 'g'
160
- }etting ${getTheContentOfDoc()} the '${tableId}' ` +
158
+ ` a Row when ${set ? 's' : 'g'}etting ${getTheContentOfDoc()} the '${tableId}' ` +
161
159
  TABLE;
162
160
  const getIdsDoc = (idsNoun, parentNoun, sorted = 0) =>
163
161
  `Gets ${sorted ? 'sorted, paginated' : 'the'} Ids of the ${idsNoun}s in ` +
@@ -372,9 +370,7 @@ const getCodeFunctions = () => {
372
370
  const getTypes = () =>
373
371
  mapMap(types, ([body, doc, generic, exported], name) => [
374
372
  comment(doc),
375
- `${
376
- exported ? EXPORT + ' ' : EMPTY_STRING
377
- }type ${name}${generic} = ${body};`,
373
+ `${exported ? EXPORT + ' ' : EMPTY_STRING}type ${name}${generic} = ${body};`,
378
374
  EMPTY_STRING,
379
375
  ]);
380
376
  const getConstants = () =>
@@ -455,9 +451,7 @@ const getTypeFunctions = (
455
451
  ...mapCellSchema(
456
452
  tableId,
457
453
  (cellId, type, defaultValue) =>
458
- `'${cellId}'${
459
- isUndefined(defaultValue) ? '?' : EMPTY_STRING
460
- }: ${type}`,
454
+ `'${cellId}'${isUndefined(defaultValue) ? '?' : EMPTY_STRING}: ${type}`,
461
455
  ),
462
456
  ) +
463
457
  '}',
@@ -792,9 +786,7 @@ const getTypeFunctions = (
792
786
  getFieldTypeList(
793
787
  ...mapValuesSchema(
794
788
  (valueId, type, defaultValue) =>
795
- `'${valueId}'${
796
- isUndefined(defaultValue) ? '?' : EMPTY_STRING
797
- }: ${type}`,
789
+ `'${valueId}'${isUndefined(defaultValue) ? '?' : EMPTY_STRING}: ${type}`,
798
790
  ),
799
791
  ),
800
792
  getTheContentOfTheStoreDoc(2, 5),
@@ -910,9 +902,7 @@ const storeListener = (
910
902
  beforeParameters = EMPTY_STRING,
911
903
  afterParameters = EMPTY_STRING,
912
904
  ) =>
913
- `store.${method}(${
914
- beforeParameters ? beforeParameters + ', ' : EMPTY_STRING
915
- }proxy(listener)${afterParameters ? ', ' + afterParameters : EMPTY_STRING})`;
905
+ `store.${method}(${beforeParameters ? beforeParameters + ', ' : EMPTY_STRING}proxy(listener)${afterParameters ? ', ' + afterParameters : EMPTY_STRING})`;
916
906
  const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
917
907
  const [
918
908
  build,
@@ -1521,14 +1511,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
1521
1511
  `[${CELL_ID}]: {[${addConstant(
1522
1512
  snake(TYPE),
1523
1513
  `'${TYPE}'`,
1524
- )}]: ${addConstant(snake(type), `'${type}'`)}${
1525
- isUndefined(defaultValue)
1526
- ? EMPTY_STRING
1527
- : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` +
1528
- (isString(defaultValue)
1529
- ? addConstant(snake(defaultValue), `'${defaultValue}'`)
1530
- : defaultValue)
1531
- }},`,
1514
+ )}]: ${addConstant(snake(type), `'${type}'`)}${isUndefined(defaultValue) ? EMPTY_STRING : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` + (isString(defaultValue) ? addConstant(snake(defaultValue), `'${defaultValue}'`) : defaultValue)}},`,
1532
1515
  ),
1533
1516
  `},`,
1534
1517
  ]),
@@ -1690,14 +1673,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
1690
1673
  `[${VALUE_ID}]: {[${addConstant(
1691
1674
  snake(TYPE),
1692
1675
  `'${TYPE}'`,
1693
- )}]: ${addConstant(snake(type), `'${type}'`)}${
1694
- isUndefined(defaultValue)
1695
- ? EMPTY_STRING
1696
- : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` +
1697
- (isString(defaultValue)
1698
- ? addConstant(snake(defaultValue), `'${defaultValue}'`)
1699
- : defaultValue)
1700
- }},`,
1676
+ )}]: ${addConstant(snake(type), `'${type}'`)}${isUndefined(defaultValue) ? EMPTY_STRING : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` + (isString(defaultValue) ? addConstant(snake(defaultValue), `'${defaultValue}'`) : defaultValue)}},`,
1701
1677
  ]),
1702
1678
  '})',
1703
1679
  );
@@ -2016,16 +1992,12 @@ const getStoreUiReactApi = (
2016
1992
  const lines = location
2017
1993
  ? [
2018
1994
  EXPORT +
2019
- ` const ${name}: typeof ${name}Decl = ${generic}(${parameters}): ${
2020
- returnType == 1 ? 'any' : returnType
2021
- } =>`,
1995
+ ` const ${name}: typeof ${name}Decl = ${generic}(${parameters}): ${returnType == 1 ? 'any' : returnType} =>`,
2022
1996
  body,
2023
1997
  ]
2024
1998
  : [
2025
1999
  EXPORT +
2026
- ` function ${name}${generic}(${parameters}): ${
2027
- returnType == 1 ? 'ComponentReturnType' : returnType
2028
- };`,
2000
+ ` function ${name}${generic}(${parameters}): ${returnType == 1 ? 'ComponentReturnType' : returnType};`,
2029
2001
  ];
2030
2002
  if (!location) {
2031
2003
  arrayUnshift(lines, comment(doc));
@@ -125,7 +125,7 @@ const useListenable = (
125
125
  const getResult = useCallback$2(
126
126
  () => thing?.[getterPrefix + listenable]?.(...args) ?? defaulted,
127
127
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
128
- [thing, listenable, ...args, defaulted],
128
+ [thing, getterPrefix, listenable, ...args, defaulted],
129
129
  );
130
130
  const result = useRef$1();
131
131
  useMemo$1(() => (result.current = getResult()), [getResult]);
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,d=(e,n,l)=>u(e)?null==l?void 0:l():n(e),a=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",h=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),N=R.keys,x=R.freeze,D=(e=[])=>R.fromEntries(e),S=(...e)=>R.assign({},...e),g=(e,n)=>m(R.entries(e),(([e,l])=>n(l,e))),C=e=>R.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&d(w(e),(e=>e==R.prototype||u(w(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(g(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||u(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&K(e,l,n[l]);if(G)for(var l of G(n))z.call(n,l)&&K(e,l,n[l]);return e},q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>q(void 0,null,(function*(){return W(o,D(yield s(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>q(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(T(m(yield e(Q+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,d,a=!1)=>q(void 0,null,(function*(){const c=U();g(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>Y(c,e)))));const v=P(c);if(!a&&d&&O(v)&&L(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(v)||L(o,n)){const l=_(o,n),r=U($(l));yield s([...m(v,(t=>q(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${p(n)}ADD${p(t)}`),B(l,t,""))})))),...!a&&i?m(P(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(t)} PRIMARY KEY ON CONFLICT REPLACE${h(m(v,(e=>l+p(e))))});`),B(o,n,M([[t,""],...m(v,(e=>[e,""]))]));if(a)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield s(g(r,((l,o)=>q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+p(n)+Z+p(t)+"=?",[o]):O(v)||(yield ne(e,n,t,N(l),[o,...C(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];g(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+p(n)+Z+p(t)+"NOT IN("+le(u)+")",u)}})),n=>q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(t)+h(m(r,(e=>l+p(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+p(t)+")DO UPDATE SET"+h(m(r,(e=>p(e)+"=excluded."+p(e))),l),i)})),le=e=>h(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,a]=[],c=[])=>{let v,s,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>oe(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}B(re,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>a),x(h)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae="store",ce=(e,n,l,t,o,[r],i,u)=>{const[d,a,c,v]=ee(n,i,o);return ue(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield a(r,f))[y])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield c(r,f,{[y]:{[ae]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[d,a,c]],v,p)=>{const[E,h,m,O]=ee(n,v,o),A=(e,n)=>ve(void 0,null,(function*(){return yield s(j(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return a?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return D(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return d?(yield h(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield A(n),yield L(l)}else{const[e,l]=n();yield A(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",Ee="tableId",he="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[he]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return g(e,((e,r)=>{const i=c(C(S(n,a(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",be="schema_version",Re=(e,l,t,o,r,u,d,v)=>{let s,y,p;const[h,m,O,T]=(e=>{const l=(e=>S(me,a(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],U(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(C(S(Oe,i)),0,I(Oe)),d=u[2],v=U(d);return[0,t,[Te(o,{[Ee]:null,[pe]:f},Ee,(e=>Y(v,e)&&e==d)),Te(r,{[he]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},he,((e,n)=>Y(v,n)&&n==d)),u],v]})(l);return(h?ce:se)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=p?p:p=o)||(e(),s=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),s=y=null,r(n)}),d,O,P(T),v)},we=(e,n,l,t,o)=>Re(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{we as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,d=(e,n,l)=>u(e)?null==l?void 0:l():n(e),a=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",h=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),N=b.keys,x=b.freeze,S=(e=[])=>b.fromEntries(e),C=(...e)=>b.assign({},...e),D=(e,n)=>m(b.entries(e),(([e,l])=>n(l,e))),g=e=>b.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&d(w(e),(e=>e==b.prototype||u(w(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(R(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(D(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),U=e=>new Set(Array.isArray(e)||u(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&K(e,l,n[l]);if(G)for(var l of G(n))z.call(n,l)&&K(e,l,n[l]);return e},q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>q(void 0,null,(function*(){return W(o,S(yield s(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>q(void 0,[n],(function*({name:n}){return[n,S(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?S(T(m(yield e(Q+p(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,d,a=!1)=>q(void 0,null,(function*(){const c=U();D(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>Y(c,e)))));const v=P(c);if(!a&&d&&O(v)&&L(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(v)||L(o,n)){const l=_(o,n),r=U($(l));yield s([...m(v,(t=>q(void 0,null,(function*(){R(r,t)||(yield e(`ALTER TABLE${p(n)}ADD${p(t)}`),B(l,t,""))})))),...!a&&i?m(P(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(t)} PRIMARY KEY ON CONFLICT REPLACE${h(m(v,(e=>l+p(e))))});`),B(o,n,M([[t,""],...m(v,(e=>[e,""]))]));if(a)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield s(D(r,((l,o)=>q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+p(n)+Z+p(t)+"=?",[o]):O(v)||(yield ne(e,n,t,N(l),[o,...g(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+p(n)+Z+p(t)+"NOT IN("+le(u)+")",u)}})),n=>q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(t)+h(m(r,(e=>l+p(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+p(t)+")DO UPDATE SET"+h(m(r,(e=>p(e)+"=excluded."+p(e))),l),i)})),le=e=>h(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,a]=[],c=[])=>{let v,s,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>oe(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}B(re,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>a),x(h)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ae="store",ce=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=ee(n,i,o);return ue(e,(()=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[ae])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield s((()=>de(void 0,null,(function*(){var n,l;yield a(),yield v(r,f,{[y]:{[ae]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[d,a,c]],v,p,E)=>{const[h,m,O,A]=ee(n,v,o),L=(e,n)=>ve(void 0,null,(function*(){return yield s(j(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return a?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield h();const e=yield ve(void 0,null,(function*(){return S(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return d?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield h(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",Ee="tableId",he="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[he]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return D(e,((e,r)=>{const i=c(g(C(n,a(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",Re="schema_version",be=(e,l,t,o,r,u,d,v,s="getDb")=>{let y,p,h;const[m,O,T,A]=(e=>{const l=(e=>C(me,a(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],U(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(g(C(Oe,i)),0,I(Oe)),d=u[2],v=U(d);return[0,t,[Te(o,{[Ee]:null,[pe]:f},Ee,(e=>Y(v,e)&&e==d)),Te(r,{[he]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},he,((e,n)=>Y(v,n)&&n==d)),u],v]})(l);return(m?ce:se)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+Re))[0][Re],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),y=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=p=null,r(n)}),d,T,P(A),v,s)},we=(e,n,l,t,o)=>be(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{we as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),T=e=>0==s(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,R=e=>w.getPrototypeOf(e),N=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),C=(...e)=>w.assign({},...e),S=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),x=e=>w.values(e),I=e=>s(N(e)),F=e=>(e=>!u(e)&&a(R(e),(e=>e==w.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(P(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(b(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(S(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,D(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(O(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();S(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&a&&T(s)&&b(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(T(s)||b(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(S(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):T(s)||(yield ne(e,n,t,N(l),[o,...x(l)]))})))));else if(T(s))b(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield c(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h)=>{const[E,p,m,T]=ee(n,s,o),A=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),b=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return D(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield p(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield A(n),yield b(l)}else{const[e,l]=n();yield A(e,!0),yield b(l,!0)}}))))}))),l,t,o,["getDb",h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return S(e,((e,r)=>{const i=c(x(C(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const be="pragma ",Le="data_version",Pe="schema_version",we=(e,l,t,o,r,u,a,s)=>{let v,y,h;const[p,m,T,O]=(e=>{const l=(e=>C(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(x(C(Te,i)),0,I(Te)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(p?ce:ve)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(be+Le))[0][Le],l=(yield t(be+Pe))[0][Pe],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&l==(null!=y?y:y=l)&&o==(null!=h?h:h=o)||(e(),v=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),v=y=null,r(n)}),a,T,L(O),s)},Re=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n);export{Re as createElectricSqlPersister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),T=e=>0==s(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,R=e=>w.getPrototypeOf(e),N=w.keys,g=w.freeze,C=(e=[])=>w.fromEntries(e),D=(...e)=>w.assign({},...e),S=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),x=e=>w.values(e),I=e=>s(N(e)),F=e=>(e=>!u(e)&&a(R(e),(e=>e==w.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(P(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(b(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(S(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,C(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,C(m(yield e(h+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?C(O(m(yield e(Q+E(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();S(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const s=L(c);if(!d&&a&&T(s)&&b(o,n))return yield e("DROP TABLE"+E(n)),void B(o,n);if(T(s)||b(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),B(l,t,""))})))),...!d&&i?m(L(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+E(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield v(S(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+E(n)+Z+E(t)+"=?",[o]):T(s)||(yield ne(e,n,t,N(l),[o,...x(l)]))})))));else if(T(s))b(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+E(n)+Z+E(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+p(m(r,(e=>l+E(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+p(m(r,(e=>E(e)+"=excluded."+E(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,E=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),E=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve=(e,n,l,t,o,[r,i,[a,d,c]],s,E,h)=>{const[p,m,T,A]=ee(n,s,o),b=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield T(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield T(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield p();const e=yield se(void 0,null,(function*(){return C(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,[h,E],E)},ye="json",fe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",pe="tableName",me={mode:ye,[fe]:1},Te={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return S(e,((e,r)=>{const i=c(x(D(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const be="pragma ",Le="data_version",Pe="schema_version",we=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,E,p;const[m,T,O,A]=(e=>{const l=(e=>D(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(x(D(Te,i)),0,I(Te)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[he]:null,[Ee]:f},he,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[Ee]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(m?ce:ve)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(be+Le))[0][Le],l=(yield t(be+Pe))[0][Pe],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=E?E:E=l)&&o==(null!=p?p:p=o)||(e(),y=n,E=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=E=null,r(n)}),a,O,L(A),s,v)},Re=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{Re as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=e=>n(e)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==s(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),x=R.keys,D=R.freeze,S=(e=[])=>R.fromEntries(e),g=(...e)=>R.assign({},...e),C=(e,n)=>A(R.entries(e),(([e,l])=>n(l,e))),I=e=>R.values(e),F=e=>s(x(e)),M=e=>(e=>!a(e)&&d(w(e),(e=>e==R.prototype||a(w(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(P(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(C(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!a(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),k=e=>new Set(Array.isArray(e)||a(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&K(e,l,n[l]);if(U)for(var l of U(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,l)=>{const o=$();return[()=>Q(void 0,null,(function*(){return Y(o,S(yield y(A(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,S(A(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,Y(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!a(j(j(o,e),n)))(n,l)?S(T(A(yield e(X+E(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!M(n)))):{}})),(n,l,r,i,u,d=!1)=>Q(void 0,null,(function*(){const c=k();C(null!=r?r:{},(e=>A(x(null!=e?e:{}),(e=>G(c,e)))));const v=b(c);if(!d&&u&&O(v)&&P(o,n))return yield e("DROP TABLE"+E(n)),void H(o,n);if(O(v)||P(o,n)){const t=j(o,n),r=k(_(t));yield y([...A(v,(l=>Q(void 0,null,(function*(){N(r,l)||(yield e(`ALTER TABLE${E(n)}ADD${E(l)}`),H(t,l,""))})))),...!d&&i?A(b(r),(o=>Q(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),H(t,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(l)} PRIMARY KEY ON CONFLICT REPLACE${m(A(v,(e=>t+E(e))))});`),H(o,n,$([[l,""],...A(v,(e=>[e,""]))]));if(d)a(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(C(r,((t,o)=>Q(void 0,null,(function*(){a(t)?yield e("DELETE FROM"+E(n)+ee+E(l)+"=?",[o]):O(v)||(yield le(e,n,l,x(t),[o,...I(t)]))})))));else if(O(v))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=T(_(j(o,n)),(e=>e!=l)),i=[],u=[];C(null!=r?r:{},((e,n)=>{L(i,n,...A(t,(n=>null==e?void 0:e[n]))),L(u,n)})),yield le(e,n,l,t,i),yield e("DELETE FROM"+E(n)+ee+E(l)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},le=(e,n,l,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(l)+m(A(o,(e=>t+E(e))))+")VALUES"+v(r(`,(?${r(",?",s(o))})`,s(i)/(s(o)+1)),1)+"ON CONFLICT("+E(l)+")DO UPDATE SET"+m(A(o,(e=>E(e)+"=excluded."+E(e))),t),i)})),te=e=>m(A(e,(()=>"?")),t),oe=JSON.parse;var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return L(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!a((e=j(ue,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),D(h)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ce="store",ve=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield d(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield a(),yield c(r,p,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye=(e,n,l,t,o,[r,i,[u,d,c]],v,s)=>{const[E,h,m,A]=ne(n,v,o),O=(e,n)=>se(void 0,null,(function*(){return yield y(B(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return S(T(yield y(B(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return u?(yield h(c,p))[f]:{}}));return M(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield O(n),yield L(l)}else{const[e,l]=n();yield O(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",s],s)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Ae={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:l+"_values"},Te=(e,n,l,t)=>{const o=$();return C(e,((e,r)=>{const i=v(I(g(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||H(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",be="data_version",Ne="schema_version",Re=(e,n,t,o,r,i,a,d)=>{let s,y,f;const[E,m,A,O]=(e=>{const n=(e=>g(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[pe];if(n.mode==fe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(I(g(Oe,i)),0,F(Oe)),a=u[2],d=k(a);return[0,t,[Te(o,{[he]:null,[Ee]:p},he,(e=>G(d,e)&&e==a)),Te(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(d,n)&&n==a)),u],d]})(n);return(E?ve:ye)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+be))[0][be],l=(yield t(Pe+Ne))[0][Ne],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=f?f:f=o)||(e(),s=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),s=y=null,r(n)}),a,A,b(O),d)},we=(n,l,t,o,r)=>Re(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.allAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{we as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=e=>n(e)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==s(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),x=R.keys,S=R.freeze,g=(e=[])=>R.fromEntries(e),C=(...e)=>R.assign({},...e),D=(e,n)=>A(R.entries(e),(([e,l])=>n(l,e))),I=e=>R.values(e),F=e=>s(x(e)),M=e=>(e=>!d(e)&&a(w(e),(e=>e==R.prototype||d(w(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>d(l)?(N(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(P(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(D(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),k=e=>new Set(Array.isArray(e)||d(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&K(e,l,n[l]);if(U)for(var l of U(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,l)=>{const o=$();return[()=>Q(void 0,null,(function*(){return Y(o,g(yield y(A(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,g(A(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,Y(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!d(j(j(o,e),n)))(n,l)?g(T(A(yield e(X+E(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!M(n)))):{}})),(n,l,r,i,u,a=!1)=>Q(void 0,null,(function*(){const c=k();D(null!=r?r:{},(e=>A(x(null!=e?e:{}),(e=>G(c,e)))));const v=b(c);if(!a&&u&&O(v)&&P(o,n))return yield e("DROP TABLE"+E(n)),void H(o,n);if(O(v)||P(o,n)){const t=j(o,n),r=k(_(t));yield y([...A(v,(l=>Q(void 0,null,(function*(){N(r,l)||(yield e(`ALTER TABLE${E(n)}ADD${E(l)}`),H(t,l,""))})))),...!a&&i?A(b(r),(o=>Q(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),H(t,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(l)} PRIMARY KEY ON CONFLICT REPLACE${m(A(v,(e=>t+E(e))))});`),H(o,n,$([[l,""],...A(v,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(D(r,((t,o)=>Q(void 0,null,(function*(){d(t)?yield e("DELETE FROM"+E(n)+ee+E(l)+"=?",[o]):O(v)||(yield le(e,n,l,x(t),[o,...I(t)]))})))));else if(O(v))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=T(_(j(o,n)),(e=>e!=l)),i=[],u=[];D(null!=r?r:{},((e,n)=>{L(i,n,...A(t,(n=>null==e?void 0:e[n]))),L(u,n)})),yield le(e,n,l,t,i),yield e("DELETE FROM"+E(n)+ee+E(l)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},le=(e,n,l,o,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(l)+m(A(o,(e=>t+E(e))))+")VALUES"+v(r(`,(?${r(",?",s(o))})`,s(i)/(s(o)+1)),1)+"ON CONFLICT("+E(l)+")DO UPDATE SET"+m(A(o,(e=>E(e)+"=excluded."+E(e))),t),i)})),te=e=>m(A(e,(()=>"?")),t),oe=JSON.parse;var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie=$(),ue=$(),de=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(a(v,e.delListener),v=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return L(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!d((e=j(ue,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),S(h)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ce="store",ve=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield v(r,p,{[f]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye=(e,n,l,t,o,[r,i,[u,a,c]],v,s,E)=>{const[h,m,A,O]=ne(n,v,o),L=(e,n)=>se(void 0,null,(function*(){return yield y(B(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),P=(e,n)=>se(void 0,null,(function*(){return a?yield A(c,p,{[f]:e},!0,!0,n):null}));return de(e,(()=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){yield h();const e=yield se(void 0,null,(function*(){return g(T(yield y(B(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return M(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){if(yield h(),d(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,s],s)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Ae={mode:fe,[pe]:1},Oe={load:0,save:0,[me]:l+"_values"},Te=(e,n,l,t)=>{const o=$();return D(e,((e,r)=>{const i=v(I(C(n,c(e)?{[l]:e}:e)),0,F(n));d(i[0])||t(r,i[0])||H(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",be="data_version",Ne="schema_version",Re=(e,n,t,o,r,i,d,a,s="getDb")=>{let y,f,E;const[m,A,O,T]=(e=>{const n=(e=>C(Ae,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[pe];if(n.mode==fe){const{storeTableName:e=l}=n;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(I(C(Oe,i)),0,F(Oe)),d=u[2],a=k(d);return[0,t,[Te(o,{[he]:null,[Ee]:p},he,(e=>G(a,e)&&e==d)),Te(r,{[me]:null,[Ee]:p,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(a,n)&&n==d)),u],a]})(n);return(m?ve:ye)(e,i?(e,n)=>Le(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+be))[0][be],l=(yield t(Pe+Ne))[0][Ne],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)&&o==(null!=E?E:E=o)||(e(),y=n,f=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),y=f=null,r(n)}),d,O,b(T),a,s)},we=(n,l,t,o,r)=>Re(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{we as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),A=e=>0==s(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),R=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),x=(...e)=>w.assign({},...e),C=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),I=e=>s(R(e)),F=e=>(e=>!u(e)&&a(N(e),(e=>e==w.prototype||u(N(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(C(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,D(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(O(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>m(R(null!=e?e:{}),(e=>k(c,e)))));const s=P(c);if(!d&&a&&A(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(A(s)||L(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(P(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(C(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):A(s)||(yield ne(e,n,t,R(l),[o,...S(l)]))})))));else if(A(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{T(i,n,...m(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return T(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield c(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h)=>{const[E,p,m,A]=ee(n,s,o),T=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return D(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield p(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield T(n),yield L(l)}else{const[e,l]=n();yield T(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Ae={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return C(e,((e,r)=>{const i=c(S(x(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",be="schema_version",we=(e,l,t,o,r,u,a,s)=>{let v,y,h;const[p,m,A,O]=(e=>{const l=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(S(x(Ae,i)),0,I(Ae)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(p?ce:ve)(e,u?(e,n)=>Te(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&l==(null!=y?y:y=l)&&o==(null!=h?h:h=o)||(e(),v=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>O.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),v=y=null,r(n)}),a,A,P(O),s)},Ne=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Ne as createExpoSqlitePersister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),A=e=>0==s(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),R=w.keys,g=w.freeze,x=(e=[])=>w.fromEntries(e),C=(...e)=>w.assign({},...e),D=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),S=e=>w.values(e),I=e=>s(R(e)),F=e=>(e=>!u(e)&&a(N(e),(e=>e==w.prototype||u(N(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(D(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,K=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&z(e,l,n[l]);if(J)for(var l of J(n))q.call(n,l)&&z(e,l,n[l]);return e},V=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>V(void 0,null,(function*(){return W(o,x(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>V(void 0,[n],(function*({name:n}){return[n,x(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>V(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?x(O(m(yield e(Q+h(n)),(e=>{return[e[l],(n=K({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>V(void 0,null,(function*(){const c=Y();D(null!=r?r:{},(e=>m(R(null!=e?e:{}),(e=>k(c,e)))));const s=P(c);if(!d&&a&&A(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(A(s)||L(o,n)){const l=_(o,n),r=Y($(l));yield v([...m(s,(t=>V(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(P(r),(o=>V(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(D(r,((l,o)=>V(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):A(s)||(yield ne(e,n,t,R(l),[o,...S(l)]))})))));else if(A(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O($(_(o,n)),(e=>e!=t)),i=[],u=[];D(null!=r?r:{},((e,n)=>{T(i,n,...m(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>V(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>V(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return T(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve=(e,n,l,t,o,[r,i,[a,d,c]],s,h,E)=>{const[p,m,A,T]=ee(n,s,o),L=(e,n)=>se(void 0,null,(function*(){return yield v(j(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),P=(e,n)=>se(void 0,null,(function*(){return d?yield A(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){yield p();const e=yield se(void 0,null,(function*(){return x(O(yield v(j(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield T((()=>se(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Ae={load:0,save:0,[pe]:n+"_values"},Oe=(e,n,l,t)=>{const o=M();return D(e,((e,r)=>{const i=c(S(C(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Te=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",be="schema_version",we=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,h,p;const[m,A,O,T]=(e=>{const l=(e=>C(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(S(C(Ae,i)),0,I(Ae)),a=u[2],s=Y(a);return[0,t,[Oe(o,{[Ee]:null,[he]:f},Ee,(e=>k(s,e)&&e==a)),Oe(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(s,n)&&n==a)),u],s]})(l);return(m?ce:ve)(e,u?(e,n)=>Te(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Te(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),y=n,h=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=h=null,r(n)}),a,O,P(T),s,v)},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 +1 @@
1
- const e=Promise,t=clearInterval,n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=t=>new e(t),r=t=>{return n=function*(){return e.all(t)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},u=(e,t)=>e.map(t),i=(e,...t)=>e.push(...t),d=Object,c=e=>d.getPrototypeOf(e),s=d.keys,a=d.freeze,v=e=>(e=>!n(e)&&o(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>s(e).length)(e),y=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),h=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},p=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||h(e,t,n()),f(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const w=y(),m=y();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const x=globalThis.window,P=["t","v"],S={keyPath:"k"},b=(e,t)=>A(void 0,null,(function*(){const l=((t,n)=>u(d.entries(t),(([t,n])=>L(e,"put",{k:t,v:n}))))(t);u(yield L(e,"getAllKeys"),(r=>((e,t)=>!n(((e,t)=>o(e,(e=>e[t])))(e,t)))(t,r)?0:i(l,L(e,"delete",r)))),yield r(l)})),L=(e,t,n)=>A(void 0,null,(function*(){return l(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))})),k=(e,c,s=1,y)=>{const k=(e,...t)=>A(void 0,[e,...t],(function*(e,t=[],n=0){return l(((o,l)=>{const i=x.indexedDB.open(c,n?2:void 0);i.onupgradeneeded=()=>n&&u(P,(e=>{try{i.result.createObjectStore(e,S)}catch(e){}})),i.onsuccess=()=>A(void 0,null,(function*(){try{const n=i.result.transaction(P,"readwrite"),l=yield r(u(P,((o,l)=>A(void 0,null,(function*(){return yield e(n.objectStore(o),t[l])})))));i.result.close(),o(l)}catch(e){l(e)}})),i.onerror=()=>l("indexedDB.open error")}))}));return((e,t,l,r,u,d,[c,s]=[],y=[])=>{let A,x,P,S=0,b=0;p(w,y,(()=>0)),p(m,y,(()=>[]));const L=e=>g(void 0,null,(function*(){return 2!=S&&(S=1,yield k.schedule((()=>g(void 0,null,(function*(){yield e(),S=0}))))),k})),k={load:(n,o)=>g(void 0,null,(function*(){return yield L((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return k.stopAutoLoad(),yield k.load(n,o),b=1,P=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield L((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield L((()=>g(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==d||d(e)}}))))})))),k})),stopAutoLoad:()=>(b&&(u(P),P=void 0,b=0),k),save:t=>g(void 0,null,(function*(){return 1!=S&&(S=2,yield k.schedule((()=>g(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==d||d(e)}S=0}))))),k})),startAutoSave:()=>g(void 0,null,(function*(){return yield k.stopAutoSave().save(),A=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||k.save((()=>[n,o]))})),k})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,k),schedule:(...e)=>g(void 0,null,(function*(){return i(f(m,y),...e),yield g(void 0,null,(function*(){if(!f(w,y)){for(h(w,y,1);!n((e=f(m,y),x=e.shift()));)try{yield x()}catch(e){null==d||d(e)}h(w,y,0)}var e})),k})),getStore:()=>e,destroy:()=>k.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(k[c]=()=>s),a(k)})(e,(()=>A(void 0,null,(function*(){return yield k((e=>A(void 0,null,(function*(){return((e=[])=>d.fromEntries(e))(u(yield L(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>A(void 0,null,(function*(){return yield k(((e,t)=>A(void 0,null,(function*(){return yield b(e,t)}))),e(),1)}))),(e=>setInterval(e,1e3*s)),(e=>t(e)),y,["getDbName",c])};export{k as createIndexedDbPersister,b as objectStoreMatch};
1
+ const e=Promise,t=clearInterval,n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=t=>new e(t),r=t=>{return n=function*(){return e.all(t)},new Promise(((e,t)=>{var o=e=>{try{r(n.next(e))}catch(e){t(e)}},l=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,l);r((n=n.apply(void 0,null)).next())}));var n},u=(e,t)=>e.map(t),i=(e,...t)=>e.push(...t),d=Object,c=e=>d.getPrototypeOf(e),s=d.keys,a=d.freeze,v=e=>(e=>!n(e)&&o(c(e),(e=>e==d.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>s(e).length)(e),y=e=>new Map(e),f=(e,t)=>null==e?void 0:e.get(t),h=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},p=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||h(e,t,n()),f(e,t)};var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const w=y(),m=y();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},u=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,u);i((n=n.apply(e,t)).next())}));const x=globalThis.window,P=["t","v"],S={keyPath:"k"},b=(e,t)=>A(void 0,null,(function*(){const l=((t,n)=>u(d.entries(t),(([t,n])=>L(e,"put",{k:t,v:n}))))(t);u(yield L(e,"getAllKeys"),(r=>((e,t)=>!n(((e,t)=>o(e,(e=>e[t])))(e,t)))(t,r)?0:i(l,L(e,"delete",r)))),yield r(l)})),L=(e,t,n)=>A(void 0,null,(function*(){return l(((o,l)=>{const r=e[t](n);r.onsuccess=()=>o(r.result),r.onerror=()=>l(`objectStore.${t} error`)}))})),k=(e,c,s=1,y)=>{const k=(e,...t)=>A(void 0,[e,...t],(function*(e,t=[],n=0){return l(((o,l)=>{const i=x.indexedDB.open(c,n?2:void 0);i.onupgradeneeded=()=>n&&u(P,(e=>{try{i.result.createObjectStore(e,S)}catch(e){}})),i.onsuccess=()=>A(void 0,null,(function*(){try{const n=i.result.transaction(P,"readwrite"),l=yield r(u(P,((o,l)=>A(void 0,null,(function*(){return yield e(n.objectStore(o),t[l])})))));i.result.close(),o(l)}catch(e){i.result.close(),l(e)}})),i.onerror=()=>l("indexedDB.open error")}))}));return((e,t,l,r,u,d,[c,s]=[],y=[])=>{let A,x,P,S=0,b=0;p(w,y,(()=>0)),p(m,y,(()=>[]));const L=e=>g(void 0,null,(function*(){return 2!=S&&(S=1,yield k.schedule((()=>g(void 0,null,(function*(){yield e(),S=0}))))),k})),k={load:(n,o)=>g(void 0,null,(function*(){return yield L((()=>g(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>g(void 0,[...n],(function*(n={},o={}){return k.stopAutoLoad(),yield k.load(n,o),b=1,P=r(((n,o)=>g(void 0,null,(function*(){if(o){const t=o();yield L((()=>g(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield L((()=>g(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==d||d(e)}}))))})))),k})),stopAutoLoad:()=>(b&&(u(P),P=void 0,b=0),k),save:t=>g(void 0,null,(function*(){return 1!=S&&(S=2,yield k.schedule((()=>g(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==d||d(e)}S=0}))))),k})),startAutoSave:()=>g(void 0,null,(function*(){return yield k.stopAutoSave().save(),A=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();v(n)&&v(o)||k.save((()=>[n,o]))})),k})),stopAutoSave:()=>(o(A,e.delListener),A=void 0,k),schedule:(...e)=>g(void 0,null,(function*(){return i(f(m,y),...e),yield g(void 0,null,(function*(){if(!f(w,y)){for(h(w,y,1);!n((e=f(m,y),x=e.shift()));)try{yield x()}catch(e){null==d||d(e)}h(w,y,0)}var e})),k})),getStore:()=>e,destroy:()=>k.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(k[c]=()=>s),a(k)})(e,(()=>A(void 0,null,(function*(){return yield k((e=>A(void 0,null,(function*(){return((e=[])=>d.fromEntries(e))(u(yield L(e,"getAll"),(({k:e,v:t})=>[e,t])))}))))}))),(e=>A(void 0,null,(function*(){return yield k(((e,t)=>A(void 0,null,(function*(){return yield b(e,t)}))),e(),1)}))),(e=>setInterval(e,1e3*s)),(e=>t(e)),y,["getDbName",c])};export{k as createIndexedDbPersister,b as objectStoreMatch};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=n=>e(n)==l,c=(e,n,t)=>e.slice(n,t),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",E=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==s(e),b=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),L=Object,R=e=>L.getPrototypeOf(e),N=L.keys,g=L.freeze,S=(e=[])=>L.fromEntries(e),x=(...e)=>L.assign({},...e),D=(e,n)=>m(L.entries(e),(([e,t])=>n(t,e))),C=e=>L.values(e),I=e=>s(N(e)),j=e=>(e=>!u(e)&&a(R(e),(e=>e==L.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),_=e=>new Map(e),M=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return m([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},B=(e,n,t)=>u(t)?(w(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(T(e,n)||B(e,n,t()),F(e,n)),k=(e,n,t,l=B)=>(D(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),W=e=>new Set(Array.isArray(e)||u(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(G)for(var t of G(n))U.call(n,t)&&V(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Q=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,l)=>{const o=_();return[()=>K(void 0,null,(function*(){return k(o,S(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>K(void 0,[n],(function*({name:n}){return[n,S(m(yield e(h+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>B(o,n,k(H(o,n,_),t,((e,n,t)=>{t!=F(e,n)&&B(e,n,t)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!u(F(F(o,e),n)))(n,t)?S(b(m(yield e(Q+p(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!u(e)&&!j(n)))):{}})),(n,l,r,i,a,d=!1)=>K(void 0,null,(function*(){const c=W();D(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>Y(c,e)))));const s=A(c);if(!d&&a&&O(s)&&T(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(s)||T(o,n)){const t=F(o,n),r=W(M(t));yield v([...m(s,(l=>K(void 0,null,(function*(){w(r,l)||(yield e(`ALTER TABLE${p(n)}ADD${p(l)}`),B(t,l,""))})))),...!d&&i?m(A(r),(o=>K(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(t,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(l)} PRIMARY KEY ON CONFLICT REPLACE${E(m(s,(e=>t+p(e))))});`),B(o,n,_([[l,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield v(D(r,((t,o)=>K(void 0,null,(function*(){u(t)?yield e("DELETE FROM"+p(n)+Z+p(l)+"=?",[o]):O(s)||(yield ne(e,n,l,N(t),[o,...C(t)]))})))));else if(O(s))T(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const t=b(M(F(o,n)),(e=>e!=l)),i=[],u=[];D(null!=r?r:{},((e,n)=>{P(i,n,...m(t,(n=>null==e?void 0:e[n]))),P(u,n)})),yield ne(e,n,l,t,i),yield e("DELETE FROM"+p(n)+Z+p(l)+"NOT IN("+te(u)+")",u)}})),n=>K(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ne=(e,n,l,r,i)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(l)+E(m(r,(e=>t+p(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+p(l)+")DO UPDATE SET"+E(m(r,(e=>p(e)+"=excluded."+p(e))),t),i)})),te=e=>E(m(e,(()=>"?")),t),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=_(),ie=_(),ue=(e,n,t,l,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>oe(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();j(t)&&j(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>oe(void 0,null,(function*(){return P(F(ie,c),...e),yield oe(void 0,null,(function*(){if(!F(re,c)){for(B(re,c,1);!u((e=F(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>d),g(E)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de="store",ce=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),le(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,t;yield a(),yield c(r,f,{[y]:{[de]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,["getDb",u],u)};var se=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ve=(e,n,t,l,o,[r,i,[a,d,c]],s,p)=>{const[h,E,m,O]=ee(n,s,o),P=(e,n)=>se(void 0,null,(function*(){return yield v($(i,((t,l)=>se(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield m(t,l,u,o,r,n))})))))})),T=(e,n)=>se(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){yield h();const e=yield se(void 0,null,(function*(){return S(b(yield v($(r,((e,n)=>se(void 0,[e,n],(function*([e,n],t){return[e,yield E(t,n)]}))))),(e=>!j(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield E(c,f))[y]:{}}));return j(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield O((()=>se(void 0,null,(function*(){if(yield h(),u(n)){const[n,t]=e();yield P(n),yield T(t)}else{const[e,t]=n();yield P(e,!0),yield T(t,!0)}}))))}))),t,l,o,["getDb",p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[Ee]:n+"_values"},be=(e,n,t,l)=>{const o=_();return D(e,((e,r)=>{const i=c(C(x(n,d(e)?{[t]:e}:e)),0,I(n));u(i[0])||l(r,i[0])||B(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Te="pragma ",Ae="data_version",we="schema_version",Le=(e,t,l,o,r,u,a,s)=>{let v,y,p;const[E,m,O,b]=(e=>{const t=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[fe];if(t.mode==ye){const{storeTableName:e=n}=t;return[1,l,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(C(x(Oe,i)),0,I(Oe)),a=u[2],s=W(a);return[0,l,[be(o,{[he]:null,[pe]:f},he,(e=>Y(s,e)&&e==a)),be(r,{[Ee]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>Y(s,n)&&n==a)),u],s]})(t);return(E?ce:ve)(e,u?(e,n)=>Pe(void 0,null,(function*(){return u(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Te+Ae))[0][Ae],t=(yield l(Te+we))[0][we],o=(yield l(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=v?v:v=n)&&t==(null!=y?y:y=t)&&o==(null!=p?p:p=o)||(e(),v=n,y=t)}catch(e){}})),t=m,n(),setInterval(n,1e3*t)),o((n=>b.has(n)?e():0))];var n,t}),(([e,n])=>{i(e),v=y=null,r(n)}),a,O,A(b),s)};var Re=Object.defineProperty,Ne=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,xe=(e,n,t)=>n in e?Re(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const De=(e,n,t,l,o,r)=>Le(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))ge.call(n,t)&&xe(e,t,n[t]);if(Ne)for(var t of Ne(n))Se.call(n,t)&&xe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=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(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);export{De as createSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=n=>e(n)==l,c=(e,n,t)=>e.slice(n,t),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,t)=>{var l=e=>{try{r(n.next(e))}catch(e){t(e)}},o=e=>{try{r(n.throw(e))}catch(e){t(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",E=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==s(e),b=(e,n)=>e.filter(n),P=(e,...n)=>e.push(...n),T=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),L=Object,R=e=>L.getPrototypeOf(e),N=L.keys,S=L.freeze,g=(e=[])=>L.fromEntries(e),x=(...e)=>L.assign({},...e),C=(e,n)=>m(L.entries(e),(([e,t])=>n(t,e))),D=e=>L.values(e),I=e=>s(N(e)),j=e=>(e=>!u(e)&&a(R(e),(e=>e==L.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),_=e=>new Map(e),M=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},F=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return m([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},B=(e,n,t)=>u(t)?(w(e,n),e):null==e?void 0:e.set(n,t),H=(e,n,t)=>(T(e,n)||B(e,n,t()),F(e,n)),k=(e,n,t,l=B)=>(C(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),W=e=>new Set(Array.isArray(e)||u(e)?e:[e]),Y=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,G=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(G)for(var t of G(n))U.call(n,t)&&V(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Q=h+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,l)=>{const o=_();return[()=>K(void 0,null,(function*(){return k(o,g(yield v(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>K(void 0,[n],(function*({name:n}){return[n,g(m(yield e(h+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>B(o,n,k(H(o,n,_),t,((e,n,t)=>{t!=F(e,n)&&B(e,n,t)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!u(F(F(o,e),n)))(n,t)?g(b(m(yield e(Q+p(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!u(e)&&!j(n)))):{}})),(n,l,r,i,a,d=!1)=>K(void 0,null,(function*(){const c=W();C(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>Y(c,e)))));const s=A(c);if(!d&&a&&O(s)&&T(o,n))return yield e("DROP TABLE"+p(n)),void B(o,n);if(O(s)||T(o,n)){const t=F(o,n),r=W(M(t));yield v([...m(s,(l=>K(void 0,null,(function*(){w(r,l)||(yield e(`ALTER TABLE${p(n)}ADD${p(l)}`),B(t,l,""))})))),...!d&&i?m(A(r),(o=>K(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),B(t,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(l)} PRIMARY KEY ON CONFLICT REPLACE${E(m(s,(e=>t+p(e))))});`),B(o,n,_([[l,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield v(C(r,((t,o)=>K(void 0,null,(function*(){u(t)?yield e("DELETE FROM"+p(n)+Z+p(l)+"=?",[o]):O(s)||(yield ne(e,n,l,N(t),[o,...D(t)]))})))));else if(O(s))T(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const t=b(M(F(o,n)),(e=>e!=l)),i=[],u=[];C(null!=r?r:{},((e,n)=>{P(i,n,...m(t,(n=>null==e?void 0:e[n]))),P(u,n)})),yield ne(e,n,l,t,i),yield e("DELETE FROM"+p(n)+Z+p(l)+"NOT IN("+te(u)+")",u)}})),n=>K(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},ne=(e,n,l,r,i)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(l)+E(m(r,(e=>t+p(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+p(l)+")DO UPDATE SET"+E(m(r,(e=>p(e)+"=excluded."+p(e))),t),i)})),te=e=>E(m(e,(()=>"?")),t),le=JSON.parse;var oe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const re=_(),ie=_(),ue=(e,n,t,l,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,p=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const h=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield E.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),E})),E={load:(t,l)=>oe(void 0,null,(function*(){return yield h((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>oe(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),p=1,y=l(((t,l)=>oe(void 0,null,(function*(){if(l){const n=l();yield h((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>oe(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==t?void 0:t())?l:yield n())}catch(e){null==r||r(e)}}))))})))),E})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),E),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield E.schedule((()=>oe(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),E})),startAutoSave:()=>oe(void 0,null,(function*(){return yield E.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();j(t)&&j(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,E),schedule:(...e)=>oe(void 0,null,(function*(){return P(F(ie,c),...e),yield oe(void 0,null,(function*(){if(!F(re,c)){for(B(re,c,1);!u((e=F(ie,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}B(re,c,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(E[i]=()=>d),S(E)};var ae=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const de="store",ce=(e,n,t,l,o,[r],i,u,a)=>{const[d,c,s,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield d(),le(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,t;yield d(),yield s(r,f,{[y]:{[de]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,[a,u],u)};var se=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const ve=(e,n,t,l,o,[r,i,[a,d,c]],s,p,h)=>{const[E,m,O,P]=ee(n,s,o),T=(e,n)=>se(void 0,null,(function*(){return yield v($(i,((t,l)=>se(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield O(t,l,u,o,r,n))})))))})),A=(e,n)=>se(void 0,null,(function*(){return d?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>se(void 0,null,(function*(){return yield P((()=>se(void 0,null,(function*(){yield E();const e=yield se(void 0,null,(function*(){return g(b(yield v($(r,((e,n)=>se(void 0,[e,n],(function*([e,n],t){return[e,yield m(t,n)]}))))),(e=>!j(e[1]))))})),n=yield se(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return j(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield P((()=>se(void 0,null,(function*(){if(yield E(),u(n)){const[n,t]=e();yield T(n),yield A(t)}else{const[e,t]=n();yield T(e,!0),yield A(t,!0)}}))))}))),t,l,o,[h,p],p)},ye="json",fe="autoLoadIntervalSeconds",pe="rowIdColumnName",he="tableId",Ee="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[Ee]:n+"_values"},be=(e,n,t,l)=>{const o=_();return C(e,((e,r)=>{const i=c(D(x(n,d(e)?{[t]:e}:e)),0,I(n));u(i[0])||l(r,i[0])||B(o,r,i)})),o};var Pe=(e,n,t)=>new Promise(((l,o)=>{var r=e=>{try{u(t.next(e))}catch(e){o(e)}},i=e=>{try{u(t.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((t=t.apply(e,n)).next())}));const Te="pragma ",Ae="data_version",we="schema_version",Le=(e,t,l,o,r,u,a,s,v="getDb")=>{let y,p,E;const[m,O,b,P]=(e=>{const t=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[fe];if(t.mode==ye){const{storeTableName:e=n}=t;return[1,l,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(D(x(Oe,i)),0,I(Oe)),a=u[2],s=W(a);return[0,l,[be(o,{[he]:null,[pe]:f},he,(e=>Y(s,e)&&e==a)),be(r,{[Ee]:null,[pe]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ee,((e,n)=>Y(s,n)&&n==a)),u],s]})(t);return(m?ce:ve)(e,u?(e,n)=>Pe(void 0,null,(function*(){return u(e,n),yield l(e,n)})):l,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield l(Te+Ae))[0][Ae],t=(yield l(Te+we))[0][we],o=(yield l(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&t==(null!=p?p:p=t)&&o==(null!=E?E:E=o)||(e(),y=n,p=t)}catch(e){}})),t=O,n(),setInterval(n,1e3*t)),o((n=>P.has(n)?e():0))];var n,t}),(([e,n])=>{i(e),y=p=null,r(n)}),a,b,A(P),s,v)};var Re=Object.defineProperty,Ne=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,xe=(e,n,t)=>n in e?Re(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Ce=(e,n,t,l,o,r)=>Le(e,l,((e,...n)=>{return l=[e,...n],o=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Se.call(n,t)&&xe(e,t,n[t]);if(Ne)for(var t of Ne(n))ge.call(n,t)&&xe(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=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(t,r);i((o=o.apply(void 0,l)).next())}));var l,o}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,o)=>e(o)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)),o,r,t);export{Ce as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,R=e=>w.getPrototypeOf(e),N=w.keys,g=w.freeze,D=(e=[])=>w.fromEntries(e),S=(...e)=>w.assign({},...e),x=(e,n)=>m(w.entries(e),(([e,l])=>n(l,e))),C=e=>w.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&a(R(e),(e=>e==w.prototype||u(R(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(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)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&K(e,l,n[l]);if(J)for(var l of J(n))z.call(n,l)&&K(e,l,n[l]);return e},q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>q(void 0,null,(function*(){return W(o,D(yield s(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>q(void 0,[n],(function*({name:n}){return[n,D(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?D(T(m(yield e(Q+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>q(void 0,null,(function*(){const c=Y();x(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const v=P(c);if(!d&&a&&O(v)&&L(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(O(v)||L(o,n)){const l=_(o,n),r=Y($(l));yield s([...m(v,(t=>q(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(P(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(v,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(v,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield s(x(r,((l,o)=>q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):O(v)||(yield ne(e,n,t,N(l),[o,...C(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];x(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let v,s,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(v,e.delListener),v=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),g(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,v]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var e,n;return yield a(),te(null!=(n=null==(e=(yield d(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield v((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield c(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,["getDb",u],u)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const se=(e,n,l,t,o,[r,i,[a,d,c]],v,h)=>{const[E,p,m,O]=ee(n,v,o),A=(e,n)=>ve(void 0,null,(function*(){return yield s(j(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield m(l,t,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return d?yield m(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){yield E();const e=yield ve(void 0,null,(function*(){return D(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return a?(yield p(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield O((()=>ve(void 0,null,(function*(){if(yield E(),u(n)){const[n,l]=e();yield A(n),yield L(l)}else{const[e,l]=n();yield A(e,!0),yield L(l,!0)}}))))}))),l,t,o,["getDb",h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[pe]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return x(e,((e,r)=>{const i=c(C(S(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",be="schema_version",we=(e,l,t,o,r,u,a,v)=>{let s,y,h;const[p,m,O,T]=(e=>{const l=(e=>S(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(C(S(Oe,i)),0,I(Oe)),a=u[2],v=Y(a);return[0,t,[Te(o,{[Ee]:null,[he]:f},Ee,(e=>k(v,e)&&e==a)),Te(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(v,n)&&n==a)),u],v]})(l);return(p?ce:se)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=s?s:s=n)&&l==(null!=y?y:y=l)&&o==(null!=h?h:h=o)||(e(),s=n,y=l)}catch(e){}})),l=m,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),s=y=null,r(n)}),a,O,P(T),v)},Re="change",Ne=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n))),new r(t));var t},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=>{const l=(n,l,t)=>e(t);return n.on(Re,l),l}),(e=>n.off(Re,e)),t,o,n);export{Ne as createSqlite3Persister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=(e,n)=>null==e?void 0:e.delete(n),R=Object,b=e=>R.getPrototypeOf(e),N=R.keys,S=R.freeze,g=(e=[])=>R.fromEntries(e),x=(...e)=>R.assign({},...e),C=(e,n)=>m(R.entries(e),(([e,l])=>n(l,e))),D=e=>R.values(e),I=e=>v(N(e)),F=e=>(e=>!u(e)&&a(b(e),(e=>e==R.prototype||u(b(e))),(()=>!0)))(e)&&0==I(e),M=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},B=(e,n,l)=>u(l)?(w(e,n),e):null==e?void 0:e.set(n,l),H=(e,n,l)=>(L(e,n)||B(e,n,l()),_(e,n)),W=(e,n,l,t=B)=>(C(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&K(e,l,n[l]);if(J)for(var l of J(n))z.call(n,l)&&K(e,l,n[l]);return e},q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Q=E+"*FROM",X="FROM pragma_table_",Z="WHERE",ee=(e,n,t)=>{const o=M();return[()=>q(void 0,null,(function*(){return W(o,g(yield s(m(yield e("SELECT name "+X+"list WHERE schema='main'AND type='table'AND name IN("+le(n)+")ORDER BY name",n),(n=>q(void 0,[n],(function*({name:n}){return[n,g(m(yield e(E+" name,type "+X+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>B(o,n,W(H(o,n,M),l,((e,n,l)=>{l!=_(e,n)&&B(e,n,l)}),((e,n)=>B(e,n))))),((e,n)=>B(o,n)))})),(n,l)=>q(void 0,null,(function*(){return((e,n)=>!u(_(_(o,e),n)))(n,l)?g(T(m(yield e(Q+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!F(n)))):{}})),(n,t,r,i,a,d=!1)=>q(void 0,null,(function*(){const c=Y();C(null!=r?r:{},(e=>m(N(null!=e?e:{}),(e=>k(c,e)))));const v=P(c);if(!d&&a&&O(v)&&L(o,n))return yield e("DROP TABLE"+h(n)),void B(o,n);if(O(v)||L(o,n)){const l=_(o,n),r=Y($(l));yield s([...m(v,(t=>q(void 0,null,(function*(){w(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),B(l,t,""))})))),...!d&&i?m(P(r),(o=>q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),B(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(v,(e=>l+h(e))))});`),B(o,n,M([[t,""],...m(v,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield s(C(r,((l,o)=>q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+Z+h(t)+"=?",[o]):O(v)||(yield ne(e,n,t,N(l),[o,...D(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=T($(_(o,n)),(e=>e!=t)),i=[],u=[];C(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield ne(e,n,t,l,i),yield e("DELETE FROM"+h(n)+Z+h(t)+"NOT IN("+le(u)+")",u)}})),n=>q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},ne=(e,n,t,r,i)=>q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),le=e=>p(m(e,(()=>"?")),l),te=JSON.parse;var oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const re=M(),ie=M(),ue=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let v,s,y,f=0,h=0;H(re,c,(()=>0)),H(ie,c,(()=>[]));const E=e=>oe(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>oe(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>oe(void 0,null,(function*(){return yield E((()=>oe(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>oe(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>oe(void 0,null,(function*(){if(t){const n=t();yield E((()=>oe(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>oe(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>oe(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>oe(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>oe(void 0,null,(function*(){return yield p.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();F(l)&&F(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(v,e.delListener),v=void 0,p),schedule:(...e)=>oe(void 0,null,(function*(){return A(_(ie,c),...e),yield oe(void 0,null,(function*(){if(!_(re,c)){for(B(re,c,1);!u((e=_(ie,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}B(re,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),S(p)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const de="store",ce=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,v,s]=ee(n,i,o);return ue(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield d(),te(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[de])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield d(),yield v(r,f,{[y]:{[de]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.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 se=(e,n,l,t,o,[r,i,[a,d,c]],v,h,E)=>{const[p,m,O,A]=ee(n,v,o),L=(e,n)=>ve(void 0,null,(function*(){return yield s(j(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return d?yield O(c,f,{[y]:e},!0,!0,n):null}));return ue(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield p();const e=yield ve(void 0,null,(function*(){return g(T(yield s(j(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!F(e[1]))))})),n=yield ve(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return F(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,h],h)},ye="json",fe="autoLoadIntervalSeconds",he="rowIdColumnName",Ee="tableId",pe="tableName",me={mode:ye,[fe]:1},Oe={load:0,save:0,[pe]:n+"_values"},Te=(e,n,l,t)=>{const o=M();return C(e,((e,r)=>{const i=c(D(x(n,d(e)?{[l]:e}:e)),0,I(n));u(i[0])||t(r,i[0])||B(o,r,i)})),o};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",we="schema_version",Re=(e,l,t,o,r,u,a,v,s="getDb")=>{let y,h,p;const[m,O,T,A]=(e=>{const l=(e=>x(me,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[fe];if(l.mode==ye){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(D(x(Oe,i)),0,I(Oe)),a=u[2],v=Y(a);return[0,t,[Te(o,{[Ee]:null,[he]:f},Ee,(e=>k(v,e)&&e==a)),Te(r,{[pe]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},pe,((e,n)=>k(v,n)&&n==a)),u],v]})(l);return(m?ce:se)(e,u?(e,n)=>Ae(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ae(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),y=n,h=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=h=null,r(n)}),a,T,P(A),v,s)},be="change",Ne=(e,n,l,t,o)=>Re(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield(t=(t,o)=>n.all(e,l,((e,n)=>e?o(e):t(n))),new r(t));var t},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=>{const l=(n,l,t)=>e(t);return n.on(be,l),l}),(e=>n.off(be,e)),t,o,n);export{Ne as createSqlite3Persister};