tinybase 4.0.2 → 4.0.4

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 (165) hide show
  1. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  2. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  4. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  6. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -0
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-file.cjs +1 -1
  10. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  12. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  18. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  19. package/lib/cjs/persisters.cjs +1 -1
  20. package/lib/cjs/persisters.cjs.gz +0 -0
  21. package/lib/cjs/tinybase.cjs +1 -1
  22. package/lib/cjs/tinybase.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -0
  30. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters.cjs +1 -1
  42. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  43. package/lib/cjs-es6/tinybase.cjs +1 -1
  44. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  45. package/lib/debug/persisters/persister-automerge.js +56 -18
  46. package/lib/debug/persisters/persister-browser.js +55 -22
  47. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +106 -62
  48. package/lib/debug/persisters/persister-expo-sqlite.js +813 -0
  49. package/lib/debug/persisters/persister-file.js +51 -18
  50. package/lib/debug/persisters/persister-remote.js +51 -17
  51. package/lib/debug/persisters/persister-sqlite-wasm.js +106 -62
  52. package/lib/debug/persisters/persister-sqlite3.js +113 -64
  53. package/lib/debug/persisters/persister-yjs.js +63 -27
  54. package/lib/debug/persisters.js +49 -17
  55. package/lib/debug/tinybase.js +35 -17
  56. package/lib/es6/persisters/persister-automerge.js +1 -1
  57. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  58. package/lib/es6/persisters/persister-browser.js +1 -1
  59. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  60. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  61. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  62. package/lib/es6/persisters/persister-expo-sqlite.js +1 -0
  63. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  64. package/lib/es6/persisters/persister-file.js +1 -1
  65. package/lib/es6/persisters/persister-file.js.gz +0 -0
  66. package/lib/es6/persisters/persister-remote.js +1 -1
  67. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  68. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  69. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  70. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  71. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  72. package/lib/es6/persisters/persister-yjs.js +1 -1
  73. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  74. package/lib/es6/persisters.js +1 -1
  75. package/lib/es6/persisters.js.gz +0 -0
  76. package/lib/es6/tinybase.js +1 -1
  77. package/lib/es6/tinybase.js.gz +0 -0
  78. package/lib/persisters/persister-automerge.js +1 -1
  79. package/lib/persisters/persister-automerge.js.gz +0 -0
  80. package/lib/persisters/persister-browser.js +1 -1
  81. package/lib/persisters/persister-browser.js.gz +0 -0
  82. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  83. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  84. package/lib/persisters/persister-expo-sqlite.js +1 -0
  85. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  86. package/lib/persisters/persister-file.js +1 -1
  87. package/lib/persisters/persister-file.js.gz +0 -0
  88. package/lib/persisters/persister-remote.js +1 -1
  89. package/lib/persisters/persister-remote.js.gz +0 -0
  90. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  91. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  92. package/lib/persisters/persister-sqlite3.js +1 -1
  93. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  94. package/lib/persisters/persister-yjs.js +1 -1
  95. package/lib/persisters/persister-yjs.js.gz +0 -0
  96. package/lib/persisters.js +1 -1
  97. package/lib/persisters.js.gz +0 -0
  98. package/lib/tinybase.js +1 -1
  99. package/lib/tinybase.js.gz +0 -0
  100. package/lib/types/persisters/persister-automerge.d.ts +4 -0
  101. package/lib/types/persisters/persister-browser.d.ts +8 -0
  102. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +10 -2
  103. package/lib/types/persisters/persister-expo-sqlite.d.ts +126 -0
  104. package/lib/types/persisters/persister-file.d.ts +8 -1
  105. package/lib/types/persisters/persister-remote.d.ts +4 -0
  106. package/lib/types/persisters/persister-sqlite-wasm.d.ts +8 -0
  107. package/lib/types/persisters/persister-sqlite3.d.ts +8 -0
  108. package/lib/types/persisters/persister-yjs.d.ts +4 -0
  109. package/lib/types/persisters.d.ts +16 -3
  110. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +5 -0
  111. package/lib/types/with-schemas/persisters/persister-browser.d.ts +10 -0
  112. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -2
  113. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +138 -0
  114. package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -1
  115. package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -0
  116. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +10 -0
  117. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +10 -0
  118. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +5 -0
  119. package/lib/types/with-schemas/persisters.d.ts +17 -3
  120. package/lib/umd/persisters/persister-automerge.js +1 -1
  121. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  122. package/lib/umd/persisters/persister-browser.js +1 -1
  123. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  124. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  125. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  126. package/lib/umd/persisters/persister-expo-sqlite.js +1 -0
  127. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  128. package/lib/umd/persisters/persister-file.js +1 -1
  129. package/lib/umd/persisters/persister-file.js.gz +0 -0
  130. package/lib/umd/persisters/persister-remote.js +1 -1
  131. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  132. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  133. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  134. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  135. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  136. package/lib/umd/persisters/persister-yjs.js +1 -1
  137. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  138. package/lib/umd/persisters.js +1 -1
  139. package/lib/umd/persisters.js.gz +0 -0
  140. package/lib/umd/tinybase.js +1 -1
  141. package/lib/umd/tinybase.js.gz +0 -0
  142. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  143. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  144. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  145. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  146. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  147. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  148. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -0
  149. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  150. package/lib/umd-es6/persisters/persister-file.js +1 -1
  151. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  152. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  153. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  154. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  155. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  156. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  157. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  158. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  159. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  160. package/lib/umd-es6/persisters.js +1 -1
  161. package/lib/umd-es6/persisters.js.gz +0 -0
  162. package/lib/umd-es6/tinybase.js +1 -1
  163. package/lib/umd-es6/tinybase.js.gz +0 -0
  164. package/package.json +6 -5
  165. package/readme.md +2 -2
@@ -1013,32 +1013,41 @@ const createMetrics = getCreateFunction((store) => {
1013
1013
  return objFreeze(metrics);
1014
1014
  });
1015
1015
 
1016
+ const scheduleRunning = mapNew();
1017
+ const scheduleActions = mapNew();
1016
1018
  const createCustomPersister = (
1017
1019
  store,
1018
1020
  getPersisted,
1019
1021
  setPersisted,
1020
1022
  addPersisterListener,
1021
1023
  delPersisterListener,
1024
+ onIgnoredError,
1025
+ scheduleId = [],
1022
1026
  ) => {
1023
1027
  let listenerId;
1024
1028
  let loadSave = 0;
1025
1029
  let loads = 0;
1026
1030
  let saves = 0;
1027
- let running = 0;
1028
1031
  let listening = 0;
1029
1032
  let action;
1030
1033
  let listeningHandle;
1031
- const scheduledActions = [];
1034
+ mapEnsure(scheduleRunning, scheduleId, () => 0);
1035
+ mapEnsure(scheduleActions, scheduleId, () => []);
1032
1036
  const run = async () => {
1033
1037
  /* istanbul ignore else */
1034
- if (!running) {
1035
- running = 1;
1036
- while (!isUndefined((action = arrayShift(scheduledActions)))) {
1038
+ if (!mapGet(scheduleRunning, scheduleId)) {
1039
+ mapSet(scheduleRunning, scheduleId, 1);
1040
+ while (
1041
+ !isUndefined((action = arrayShift(mapGet(scheduleActions, scheduleId))))
1042
+ ) {
1037
1043
  try {
1038
1044
  await action();
1039
- } catch {}
1045
+ } catch (error) {
1046
+ /* istanbul ignore next */
1047
+ onIgnoredError?.(error);
1048
+ }
1040
1049
  }
1041
- running = 0;
1050
+ mapSet(scheduleRunning, scheduleId, 0);
1042
1051
  }
1043
1052
  };
1044
1053
  const loadLock = async (actions) => {
@@ -1069,16 +1078,22 @@ const createCustomPersister = (
1069
1078
  await persister.load(initialTables, initialValues);
1070
1079
  listening = 1;
1071
1080
  listeningHandle = addPersisterListener(
1072
- async (getContent, getTransactionChanges) =>
1073
- await loadLock(async () => {
1074
- if (getTransactionChanges) {
1075
- store.setTransactionChanges(getTransactionChanges());
1076
- } else {
1081
+ async (getContent, getTransactionChanges) => {
1082
+ if (getTransactionChanges) {
1083
+ const transactionChanges = getTransactionChanges();
1084
+ await loadLock(async () =>
1085
+ store.setTransactionChanges(transactionChanges),
1086
+ );
1087
+ } else {
1088
+ await loadLock(async () => {
1077
1089
  try {
1078
1090
  store.setContent(getContent?.() ?? (await getPersisted()));
1079
- } catch {}
1080
- }
1081
- }),
1091
+ } catch (error) {
1092
+ onIgnoredError?.(error);
1093
+ }
1094
+ });
1095
+ }
1096
+ },
1082
1097
  );
1083
1098
  return persister;
1084
1099
  },
@@ -1100,7 +1115,10 @@ const createCustomPersister = (
1100
1115
  await persister.schedule(async () => {
1101
1116
  try {
1102
1117
  await setPersisted(store.getContent, getTransactionChanges);
1103
- } catch {}
1118
+ } catch (error) {
1119
+ /* istanbul ignore next */
1120
+ onIgnoredError?.(error);
1121
+ }
1104
1122
  loadSave = 0;
1105
1123
  });
1106
1124
  }
@@ -1123,7 +1141,7 @@ const createCustomPersister = (
1123
1141
  return persister;
1124
1142
  },
1125
1143
  schedule: async (...actions) => {
1126
- arrayPush(scheduledActions, ...actions);
1144
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1127
1145
  await run();
1128
1146
  return persister;
1129
1147
  },
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=n.keys,l=n.freeze,i=(t,n)=>e(t,(t=>t[n])),r=(e,n)=>!t(i(e,n)),u=(t,e)=>(delete t[e],t),c=(t,e)=>((t,e)=>t.map(e))(n.entries(t),(([t,n])=>e(n,t))),d=t=>o(t).length,a=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==d(t);var s=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(e,n,o,l)=>{const i=t(n)?e:((t,e,n)=>(r(t,e)||(t[e]={}),t[e]))(e,n);let d;return c(o,((t,e)=>{l(i,e,t)&&(d=1)})),c(i,((t,e)=>{r(o,e)||(u(i,e),d=1)})),!t(n)&&a(i)&&u(e,n),d},f=(n,o,r="tinybase")=>(o.change((t=>t[r]={})),((n,d,f,p,g)=>{let A,L,m,S=0,x=0,C=0;const w=[],P=t=>s(void 0,null,(function*(){return 2!=S&&(S=1,yield b.schedule((()=>s(void 0,null,(function*(){yield t(),S=0}))))),b})),b={load:(t,e)=>s(void 0,null,(function*(){return yield P((()=>s(void 0,null,(function*(){try{n.setContent(yield d())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},e={}){return b.stopAutoLoad(),yield b.load(t,e),C=1,m=(t=>{const e=({doc:e})=>t((()=>y(e,r)));return o.on("change",e),e})(((t,e)=>s(void 0,null,(function*(){return yield P((()=>s(void 0,null,(function*(){var o;if(e)n.setTransactionChanges(e());else try{n.setContent(null!=(o=null==t?void 0:t())?o:yield d())}catch(t){}}))))})))),b})),stopAutoLoad:()=>{return C&&(t=m,o.removeListener("change",t),m=void 0,C=0),b;var t},save:l=>s(void 0,null,(function*(){return 1!=S&&(S=2,yield b.schedule((()=>s(void 0,null,(function*(){try{yield((n,l)=>v(void 0,null,(function*(){return o.change((o=>((n,o,l,r)=>{((t,e)=>{a(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[d,s]=y(n,o),v=()=>{f=1};let f=1;if(e(null==r?void 0:r(),(([n,o])=>{f=0,c(n,((n,o)=>f?0:t(n)?u(d,o):e(d[o],(o=>c(n,((n,l)=>f?0:t(n)?u(o,l):e(i(o,l),(e=>c(n,((n,o)=>t(n)?u(e,o):e[o]=n))),v)))),v))),c(o,((e,n)=>f?0:t(e)?u(s,n):s[n]=e))})),f){const[t,e]=l();h(d,void 0,t,((t,e,n)=>h(d,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(i(t,e)!==n)return t[e]=n,1})))))),h(s,void 0,e,((t,e,n)=>{i(s,e)!==n&&(s[e]=n)}))}})(o,r,n,l)))})))(n.getContent,l)}catch(t){}S=0}))))),b})),startAutoSave:()=>s(void 0,null,(function*(){return yield b.stopAutoSave().save(),A=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();a(n)&&a(o)||b.save((()=>[n,o]))})),b})),stopAutoSave:()=>(e(A,n.delListener),b),schedule:(...e)=>s(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...e),yield s(void 0,null,(function*(){if(!x){for(x=1;!t((e=w,L=e.shift()));)try{yield L()}catch(t){}x=0}var e})),b})),getStore:()=>n,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(b)})(n,(()=>v(void 0,null,(function*(){return 2==d(o.doc[r])?y(o.doc,r):void 0})))));export{f as createAutomergePersister};
1
+ const t=t=>null==t,n=(n,e,o)=>t(n)?null==o?void 0:o():e(n),e=Object,o=e.keys,l=e.freeze,u=(t,e)=>n(t,(t=>t[e])),i=(n,e)=>!t(u(n,e)),r=(t,n)=>(delete t[n],t),d=(t,n)=>((t,n)=>t.map(n))(e.entries(t),(([t,e])=>n(e,t))),c=t=>o(t).length,a=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==c(t),s=t=>new Map(t),v=(t,n)=>null==t?void 0:t.get(n),y=(n,e,o)=>{return t(o)?(u=e,null==(l=n)||l.delete(u),n):null==n?void 0:n.set(e,o);var l,u},h=(t,n,e)=>{var o,l,u;return l=n,null!=(u=null==(o=t)?void 0:o.has(l))&&u||y(t,n,e()),v(t,n)};var f=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const p=s(),g=s();var A=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const L=(t,n)=>[t[n].t,t[n].v],m=(n,e,o,l)=>{const u=t(e)?n:((t,n,e)=>(i(t,n)||(t[n]={}),t[n]))(n,e);let c;return d(o,((t,n)=>{l(u,n,t)&&(c=1)})),d(u,((t,n)=>{i(o,n)||(r(u,n),c=1)})),!t(e)&&a(u)&&r(n,e),c},S=(e,o,i="tinybase",s)=>(o.change((t=>t[i]={})),((e,o,u,i,r,d,c=[])=>{let s,A,L,m=0,S=0;h(p,c,(()=>0)),h(g,c,(()=>[]));const w=t=>f(void 0,null,(function*(){return 2!=m&&(m=1,yield x.schedule((()=>f(void 0,null,(function*(){yield t(),m=0}))))),x})),x={load:(t,n)=>f(void 0,null,(function*(){return yield w((()=>f(void 0,null,(function*(){try{e.setContent(yield o())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>f(void 0,[...t],(function*(t={},n={}){return x.stopAutoLoad(),yield x.load(t,n),S=1,L=i(((t,n)=>f(void 0,null,(function*(){if(n){const t=n();yield w((()=>f(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield w((()=>f(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield o())}catch(t){null==d||d(t)}}))))})))),x})),stopAutoLoad:()=>(S&&(r(L),L=void 0,S=0),x),save:t=>f(void 0,null,(function*(){return 1!=m&&(m=2,yield x.schedule((()=>f(void 0,null,(function*(){try{yield u(e.getContent,t)}catch(t){null==d||d(t)}m=0}))))),x})),startAutoSave:()=>f(void 0,null,(function*(){return yield x.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();a(e)&&a(o)||x.save((()=>[e,o]))})),x})),stopAutoSave:()=>(n(s,e.delListener),x),schedule:(...n)=>f(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(v(g,c),...n),yield f(void 0,null,(function*(){if(!v(p,c)){for(y(p,c,1);!t((n=v(g,c),A=n.shift()));)try{yield A()}catch(t){null==d||d(t)}y(p,c,0)}var n})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(x)})(e,(()=>A(void 0,null,(function*(){return 2==c(o.doc[i])?L(o.doc,i):void 0}))),((e,l)=>A(void 0,null,(function*(){return o.change((o=>((e,o,l,i)=>{((t,n)=>{a(t[n])&&(t[n]={t:{},v:{}})})(e,o);const[c,s]=L(e,o),v=()=>{y=1};let y=1;if(n(null==i?void 0:i(),(([e,o])=>{y=0,d(e,((e,o)=>y?0:t(e)?r(c,o):n(c[o],(o=>d(e,((e,l)=>y?0:t(e)?r(o,l):n(u(o,l),(n=>d(e,((e,o)=>t(e)?r(n,o):n[o]=e))),v)))),v))),d(o,((n,e)=>y?0:t(n)?r(s,e):s[e]=n))})),y){const[t,n]=l();m(c,void 0,t,((t,n,e)=>m(c,n,e,((t,n,e)=>m(t,n,e,((t,n,e)=>{if(u(t,n)!==e)return t[n]=e,1})))))),m(s,void 0,n,((t,n,e)=>{u(s,n)!==e&&(s[n]=e)}))}})(o,i,e,l)))}))),(t=>{const n=({doc:n})=>t((()=>L(n,i)));return o.on("change",n),n}),(t=>{o.removeListener("change",t)}),s));export{S as createAutomergePersister};
@@ -1 +1 @@
1
- const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,r=n.freeze,l=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse;var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const s="storage",d=globalThis.window,c=(o,c,v)=>((o,y,f,h,p)=>{let g,S,A,m=0,L=0,w=0;const x=[],C=t=>u(void 0,null,(function*(){return 2!=m&&(m=1,yield P.schedule((()=>u(void 0,null,(function*(){yield t(),m=0}))))),P})),P={load:(t,e)=>u(void 0,null,(function*(){return yield C((()=>u(void 0,null,(function*(){try{o.setContent(yield y())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),w=1,A=(t=>{const e=e=>{e.storageArea===v&&e.key===c&&t((()=>i(e.newValue)))};return d.addEventListener(s,e),e})(((t,e)=>u(void 0,null,(function*(){return yield C((()=>u(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield y())}catch(t){}}))))})))),P})),stopAutoLoad:()=>{return w&&(t=A,d.removeEventListener(s,t),A=void 0,w=0),P;var t},save:e=>u(void 0,null,(function*(){return 1!=m&&(m=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(e=o.getContent,a(void 0,null,(function*(){return v.setItem(c,(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o))));var o})))}catch(t){}var e;m=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),g=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();l(n)&&l(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,n;return t=g,n=o.delListener,!!e(t)||n(t),P},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(x,...t),yield u(void 0,null,(function*(){if(!L){for(L=1;!e((t=x,S=t.shift()));)try{yield S()}catch(t){}L=0}var t})),P})),getStore:()=>o,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(P)})(o,(()=>a(void 0,null,(function*(){return i(v.getItem(c))})))),v=(t,e)=>c(t,e,localStorage),y=(t,e)=>c(t,e,sessionStorage);export{v as createLocalPersister,y as createSessionPersister};
1
+ const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),u=JSON.parse,i=t=>new Map(t),a=(t,e)=>null==t?void 0:t.get(e),s=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},d=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||s(t,e,n()),a(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const v=i(),y=i();var f=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const h="storage",p=globalThis.window,g=(o,i,g,S)=>((t,n,o,u,i,f,h=[])=>{let p,g,S,A=0,m=0;d(v,h,(()=>0)),d(y,h,(()=>[]));const w=t=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield L.schedule((()=>c(void 0,null,(function*(){yield t(),A=0}))))),L})),L={load:(e,o)=>c(void 0,null,(function*(){return yield w((()=>c(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>c(void 0,[...e],(function*(e={},o={}){return L.stopAutoLoad(),yield L.load(e,o),m=1,S=u(((e,o)=>c(void 0,null,(function*(){if(o){const e=o();yield w((()=>c(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield w((()=>c(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==f||f(t)}}))))})))),L})),stopAutoLoad:()=>(m&&(i(S),S=void 0,m=0),L),save:e=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield L.schedule((()=>c(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==f||f(t)}A=0}))))),L})),startAutoSave:()=>c(void 0,null,(function*(){return yield L.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),L},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(a(y,h),...t),yield c(void 0,null,(function*(){if(!a(v,h)){for(s(v,h,1);!e((t=a(y,h),g=t.shift()));)try{yield g()}catch(t){null==f||f(t)}s(v,h,0)}var t})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(L)})(o,(()=>f(void 0,null,(function*(){return u(g.getItem(i))}))),(e=>f(void 0,null,(function*(){return g.setItem(i,(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o))));var o}))),(t=>{const e=e=>{e.storageArea===g&&e.key===i&&t((()=>u(e.newValue)))};return p.addEventListener(h,e),e}),(t=>p.removeEventListener(h,t)),S),S=(t,e,n)=>g(t,e,localStorage,n),A=(t,e,n)=>g(t,e,sessionStorage,n);export{S as createLocalPersister,A as createSessionPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),E=n=>e(n)==l,p=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),A=Object,L=A.keys,P=A.freeze,b=(e=[])=>A.fromEntries(e),w=(...e)=>A.assign({},...e),R=(e,n)=>i(A.entries(e),(([e,t])=>n(t,e))),x=e=>A.values(e),N=e=>u(L(e)),S=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==N(e),C=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},F=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),M=(e,n,t,l=F)=>(R(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)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),$=e=>new Set(Array.isArray(e)||f(e)?e:[e]),j=(e,n)=>null==e?void 0:e.add(n),_="_",B="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var W=Object.defineProperty,U=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))k.call(n,t)&&Y(e,t,n[t]);if(U)for(var t of U(n))J.call(n,t)&&Y(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 V="FROM pragma_table_",q="WHERE",G=(e,n)=>{const l=C();return[()=>K(void 0,null,(function*(){return M(l,b(yield p(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,b(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return F(l,n,M((i=C,m(o=l,r=n)||F(o,r,i()),D(o,r)),t,((e,n,t)=>{t!=D(e,n)&&F(e,n,t)}),((e,n)=>F(e,n))));var o,r,i}),((e,n)=>F(l,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!f(D(D(l,e),n)))(n,t)?b(d(i(yield e("SELECT*FROM"+H(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!S(n)))):{}})),(n,o,u,c,v,y=!1)=>K(void 0,null,(function*(){const h=$();R(null!=u?u:{},(e=>i(L(null!=e?e:{}),(e=>j(h,e)))));const E=T(h);if(!y&&v&&a(E)&&m(l,n))return yield e("DROP TABLE"+H(n)),void F(l,n);if(a(E)||m(l,n)){const t=D(l,n),r=$(g(t));yield p([...i(E,(l=>K(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${H(n)}ADD${H(l)}`),F(t,l,""))})))),...!y&&c?i(T(r),(l=>K(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${H(n)}DROP${H(l)}`),F(t,l))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(E,(e=>t+H(e))))});`),F(l,n,C([[o,""],...i(E,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield p(R(u,((t,l)=>K(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+H(n)+q+H(o)+"=?",[l]):a(E)||(yield Q(e,n,o,L(t),[l,...x(t)]))})))));else if(a(E))m(l,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const t=d(g(D(l,n)),(e=>e!=o)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield Q(e,n,o,t,r),yield e("DELETE FROM"+H(n)+q+H(o)+"NOT IN("+X(a)+")",a)}}))]},Q=(e,n,l,a,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(l)+r(i(a,(e=>t+H(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+H(l)+")DO UPDATE SET"+r(i(a,(e=>H(e)+"=excluded."+H(e))),t),d)})),X=e=>r(i(e,(()=>"?")),t),Z=JSON.parse;var ee=(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 ne=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,c=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield E.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),E})),E={load:(t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ee(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),c=1,u=l(((t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),E})),stopAutoLoad:()=>(c&&(o(u),u=void 0,c=0),E),save:n=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield E.schedule((()=>ee(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),E})),startAutoSave:()=>ee(void 0,null,(function*(){return yield E.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();S(t)&&S(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(h(r,e.delListener),E),schedule:(...e)=>ee(void 0,null,(function*(){return s(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(E)};var te=(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 le="store",oe=(e,n,t,l,[o],r)=>{const[i,u,a]=G(n,r),d=ne(e,(()=>te(void 0,null,(function*(){var e;return yield i(),Z(null==(e=(yield u(o,B))[_])?void 0:e[le])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var n;yield a(o,B,{[_]:{[le]:(n=e(),JSON.stringify(n,((e,n)=>y(n,Map)?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var re=(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 ie=(e,n,t,l,[o,r,[i,u,a]],c)=>{const[s,v,y]=G(n,c),h=(e,n)=>re(void 0,null,(function*(){return yield p(I(r,((t,l)=>re(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),E=(e,n)=>re(void 0,null,(function*(){return u?yield y(a,B,{[_]:e},!0,!0,n):null}));return ne(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return b(d(yield p(I(o,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!S(e[1]))))})),n=yield re(void 0,null,(function*(){return i?(yield v(a,B))[_]:{}}));return S(e)&&f(n)?void 0:[e,n]}))),((e,n)=>re(void 0,null,(function*(){if(yield s(),f(n)){const[n,t]=e();yield h(n),yield E(t)}else{const[e,t]=n();yield h(e,!0),yield E(t,!0)}}))),t,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",ce="tableId",se="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[se]:n+"_values"},fe=(e,n,t,l)=>{const o=C();return R(e,((e,r)=>{const i=c(x(w(n,E(e)?{[t]:e}:e)),0,N(n));f(i[0])||l(r,i[0])||F(o,r,i)})),o};var he=(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 Ee="pragma ",pe="data_version",me="schema_version",Te=(e,t,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const t=(e=>w(ve,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ae];if(t.mode==ue){const{storeTableName:e=n}=t;return[1,l,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(x(w(ye,i)),0,N(ye)),a=u[2],d=$(a);return[0,l,[fe(o,{[ce]:null,[de]:B},ce,(e=>j(d,e)&&e==a)),fe(r,{[se]:null,[de]:B,deleteEmptyColumns:0,deleteEmptyTable:0},se,((e,n)=>j(d,n)&&n==a)),u],d]})(t);return(d?oe:ie)(e,i?(e,n)=>he(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>he(void 0,null,(function*(){try{const n=(yield l(Ee+pe))[0][pe],t=(yield l(Ee+me))[0][me];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,T(y))},Oe=(e,n,t,l)=>Te(e,t,((e,...t)=>{return l=[e,...t],o=function*(e,t=[]){return yield n.execO(e,t)},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.onUpdate(((n,t,l)=>e(l)))),(e=>e()),l);export{Oe as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,d=e=>0==u(e),a=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,E=(e,n,l)=>f(e)?null==l?void 0:l():n(e),h=n=>e(n)==t,p=e=>{return n=function*(){return v.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},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),A=Object,L=A.keys,P=A.freeze,b=(e=[])=>A.fromEntries(e),w=(...e)=>A.assign({},...e),N=(e,n)=>i(A.entries(e),(([e,l])=>n(l,e))),R=e=>A.values(e),x=e=>u(L(e)),S=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==x(e),C=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>f(l)?(O(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(m(e,n)||F(e,n,l()),D(e,n)),$=(e,n,l,t=F)=>(N(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)=>!f(((e,n)=>E(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),j=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var U=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,G=(e,n)=>{for(var l in n||(n={}))J.call(n,l)&&z(e,l,n[l]);if(k)for(var l of k(n))Y.call(n,l)&&z(e,l,n[l]);return e},K=(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 V="FROM pragma_table_",q="WHERE",Q=(e,n,t)=>{const o=C();return[()=>K(void 0,null,(function*(){return $(o,b(yield p(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,b(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(o,n,$(M(o,n,C),l,((e,n,l)=>{l!=D(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(o,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!f(D(D(o,e),n)))(n,l)?b(a(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=G({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!S(n)))):{}})),(n,t,u,c,v,y=!1)=>K(void 0,null,(function*(){const E=j();N(null!=u?u:{},(e=>i(L(null!=e?e:{}),(e=>_(E,e)))));const h=T(E);if(!y&&v&&d(h)&&m(o,n))return yield e("DROP TABLE"+W(n)),void F(o,n);if(d(h)||m(o,n)){const l=D(o,n),r=j(g(l));yield p([...i(h,(t=>K(void 0,null,(function*(){O(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),F(l,t,""))})))),...!y&&c?i(T(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),F(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>l+W(e))))});`),F(o,n,C([[t,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield p(N(u,((l,o)=>K(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+q+W(t)+"=?",[o]):d(h)||(yield X(e,n,t,L(l),[o,...R(l)]))})))));else if(d(h))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=a(g(D(o,n)),(e=>e!=t)),r=[],d=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(d,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+q+W(t)+"NOT IN("+Z(d)+")",d)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,d,a)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(d,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(d))})`,u(a)/(u(d)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(d,(e=>W(e)+"=excluded."+W(e))),l),a)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=C(),te=C(),oe=(e,n,l,t,o,r,i=[])=>{let u,d,a,c=0,v=0;M(le,i,(()=>0)),M(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),v=1,a=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(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:()=>(v&&(o(a),a=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();S(l)&&S(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(E(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(D(te,i),...e),yield ne(void 0,null,(function*(){if(!D(le,i)){for(F(le,i,1);!f((e=D(te,i),d=e.shift()));)try{yield d()}catch(e){null==r||r(e)}F(le,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(h)};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="store",ue=(e,n,l,t,o,[r],i,u)=>{const[d,a,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield d(),ee(null!=(n=null==(e=(yield a(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield d(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?A.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};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=(e,n,l,t,o,[r,i,[u,d,c]],s,v)=>{const[y,E,h,m]=Q(n,s,o),T=(e,n)=>de(void 0,null,(function*(){return yield p(I(i,((l,t)=>de(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),O=(e,n)=>de(void 0,null,(function*(){return d?yield h(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>de(void 0,null,(function*(){return yield m((()=>de(void 0,null,(function*(){yield y();const e=yield de(void 0,null,(function*(){return b(a(yield p(I(r,((e,n)=>de(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!S(e[1]))))})),n=yield de(void 0,null,(function*(){return u?(yield E(c,H))[B]:{}}));return S(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>de(void 0,null,(function*(){return yield m((()=>de(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield T(n),yield O(l)}else{const[e,l]=n();yield T(e,!0),yield O(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",Ee={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},pe=(e,n,l,t)=>{const o=C();return N(e,((e,r)=>{const i=c(R(w(n,h(e)?{[l]:e}:e)),0,x(n));f(i[0])||t(r,i[0])||F(o,r,i)})),o};var me=(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 Te="pragma ",Oe="data_version",Ae="schema_version",Le=(e,l,t,o,r,i,u,d)=>{let a,s;const[v,y,f,E]=(e=>{const l=(e=>w(Ee,h(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(w(he,i)),0,x(he)),d=u[2],a=j(d);return[0,t,[pe(o,{[ye]:null,[ve]:H},ye,(e=>_(a,e)&&e==d)),pe(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(a,n)&&n==d)),u],a]})(l);return(v?ue:ae)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Te+Oe))[0][Oe],l=(yield t(Te+Ae))[0][Ae];n==(null!=a?a:a=n)&&l==(null!=s?s:s=l)||(e(),a=n,s=l)}catch(e){}}))),1e3*y),o((n=>E.has(n)?e():0))]),(([e,n])=>{clearInterval(e),a=s=null,r(n)}),u,f,T(E),d)},Pe=(e,n,l,t,o)=>Le(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{Pe as createCrSqliteWasmPersister};
@@ -0,0 +1 @@
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,l)=>f(e)?null==l?void 0:l():n(e),E=n=>e(n)==t,p=e=>{return n=function*(){return v.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},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},T=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),L=Object,O=L.keys,P=L.freeze,b=(e=[])=>L.fromEntries(e),w=(...e)=>L.assign({},...e),N=(e,n)=>i(L.entries(e),(([e,l])=>n(l,e))),R=e=>L.values(e),x=e=>u(O(e)),C=e=>(e=>y(e,L)&&e.constructor==L)(e)&&0==x(e),S=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},F=(e,n,l)=>f(l)?(A(e,n),e):null==e?void 0:e.set(n,l),M=(e,n,l)=>(m(e,n)||F(e,n,l()),D(e,n)),$=(e,n,l,t=F)=>(N(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)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),j=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,q=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,z=(e,n)=>{for(var l in n||(n={}))U.call(n,l)&&q(e,l,n[l]);if(J)for(var l of J(n))Y.call(n,l)&&q(e,l,n[l]);return e},G=(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 K="FROM pragma_table_",V="WHERE",Q=(e,n,t)=>{const o=S();return[()=>G(void 0,null,(function*(){return $(o,b(yield p(i(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>G(void 0,[n],(function*({name:n}){return[n,b(i(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>F(o,n,$(M(o,n,S),l,((e,n,l)=>{l!=D(e,n)&&F(e,n,l)}),((e,n)=>F(e,n))))),((e,n)=>F(o,n)))})),(n,l)=>G(void 0,null,(function*(){return((e,n)=>!f(D(D(o,e),n)))(n,l)?b(d(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!C(n)))):{}})),(n,t,u,c,v,y=!1)=>G(void 0,null,(function*(){const h=j();N(null!=u?u:{},(e=>i(O(null!=e?e:{}),(e=>_(h,e)))));const E=T(h);if(!y&&v&&a(E)&&m(o,n))return yield e("DROP TABLE"+W(n)),void F(o,n);if(a(E)||m(o,n)){const l=D(o,n),r=j(g(l));yield p([...i(E,(t=>G(void 0,null,(function*(){A(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),F(l,t,""))})))),...!y&&c?i(T(r),(o=>G(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),F(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(E,(e=>l+W(e))))});`),F(o,n,S([[t,""],...i(E,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield p(N(u,((l,o)=>G(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+V+W(t)+"=?",[o]):a(E)||(yield X(e,n,t,O(l),[o,...R(l)]))})))));else if(a(E))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=d(g(D(o,n)),(e=>e!=t)),r=[],a=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+V+W(t)+"NOT IN("+Z(a)+")",a)}})),n=>G(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,a,d)=>G(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(a,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(a,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=S(),te=S(),oe=(e,n,l,t,o,r,i=[])=>{let u,a,d,c=0,v=0;M(le,i,(()=>0)),M(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield E.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),E})),E={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return E.stopAutoLoad(),yield E.load(l,o),v=1,d=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(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)}}))))})))),E})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),E),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield E.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),E})),startAutoSave:()=>ne(void 0,null,(function*(){return yield E.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();C(l)&&C(t)||E.save((()=>[l,t]))})),E})),stopAutoSave:()=>(h(u,e.delListener),E),schedule:(...e)=>ne(void 0,null,(function*(){return s(D(te,i),...e),yield ne(void 0,null,(function*(){if(!D(le,i)){for(F(le,i,1);!f((e=D(te,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}F(le,i,0)}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(E)};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="store",ue=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield a(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};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=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[y,h,E,m]=Q(n,s,o),T=(e,n)=>ae(void 0,null,(function*(){return yield p(I(i,((l,t)=>ae(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield E(l,t,u,o,r,n))})))))})),A=(e,n)=>ae(void 0,null,(function*(){return a?yield E(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return b(d(yield p(I(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],l){return[e,yield h(l,n)]}))))),(e=>!C(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield h(c,H))[B]:{}}));return C(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield T(n),yield A(l)}else{const[e,l]=n();yield T(e,!0),yield A(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",he={mode:ce,[se]:1},Ee={load:0,save:0,[fe]:n+"_values"},pe=(e,n,l,t)=>{const o=S();return N(e,((e,r)=>{const i=c(R(w(n,E(e)?{[l]:e}:e)),0,x(n));f(i[0])||t(r,i[0])||F(o,r,i)})),o};var me=(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 Te="pragma ",Ae="data_version",Le="schema_version",Oe=(e,l,t,o,r,i,u,a)=>{let d,s;const[v,y,f,h]=(e=>{const l=(e=>w(he,E(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],j(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(w(Ee,i)),0,x(Ee)),a=u[2],d=j(a);return[0,t,[pe(o,{[ye]:null,[ve]:H},ye,(e=>_(d,e)&&e==a)),pe(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(d,n)&&n==a)),u],d]})(l);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Te+Ae))[0][Ae],l=(yield t(Te+Le))[0][Le];n==(null!=d?d:d=n)&&l==(null!=s?s:s=l)||(e(),d=n,s=l)}catch(e){}}))),1e3*y),o((n=>h.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,T(h),a)},Pe=(e,n,l,t,o)=>Oe(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{Pe as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",r=(t,e)=>t instanceof e,l=t=>null==t,i=Object,u=i.keys,s=i.freeze,a=t=>(t=>r(t,i)&&t.constructor==i)(t)&&0==(t=>u(t).length)(t),d=JSON.parse;var c=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const f=(u,f)=>((e,u,d,y,h)=>{let p,m,A,S=0,g=0,L=0;const x=[],C=t=>c(void 0,null,(function*(){return 2!=S&&(S=1,yield w.schedule((()=>c(void 0,null,(function*(){yield t(),S=0}))))),w})),w={load:(t,n)=>c(void 0,null,(function*(){return yield C((()=>c(void 0,null,(function*(){try{e.setContent(yield u())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>c(void 0,[...n],(function*(n={},o={}){return w.stopAutoLoad(),yield w.load(n,o),L=1,r=(t,n)=>c(void 0,null,(function*(){return yield C((()=>c(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield u())}catch(t){}}))))})),A=t(f,(()=>r())),w;var r})),stopAutoLoad:()=>{return L&&(null==(t=A)||t.close(),A=void 0,L=0),w;var t},save:t=>c(void 0,null,(function*(){return 1!=S&&(S=2,yield w.schedule((()=>c(void 0,null,(function*(){try{yield(t=e.getContent,v(void 0,null,(function*(){return yield n(f,(e=t(),JSON.stringify(e,((t,e)=>r(e,Map)?i.fromEntries([...e]):e))),o);var e})))}catch(t){}var t;S=0}))))),w})),startAutoSave:()=>c(void 0,null,(function*(){return yield w.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();a(n)&&a(o)||w.save((()=>[n,o]))})),w})),stopAutoSave:()=>{var t,n;return t=p,n=e.delListener,!!l(t)||n(t),w},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(x,...t),yield c(void 0,null,(function*(){if(!g){for(g=1;!l((t=x,m=t.shift()));)try{yield m()}catch(t){}g=0}var t})),w})),getStore:()=>e,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(w)})(u,(()=>v(void 0,null,(function*(){return d(yield e(f,o))}))));export{f as createFilePersister};
1
+ import{watch as t}from"fs";import{readFile as n,writeFile as e}from"fs/promises";const o="utf8",l=(t,n)=>t instanceof n,r=t=>null==t,i=Object,u=i.keys,s=i.freeze,d=t=>(t=>l(t,i)&&t.constructor==i)(t)&&0==(t=>u(t).length)(t),a=JSON.parse,c=t=>new Map(t),v=(t,n)=>null==t?void 0:t.get(n),f=(t,n,e)=>{return r(e)?(l=n,null==(o=t)||o.delete(l),t):null==t?void 0:t.set(n,e);var o,l},y=(t,n,e)=>{var o,l,r;return l=n,null!=(r=null==(o=t)?void 0:o.has(l))&&r||f(t,n,e()),v(t,n)};var h=(t,n,e)=>new Promise(((o,l)=>{var r=t=>{try{u(e.next(t))}catch(t){l(t)}},i=t=>{try{u(e.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((e=e.apply(t,n)).next())}));const p=c(),m=c();var A=(t,n,e)=>new Promise(((o,l)=>{var r=t=>{try{u(e.next(t))}catch(t){l(t)}},i=t=>{try{u(e.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((e=e.apply(t,n)).next())}));const S=(u,c,S)=>((t,n,e,o,l,i,u=[])=>{let a,c,A,S=0,g=0;y(p,u,(()=>0)),y(m,u,(()=>[]));const L=t=>h(void 0,null,(function*(){return 2!=S&&(S=1,yield w.schedule((()=>h(void 0,null,(function*(){yield t(),S=0}))))),w})),w={load:(e,o)=>h(void 0,null,(function*(){return yield L((()=>h(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>h(void 0,[...e],(function*(e={},l={}){return w.stopAutoLoad(),yield w.load(e,l),g=1,A=o(((e,o)=>h(void 0,null,(function*(){if(o){const n=o();yield L((()=>h(void 0,null,(function*(){return t.setTransactionChanges(n)}))))}else yield L((()=>h(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==i||i(t)}}))))})))),w})),stopAutoLoad:()=>(g&&(l(A),A=void 0,g=0),w),save:n=>h(void 0,null,(function*(){return 1!=S&&(S=2,yield w.schedule((()=>h(void 0,null,(function*(){try{yield e(t.getContent,n)}catch(t){null==i||i(t)}S=0}))))),w})),startAutoSave:()=>h(void 0,null,(function*(){return yield w.stopAutoSave().save(),a=t.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();d(e)&&d(o)||w.save((()=>[e,o]))})),w})),stopAutoSave:()=>{var n,e;return n=a,e=t.delListener,!!r(n)||e(n),w},schedule:(...t)=>h(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(v(m,u),...t),yield h(void 0,null,(function*(){if(!v(p,u)){for(f(p,u,1);!r((t=v(m,u),c=t.shift()));)try{yield c()}catch(t){null==i||i(t)}f(p,u,0)}var t})),w})),getStore:()=>t,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(w)})(u,(()=>A(void 0,null,(function*(){return a(yield n(c,o))}))),(t=>A(void 0,null,(function*(){return yield e(c,(n=t(),JSON.stringify(n,((t,n)=>l(n,Map)?i.fromEntries([...n]):n))),o);var n}))),(n=>t(c,(()=>n()))),(t=>null==t?void 0:t.close()),S);export{S as createFilePersister};
@@ -1 +1 @@
1
- const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse;var u=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const d=t=>t.headers.get("ETag"),c=(o,c,s,v)=>{let y;return((o,i,h,f,p)=>{let A,S,g,m=0,x=0,C=0;const L=[],P=t=>u(void 0,null,(function*(){return 2!=m&&(m=1,yield T.schedule((()=>u(void 0,null,(function*(){yield t(),m=0}))))),T})),T={load:(t,e)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){try{o.setContent(yield i())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},n={}){return T.stopAutoLoad(),yield T.load(t,n),C=1,l=(t,e)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield i())}catch(t){}}))))})),g=setInterval((()=>a(void 0,null,(function*(){const t=yield fetch(c,{method:"HEAD"}),n=d(t);e(y)||e(n)||n==y||(y=n,l())}))),1e3*v),T;var l})),stopAutoLoad:()=>(C&&(clearInterval(g),g=void 0,C=0),T),save:e=>u(void 0,null,(function*(){return 1!=m&&(m=2,yield T.schedule((()=>u(void 0,null,(function*(){try{yield(e=o.getContent,a(void 0,null,(function*(){return yield fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o)))});var o})))}catch(t){}var e;m=0}))))),T})),startAutoSave:()=>u(void 0,null,(function*(){return yield T.stopAutoSave().save(),A=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var t,n;return t=A,n=o.delListener,!!e(t)||n(t),T},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield u(void 0,null,(function*(){if(!x){for(x=1;!e((t=L,S=t.shift()));)try{yield S()}catch(t){}x=0}var t})),T})),getStore:()=>o,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(T)})(o,(()=>a(void 0,null,(function*(){const t=yield fetch(c);return y=d(t),i(yield t.text())}))))};export{c as createRemotePersister};
1
+ const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,l=n.freeze,r=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse,u=t=>new Map(t),d=(t,e)=>null==t?void 0:t.get(e),a=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},s=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||a(t,e,n()),d(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const v=u(),y=u();var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const f=t=>t.headers.get("ETag"),p=(o,u,p,g,A)=>{let S;return((t,n,o,i,u,h,f=[])=>{let p,g,A,S=0,m=0;s(v,f,(()=>0)),s(y,f,(()=>[]));const x=t=>c(void 0,null,(function*(){return 2!=S&&(S=1,yield C.schedule((()=>c(void 0,null,(function*(){yield t(),S=0}))))),C})),C={load:(e,o)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>c(void 0,[...e],(function*(e={},o={}){return C.stopAutoLoad(),yield C.load(e,o),m=1,A=i(((e,o)=>c(void 0,null,(function*(){if(o){const e=o();yield x((()=>c(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>c(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==h||h(t)}}))))})))),C})),stopAutoLoad:()=>(m&&(u(A),A=void 0,m=0),C),save:e=>c(void 0,null,(function*(){return 1!=S&&(S=2,yield C.schedule((()=>c(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==h||h(t)}S=0}))))),C})),startAutoSave:()=>c(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();r(n)&&r(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),C},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(d(y,f),...t),yield c(void 0,null,(function*(){if(!d(v,f)){for(a(v,f,1);!e((t=d(y,f),g=t.shift()));)try{yield g()}catch(t){null==h||h(t)}a(v,f,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>h(void 0,null,(function*(){const t=yield fetch(u);return S=f(t),i(yield t.text())}))),(e=>h(void 0,null,(function*(){return yield fetch(p,{method:"POST",headers:{"Content-Type":"application/json"},body:(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o)))});var o}))),(t=>setInterval((()=>h(void 0,null,(function*(){const n=yield fetch(u,{method:"HEAD"}),o=f(n);e(S)||e(o)||o==S||(S=o,t())}))),1e3*g)),(t=>clearInterval(t)),A)};export{p as createRemotePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),S=e=>P.values(e),x=e=>u(T(e)),N=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==x(e),g=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t,l=j)=>(R(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M=e=>new Set(Array.isArray(e)||f(e)?e:[e]),F=(e,n)=>null==e?void 0:e.add(n),$="_",k="_id",B=e=>`"${e.replace(/"/g,'""')}"`;var H=Object.defineProperty,W=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,U=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,V=(e,n)=>{for(var t in n||(n={}))q.call(n,t)&&U(e,t,n[t]);if(W)for(var t of W(n))J.call(n,t)&&U(e,t,n[t]);return e},Y=(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 z="FROM pragma_table_",K="WHERE",G=(e,n)=>{const l=g();return[()=>Y(void 0,null,(function*(){return _(l,A(yield E(i(yield e("SELECT name "+z+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>Y(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return j(l,n,_((i=g,m(o=l,r=n)||j(o,r,i()),I(o,r)),t,((e,n,t)=>{t!=I(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))));var o,r,i}),((e,n)=>j(l,n)))})),(n,t)=>Y(void 0,null,(function*(){return((e,n)=>!f(I(I(l,e),n)))(n,t)?A(d(i(yield e("SELECT*FROM"+B(n)),(e=>{return[e[t],(n=V({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!N(n)))):{}})),(n,o,u,c,v,y=!1)=>Y(void 0,null,(function*(){const p=M();R(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>F(p,e)))));const h=b(p);if(!y&&v&&a(h)&&m(l,n))return yield e("DROP TABLE"+B(n)),void j(l,n);if(a(h)||m(l,n)){const t=I(l,n),r=M(C(t));yield E([...i(h,(l=>Y(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${B(n)}ADD${B(l)}`),j(t,l,""))})))),...!y&&c?i(b(r),(l=>Y(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${B(n)}DROP${B(l)}`),j(t,l))})))):[]])}else yield e(`CREATE TABLE${B(n)}(${B(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>t+B(e))))});`),j(l,n,g([[o,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+B(n)+"WHERE 1"):yield E(R(u,((t,l)=>Y(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+B(n)+K+B(o)+"=?",[l]):a(h)||(yield Q(e,n,o,T(t),[l,...S(t)]))})))));else if(a(h))m(l,n)&&(yield e("DELETE FROM"+B(n)+"WHERE 1"));else{const t=d(C(I(l,n)),(e=>e!=o)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield Q(e,n,o,t,r),yield e("DELETE FROM"+B(n)+K+B(o)+"NOT IN("+X(a)+")",a)}}))]},Q=(e,n,l,a,d)=>Y(void 0,null,(function*(){return yield e("INSERT INTO"+B(n)+"("+B(l)+r(i(a,(e=>t+B(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+B(l)+")DO UPDATE SET"+r(i(a,(e=>B(e)+"=excluded."+B(e))),t),d)})),X=e=>r(i(e,(()=>"?")),t),Z=JSON.parse;var ee=(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 ne=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,c=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ee(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),c=1,u=l(((t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(o(u),u=void 0,c=0),h),save:n=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>ee(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>ee(void 0,null,(function*(){return yield h.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(r,e.delListener),h),schedule:(...e)=>ee(void 0,null,(function*(){return s(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var te=(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 le="store",oe=(e,n,t,l,[o],r)=>{const[i,u,a]=G(n,r),d=ne(e,(()=>te(void 0,null,(function*(){var e;return yield i(),Z(null==(e=(yield u(o,k))[$])?void 0:e[le])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var n;yield a(o,k,{[$]:{[le]:(n=e(),JSON.stringify(n,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var re=(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 ie=(e,n,t,l,[o,r,[i,u,a]],c)=>{const[s,v,y]=G(n,c),p=(e,n)=>re(void 0,null,(function*(){return yield E(D(r,((t,l)=>re(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),h=(e,n)=>re(void 0,null,(function*(){return u?yield y(a,k,{[$]:e},!0,!0,n):null}));return ne(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return A(d(yield E(D(o,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield re(void 0,null,(function*(){return i?(yield v(a,k))[$]:{}}));return N(e)&&f(n)?void 0:[e,n]}))),((e,n)=>re(void 0,null,(function*(){if(yield s(),f(n)){const[n,t]=e();yield p(n),yield h(t)}else{const[e,t]=n();yield p(e,!0),yield h(t,!0)}}))),t,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",ce="tableId",se="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[se]:n+"_values"},fe=(e,n,t,l)=>{const o=g();return R(e,((e,r)=>{const i=c(S(L(n,h(e)?{[t]:e}:e)),0,x(n));f(i[0])||l(r,i[0])||j(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 he="pragma ",Ee="data_version",me="schema_version",be=(e,t,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const t=(e=>L(ve,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ae];if(t.mode==ue){const{storeTableName:e=n}=t;return[1,l,[e],M(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(S(L(ye,i)),0,x(ye)),a=u[2],d=M(a);return[0,l,[fe(o,{[ce]:null,[de]:k},ce,(e=>F(d,e)&&e==a)),fe(r,{[se]:null,[de]:k,deleteEmptyColumns:0,deleteEmptyTable:0},se,((e,n)=>F(d,n)&&n==a)),u],d]})(t);return(d?oe:ie)(e,i?(e,n)=>pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>pe(void 0,null,(function*(){try{const n=(yield l(he+Ee))[0][Ee],t=(yield l(he+me))[0][me];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,b(y))};var Oe=Object.defineProperty,Pe=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,Ae=(e,n,t)=>n in e?Oe(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Le=(e,n,t,l,o)=>be(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={}))Te.call(n,t)&&Ae(e,t,n[t]);if(Pe)for(var t of Pe(n))we.call(n,t)&&Ae(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);export{Le as createSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,E=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),R=(e,n)=>i(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),S=e=>u(T(e)),x=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),g=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t)=>(m(e,n)||j(e,n,t()),I(e,n)),M=(e,n,t,l=j)=>(R(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F=e=>new Set(Array.isArray(e)||f(e)?e:[e]),$=(e,n)=>null==e?void 0:e.add(n),B="_",k="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var W=Object.defineProperty,q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?W(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(q)for(var t of q(n))U.call(n,t)&&V(e,t,n[t]);return e},z=(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 G="FROM pragma_table_",K="WHERE",Q=(e,n,l)=>{const o=g();return[()=>z(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+G+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>j(o,n,M(_(o,n,g),t,((e,n,t)=>{t!=I(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,t)=>z(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,t)?A(d(i(yield e("SELECT*FROM"+H(n)),(e=>{return[e[t],(n=Y({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!x(n)))):{}})),(n,l,u,c,v,y=!1)=>z(void 0,null,(function*(){const p=F();R(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>$(p,e)))));const h=b(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+H(n)),void j(o,n);if(a(h)||m(o,n)){const t=I(o,n),r=F(C(t));yield E([...i(h,(l=>z(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${H(n)}ADD${H(l)}`),j(t,l,""))})))),...!y&&c?i(b(r),(o=>z(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${H(n)}DROP${H(o)}`),j(t,o))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(l)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>t+H(e))))});`),j(o,n,g([[l,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield E(R(u,((t,o)=>z(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+H(n)+K+H(l)+"=?",[o]):a(h)||(yield X(e,n,l,T(t),[o,...N(t)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const t=d(C(I(o,n)),(e=>e!=l)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,l,t,r),yield e("DELETE FROM"+H(n)+K+H(l)+"NOT IN("+Z(a)+")",a)}})),n=>z(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},X=(e,n,l,a,d)=>z(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(l)+r(i(a,(e=>t+H(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+H(l)+")DO UPDATE SET"+r(i(a,(e=>H(e)+"=excluded."+H(e))),t),d)})),Z=e=>r(i(e,(()=>"?")),t),ee=JSON.parse;var ne=(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=g(),le=g(),oe=(e,n,t,l,o,r,i=[])=>{let u,a,d,c=0,v=0;_(te,i,(()=>0)),_(le,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(t,l)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ne(void 0,[...t],(function*(t={},o={}){return h.stopAutoLoad(),yield h.load(t,o),v=1,d=l(((t,l)=>ne(void 0,null,(function*(){if(l){const n=l();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(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)}}))))})))),h})),stopAutoLoad:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();x(t)&&x(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(le,i),...e),yield ne(void 0,null,(function*(){if(!I(te,i)){for(j(te,i,1);!f((e=I(le,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(te,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};var re=(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 ie="store",ue=(e,n,t,l,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,k))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,t;yield a(),yield c(r,k,{[B]:{[ie]:(t=null!=(n=e())?n:null,JSON.stringify(t,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l,o,u)};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=(e,n,t,l,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),b=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((t,l)=>ae(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield h(t,l,u,o,r,n))})))))})),O=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,k,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!x(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,k))[B]:{}}));return x(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,t]=e();yield b(n),yield O(t)}else{const[e,t]=n();yield b(e,!0),yield O(t,!0)}}))))}))),t,l,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,t,l)=>{const o=g();return R(e,((e,r)=>{const i=c(N(L(n,h(e)?{[t]:e}:e)),0,S(n));f(i[0])||l(r,i[0])||j(o,r,i)})),o};var me=(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 be="pragma ",Oe="data_version",Pe="schema_version",Te=(e,t,l,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const t=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[se];if(t.mode==ce){const{storeTableName:e=n}=t;return[1,l,[e],F(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(N(L(he,i)),0,S(he)),a=u[2],d=F(a);return[0,l,[Ee(o,{[ye]:null,[ve]:k},ye,(e=>$(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:k,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>$(d,n)&&n==a)),u],d]})(t);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield l(be+Oe))[0][Oe],t=(yield l(be+Pe))[0][Pe];n==(null!=d?d:d=n)&&t==(null!=s?s:s=t)||(e(),d=n,s=t)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,b(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Re=Object.prototype.propertyIsEnumerable,Ne=(e,n,t)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Se=(e,n,t,l,o,r)=>Te(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={}))Le.call(n,t)&&Ne(e,t,n[t]);if(Ae)for(var t of Ae(n))Re.call(n,t)&&Ne(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{Se as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,t)=>e.slice(n,t),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,t)=>f(e)?null==t?void 0:t():n(e),E=n=>e(n)==l,h=e=>{return n=function*(){return v.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},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),T=Object,A=T.keys,L=T.freeze,P=(e=[])=>T.fromEntries(e),w=(...e)=>T.assign({},...e),R=(e,n)=>i(T.entries(e),(([e,t])=>n(t,e))),S=e=>T.values(e),g=e=>u(A(e)),N=e=>(e=>y(e,T)&&e.constructor==T)(e)&&0==g(e),C=e=>new Map(e),x=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return i([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},j=(e,n,t)=>f(t)?(b(e,n),e):null==e?void 0:e.set(n,t),F=(e,n,t,l=j)=>(R(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),M=e=>new Set(Array.isArray(e)||f(e)?e:[e]),$=(e,n)=>null==e?void 0:e.add(n),_="_",B="_id",H=e=>`"${e.replace(/"/g,'""')}"`;var W=Object.defineProperty,k=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?W(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)&&Y(e,t,n[t]);if(k)for(var t of k(n))U.call(n,t)&&Y(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 V="FROM pragma_table_",q="WHERE",G=(e,n)=>{const l=C();return[()=>K(void 0,null,(function*(){return F(l,P(yield h(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,P(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return j(l,n,F((i=C,m(o=l,r=n)||j(o,r,i()),I(o,r)),t,((e,n,t)=>{t!=I(e,n)&&j(e,n,t)}),((e,n)=>j(e,n))));var o,r,i}),((e,n)=>j(l,n)))})),(n,t)=>K(void 0,null,(function*(){return((e,n)=>!f(I(I(l,e),n)))(n,t)?P(d(i(yield e("SELECT*FROM"+H(n)),(e=>{return[e[t],(n=z({},e),l=t,delete n[l],n)];var n,l})),(([e,n])=>!f(e)&&!N(n)))):{}})),(n,o,u,c,v,y=!1)=>K(void 0,null,(function*(){const p=M();R(null!=u?u:{},(e=>i(A(null!=e?e:{}),(e=>$(p,e)))));const E=O(p);if(!y&&v&&a(E)&&m(l,n))return yield e("DROP TABLE"+H(n)),void j(l,n);if(a(E)||m(l,n)){const t=I(l,n),r=M(x(t));yield h([...i(E,(l=>K(void 0,null,(function*(){b(r,l)||(yield e(`ALTER TABLE${H(n)}ADD${H(l)}`),j(t,l,""))})))),...!y&&c?i(O(r),(l=>K(void 0,null,(function*(){l!=o&&(yield e(`ALTER TABLE${H(n)}DROP${H(l)}`),j(t,l))})))):[]])}else yield e(`CREATE TABLE${H(n)}(${H(o)} PRIMARY KEY ON CONFLICT REPLACE${r(i(E,(e=>t+H(e))))});`),j(l,n,C([[o,""],...i(E,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+H(n)+"WHERE 1"):yield h(R(u,((t,l)=>K(void 0,null,(function*(){f(t)?yield e("DELETE FROM"+H(n)+q+H(o)+"=?",[l]):a(E)||(yield Q(e,n,o,A(t),[l,...S(t)]))})))));else if(a(E))m(l,n)&&(yield e("DELETE FROM"+H(n)+"WHERE 1"));else{const t=d(x(I(l,n)),(e=>e!=o)),r=[],a=[];R(null!=u?u:{},((e,n)=>{s(r,n,...i(t,(n=>null==e?void 0:e[n]))),s(a,n)})),yield Q(e,n,o,t,r),yield e("DELETE FROM"+H(n)+q+H(o)+"NOT IN("+X(a)+")",a)}}))]},Q=(e,n,l,a,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+H(n)+"("+H(l)+r(i(a,(e=>t+H(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+H(l)+")DO UPDATE SET"+r(i(a,(e=>H(e)+"=excluded."+H(e))),t),d)})),X=e=>r(i(e,(()=>"?")),t),Z=JSON.parse;var ee=(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 ne=(e,n,t,l,o)=>{let r,i,u,a=0,d=0,c=0;const v=[],y=e=>ee(void 0,null,(function*(){return 2!=a&&(a=1,yield E.schedule((()=>ee(void 0,null,(function*(){yield e(),a=0}))))),E})),E={load:(t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>ee(void 0,[...t],(function*(t={},o={}){return E.stopAutoLoad(),yield E.load(t,o),c=1,u=l(((t,l)=>ee(void 0,null,(function*(){return yield y((()=>ee(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield n())}catch(e){}}))))})))),E})),stopAutoLoad:()=>(c&&(o(u),u=void 0,c=0),E),save:n=>ee(void 0,null,(function*(){return 1!=a&&(a=2,yield E.schedule((()=>ee(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),E})),startAutoSave:()=>ee(void 0,null,(function*(){return yield E.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();N(t)&&N(l)||E.save((()=>[t,l]))})),E})),stopAutoSave:()=>(p(r,e.delListener),E),schedule:(...e)=>ee(void 0,null,(function*(){return s(v,...e),yield ee(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),E})),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(E)};var te=(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 le="store",oe=(e,n,t,l,[o],r)=>{const[i,u,a]=G(n,r),d=ne(e,(()=>te(void 0,null,(function*(){var e;return yield i(),Z(null==(e=(yield u(o,B))[_])?void 0:e[le])}))),(e=>te(void 0,null,(function*(){return d.schedule(i,(()=>te(void 0,null,(function*(){var n;yield a(o,B,{[_]:{[le]:(n=e(),JSON.stringify(n,((e,n)=>y(n,Map)?T.fromEntries([...n]):n)))}},!0,!0)}))))}))),t,l);return d};var re=(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 ie=(e,n,t,l,[o,r,[i,u,a]],c)=>{const[s,v,y]=G(n,c),p=(e,n)=>re(void 0,null,(function*(){return yield h(D(r,((t,l)=>re(void 0,[t,l],(function*([t,l,o,r],i){const u=e[i];n&&void 0===u||(yield y(t,l,u,o,r,n))})))))})),E=(e,n)=>re(void 0,null,(function*(){return u?yield y(a,B,{[_]:e},!0,!0,n):null}));return ne(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return P(d(yield h(D(o,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield v(t,n)]}))))),(e=>!N(e[1]))))})),n=yield re(void 0,null,(function*(){return i?(yield v(a,B))[_]:{}}));return N(e)&&f(n)?void 0:[e,n]}))),((e,n)=>re(void 0,null,(function*(){if(yield s(),f(n)){const[n,t]=e();yield p(n),yield E(t)}else{const[e,t]=n();yield p(e,!0),yield E(t,!0)}}))),t,l)},ue="json",ae="autoLoadIntervalSeconds",de="rowIdColumnName",ce="tableId",se="tableName",ve={mode:ue,[ae]:1},ye={load:0,save:0,[se]:n+"_values"},fe=(e,n,t,l)=>{const o=C();return R(e,((e,r)=>{const i=c(S(w(n,E(e)?{[t]:e}:e)),0,g(n));f(i[0])||l(r,i[0])||j(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 Ee="pragma ",he="data_version",me="schema_version",Oe=(e,t,l,o,r,i)=>{let u,a;const[d,s,v,y]=(e=>{const t=(e=>w(ve,E(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ae];if(t.mode==ue){const{storeTableName:e=n}=t;return[1,l,[e],M(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=t,u=c(S(w(ye,i)),0,g(ye)),a=u[2],d=M(a);return[0,l,[fe(o,{[ce]:null,[de]:B},ce,(e=>$(d,e)&&e==a)),fe(r,{[se]:null,[de]:B,deleteEmptyColumns:0,deleteEmptyTable:0},se,((e,n)=>$(d,n)&&n==a)),u],d]})(t);return(d?oe:ie)(e,i?(e,n)=>pe(void 0,null,(function*(){return i(e,n),yield l(e,n)})):l,(e=>[setInterval((()=>pe(void 0,null,(function*(){try{const n=(yield l(Ee+he))[0][he],t=(yield l(Ee+me))[0][me];n==(null!=u?u:u=n)&&t==(null!=a?a:a=t)||(e(),u=n,a=t)}catch(e){}}))),1e3*s),o((n=>y.has(n)?e():0))]),(([e,n])=>{clearInterval(e),u=a=null,r(n)}),v,O(y))};var be=Object.defineProperty,Te=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Le=Object.prototype.propertyIsEnumerable,Pe=(e,n,t)=>n in e?be(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const we="change",Re=(e,n,t,l)=>Oe(e,t,((e,t=[])=>new v(((l,o)=>n.all(e,t,((e,n)=>e?o(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Ae.call(n,t)&&Pe(e,t,n[t]);if(Te)for(var t of Te(n))Le.call(n,t)&&Pe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=(n,t,l)=>e(l);return n.on(we,t),t}),(e=>n.off(we,e)),l);export{Re as createSqlite3Persister};
1
+ const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=(e,n="")=>e.join(n),i=(e,n)=>e.map(n),u=e=>e.length,a=e=>0==u(e),d=(e,n)=>e.filter(n),c=(e,n,l)=>e.slice(n,l),s=(e,...n)=>e.push(...n),v=Promise,y=(e,n)=>e instanceof n,f=e=>null==e,p=(e,n,l)=>f(e)?null==l?void 0:l():n(e),h=n=>e(n)==t,E=e=>{return n=function*(){return v.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},m=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},O=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),P=Object,T=P.keys,w=P.freeze,A=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),N=(e,n)=>i(P.entries(e),(([e,l])=>n(l,e))),R=e=>P.values(e),S=e=>u(T(e)),g=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==S(e),x=e=>new Map(e),C=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},j=(e,n,l)=>f(l)?(b(e,n),e):null==e?void 0:e.set(n,l),F=(e,n,l)=>(m(e,n)||j(e,n,l()),I(e,n)),M=(e,n,l,t=j)=>(N(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)=>!f(((e,n)=>p(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),$=e=>new Set(Array.isArray(e)||f(e)?e:[e]),_=(e,n)=>null==e?void 0:e.add(n),B="_",H="_id",W=e=>`"${e.replace(/"/g,'""')}"`;var k=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,z=(e,n,l)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,G=(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))Y.call(n,l)&&z(e,l,n[l]);return e},K=(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 V="FROM pragma_table_",q="WHERE",Q=(e,n,t)=>{const o=x();return[()=>K(void 0,null,(function*(){return M(o,A(yield E(i(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Z(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,A(i(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>j(o,n,M(F(o,n,x),l,((e,n,l)=>{l!=I(e,n)&&j(e,n,l)}),((e,n)=>j(e,n))))),((e,n)=>j(o,n)))})),(n,l)=>K(void 0,null,(function*(){return((e,n)=>!f(I(I(o,e),n)))(n,l)?A(d(i(yield e("SELECT*FROM"+W(n)),(e=>{return[e[l],(n=G({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!f(e)&&!g(n)))):{}})),(n,t,u,c,v,y=!1)=>K(void 0,null,(function*(){const p=$();N(null!=u?u:{},(e=>i(T(null!=e?e:{}),(e=>_(p,e)))));const h=O(p);if(!y&&v&&a(h)&&m(o,n))return yield e("DROP TABLE"+W(n)),void j(o,n);if(a(h)||m(o,n)){const l=I(o,n),r=$(C(l));yield E([...i(h,(t=>K(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${W(n)}ADD${W(t)}`),j(l,t,""))})))),...!y&&c?i(O(r),(o=>K(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${W(n)}DROP${W(o)}`),j(l,o))})))):[]])}else yield e(`CREATE TABLE${W(n)}(${W(t)} PRIMARY KEY ON CONFLICT REPLACE${r(i(h,(e=>l+W(e))))});`),j(o,n,x([[t,""],...i(h,(e=>[e,""]))]));if(y)f(u)?yield e("DELETE FROM"+W(n)+"WHERE 1"):yield E(N(u,((l,o)=>K(void 0,null,(function*(){f(l)?yield e("DELETE FROM"+W(n)+q+W(t)+"=?",[o]):a(h)||(yield X(e,n,t,T(l),[o,...R(l)]))})))));else if(a(h))m(o,n)&&(yield e("DELETE FROM"+W(n)+"WHERE 1"));else{const l=d(C(I(o,n)),(e=>e!=t)),r=[],a=[];N(null!=u?u:{},((e,n)=>{s(r,n,...i(l,(n=>null==e?void 0:e[n]))),s(a,n)})),yield X(e,n,t,l,r),yield e("DELETE FROM"+W(n)+q+W(t)+"NOT IN("+Z(a)+")",a)}})),n=>K(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},X=(e,n,t,a,d)=>K(void 0,null,(function*(){return yield e("INSERT INTO"+W(n)+"("+W(t)+r(i(a,(e=>l+W(e))))+")VALUES"+o(`,(?${o(",?",u(a))})`,u(d)/(u(a)+1)).substring(1)+"ON CONFLICT("+W(t)+")DO UPDATE SET"+r(i(a,(e=>W(e)+"=excluded."+W(e))),l),d)})),Z=e=>r(i(e,(()=>"?")),l),ee=JSON.parse;var ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le=x(),te=x(),oe=(e,n,l,t,o,r,i=[])=>{let u,a,d,c=0,v=0;F(le,i,(()=>0)),F(te,i,(()=>[]));const y=e=>ne(void 0,null,(function*(){return 2!=c&&(c=1,yield h.schedule((()=>ne(void 0,null,(function*(){yield e(),c=0}))))),h})),h={load:(l,t)=>ne(void 0,null,(function*(){return yield y((()=>ne(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ne(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),v=1,d=t(((l,t)=>ne(void 0,null,(function*(){if(t){const n=t();yield y((()=>ne(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield y((()=>ne(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:()=>(v&&(o(d),d=void 0,v=0),h),save:n=>ne(void 0,null,(function*(){return 1!=c&&(c=2,yield h.schedule((()=>ne(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}c=0}))))),h})),startAutoSave:()=>ne(void 0,null,(function*(){return yield h.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();g(l)&&g(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(p(u,e.delListener),h),schedule:(...e)=>ne(void 0,null,(function*(){return s(I(te,i),...e),yield ne(void 0,null,(function*(){if(!I(le,i)){for(j(le,i,1);!f((e=I(te,i),a=e.shift()));)try{yield a()}catch(e){null==r||r(e)}j(le,i,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w(h)};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="store",ue=(e,n,l,t,o,[r],i,u)=>{const[a,d,c,s]=Q(n,i,o);return oe(e,(()=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var e,n;return yield a(),ee(null!=(n=null==(e=(yield d(r,H))[B])?void 0:e[ie])?n:"null")}))))}))),(e=>re(void 0,null,(function*(){return yield s((()=>re(void 0,null,(function*(){var n,l;yield a(),yield c(r,H,{[B]:{[ie]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>y(n,Map)?P.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,u)};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=(e,n,l,t,o,[r,i,[u,a,c]],s,v)=>{const[y,p,h,m]=Q(n,s,o),O=(e,n)=>ae(void 0,null,(function*(){return yield E(D(i,((l,t)=>ae(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield h(l,t,u,o,r,n))})))))})),b=(e,n)=>ae(void 0,null,(function*(){return a?yield h(c,H,{[B]:e},!0,!0,n):null}));return oe(e,(()=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){yield y();const e=yield ae(void 0,null,(function*(){return A(d(yield E(D(r,((e,n)=>ae(void 0,[e,n],(function*([e,n],l){return[e,yield p(l,n)]}))))),(e=>!g(e[1]))))})),n=yield ae(void 0,null,(function*(){return u?(yield p(c,H))[B]:{}}));return g(e)&&f(n)?void 0:[e,n]}))))}))),((e,n)=>ae(void 0,null,(function*(){return yield m((()=>ae(void 0,null,(function*(){if(yield y(),f(n)){const[n,l]=e();yield O(n),yield b(l)}else{const[e,l]=n();yield O(e,!0),yield b(l,!0)}}))))}))),l,t,o,v)},ce="json",se="autoLoadIntervalSeconds",ve="rowIdColumnName",ye="tableId",fe="tableName",pe={mode:ce,[se]:1},he={load:0,save:0,[fe]:n+"_values"},Ee=(e,n,l,t)=>{const o=x();return N(e,((e,r)=>{const i=c(R(L(n,h(e)?{[l]:e}:e)),0,S(n));f(i[0])||t(r,i[0])||j(o,r,i)})),o};var me=(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 Oe="pragma ",be="data_version",Pe="schema_version",Te=(e,l,t,o,r,i,u,a)=>{let d,s;const[v,y,f,p]=(e=>{const l=(e=>L(pe,h(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[se];if(l.mode==ce){const{storeTableName:e=n}=l;return[1,t,[e],$(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(R(L(he,i)),0,S(he)),a=u[2],d=$(a);return[0,t,[Ee(o,{[ye]:null,[ve]:H},ye,(e=>_(d,e)&&e==a)),Ee(r,{[fe]:null,[ve]:H,deleteEmptyColumns:0,deleteEmptyTable:0},fe,((e,n)=>_(d,n)&&n==a)),u],d]})(l);return(v?ue:de)(e,i?(e,n)=>me(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>[setInterval((()=>me(void 0,null,(function*(){try{const n=(yield t(Oe+be))[0][be],l=(yield t(Oe+Pe))[0][Pe];n==(null!=d?d:d=n)&&l==(null!=s?s:s=l)||(e(),d=n,s=l)}catch(e){}}))),1e3*y),o((n=>p.has(n)?e():0))]),(([e,n])=>{clearInterval(e),d=s=null,r(n)}),u,f,O(p),a)};var we=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Re=(e,n,l)=>n in e?we(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l;const Se="change",ge=(e,n,l,t,o)=>Te(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.map((e=>((e,n)=>{for(var l in n||(n={}))Le.call(n,l)&&Re(e,l,n[l]);if(Ae)for(var l of Ae(n))Ne.call(n,l)&&Re(e,l,n[l]);return e})({},e)))))),new v(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(Se,l),l}),(e=>n.off(Se,e)),t,o,n);export{ge as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,i=r.keys,u=r.freeze,s=(t=[])=>r.fromEntries(t),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),c=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),d=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>e(i(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var f=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const y=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const g="t",p="delete",S=t=>[t.get(g),t.get("v")],m=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let s;return c(l,((t,e)=>{r(u,e,t)&&(s=1)})),u.forEach(((t,e)=>{a(l,e)||(u.delete(e),s=1)})),o(n)||u.size||e.delete(n),s},A=(r,i,a="tinybase")=>{const A=i.getMap(a);return((r,a,w,O,J)=>{let L,N,x,C=0,b=0,z=0;const E=[],P=t=>f(void 0,null,(function*(){return 2!=C&&(C=1,yield D.schedule((()=>f(void 0,null,(function*(){yield t(),C=0}))))),D})),D={load:(t,e)=>f(void 0,null,(function*(){return yield P((()=>f(void 0,null,(function*(){try{r.setContent(yield a())}catch(n){r.setContent([t,e])}}))))})),startAutoLoad:(...t)=>f(void 0,[...t],(function*(t={},o={}){return D.stopAutoLoad(),yield D.load(t,o),z=1,x=(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[i,u]=S(t),a={},c={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==g?l(n(t),(o=>{const r=v(a,o,s),u=i.get(o);l(n(t),(t=>{const n=v(r,t,s),o=u.get(t);y(e,((t,{action:e})=>n[t]=e==p?null:o.get(t)))}),(()=>y(e,((t,{action:e})=>{var n;return r[t]=e==p?null:null==(n=u.get(t))?void 0:n.toJSON()}))))}),(()=>y(e,((t,{action:e})=>{var n;return a[t]=e==p?null:null==(n=i.get(t))?void 0:n.toJSON()})))):y(e,((t,{action:e})=>c[t]=e==p?null:u.get(t)))))})(o),[a,c]})(A,o)));return A.observeDeep(o),o})(((t,e)=>f(void 0,null,(function*(){return yield P((()=>f(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield a())}catch(t){}}))))})))),D})),stopAutoLoad:()=>{return z&&(t=x,A.unobserveDeep(t),x=void 0,z=0),D;var t},save:e=>f(void 0,null,(function*(){return 1!=C&&(C=2,yield D.schedule((()=>f(void 0,null,(function*(){try{yield((e,n)=>h(void 0,null,(function*(){return i.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(g,new t),e.set("v",new t))})(e);const[i,u]=S(e),s=()=>{a=1};let a=1;if(l(null==r?void 0:r(),(([t,e])=>{a=0,c(t,((t,e)=>a?0:o(t)?i.delete(e):l(i.get(e),(e=>c(t,((t,n)=>a?0:o(t)?e.delete(n):l(e.get(n),(e=>c(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),c(e,((t,e)=>a?0:o(t)?u.delete(e):u.set(e,t)))})),a){const[t,e]=n();m(i,void 0,t,((t,e,n)=>m(i,e,n,((t,e,n)=>m(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),m(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(A,e,n)))})))(r.getContent,e)}catch(t){}C=0}))))),D})),startAutoSave:()=>f(void 0,null,(function*(){return yield D.stopAutoSave().save(),L=r.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||D.save((()=>[n,o]))})),D})),stopAutoSave:()=>(l(L,r.delListener),D),schedule:(...t)=>f(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(E,...t),yield f(void 0,null,(function*(){if(!b){for(b=1;!o(N=n(E));)try{yield N()}catch(t){}b=0}})),D})),getStore:()=>r,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(D)})(r,(()=>h(void 0,null,(function*(){return A.size?[A.get(g).toJSON(),A.get("v").toJSON()]:void 0}))))};export{A as createYjsPersister};
1
+ import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,u=r.keys,i=r.freeze,s=(t=[])=>r.fromEntries(t),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),d=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),c=t=>(t=>t instanceof r&&t.constructor==r)(t)&&0==(t=>e(u(t)))(t),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]),f=t=>new Map(t),y=(t,e)=>null==t?void 0:t.get(e),h=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t))),g=(t,e,n)=>{return o(n)?(r=e,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(e,n);var l,r},p=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||g(t,e,n()),y(t,e)};var S=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const m=f(),w=f();var A=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},u=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,u);i((n=n.apply(t,e)).next())}));const O="t",J="delete",L=t=>[t.get(O),t.get("v")],N=(e,n,l,r)=>{var u;const i=o(n)?e:null!=(u=e.get(n))?u:e.set(n,new t);let s;return d(l,((t,e)=>{r(i,e,t)&&(s=1)})),i.forEach(((t,e)=>{a(l,e)||(i.delete(e),s=1)})),o(n)||i.size||e.delete(n),s},x=(r,u,a="tinybase",f)=>{const x=u.getMap(a);return((t,e,r,u,s,a,d=[])=>{let v,f,h,A=0,O=0;p(m,d,(()=>0)),p(w,d,(()=>[]));const J=t=>S(void 0,null,(function*(){return 2!=A&&(A=1,yield L.schedule((()=>S(void 0,null,(function*(){yield t(),A=0}))))),L})),L={load:(n,o)=>S(void 0,null,(function*(){return yield J((()=>S(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>S(void 0,[...n],(function*(n={},o={}){return L.stopAutoLoad(),yield L.load(n,o),O=1,h=u(((n,o)=>S(void 0,null,(function*(){if(o){const e=o();yield J((()=>S(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield J((()=>S(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==a||a(t)}}))))})))),L})),stopAutoLoad:()=>(O&&(s(h),h=void 0,O=0),L),save:e=>S(void 0,null,(function*(){return 1!=A&&(A=2,yield L.schedule((()=>S(void 0,null,(function*(){try{yield r(t.getContent,e)}catch(t){null==a||a(t)}A=0}))))),L})),startAutoSave:()=>S(void 0,null,(function*(){return yield L.stopAutoSave().save(),v=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();c(n)&&c(o)||L.save((()=>[n,o]))})),L})),stopAutoSave:()=>(l(v,t.delListener),L),schedule:(...t)=>S(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y(w,d),...t),yield S(void 0,null,(function*(){if(!y(m,d)){for(g(m,d,1);!o(f=n(y(w,d)));)try{yield f()}catch(t){null==a||a(t)}g(m,d,0)}})),L})),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(L)})(r,(()=>A(void 0,null,(function*(){return x.size?[x.get(O).toJSON(),x.get("v").toJSON()]:void 0}))),((e,n)=>A(void 0,null,(function*(){return u.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set(O,new t),e.set("v",new t))})(e);const[u,i]=L(e),s=()=>{a=1};let a=1;if(l(null==r?void 0:r(),(([t,e])=>{a=0,d(t,((t,e)=>a?0:o(t)?u.delete(e):l(u.get(e),(e=>d(t,((t,n)=>a?0:o(t)?e.delete(n):l(e.get(n),(e=>d(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),s)))),s))),d(e,((t,e)=>a?0:o(t)?i.delete(e):i.set(e,t)))})),a){const[t,e]=n();N(u,void 0,t,((t,e,n)=>N(u,e,n,((t,e,n)=>N(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),N(i,void 0,e,((t,e,n)=>{i.get(e)!==n&&i.set(e,n)}))}})(x,e,n)))}))),(t=>{const o=o=>t(void 0,(()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[u,i]=L(t),a={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==O?l(n(t),(o=>{const r=v(a,o,s),i=u.get(o);l(n(t),(t=>{const n=v(r,t,s),o=i.get(t);h(e,((t,{action:e})=>n[t]=e==J?null:o.get(t)))}),(()=>h(e,((t,{action:e})=>{var n;return r[t]=e==J?null:null==(n=i.get(t))?void 0:n.toJSON()}))))}),(()=>h(e,((t,{action:e})=>{var n;return a[t]=e==J?null:null==(n=u.get(t))?void 0:n.toJSON()})))):h(e,((t,{action:e})=>d[t]=e==J?null:i.get(t)))))})(o),[a,d]})(x,o)));return x.observeDeep(o),o}),(t=>{x.unobserveDeep(t)}),f)};export{x as createYjsPersister};
@@ -1 +1 @@
1
- const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t);var i=(t,n,e)=>new Promise(((o,l)=>{var i=t=>{try{r(e.next(t))}catch(t){l(t)}},u=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((e=e.apply(t,n)).next())}));const u=(n,e,u,r,d)=>{let s,a,c,v=0,y=0,f=0;const h=[],p=t=>i(void 0,null,(function*(){return 2!=v&&(v=1,yield A.schedule((()=>i(void 0,null,(function*(){yield t(),v=0}))))),A})),A={load:(t,o)=>i(void 0,null,(function*(){return yield p((()=>i(void 0,null,(function*(){try{n.setContent(yield e())}catch(e){n.setContent([t,o])}}))))})),startAutoLoad:(...t)=>i(void 0,[...t],(function*(t={},o={}){return A.stopAutoLoad(),yield A.load(t,o),f=1,c=r(((t,o)=>i(void 0,null,(function*(){return yield p((()=>i(void 0,null,(function*(){var l;if(o)n.setTransactionChanges(o());else try{n.setContent(null!=(l=null==t?void 0:t())?l:yield e())}catch(t){}}))))})))),A})),stopAutoLoad:()=>(f&&(d(c),c=void 0,f=0),A),save:t=>i(void 0,null,(function*(){return 1!=v&&(v=2,yield A.schedule((()=>i(void 0,null,(function*(){try{yield u(n.getContent,t)}catch(t){}v=0}))))),A})),startAutoSave:()=>i(void 0,null,(function*(){return yield A.stopAutoSave().save(),s=n.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();l(e)&&l(o)||A.save((()=>[e,o]))})),A})),stopAutoSave:()=>{var e,o;return e=s,o=n.delListener,!!t(e)||o(e),A},schedule:(...n)=>i(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(h,...n),yield i(void 0,null,(function*(){if(!y){for(y=1;!t((n=h,a=n.shift()));)try{yield a()}catch(t){}y=0}var n})),A})),getStore:()=>n,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(A)};export{u as createCustomPersister};
1
+ const t=t=>null==t,n=Object,e=n.keys,o=n.freeze,l=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>e(t).length)(t),u=t=>new Map(t),i=(t,n)=>null==t?void 0:t.get(n),r=(n,e,o)=>{return t(o)?(u=e,null==(l=n)||l.delete(u),n):null==n?void 0:n.set(e,o);var l,u},d=(t,n,e)=>{var o,l,u;return l=n,null!=(u=null==(o=t)?void 0:o.has(l))&&u||r(t,n,e()),i(t,n)};var s=(t,n,e)=>new Promise(((o,l)=>{var u=t=>{try{r(e.next(t))}catch(t){l(t)}},i=t=>{try{r(e.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(u,i);r((e=e.apply(t,n)).next())}));const a=u(),c=u(),v=(n,e,u,v,y,f,h=[])=>{let p,A,g,L=0,S=0;d(a,h,(()=>0)),d(c,h,(()=>[]));const C=t=>s(void 0,null,(function*(){return 2!=L&&(L=1,yield w.schedule((()=>s(void 0,null,(function*(){yield t(),L=0}))))),w})),w={load:(t,o)=>s(void 0,null,(function*(){return yield C((()=>s(void 0,null,(function*(){try{n.setContent(yield e())}catch(e){n.setContent([t,o])}}))))})),startAutoLoad:(...t)=>s(void 0,[...t],(function*(t={},o={}){return w.stopAutoLoad(),yield w.load(t,o),S=1,g=v(((t,o)=>s(void 0,null,(function*(){if(o){const t=o();yield C((()=>s(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>s(void 0,null,(function*(){var o;try{n.setContent(null!=(o=null==t?void 0:t())?o:yield e())}catch(t){null==f||f(t)}}))))})))),w})),stopAutoLoad:()=>(S&&(y(g),g=void 0,S=0),w),save:t=>s(void 0,null,(function*(){return 1!=L&&(L=2,yield w.schedule((()=>s(void 0,null,(function*(){try{yield u(n.getContent,t)}catch(t){null==f||f(t)}L=0}))))),w})),startAutoSave:()=>s(void 0,null,(function*(){return yield w.stopAutoSave().save(),p=n.addDidFinishTransactionListener(((t,n)=>{const[e,o]=n();l(e)&&l(o)||w.save((()=>[e,o]))})),w})),stopAutoSave:()=>{var e,o;return e=p,o=n.delListener,!!t(e)||o(e),w},schedule:(...n)=>s(void 0,null,(function*(){return((t,...n)=>{t.push(...n)})(i(c,h),...n),yield s(void 0,null,(function*(){if(!i(a,h)){for(r(a,h,1);!t((n=i(c,h),A=n.shift()));)try{yield A()}catch(t){null==f||f(t)}r(a,h,0)}var n})),w})),getStore:()=>n,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(w)};export{v as createCustomPersister};
Binary file