tinybase 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  11. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-file.cjs +1 -1
  15. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  17. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  19. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  21. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  22. package/lib/cjs/relationships.cjs +1 -1
  23. package/lib/cjs/relationships.cjs.gz +0 -0
  24. package/lib/cjs/store.cjs +1 -1
  25. package/lib/cjs/store.cjs.gz +0 -0
  26. package/lib/cjs/tinybase.cjs +1 -1
  27. package/lib/cjs/tinybase.cjs.gz +0 -0
  28. package/lib/cjs/tools.cjs +1 -1
  29. package/lib/cjs/tools.cjs.gz +0 -0
  30. package/lib/cjs/ui-react.cjs +1 -1
  31. package/lib/cjs/ui-react.cjs.gz +0 -0
  32. package/lib/cjs-es6/checkpoints.cjs +1 -1
  33. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  34. package/lib/cjs-es6/indexes.cjs +1 -1
  35. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  36. package/lib/cjs-es6/metrics.cjs +1 -1
  37. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  38. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  39. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  40. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  41. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  42. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  43. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  44. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  45. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  46. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  47. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  48. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  49. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  50. package/lib/cjs-es6/relationships.cjs +1 -1
  51. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  52. package/lib/cjs-es6/store.cjs +1 -1
  53. package/lib/cjs-es6/store.cjs.gz +0 -0
  54. package/lib/cjs-es6/tinybase.cjs +1 -1
  55. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  56. package/lib/cjs-es6/tools.cjs +1 -1
  57. package/lib/cjs-es6/tools.cjs.gz +0 -0
  58. package/lib/cjs-es6/ui-react.cjs +1 -1
  59. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  60. package/lib/debug/checkpoints.js +6 -6
  61. package/lib/debug/indexes.js +7 -7
  62. package/lib/debug/metrics.js +12 -12
  63. package/lib/debug/persisters/persister-browser.js +10 -19
  64. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +183 -132
  65. package/lib/debug/persisters/persister-file.js +10 -19
  66. package/lib/debug/persisters/persister-remote.js +10 -19
  67. package/lib/debug/persisters/persister-sqlite-wasm.js +178 -131
  68. package/lib/debug/persisters/persister-sqlite3.js +178 -132
  69. package/lib/debug/persisters.js +4 -4
  70. package/lib/debug/relationships.js +7 -7
  71. package/lib/debug/store.js +16 -24
  72. package/lib/debug/tinybase.js +20 -28
  73. package/lib/debug/tools.js +14 -13
  74. package/lib/debug/ui-react.js +4 -4
  75. package/lib/es6/checkpoints.js +1 -1
  76. package/lib/es6/checkpoints.js.gz +0 -0
  77. package/lib/es6/indexes.js +1 -1
  78. package/lib/es6/indexes.js.gz +0 -0
  79. package/lib/es6/metrics.js +1 -1
  80. package/lib/es6/metrics.js.gz +0 -0
  81. package/lib/es6/persisters/persister-browser.js +1 -1
  82. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  83. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  84. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  85. package/lib/es6/persisters/persister-file.js +1 -1
  86. package/lib/es6/persisters/persister-file.js.gz +0 -0
  87. package/lib/es6/persisters/persister-remote.js +1 -1
  88. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  89. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  90. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  91. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  92. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  93. package/lib/es6/relationships.js +1 -1
  94. package/lib/es6/relationships.js.gz +0 -0
  95. package/lib/es6/store.js +1 -1
  96. package/lib/es6/store.js.gz +0 -0
  97. package/lib/es6/tinybase.js +1 -1
  98. package/lib/es6/tinybase.js.gz +0 -0
  99. package/lib/es6/tools.js +1 -1
  100. package/lib/es6/tools.js.gz +0 -0
  101. package/lib/es6/ui-react.js +1 -1
  102. package/lib/es6/ui-react.js.gz +0 -0
  103. package/lib/indexes.js +1 -1
  104. package/lib/indexes.js.gz +0 -0
  105. package/lib/metrics.js +1 -1
  106. package/lib/metrics.js.gz +0 -0
  107. package/lib/persisters/persister-browser.js +1 -1
  108. package/lib/persisters/persister-browser.js.gz +0 -0
  109. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  110. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  111. package/lib/persisters/persister-file.js +1 -1
  112. package/lib/persisters/persister-file.js.gz +0 -0
  113. package/lib/persisters/persister-remote.js +1 -1
  114. package/lib/persisters/persister-remote.js.gz +0 -0
  115. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/persisters/persister-sqlite3.js +1 -1
  118. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/relationships.js +1 -1
  120. package/lib/relationships.js.gz +0 -0
  121. package/lib/store.js +1 -1
  122. package/lib/store.js.gz +0 -0
  123. package/lib/tinybase.js +1 -1
  124. package/lib/tinybase.js.gz +0 -0
  125. package/lib/tools.js +1 -1
  126. package/lib/tools.js.gz +0 -0
  127. package/lib/types/persisters.d.ts +7 -0
  128. package/lib/types/with-schemas/persisters.d.ts +7 -0
  129. package/lib/ui-react.js +1 -1
  130. package/lib/ui-react.js.gz +0 -0
  131. package/lib/umd/checkpoints.js +1 -1
  132. package/lib/umd/checkpoints.js.gz +0 -0
  133. package/lib/umd/indexes.js +1 -1
  134. package/lib/umd/indexes.js.gz +0 -0
  135. package/lib/umd/metrics.js +1 -1
  136. package/lib/umd/metrics.js.gz +0 -0
  137. package/lib/umd/persisters/persister-browser.js +1 -1
  138. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  139. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  140. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  141. package/lib/umd/persisters/persister-file.js +1 -1
  142. package/lib/umd/persisters/persister-file.js.gz +0 -0
  143. package/lib/umd/persisters/persister-remote.js +1 -1
  144. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  145. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  146. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  147. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  148. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  149. package/lib/umd/relationships.js +1 -1
  150. package/lib/umd/relationships.js.gz +0 -0
  151. package/lib/umd/store.js +1 -1
  152. package/lib/umd/store.js.gz +0 -0
  153. package/lib/umd/tinybase.js +1 -1
  154. package/lib/umd/tinybase.js.gz +0 -0
  155. package/lib/umd/tools.js +1 -1
  156. package/lib/umd/tools.js.gz +0 -0
  157. package/lib/umd/ui-react.js +1 -1
  158. package/lib/umd/ui-react.js.gz +0 -0
  159. package/lib/umd-es6/checkpoints.js +1 -1
  160. package/lib/umd-es6/checkpoints.js.gz +0 -0
  161. package/lib/umd-es6/indexes.js +1 -1
  162. package/lib/umd-es6/indexes.js.gz +0 -0
  163. package/lib/umd-es6/metrics.js +1 -1
  164. package/lib/umd-es6/metrics.js.gz +0 -0
  165. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  166. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  167. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  168. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  169. package/lib/umd-es6/persisters/persister-file.js +1 -1
  170. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  171. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  172. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  173. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  174. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  175. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  176. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  177. package/lib/umd-es6/relationships.js +1 -1
  178. package/lib/umd-es6/relationships.js.gz +0 -0
  179. package/lib/umd-es6/store.js +1 -1
  180. package/lib/umd-es6/store.js.gz +0 -0
  181. package/lib/umd-es6/tinybase.js +1 -1
  182. package/lib/umd-es6/tinybase.js.gz +0 -0
  183. package/lib/umd-es6/tools.js +1 -1
  184. package/lib/umd-es6/tools.js.gz +0 -0
  185. package/lib/umd-es6/ui-react.js +1 -1
  186. package/lib/umd-es6/ui-react.js.gz +0 -0
  187. package/package.json +33 -33
  188. package/readme.md +5 -5
@@ -23,19 +23,6 @@ const VALUE = 'Value';
23
23
  const VALUES = VALUE + 's';
24
24
  const VALUE_IDS = VALUE + IDS;
25
25
 
26
- const arrayEvery = (array, cb) => array.every(cb);
27
- const arraySort = (array, sorter) => array.sort(sorter);
28
- const arrayForEach = (array, cb) => array.forEach(cb);
29
- const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
30
- const arrayMap = (array, cb) => array.map(cb);
31
- const arrayLength = (array) => array.length;
32
- const arrayFilter = (array, cb) => array.filter(cb);
33
- const arrayPush = (array, ...values) => array.push(...values);
34
- const arrayPop = (array) => array.pop();
35
- const arrayUnshift = (array, ...values) => array.unshift(...values);
36
- const arrayShift = (array) => array.shift();
37
-
38
- const jsonParse = JSON.parse;
39
26
  const isFiniteNumber = isFinite;
40
27
  const isInstanceOf = (thing, cls) => thing instanceof cls;
41
28
  const isUndefined = (thing) => thing == void 0;
@@ -50,6 +37,18 @@ const getCellOrValueType = (cell) => {
50
37
  : void 0;
51
38
  };
52
39
 
40
+ const arrayEvery = (array, cb) => array.every(cb);
41
+ const arraySort = (array, sorter) => array.sort(sorter);
42
+ const arrayForEach = (array, cb) => array.forEach(cb);
43
+ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
44
+ const arrayMap = (array, cb) => array.map(cb);
45
+ const arrayLength = (array) => array.length;
46
+ const arrayFilter = (array, cb) => array.filter(cb);
47
+ const arrayPush = (array, ...values) => array.push(...values);
48
+ const arrayPop = (array) => array.pop();
49
+ const arrayUnshift = (array, ...values) => array.unshift(...values);
50
+ const arrayShift = (array) => array.shift();
51
+
53
52
  const object = Object;
54
53
  const objIds = object.keys;
55
54
  const objFreeze = object.freeze;
@@ -2782,6 +2781,8 @@ const getStoreApi = (tablesSchema, valuesSchema, module) => {
2782
2781
  ];
2783
2782
  };
2784
2783
 
2784
+ const jsonParse = JSON.parse;
2785
+
2785
2786
  const prettierConfig = {
2786
2787
  parser: 'typescript',
2787
2788
  singleQuote: true,
@@ -19,10 +19,6 @@ const VALUE = 'Value';
19
19
  const VALUES = VALUE + 's';
20
20
  const VALUE_IDS = VALUE + IDS;
21
21
 
22
- const arrayMap = (array, cb) => array.map(cb);
23
- const arrayLength = (array) => array.length;
24
- const arrayIsEmpty = (array) => arrayLength(array) == 0;
25
-
26
22
  const isUndefined = (thing) => thing == void 0;
27
23
  const ifNotUndefined = (value, then, otherwise) =>
28
24
  isUndefined(value) ? otherwise?.() : then(value);
@@ -30,6 +26,10 @@ const isString = (thing) => getTypeOf(thing) == STRING;
30
26
  const isArray = (thing) => Array.isArray(thing);
31
27
  const getUndefined = () => void 0;
32
28
 
29
+ const arrayMap = (array, cb) => array.map(cb);
30
+ const arrayLength = (array) => array.length;
31
+ const arrayIsEmpty = (array) => arrayLength(array) == 0;
32
+
33
33
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
34
34
 
35
35
  const {createContext, useContext} = React;
@@ -1 +1 @@
1
- const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),l=e=>e.length,t=e=>0==l(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=e=>u(e)||0==(e=>e.size)(e),h=(e,n)=>null==e?void 0:e.forEach(n),v=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),f=(e,n,l)=>u(l)?(v(e,n),e):null==e?void 0:e.set(n,l),g=(e,n,l)=>(a(e,n)||f(e,n,l()),C(e,n)),k=(e,n,t,r,o=0)=>i((t?g:C)(e,n[o],o>l(n)-2?t:p),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&f(e,n[o]),s;const u=k(s,n,t,r,o+1);return c(s)&&f(e,n[o]),u})),L=e=>new Set(Array.isArray(e)||u(e)?e:[e]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(e=>{let t;const[o,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?s(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&r(e,n)}]})(),a=p();return[(e,n,l,r=[],s=(()=>[]))=>{null!=t||(t=_);const u=o(1);var i,d;return f(a,u,[e,n,l,r,s]),d=u,null==(i=k(n,null!=l?l:[""],L))||i.add(d),u},(e,o,...s)=>n(((e,t=[""])=>{const o=[],s=(e,u)=>u==l(t)?r(o,e):null===t[u]?h(e,(e=>s(e,u+1))):n([t[u],null],(n=>s(C(e,n),u+1)));return s(e,0),o})(e,o),(e=>h(e,(e=>C(a,e)[0](t,...null!=o?o:[],...s))))),e=>i(C(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(v(n,e),c(n)?1:0))),f(a,e),d(e),l))),e=>i(C(a,e),(([e,,r=[],o,s])=>{const i=(...d)=>{var a,c;const h=l(d);h==l(r)?e(t,...d,...s(d)):u(r[h])?n(null!=(c=null==(a=o[h])?void 0:a.call(o,...d))?c:[],(e=>i(...d,e))):i(...d,r[h])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(e,n)=>{M=0,S.transaction((()=>{const[l,t]=C(O,n);h(l,((n,l)=>h(n,((n,t)=>h(n,((n,r)=>((e,n,l,t,r)=>u(r)?e.delCell(n,l,t,!0):e.setCell(n,l,t,r))(S,l,t,r,n[e]))))))),h(t,((n,l)=>((e,n,l)=>u(l)?e.delValue(n):e.setValue(n,l))(S,l,n[e])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,t)=>n(((e,n)=>e.splice(0,n))(e,null!=t?t:l(e)),q),G=()=>D(W,l(W)-V),H=()=>i(y,(()=>{r(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=o(W),E=1},K=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(M){H();const e=g(A,n,p),s=g(e,l,p),u=g(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(f(s,t))&&c(f(e,l))&&c(f(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=g(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(f(I,n))&&J(),U()}})),P=(e="")=>(u(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,e),A=p(),I=p(),E=1),y),Q=()=>{t(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=o(W),E=1)},R=()=>{t($)||(r(W,y),y=s($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(T,e)!==n&&(f(T,e,n),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,h(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const l=e(W,n)?Q:e($,n)?R:null;for(;!u(l)&&n!=y;)l();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),u(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
1
+ const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=(e,n)=>e.includes(n),t=(e,n)=>e.forEach(n),r=e=>e.length,o=e=>0==r(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>e.size)(n),h=(e,n)=>null==e?void 0:e.forEach(n),v=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),f=(n,l,t)=>e(t)?(v(n,l),n):null==n?void 0:n.set(l,t),g=(e,n,l)=>(a(e,n)||f(e,n,l()),C(e,n)),k=(e,l,t,o,s=0)=>n((t?g:C)(e,l[s],s>r(l)-2?t:p),(n=>{if(s>r(l)-2)return(null==o?void 0:o(n))&&f(e,l[s]),n;const u=k(n,l,t,o,s+1);return c(n)&&f(e,l[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(l=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&r(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=_);const s=u(1);var i,d;return f(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...l)=>t(((e,n=[""])=>{const l=[],o=(e,u)=>u==r(n)?s(l,e):null===n[u]?h(e,(e=>o(e,u+1))):t([n[u],null],(n=>o(C(e,n),u+1)));return o(e,0),l})(e,n),(e=>h(e,(e=>C(a,e)[0](o,...null!=n?n:[],...l))))),e=>n(C(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(v(n,e),c(n)?1:0))),f(a,e),d(e),l))),l=>n(C(a,l),(([n,,l=[],s,u])=>{const i=(...d)=>{var a,c;const h=r(d);h==r(l)?n(o,...d,...u(d)):e(l[h])?t(null!=(c=null==(a=s[h])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,l[h])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(n,l)=>{M=0,S.transaction((()=>{const[t,r]=C(O,l);h(t,((l,t)=>h(l,((l,r)=>h(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),h(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,n)=>t(((e,n)=>e.splice(0,n))(e,null!=n?n:r(e)),q),G=()=>D(W,r(W)-V),H=()=>n(y,(()=>{s(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=u(W),E=1},K=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(M){H();const e=g(A,n,p),s=g(e,l,p),u=g(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(f(s,t))&&c(f(e,l))&&c(f(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=g(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(f(I,n))&&J(),U()}})),P=(n="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,n),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=u(W),E=1)},R=()=>{o($)||(s(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(T,e)!==n&&(f(T,e,n),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,h(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const t=l(W,n)?Q:l($,n)?R:null;for(;!e(t)&&n!=y;)t();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=(e,n)=>e.every(n),s=(e,n)=>r(e,((l,t)=>0==t||n(e[t-1],l)<=0)),o=(e,n)=>e.sort(n),u=(e,n)=>e.forEach(n),d=e=>e.length,i=(e,...n)=>e.push(...n),a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),v=e=>Array.isArray(e),h=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>a(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),x=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>c((l?b:y)(e,n[r],r>d(n)-2?l:p),(s=>{if(r>d(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(v(e)||a(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>e<n?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=p(),M=p(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,s=p(),o=p(),i=p(),h=p(),T=p(),A=(n,l,...t)=>{const r=b(T,n,k);return u(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>c(y(T,n),(t=>{u(0==d(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(s,e,l),f(o,e)||(R(o,e,n()),R(i,e,p()),R(h,e,p()))},M=e=>{R(s,e),R(o,e),R(i,e),R(h,e),C(e)};return[()=>e,()=>x(s),e=>E(o,e),e=>f(o,e),e=>y(s,e),e=>y(o,e),(e,n)=>R(o,e,n),D,(n,s,o,c,I)=>{D(n,s);const g=p(),L=p(),x=y(i,n),b=y(h,n),T=n=>{const o=l=>e.getCell(s,n,l),u=y(x,n),i=t(s,n)?l(c(o,n)):void 0;var h,f;if(u===i||v(u)&&v(i)&&(f=i,d(h=u)===d(f)&&r(h,((e,n)=>f[n]===e)))||R(g,n,[u,i]),!a(I)){const e=y(b,n),l=t(s,n)?I(o,n):void 0;e!=l&&R(L,n,l)}},k=e=>{o((()=>{w(g,(([,e],n)=>R(x,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,x,b,e),S(g),S(L)};E(x,T),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(x,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,p,(e=>{return a(e)?n:v(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,r]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&d(e)<1e3&&i(e,n)}]})(),s=p();return[(e,r,o,u=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(s,i,[e,r,o,u,d]),z(T(r,null!=o?o:[n],k),i),i},(e,t,...r)=>u(((e,l=[n])=>{const t=[],r=(e,n)=>n==d(l)?i(t,e):null===l[n]?w(e,(e=>r(e,n+1))):u([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(s,e)[0](l,...null!=t?t:[],...r))))),e=>c(y(s,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(s,e),r(e),t))),e=>c(y(s,e),(([e,,n=[],t,r])=>{const s=(...o)=>{var i,c;const v=d(o);v==d(n)?e(l,...o,...r(o)):a(n[v])?u(null!=(c=null==(i=t[v])?void 0:i.call(t,...o))?c:[],(e=>s(...o,e))):s(...o,n[v])};s()}))]})(),P=(n,l,t)=>{const r=$(n);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,r,u,d=C)=>{const i=a(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const x=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),s=k(n);w(t,(e=>L(s,e)?L(t,e):0)),w(t,(e=>{z(x,e),c(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(s,(e=>{z(x,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),a(r)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>c(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];s(l,n)||(R(T,e,k(o(l,n))),z(x,e))}))),(S||g)&&!a(i)){const n=[...T];s(n,i)||(B(e,p(o(n,i))),S=1)}S&&K(l,[e]),w(x,(n=>K(M,[e,n])))}),A(t),c(r,A)),Q},delIndexDefinition:e=>(G(e),Q),getStore:j,getIndexIds:m,forEachIndex:e=>O(((n,l)=>e(n,(e=>P(n,e,l))))),forEachSlice:(e,n)=>P(e,n,q(e)),hasIndex:W,hasSlice:(e,n)=>f(q(e),n),getTableId:$,getSliceIds:e=>x(q(e)),getSliceRowIds:(e,n)=>g(y(q(e),n)),addSliceIdsListener:(e,n)=>J(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,M,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),l.get(e))})();export{M as createIndexes};
1
+ const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=(e,n)=>e.every(n),d=(e,n)=>u(e,((l,t)=>0==t||n(e[t-1],l)<=0)),i=(e,n)=>e.sort(n),a=(e,n)=>e.forEach(n),c=e=>e.length,v=(e,...n)=>e.push(...n),h=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>r(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),x=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>c(n)-2?l:p),(s=>{if(r>c(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>e<n?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=p(),M=p(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,d=p(),i=p(),v=p(),h=p(),T=p(),A=(n,l,...t)=>{const r=b(T,n,k);return a(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>s(y(T,n),(t=>{a(0==c(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(d,e,l),f(i,e)||(R(i,e,n()),R(v,e,p()),R(h,e,p()))},M=e=>{R(d,e),R(i,e),R(v,e),R(h,e),C(e)};return[()=>e,()=>x(d),e=>E(i,e),e=>f(i,e),e=>y(d,e),e=>y(i,e),(e,n)=>R(i,e,n),D,(n,s,d,i,I)=>{D(n,s);const g=p(),L=p(),x=y(v,n),b=y(h,n),T=n=>{const d=l=>e.getCell(s,n,l),a=y(x,n),v=t(s,n)?l(i(d,n)):void 0;var h,f;if(a===v||o(a)&&o(v)&&(f=v,c(h=a)===c(f)&&u(h,((e,n)=>f[n]===e)))||R(g,n,[a,v]),!r(I)){const e=y(b,n),l=t(s,n)?I(d,n):void 0;e!=l&&R(L,n,l)}},k=e=>{d((()=>{w(g,(([,e],n)=>R(x,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,x,b,e),S(g),S(L)};E(x,T),e.hasTable(s)&&a(e.getRowIds(s),(e=>{f(x,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,p,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&c(e)<1e3&&v(e,n)}]})(),u=p();return[(e,r,s,o=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(u,i,[e,r,s,o,d]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>a(((e,l=[n])=>{const t=[],r=(e,n)=>n==c(l)?v(t,e):null===l[n]?w(e,(e=>r(e,n+1))):a([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(u,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(u,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(u,e),o(e),t))),e=>s(y(u,e),(([e,,n=[],t,s])=>{const o=(...u)=>{var d,i;const v=c(u);v==c(n)?e(l,...u,...s(u)):r(n[v])?a(null!=(i=null==(d=t[v])?void 0:d.call(t,...u))?i:[],(e=>o(...u,e))):o(...u,n[v])};o()}))]})(),P=(n,l,t)=>{const r=$(n);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,o,u,a=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const x=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),u=k(n);w(t,(e=>L(u,e)?L(t,e):0)),w(t,(e=>{z(x,e),s(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(u,(e=>{z(x,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>a(y(h,n),y(h,l),e),l=[...y(T,e)];d(l,n)||(R(T,e,k(i(l,n))),z(x,e))}))),(S||g)&&!r(c)){const n=[...T];d(n,c)||(B(e,p(i(n,c))),S=1)}S&&K(l,[e]),w(x,(n=>K(M,[e,n])))}),A(t),s(o,A)),Q},delIndexDefinition:e=>(G(e),Q),getStore:j,getIndexIds:m,forEachIndex:e=>O(((n,l)=>e(n,(e=>P(n,e,l))))),forEachSlice:(e,n)=>P(e,n,q(e)),hasIndex:W,hasSlice:(e,n)=>f(q(e),n),getTableId:$,getSliceIds:e=>x(q(e)),getSliceRowIds:(e,n)=>g(y(q(e),n)),addSliceIdsListener:(e,n)=>J(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,M,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),l.get(e))})();export{M as createIndexes};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",t=e(n),l=e(e),r=(e,n)=>e.forEach(n),i=e=>u(e,((e,n)=>e+n),0),o=e=>e.length,u=(e,n,t)=>e.reduce(n,t),s=(e,...n)=>e.push(...n),d=Math.max,a=Math.min,v=isFinite,c=e=>null==e,h=(e,n,t)=>c(e)?null==t?void 0:t():n(e),f=e=>Array.isArray(e),g=()=>{},M=Object.freeze,L=e=>e.size,m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>c(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),E=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>c(t)?(x(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),I(e,n)),k=(e,n,t,l,r=0)=>h((t?T:I)(e,n[r],r>o(n)-2?t:E),(i=>{if(r>o(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=E([["avg",[(e,n)=>i(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>d(...e),(e,n)=>d(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:d(n,e)]],["min",[e=>a(...e),(e,n)=>a(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:a(n,e)]],["sum",[e=>i(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(f(e)||c(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=(i=>{const u=new WeakMap;return i=>(u.has(i)||u.set(i,(i=>{const u=E(),[d,a,j,C,F,O,W,,$,q,B]=((e,t,l)=>{const i=e.hasRow,u=E(),s=E(),d=E(),a=E(),v=E(),g=(n,t,...l)=>{const i=T(v,n,A);return r(l,(n=>D(i,n)&&t&&e.callListener(n))),l},M=(n,...t)=>h(I(v,n),(l=>{r(0==o(t)?y(l):t,(n=>{e.delListener(n),x(l,n)})),w(l)&&S(v,n)})),L=(e,n)=>{S(u,e,n),m(s,e)||(S(s,e,t()),S(d,e,E()),S(a,e,E()))},k=e=>{S(u,e),S(s,e),S(d,e),S(a,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=u)?void 0:e.keys())?n:[]];var e,n},e=>R(s,e),e=>m(s,e),e=>I(u,e),e=>I(s,e),(e,n)=>S(s,e,n),L,(t,l,u,s,v)=>{L(t,l);const h=E(),w=E(),y=I(d,t),x=I(a,t),T=t=>{const r=n=>e.getCell(l,t,n),u=I(y,t),d=i(l,t)?(a=s(r,t),isNaN(a)||c(a)||!0===a||!1===a||a===n?void 0:1*a):void 0;var a,g,M,L;if(u===d||f(u)&&f(d)&&(M=d,o(g=u)===o(M)&&(L=(e,n)=>M[n]===e,g.every(L)))||S(h,t,[u,d]),!c(v)){const e=I(x,t),n=i(l,t)?v(r,t):void 0;e!=n&&S(w,t,n)}},k=e=>{u((()=>{b(h,(([,e],n)=>S(y,n,e))),b(w,((e,n)=>S(x,n,e)))}),h,w,y,x,e),p(h),p(w)};R(y,T),e.hasTable(l)&&r(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),M(t),g(t,0,e.addRowListener(l,null,((e,n,t)=>T(t))),e.addTableListener(l,(()=>k())))},k,()=>R(v,k),g,M]})(i,g),[G,H,J]=(e=>{let t;const[l,i]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&o(e)<1e3&&s(e,n)}]})(),u=E();return[(e,r,i,o=[],s=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(u,d,[e,r,i,o,s]),D(k(r,null!=i?i:[n],A),d),d},(e,l,...i)=>r(((e,t=[n])=>{const l=[],i=(e,n)=>n==o(t)?s(l,e):null===t[n]?b(e,(e=>i(e,n+1))):r([t[n],null],(t=>i(I(e,t),n+1)));return i(e,0),l})(e,l),(e=>b(e,(e=>I(u,e)[0](t,...null!=l?l:[],...i))))),e=>h(I(u,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(x(n,e),w(n)?1:0))),S(u,e),i(e),l))),e=>h(I(u,e),(([e,,n=[],l,i])=>{const u=(...s)=>{var d,a;const v=o(s);v==o(n)?e(t,...s,...i(s)):c(n[v])?r(null!=(a=null==(d=l[v])?void 0:d.call(l,...s))?a:[],(e=>u(...s,e))):u(...s,n[v])};u()}))]})(),K={setMetricDefinition:(n,r,i,o,s,d,a)=>{var h;const f=e(i)==l?[i,s,d,a]:null!=(h=I(z,i))?h:I(z,"sum");return $(n,r,((e,t,l,r,i,o)=>{const s=O(n),d=L(r);o||(o=c(s)),e();let a=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[o,u,s,d]=r;return i||(i=c(e)),b(l,(([t,l])=>{i||(e=c(t)?null==u?void 0:u(e,l,n++):c(l)?null==s?void 0:s(e,t,n--):null==d?void 0:d(e,l,t,n),i||(i=c(e)))})),i?o(y(t),L(t)):e})(s,d,r,t,f,o);v(a)||(a=void 0),a!=s&&(W(n,a),H(u,[n],a,s))}),(1,e(g=o)==t?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>(q(e),K),getStore:d,getMetricIds:a,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,n)=>G(n,u,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return M(K)})(i)),u.get(i))})();export{j as createMetrics};
1
+ const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,o=isFinite,u=e=>null==e,s=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=()=>{},v=(e,n)=>e.forEach(n),c=e=>f(e,((e,n)=>e+n),0),h=e=>e.length,f=(e,n,t)=>e.reduce(n,t),g=(e,...n)=>e.push(...n),M=Object.freeze,L=e=>e.size,m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>u(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),E=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>u(t)?(x(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),I(e,n)),k=(e,n,t,l,r=0)=>s((t?T:I)(e,n[r],r>h(n)-2?t:E),(i=>{if(r>h(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const o=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),o})),z=E([["avg",[(e,n)=>c(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>c(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||u(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=(r=>{const i=new WeakMap;return r=>(i.has(r)||i.set(r,(r=>{const i=E(),[c,f,j,C,F,O,W,,$,q,B]=((e,t,l)=>{const r=e.hasRow,i=E(),o=E(),a=E(),c=E(),f=E(),g=(n,t,...l)=>{const r=T(f,n,A);return v(l,(n=>D(r,n)&&t&&e.callListener(n))),l},M=(n,...t)=>s(I(f,n),(l=>{v(0==h(t)?y(l):t,(n=>{e.delListener(n),x(l,n)})),w(l)&&S(f,n)})),L=(e,n)=>{S(i,e,n),m(o,e)||(S(o,e,t()),S(a,e,E()),S(c,e,E()))},k=e=>{S(i,e),S(o,e),S(a,e),S(c,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=i)?void 0:e.keys())?n:[]];var e,n},e=>R(o,e),e=>m(o,e),e=>I(i,e),e=>I(o,e),(e,n)=>S(o,e,n),L,(t,l,i,o,s)=>{L(t,l);const f=E(),w=E(),y=I(a,t),x=I(c,t),T=t=>{const i=n=>e.getCell(l,t,n),a=I(y,t),v=r(l,t)?(c=o(i,t),isNaN(c)||u(c)||!0===c||!1===c||c===n?void 0:1*c):void 0;var c,g,M,L;if(a===v||d(a)&&d(v)&&(M=v,h(g=a)===h(M)&&(L=(e,n)=>M[n]===e,g.every(L)))||S(f,t,[a,v]),!u(s)){const e=I(x,t),n=r(l,t)?s(i,t):void 0;e!=n&&S(w,t,n)}},k=e=>{i((()=>{b(f,(([,e],n)=>S(y,n,e))),b(w,((e,n)=>S(x,n,e)))}),f,w,y,x,e),p(f),p(w)};R(y,T),e.hasTable(l)&&v(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),M(t),g(t,0,e.addRowListener(l,null,((e,n,t)=>T(t))),e.addTableListener(l,(()=>k())))},k,()=>R(f,k),g,M]})(r,a),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&h(e)<1e3&&g(e,n)}]})(),i=E();return[(e,r,o,u=[],s=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(i,d,[e,r,o,u,s]),D(k(r,null!=o?o:[n],A),d),d},(e,l,...r)=>v(((e,t=[n])=>{const l=[],r=(e,n)=>n==h(t)?g(l,e):null===t[n]?b(e,(e=>r(e,n+1))):v([t[n],null],(t=>r(I(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>I(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(I(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(x(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(I(i,e),(([e,,n=[],l,r])=>{const i=(...o)=>{var s,d;const a=h(o);a==h(n)?e(t,...o,...r(o)):u(n[a])?v(null!=(d=null==(s=l[a])?void 0:s.call(l,...o))?d:[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),K={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=I(z,s))?h:I(z,"sum");return $(n,r,((e,t,l,r,s,d)=>{const a=O(n),v=L(r);d||(d=u(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[o,s,d,a]=r;return i||(i=u(e)),b(l,(([t,l])=>{i||(e=u(t)?null==s?void 0:s(e,l,n++):u(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=u(e)))})),i?o(y(t),L(t)):e})(a,v,r,t,f,d);o(c)||(c=void 0),c!=a&&(W(n,c),H(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>(q(e),K),getStore:c,getMetricIds:f,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,n)=>G(n,i,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return M(K)})(r)),i.get(r))})();export{j as createMetrics};
Binary file
@@ -1 +1 @@
1
- const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);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,r,c)=>((o,v,y,f,h)=>{let p,g,S,A=0,L=0,m=0;const w=[],x=t=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield C.schedule((()=>u(void 0,null,(function*(){yield t(),A=0}))))),C})),C={load:(t,e)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){try{o.setContent(yield v())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},n={}){return C.stopAutoLoad(),yield C.load(e,n),m=1,S=(e=>{const n=n=>{n.storageArea===c&&n.key===r&&e((()=>t(n.newValue)))};return d.addEventListener(s,n),n})(((t,e)=>u(void 0,null,(function*(){return yield x((()=>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 v())}catch(t){}}))))})))),C})),stopAutoLoad:()=>{return m&&(t=S,d.removeEventListener(s,t),S=void 0,m=0),C;var t},save:t=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield C.schedule((()=>u(void 0,null,(function*(){try{yield(t=o.getContent,a(void 0,null,(function*(){return c.setItem(r,(n=t(),JSON.stringify(n,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r}))));var n})))}catch(t){}var t;A=0}))))),C})),startAutoSave:()=>u(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var t,e;return t=p,e=o.delListener,!!n(t)||e(t),C},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...t),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((t=w,g=t.shift()));)try{yield g()}catch(t){}L=0}var t})),C})),getStore:()=>o,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>a(void 0,null,(function*(){return t(c.getItem(r))})))),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,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 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),O=Object,P=O.keys,L=O.freeze,w=(e=[])=>O.fromEntries(e),b=(...e)=>O.assign({},...e),x=(e,n)=>(delete e[n],e),N=(e,n)=>o(O.entries(e),(([e,t])=>n(t,e))),S=e=>O.values(e),C=e=>i(P(e)),R=e=>(e=>y(e,O)&&e.constructor==O)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(T(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=_)=>(N(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),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?k(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(H)for(var t of H(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",q="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(D(D(l,e),n)),s=(n,d,s,v,y)=>K(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(P(e),(e=>U(f,e)))));const h=A(f);if(u(h)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void _(l,n);if(u(h)||E(l,n)){const t=D(l,n),r=B(I(t));yield m([...o(h,(l=>K(void 0,null,(function*(){T(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),_(t,l,""))})))),...s?o(A(r),(l=>K(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),_(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(h,(e=>t+M(e))))});`),_(l,n,g([[d,""],...o(h,(e=>[e,""]))]));if(u(h))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(D(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return j(l,w(yield m(o(yield e("SELECT name "+q+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return _(l,n,j((i=g,E(r=l,o=n)||_(r,o,i()),D(r,o)),t,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(l,n)))})),(n,t)=>K(void 0,null,(function*(){const l=d(n,t)?yield e(V+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:x(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(V+M(n)),(e=>[e[t],x(z({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield p.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),p})),p={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield p.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),p})),startAutoSave:()=>Z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,h,p]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m($(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m($(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield p(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return N(e,((e,o)=>{const i=d(S(b(n,p(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r},fe="pragma ",he="data_version",pe="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>b(se,p(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(S(b(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>U(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>U(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+he))[0][he],t=(yield l(fe+pe))[0][pe];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,A(v))},Ee=(e,n,t)=>me(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()));export{Ee as createCrSqliteWasmPersister};
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 +1 @@
1
- import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",r=JSON.parse,l=(t,e)=>t instanceof e,i=t=>null==t,u=Object,a=u.keys,s=u.freeze,d=t=>(t=>l(t,u)&&t.constructor==u)(t)&&0==(t=>a(t).length)(t);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 y=(u,a)=>((e,r,u,y,f)=>{let h,p,m,A=0,S=0,g=0;const L=[],x=t=>c(void 0,null,(function*(){return 2!=A&&(A=1,yield C.schedule((()=>c(void 0,null,(function*(){yield t(),A=0}))))),C})),C={load:(t,n)=>c(void 0,null,(function*(){return yield x((()=>c(void 0,null,(function*(){try{e.setContent(yield r())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>c(void 0,[...n],(function*(n={},o={}){return C.stopAutoLoad(),yield C.load(n,o),g=1,l=(t,n)=>c(void 0,null,(function*(){return yield x((()=>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 r())}catch(t){}}))))})),m=t(a,(()=>l())),C;var l})),stopAutoLoad:()=>{return g&&(null==(t=m)||t.close(),m=void 0,g=0),C;var t},save:t=>c(void 0,null,(function*(){return 1!=A&&(A=2,yield C.schedule((()=>c(void 0,null,(function*(){try{yield(t=e.getContent,v(void 0,null,(function*(){return yield n(a,(e=t(),JSON.stringify(e,((t,e)=>{return l(e,Map)?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o}))),o);var e})))}catch(t){}var t;A=0}))))),C})),startAutoSave:()=>c(void 0,null,(function*(){return yield C.stopAutoSave().save(),h=e.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();d(n)&&d(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var t,n;return t=h,n=e.delListener,!!i(t)||n(t),C},schedule:(...t)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(L,...t),yield c(void 0,null,(function*(){if(!S){for(S=1;!i((t=L,p=t.shift()));)try{yield p()}catch(t){}S=0}var t})),C})),getStore:()=>e,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(C)})(u,(()=>v(void 0,null,(function*(){return r(yield e(a,o))}))));export{y as createFilePersister};
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 +1 @@
1
- const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);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 d=t=>t.headers.get("ETag"),c=(o,r,c,s)=>{let v;return((t,o,y,h,f)=>{let p,A,S,g=0,m=0,x=0;const C=[],L=t=>u(void 0,null,(function*(){return 2!=g&&(g=1,yield P.schedule((()=>u(void 0,null,(function*(){yield t(),g=0}))))),P})),P={load:(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){try{t.setContent(yield o())}catch(o){t.setContent([e,n])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},l={}){return P.stopAutoLoad(),yield P.load(e,l),x=1,i=(e,n)=>u(void 0,null,(function*(){return yield L((()=>u(void 0,null,(function*(){var r;if(n)t.setTransactionChanges(n());else try{t.setContent(null!=(r=null==e?void 0:e())?r:yield o())}catch(t){}}))))})),S=setInterval((()=>a(void 0,null,(function*(){const t=yield fetch(r,{method:"HEAD"}),e=d(t);n(v)||n(e)||e==v||(v=e,i())}))),1e3*s),P;var i})),stopAutoLoad:()=>(x&&(clearInterval(S),S=void 0,x=0),P),save:n=>u(void 0,null,(function*(){return 1!=g&&(g=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(n=t.getContent,a(void 0,null,(function*(){return yield fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=n(),JSON.stringify(t,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r})))});var t})))}catch(t){}var n;g=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var e,o;return e=p,o=t.delListener,!!n(e)||o(e),P},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(C,...t),yield u(void 0,null,(function*(){if(!m){for(m=1;!n((t=C,A=t.shift()));)try{yield A()}catch(t){}m=0}var t})),P})),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(P)})(o,(()=>a(void 0,null,(function*(){const e=yield fetch(r);return v=d(e),t(yield e.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;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 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,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,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(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,w=P.keys,A=P.freeze,T=(e=[])=>P.fromEntries(e),L=(...e)=>P.assign({},...e),S=(e,n)=>(delete e[n],e),x=(e,n)=>o(P.entries(e),(([e,t])=>n(t,e))),N=e=>P.values(e),C=e=>i(w(e)),R=e=>(e=>y(e,P)&&e.constructor==P)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},_=(e,n)=>null==e?void 0:e.get(n),j=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},D=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),$=(e,n,t,l=D)=>(x(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="_id",F=e=>`"${e.replace(/"/g,'""')}"`,k=e=>new Set(Array.isArray(e)||f(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n);var q=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,V=(e,n,t)=>n in e?q(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,W=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&V(e,t,n[t]);if(H)for(var t of H(n))U.call(n,t)&&V(e,t,n[t]);return e},Y=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const z="SELECT*FROM",K="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(_(_(l,e),n)),s=(n,d,s,v,y)=>Y(void 0,null,(function*(){const f=k();x(null!=y?y:{},(e=>o(w(e),(e=>B(f,e)))));const p=b(f);if(u(p)&&E(l,n)&&v)return yield e("DROP TABLE"+F(n)),void D(l,n);if(u(p)||E(l,n)){const t=_(l,n),r=k(I(t));yield m([...o(p,(l=>Y(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${F(n)}ADD${F(l)}`),D(t,l,""))})))),...s?o(b(r),(l=>Y(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${F(n)}DROP${F(l)}`),D(t,l))})))):[]])}else yield e(`CREATE TABLE${F(n)}(${F(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>t+F(e))))});`),D(l,n,g([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,n)&&(yield e("DELETE FROM"+F(n)));else{const u=[],s=[],v=[],f=a(I(_(l,n)),(e=>e!=d));x(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+F(n)+"("+F(d)+r(o(f,(e=>t+F(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+F(d)+")DO UPDATE SET"+r(o(f,(e=>F(e)+"=excluded."+F(e))),t),s),yield e("DELETE FROM"+F(n)+G+F(d)+"NOT IN("+X(v)+")",v)}}));return[()=>Y(void 0,null,(function*(){return $(l,T(yield m(o(yield e("SELECT name "+K+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>Y(void 0,[n],(function*({name:n}){return[n,T(o(yield e("SELECT name,type "+K+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return D(l,n,$((i=g,E(r=l,o=n)||D(r,o,i()),_(r,o)),t,((e,n,t)=>{t!=_(e,n)&&D(e,n,t)}),((e,n)=>D(e,n))));var r,o,i}),((e,n)=>D(l,n)))})),(n,t)=>Y(void 0,null,(function*(){const l=d(n,t)?yield e(z+F(n)+G+F(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>Y(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>Y(void 0,null,(function*(){return d(n,t)?T(a(o(yield e(z+F(n)),(e=>[e[t],S(W({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(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 A(h)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,M))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,M,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return T(a(yield m(j(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,M):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(j(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,M,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return x(e,((e,o)=>{const i=d(N(L(n,h(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||D(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],k(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(N(L(ve,i)),0,C(ve)),a=u[2],c=k(a);return[0,l,[ye(r,{[de]:null,[ae]:M},de,(e=>B(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:M,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>B(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+pe))[0][pe],t=(yield l(fe+he))[0][he];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,we=(e,n,t)=>n in e?Ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Ae=(e,n,t,l)=>me(e,l,((e,...n)=>{return l=[e,...n],r=function*(e,n=[]){return t.exec(e,{bind:n,rowMode:"object",returnValue:"resultRows"}).map((e=>((e,n)=>{for(var t in n||(n={}))Oe.call(n,t)&&we(e,t,n[t]);if(be)for(var t of be(n))Pe.call(n,t)&&we(e,t,n[t]);return e})({},e)))},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.capi.sqlite3_update_hook(t,((n,t,l,r)=>e(r)),0)),(()=>n.capi.sqlite3_update_hook(t,(()=>0),0)));export{Ae 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))),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 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,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,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(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),A=Object,P=A.keys,T=A.freeze,w=(e=[])=>A.fromEntries(e),L=(...e)=>A.assign({},...e),S=(e,n)=>(delete e[n],e),N=(e,n)=>o(A.entries(e),(([e,t])=>n(t,e))),g=e=>A.values(e),C=e=>i(P(e)),R=e=>(e=>y(e,A)&&e.constructor==A)(e)&&0==C(e),x=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t,l=$)=>(N(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="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var H=Object.defineProperty,J=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))U.call(n,t)&&Y(e,t,n[t]);if(J)for(var t of J(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",q="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=x(),d=(e,n)=>!f(j(j(l,e),n)),s=(n,d,s,v,y)=>K(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(P(e),(e=>k(f,e)))));const p=b(f);if(u(p)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void $(l,n);if(u(p)||E(l,n)){const t=j(l,n),r=B(I(t));yield m([...o(p,(l=>K(void 0,null,(function*(){O(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),$(t,l,""))})))),...s?o(b(r),(l=>K(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),$(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(p,(e=>t+M(e))))});`),$(l,n,x([[d,""],...o(p,(e=>[e,""]))]));if(u(p))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(j(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return _(l,w(yield m(o(yield e("SELECT name "+q+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return $(l,n,_((i=x,E(r=l,o=n)||$(r,o,i()),j(r,o)),t,((e,n,t)=>{t!=j(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var r,o,i}),((e,n)=>$(l,n)))})),(n,t)=>K(void 0,null,(function*(){const l=d(n,t)?yield e(V+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:S(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(V+M(n)),(e=>[e[t],S(z({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return h.stopAutoLoad(),yield h.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),h),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),h})),startAutoSave:()=>Z(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||h.save((()=>[t,l]))})),h})),stopAutoSave:()=>(p(o,e.delListener),h),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(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 T(h)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,p,h]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m(D(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield p(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m(D(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield h(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=x();return N(e,((e,o)=>{const i=d(g(L(n,h(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||$(r,o,i)})),r},fe="pragma ",pe="data_version",he="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>L(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(g(L(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>k(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>k(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+pe))[0][pe],t=(yield l(fe+he))[0][he];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,b(v))};var Ee=Object.defineProperty,be=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Pe=(e,n,t)=>n in e?Ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;const Te="change",we=(e,n,t)=>me(e,t,((e,t=[])=>new s(((l,r)=>n.all(e,t,((e,n)=>e?r(e):l(n.map((e=>((e,n)=>{for(var t in n||(n={}))Oe.call(n,t)&&Pe(e,t,n[t]);if(be)for(var t of be(n))Ae.call(n,t)&&Pe(e,t,n[t]);return e})({},e))))))))),(e=>{const t=(n,t,l)=>e(l);return n.on(Te,t),t}),(e=>n.off(Te,e)));export{we as createSqlite3Persister};
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 +1 @@
1
- const e=e=>typeof e,n="",t=e(n),l=(e,n)=>e.forEach(n),r=e=>e.length,o=(e,...n)=>e.push(...n),s=e=>null==e,i=(e,n,t)=>s(e)?null==t?void 0:t():n(e),u=e=>Array.isArray(e),d=Object.freeze,a=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},c=e=>s(e)||0==(e=>e.size)(e),v=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=e=>e.clear(),h=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),L=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),w=(e,n)=>h(e,((e,t)=>n(t,e))),p=(e,n,t)=>s(t)?(f(e,n),e):null==e?void 0:e.set(n,t),I=(e,n,t)=>(a(e,n)||p(e,n,t()),g(e,n)),y=(e,n,t,l,o=0)=>i((t?I:g)(e,n[o],o>r(n)-2?t:L),(s=>{if(o>r(n)-2)return(null==l?void 0:l(s))&&p(e,n[o]),s;const i=y(s,n,t,l,o+1);return c(s)&&p(e,n[o]),i})),b=e=>new Set(u(e)||s(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),E=/^\d+$/,T=(T=>{const m=new WeakMap;return T=>(m.has(T)||m.set(T,(T=>{const m=L(),S=L(),z=L(),A=L(),[D,M,j,x,C,O,,,W,$,q]=((e,t,o)=>{const d=e.hasRow,y=L(),E=L(),T=L(),m=L(),S=L(),z=(n,t,...r)=>{const o=I(S,n,b);return l(r,(n=>k(o,n)&&t&&e.callListener(n))),r},A=(n,...t)=>i(g(S,n),(o=>{l(0==r(t)?v(o):t,(n=>{e.delListener(n),f(o,n)})),c(o)&&p(S,n)})),D=(e,n)=>{p(y,e,n),a(E,e)||(p(E,e,[L(),L(),L(),L()]),p(T,e,L()),p(m,e,L()))},M=e=>{p(y,e),p(E,e),p(T,e),p(m,e),A(e)};return[()=>e,()=>{return[...null!=(n=null==(e=y)?void 0:e.keys())?n:[]];var e,n},e=>w(E,e),e=>a(E,e),e=>g(y,e),e=>g(E,e),(e,n)=>p(E,e,n),D,(t,o,i,c,v)=>{D(t,o);const f=L(),I=L(),y=g(T,t),b=g(m,t),k=t=>{const l=n=>e.getCell(o,t,n),i=g(y,t),a=d(o,t)?(R=c(l,t),s(R)?void 0:R+n):void 0;var R,h,L,w;if(i===a||u(i)&&u(a)&&(L=a,r(h=i)===r(L)&&(w=(e,n)=>L[n]===e,h.every(w)))||p(f,t,[i,a]),!s(v)){const e=g(b,t),n=d(o,t)?v(l,t):void 0;e!=n&&p(I,t,n)}},E=e=>{i((()=>{h(f,(([,e],n)=>p(y,n,e))),h(I,((e,n)=>p(b,n,e)))}),f,I,y,b,e),R(f),R(I)};w(y,k),e.hasTable(o)&&l(e.getRowIds(o),(e=>{a(y,e)||k(e)})),E(!0),A(t),z(t,0,e.addRowListener(o,null,((e,n,t)=>k(t))),e.addTableListener(o,(()=>E())))},M,()=>w(S,M),z,A]})(T),[B,F,G]=(e=>{let t;const[u,d]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{E.test(n)&&r(e)<1e3&&o(e,n)}]})(),a=L();return[(e,l,r,o=[],s=(()=>[]))=>{null!=t||(t=N);const i=u(1);return p(a,i,[e,l,r,o,s]),k(y(l,null!=r?r:[n],b),i),i},(e,s,...i)=>l(((e,t=[n])=>{const s=[],i=(e,n)=>n==r(t)?o(s,e):null===t[n]?h(e,(e=>i(e,n+1))):l([t[n],null],(t=>i(g(e,t),n+1)));return i(e,0),s})(e,s),(e=>h(e,(e=>g(a,e)[0](t,...null!=s?s:[],...i))))),e=>i(g(a,e),(([,t,l])=>(y(t,null!=l?l:[n],void 0,(n=>(f(n,e),c(n)?1:0))),p(a,e),d(e),l))),e=>i(g(a,e),(([e,,n=[],o,i])=>{const u=(...d)=>{var a,c;const v=r(d);v==r(n)?e(t,...d,...i(d)):s(n[v])?l(null!=(c=null==(a=o[v])?void 0:a.call(o,...d))?c:[],(e=>u(...d,e))):u(...d,n[v])};u()}))]})(),H=(e,n,t)=>i(O(e),(([l,,r])=>{if(!a(r,n)){const o=b();if(C(e)!=K(e))k(o,n);else{let e=n;for(;!s(e)&&!a(o,e);)k(o,e),e=g(l,e)}if(t)return o;p(r,n,o)}return g(r,n)})),J=(e,n)=>i(O(e),(([,,e])=>p(e,n))),K=e=>g(m,e),N={setRelationshipDefinition:(l,r,o,u)=>{return p(m,l,o),W(l,r,((e,n)=>{const t=b(),r=b(),o=b(),[u,d]=O(l);h(n,(([e,n],v)=>{s(e)||(k(r,e),i(g(d,e),(n=>{f(n,v),c(n)&&p(d,e)}))),s(n)||(k(r,n),a(d,n)||p(d,n,b()),k(g(d,n),v)),k(t,v),p(u,v,n),w(g(A,l),(e=>{a(H(l,e),v)&&k(o,e)}))})),e(),h(t,(e=>F(S,[l,e]))),h(r,(e=>F(z,[l,e]))),h(o,(e=>{J(l,e),F(A,[l,e])}))}),e(d=u)==t?e=>e(d):null!=d?d:()=>n),N;var d},delRelationshipDefinition:e=>(p(m,e),$(e),N),getStore:D,getRelationshipIds:M,forEachRelationship:e=>j((n=>e(n,(e=>T.forEachRow(C(n),e))))),hasRelationship:x,getLocalTableId:C,getRemoteTableId:K,getRemoteRowId:(e,n)=>{var t;return g(null==(t=O(e))?void 0:t[0],n)},getLocalRowIds:(e,n)=>{var t;return v(g(null==(t=O(e))?void 0:t[1],n))},getLinkedRowIds:(e,n)=>s(O(e))?[n]:v(H(e,n,!0)),addRemoteRowIdListener:(e,n,t)=>B(t,S,[e,n]),addLocalRowIdsListener:(e,n,t)=>B(t,z,[e,n]),addLinkedRowIdsListener:(e,n,t)=>(H(e,n),B(t,A,[e,n])),delListener:e=>(J(...G(e)),N),destroy:q,getListenerStats:()=>({})};return d(N)})(T)),m.get(T))})();export{T as createRelationships};
1
+ const e=e=>typeof e,n="",t=e(n),l=e=>null==e,r=(e,n,t)=>l(e)?null==t?void 0:t():n(e),o=e=>Array.isArray(e),s=(e,n)=>e.forEach(n),i=e=>e.length,u=(e,...n)=>e.push(...n),d=Object.freeze,a=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},c=e=>l(e)||0==(e=>e.size)(e),v=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=e=>e.clear(),h=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),L=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),w=(e,n)=>h(e,((e,t)=>n(t,e))),p=(e,n,t)=>l(t)?(f(e,n),e):null==e?void 0:e.set(n,t),I=(e,n,t)=>(a(e,n)||p(e,n,t()),g(e,n)),y=(e,n,t,l,o=0)=>r((t?I:g)(e,n[o],o>i(n)-2?t:L),(r=>{if(o>i(n)-2)return(null==l?void 0:l(r))&&p(e,n[o]),r;const s=y(r,n,t,l,o+1);return c(r)&&p(e,n[o]),s})),b=e=>new Set(o(e)||l(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),E=/^\d+$/,T=(T=>{const m=new WeakMap;return T=>(m.has(T)||m.set(T,(T=>{const m=L(),S=L(),z=L(),A=L(),[D,M,j,x,C,O,,,W,$,q]=((e,t,u)=>{const d=e.hasRow,y=L(),E=L(),T=L(),m=L(),S=L(),z=(n,t,...l)=>{const r=I(S,n,b);return s(l,(n=>k(r,n)&&t&&e.callListener(n))),l},A=(n,...t)=>r(g(S,n),(l=>{s(0==i(t)?v(l):t,(n=>{e.delListener(n),f(l,n)})),c(l)&&p(S,n)})),D=(e,n)=>{p(y,e,n),a(E,e)||(p(E,e,[L(),L(),L(),L()]),p(T,e,L()),p(m,e,L()))},M=e=>{p(y,e),p(E,e),p(T,e),p(m,e),A(e)};return[()=>e,()=>{return[...null!=(n=null==(e=y)?void 0:e.keys())?n:[]];var e,n},e=>w(E,e),e=>a(E,e),e=>g(y,e),e=>g(E,e),(e,n)=>p(E,e,n),D,(t,r,u,c,v)=>{D(t,r);const f=L(),I=L(),y=g(T,t),b=g(m,t),k=t=>{const s=n=>e.getCell(r,t,n),u=g(y,t),a=d(r,t)?(R=c(s,t),l(R)?void 0:R+n):void 0;var R,h,L,w;if(u===a||o(u)&&o(a)&&(L=a,i(h=u)===i(L)&&(w=(e,n)=>L[n]===e,h.every(w)))||p(f,t,[u,a]),!l(v)){const e=g(b,t),n=d(r,t)?v(s,t):void 0;e!=n&&p(I,t,n)}},E=e=>{u((()=>{h(f,(([,e],n)=>p(y,n,e))),h(I,((e,n)=>p(b,n,e)))}),f,I,y,b,e),R(f),R(I)};w(y,k),e.hasTable(r)&&s(e.getRowIds(r),(e=>{a(y,e)||k(e)})),E(!0),A(t),z(t,0,e.addRowListener(r,null,((e,n,t)=>k(t))),e.addTableListener(r,(()=>E())))},M,()=>w(S,M),z,A]})(T),[B,F,G]=(e=>{let t;const[o,d]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{E.test(n)&&i(e)<1e3&&u(e,n)}]})(),a=L();return[(e,l,r,s=[],i=(()=>[]))=>{null!=t||(t=N);const u=o(1);return p(a,u,[e,l,r,s,i]),k(y(l,null!=r?r:[n],b),u),u},(e,l,...r)=>s(((e,t=[n])=>{const l=[],r=(e,n)=>n==i(t)?u(l,e):null===t[n]?h(e,(e=>r(e,n+1))):s([t[n],null],(t=>r(g(e,t),n+1)));return r(e,0),l})(e,l),(e=>h(e,(e=>g(a,e)[0](t,...null!=l?l:[],...r))))),e=>r(g(a,e),(([,t,l])=>(y(t,null!=l?l:[n],void 0,(n=>(f(n,e),c(n)?1:0))),p(a,e),d(e),l))),e=>r(g(a,e),(([e,,n=[],r,o])=>{const u=(...d)=>{var a,c;const v=i(d);v==i(n)?e(t,...d,...o(d)):l(n[v])?s(null!=(c=null==(a=r[v])?void 0:a.call(r,...d))?c:[],(e=>u(...d,e))):u(...d,n[v])};u()}))]})(),H=(e,n,t)=>r(O(e),(([r,,o])=>{if(!a(o,n)){const s=b();if(C(e)!=K(e))k(s,n);else{let e=n;for(;!l(e)&&!a(s,e);)k(s,e),e=g(r,e)}if(t)return s;p(o,n,s)}return g(o,n)})),J=(e,n)=>r(O(e),(([,,e])=>p(e,n))),K=e=>g(m,e),N={setRelationshipDefinition:(o,s,i,u)=>{return p(m,o,i),W(o,s,((e,n)=>{const t=b(),s=b(),i=b(),[u,d]=O(o);h(n,(([e,n],v)=>{l(e)||(k(s,e),r(g(d,e),(n=>{f(n,v),c(n)&&p(d,e)}))),l(n)||(k(s,n),a(d,n)||p(d,n,b()),k(g(d,n),v)),k(t,v),p(u,v,n),w(g(A,o),(e=>{a(H(o,e),v)&&k(i,e)}))})),e(),h(t,(e=>F(S,[o,e]))),h(s,(e=>F(z,[o,e]))),h(i,(e=>{J(o,e),F(A,[o,e])}))}),e(d=u)==t?e=>e(d):null!=d?d:()=>n),N;var d},delRelationshipDefinition:e=>(p(m,e),$(e),N),getStore:D,getRelationshipIds:M,forEachRelationship:e=>j((n=>e(n,(e=>T.forEachRow(C(n),e))))),hasRelationship:x,getLocalTableId:C,getRemoteTableId:K,getRemoteRowId:(e,n)=>{var t;return g(null==(t=O(e))?void 0:t[0],n)},getLocalRowIds:(e,n)=>{var t;return v(g(null==(t=O(e))?void 0:t[1],n))},getLinkedRowIds:(e,n)=>l(O(e))?[n]:v(H(e,n,!0)),addRemoteRowIdListener:(e,n,t)=>B(t,S,[e,n]),addLocalRowIdsListener:(e,n,t)=>B(t,z,[e,n]),addLinkedRowIdsListener:(e,n,t)=>(H(e,n),B(t,A,[e,n])),delListener:e=>(J(...G(e)),N),destroy:q,getListenerStats:()=>({})};return d(N)})(T)),m.get(T))})();export{T as createRelationships};
Binary file
package/lib/es6/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",c="Table",i=c+"s",d=c+u,h="Row"+u,v="Cell",g=v+u,f="Value",T=f+"s",V=f+u,b=e=>l+e,C=(e,l)=>e.forEach(l),S=(e,l)=>e.map(l),w=e=>e.length,I=(e,l,t)=>e.slice(l,t),R=(e,...l)=>e.push(...l),y=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),J=JSON.parse,m=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),j=(e,l)=>(delete e[l],e),x=(e,l)=>S(O.entries(e),(([e,t])=>l(t,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,l)=>null==e?void 0:e.forEach(l),G=(e,l)=>null==e?void 0:e.delete(l),H=e=>new Map(e),K=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},Q=(e,l)=>null==e?void 0:e.get(l),U=(e,l)=>B(e,((e,t)=>l(t,e))),X=(e,l,t)=>L(t)?(G(e,l),e):null==e?void 0:e.set(l,t),Y=(e,l,t)=>(W(e,l)||X(e,l,t()),Q(e,l)),Z=(e,l,t,n=X)=>(x(l,((l,n)=>t(e,n,l))),U(e,(t=>P(l,t)?0:n(e,t))),e),_=(e,l,t)=>{const n={};return B(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=H();return B(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>E((t?Y:Q)(e,l[s],s>w(l)-2?t:H),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&X(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&X(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ce=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{ue.test(l)&&w(e)<1e3&&R(e,l)}]},ie=e=>[e,e],de=()=>[H(),H()],he=e=>[...e],ve=([e,l])=>e===l,ge=l=>{const t=e(l);return F(t)||t==s&&m(l)?t:void 0},fe=(e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>L(e)||!N(e)||D(e)||A(e)?(null==t||t(),!1):(x(e,((t,n)=>{l(t,n)||j(e,n)})),!D(e)),be=(e,l,t)=>X(e,l,Q(e,l)==-t?void 0:t),Ce=()=>{let e,t,n=!1,a=!1,u=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ue=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=de(),Oe=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),je=de(),xe=de(),De=de(),We=de(),$e=de(),qe=de(),Be=de(),Ge=H(),He=de(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[n,s]=ce(),a=H();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=ct);const c=n(1);return X(a,c,[e,s,r,o,u]),oe(ae(s,null!=r?r:[l],re),c),c},(e,n,...s)=>C(((e,t=[l])=>{const n=[],s=(e,l)=>l==w(t)?R(n,e):null===t[l]?B(e,(e=>s(e,l+1))):C([t[l],null],(t=>s(Q(e,t),l+1)));return s(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](t,...null!=n?n:[],...s))))),e=>E(Q(a,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(l=>(G(l,e),$(l)?1:0))),X(a,e),s(e),n))),e=>E(Q(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const c=w(r);c==w(l)?e(t,...r,...s(r)):L(l[c])?C(null!=(u=null==(o=n[c])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[c])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!F(l)&&l!=s||(ge(e[o])!=l&&j(e,o),0))},Ze=(l,t)=>(!e||W(Ie,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>E(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?E(Q(Q(Ie,l),n),(e=>ge(s)!=e[r]?Ll(l,t,n,s,e[o]):s),(()=>Ll(l,t,n,s))):L(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>E(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,l)=>t?E(Q(ye,e),(t=>ge(l)!=t[r]?El(e,l,t[o]):l),(()=>El(e,l))):L(ge(l))?El(e,l):l,nl=(e,l,t)=>(E(Q(Re,l),(([n,s])=>{B(n,((l,t)=>{P(e,t)||(e[t]=l)})),B(s,(n=>{P(e,n)||Ll(l,t,n)}))})),e),sl=e=>(t&&(B(Je,((l,t)=>{P(e,t)||(e[t]=l)})),B(me,(l=>{P(e,l)||El(l)}))),e),al=e=>Z(Ie,e,((e,l,t)=>{const n=H(),s=re();Z(Y(Ie,l,H),t,((e,l,t)=>{X(e,l,t),E(t[o],(e=>X(n,l,e)),(()=>oe(s,l)))})),X(Re,l,[n,s])}),((e,l)=>{X(Ie,l),X(Re,l)})),rl=e=>Z(ye,e,((e,l,t)=>{X(ye,l,t),E(t[o],(e=>X(Je,l,e)),(()=>oe(me,l)))}),((e,l)=>{X(ye,l),X(Je,l),G(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>Z(Ee,e,((e,l,t)=>cl(l,t)),((e,l)=>bl(l))),cl=(e,l)=>Z(Y(Ee,e,(()=>(Il(e,1),X(pe,e,ce()),X(Le,e,H()),H()))),l,((l,t,n)=>il(e,l,t,n)),((l,t)=>Cl(e,l,t))),il=(e,l,t,n,s)=>Z(Y(l,t,(()=>(Rl(e,t,1),H()))),n,((l,n,s)=>dl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),dl=(e,l,t,n,s)=>{W(t,n)||yl(e,l,n,1);const a=Q(t,n);s!==a&&(Jl(e,l,n,a,s),X(t,n,s))},hl=(e,l,t,n,s)=>E(Q(l,t),(l=>dl(e,t,l,n,s)),(()=>il(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),gl=e=>Z(Fe,e,((e,l,t)=>fl(l,t)),((e,l)=>wl(l))),fl=(e,l)=>{W(Fe,e)||ml(e,1);const t=Q(Fe,e);l!==t&&(pl(e,t,l),X(Fe,e,l))},Tl=(e,l)=>{const[t]=Q(pe,e),n=t(l);return W(Q(Ee,e),n)?Tl(e,l):n},Vl=e=>{var l;return null!=(l=Q(Ee,e))?l:cl(e,{})},bl=e=>cl(e,{}),Cl=(e,l,t)=>{const[,n]=Q(pe,e);n(t),il(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=Q(null==(r=Q(Re,e))?void 0:r[0],s);if(!L(o)&&!a)return dl(e,t,n,s,o);const u=l=>{Jl(e,t,l,Q(n,l)),yl(e,t,l,-1),X(n,l)};L(o)?u(s):U(n,u),$(n)&&(Rl(e,t,-1),$(X(l,t))&&(Il(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wl=e=>{const l=Q(Je,e);if(!L(l))return fl(e,l);pl(e,Q(Fe,e)),ml(e,-1),X(Fe,e)},Il=(e,l)=>be(m,e,l),Rl=(e,l,t)=>be(Y(O,e,H),l,t),yl=(e,l,t,n)=>{var s;const a=Q(Le,e),r=null!=(s=Q(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&be(Y(p,e,H),t,n),X(a,t,r!=-n?r+n:null),be(Y(Y(k,e,H),l,H),t,n)},Jl=(e,l,t,n,s)=>Y(Y(Y(A,e,H),l,H),t,(()=>[n,0]))[1]=s,ml=(e,l)=>be(N,e,l),pl=(e,l,t)=>Y(ue,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(R(Y(Y(Y(Se,e,H),l,H),t,(()=>[])),n),s),El=(e,l,t)=>(R(Y(we,e,(()=>[])),l),t),Fl=(e,l,t)=>E(Q(Q(Q(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Gl(e,l,t))])),zl=e=>E(Q(ue,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Ql(e))])),Ol=e=>$(Se)||$(De[e])?0:B(e?se(Se):Se,((l,t)=>B(l,((l,n)=>B(l,((l,s)=>Qe(De[e],[t,n,s],l))))))),kl=e=>$(we)||$(We[e])?0:B(e?te(we):we,((l,t)=>Qe(We[e],[t],l))),Al=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>_(l))),1},Ml=e=>{const l=$(Ne[e]),t=$(je[e])&&$(Ae[e])&&$(Me[e])&&l&&$(Oe[e]),n=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!t||!n){const s=e?[te(m),ne(p),ne(O),se(k),se(A)]:[m,p,O,k,A];if(!t){Al(Oe[e],s[0]),B(s[1],((l,t)=>Al(Ae[e],l,[t])));const t=re();B(s[2],((n,s)=>{Al(Me[e],n,[s])&&!l&&(Qe(Ne[e],[s,null]),oe(t,s))})),l||B(s[4],((l,n)=>{if(!W(t,n)){const t=re();B(l,(e=>B(e,(([l,n],s)=>n!==l?oe(t,s):G(e,s))))),B(t,(l=>Qe(Ne[e],[n,l])))}})),B(s[3],((l,t)=>B(l,((l,n)=>Al(je[e],l,[t,n])))))}if(!n){let l;B(s[4],((t,n)=>{let s;B(t,((t,a)=>{let r;B(t,(([t,o],u)=>{o!==t&&(Qe(xe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Pe[e],[n,a],Fl)})),s&&Qe(ke[e],[n],Fl)})),l&&Qe(ze[e],void 0,Fl)}}},Nl=e=>{const l=$(qe[e]),t=$(Be[e])&&$($e[e]);if(!l||!t){const n=e?[te(N),te(ue)]:[N,ue];if(l||Al(qe[e],n[0]),!t){let l;B(n[1],(([t,n],s)=>{n!==t&&(Qe(Be[e],[s],n,t,zl),l=1)})),l&&Qe($e[e],void 0,zl)}}},Pl=(e,...l)=>(rt((()=>e(...S(l,b)))),ct),jl=()=>[_(A,((e,l)=>-1===Q(m,l)?null:_(e,((e,t)=>-1===Q(Q(O,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(ue,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],xl=()=>({cellsTouched:n,valuesTouched:a,changedCells:le(A,he,ve),invalidCells:le(Se),changedValues:_(ue,he,ve),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:le(k),changedValueIds:_(N)}),Dl=()=>le(Ee),Wl=()=>K(Ee),$l=e=>K(Q(Ee,b(e))),ql=(e,l,t,n=0,s)=>{return S(I((r=Q(Ee,b(e)),o=(e,t)=>[L(l)?t:Q(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),S([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>K(Q(Q(Ee,b(e)),b(l))),Gl=(e,l,t)=>Q(Q(Q(Ee,b(e)),b(l)),b(t)),Hl=()=>_(Fe),Kl=()=>K(Fe),Ql=e=>Q(Fe,b(e)),Ul=e=>Pl((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Pl((()=>ll(e)?gl(e):0)),Yl=e=>{try{ol(J(e))}catch(e){}return ct},Zl=l=>Pl((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Dl();et(),Ul(e)}})),_l=e=>Pl((()=>{if(t=(e=>Ve(e,Ye))(e)){const l=Hl();at(),nt(),t=!0,rl(e),Xl(l)}})),et=()=>Pl((()=>ul({}))),lt=e=>Pl((e=>W(Ee,e)?bl(e):0),e),tt=(e,l)=>Pl(((e,l)=>E(Q(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Pl((()=>gl({}))),st=()=>Pl((()=>{al({}),e=!1})),at=()=>Pl((()=>{rl({}),t=!1})),rt=(e,l)=>{if(-1!=u){ot();const t=e();return ut(l),t}},ot=()=>(-1!=u&&u++,1==u&&Qe(Ge,void 0,jl,xl),ct),ut=e=>(u>0&&(u--,0==u&&(n=!$(A),a=!$(ue),u=1,Ol(1),n&&Ml(1),kl(1),a&&Nl(1),(null==e?void 0:e(jl,xl))&&(B(A,((e,l)=>B(e,((e,t)=>B(e,(([e],n)=>fe(ct,l,t,n,e))))))),B(ue,(([e],l)=>Te(ct,l,e))),n=a=!1),Qe(He[0],void 0,jl,xl),u=-1,Ol(0),n&&Ml(0),kl(0),a&&Nl(0),Qe(He[1],void 0,jl,xl),u=0,n=a=!1,C([m,p,O,k,A,Se,N,ue,we],q))),ct),ct={getContent:()=>[Dl(),Hl()],getTables:Dl,getTableIds:Wl,getTable:e=>ee(Q(Ee,b(e))),getTableCellIds:e=>K(Q(Le,b(e))),getRowIds:$l,getSortedRowIds:ql,getRow:(e,l)=>_(Q(Q(Ee,b(e)),b(l))),getCellIds:Bl,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,b(e)),hasTableCell:(e,l)=>W(Q(Le,b(e)),b(l)),hasRow:(e,l)=>W(Q(Ee,b(e)),b(l)),hasCell:(e,l,t)=>W(Q(Q(Ee,b(e)),b(l)),b(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,b(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,l])=>Pl((()=>{(D(e)?et:Ul)(e),(D(l)?nt:Xl)(l)})),setTables:Ul,setTable:(e,l)=>Pl((e=>Ze(l,e)?cl(e,l):0),e),setRow:(e,l,t)=>Pl(((e,l)=>_e(e,l,t)?il(e,Vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=b(e),il(e,Vl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Pl(((e,l)=>{if(_e(e,l,t,1)){const n=Vl(e);x(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Pl(((e,l,t)=>E(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,Vl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Pl((()=>ll(e,1)?x(e,((e,l)=>fl(l,e))):0)),setValue:(e,l)=>Pl((e=>E(tl(e,z(l)?l(Ql(e)):l),(l=>fl(e,l)))),e),setTransactionChanges:e=>Pl((()=>{x(e[0],((e,l)=>L(e)?lt(l):x(e,((e,t)=>L(e)?tt(l,t):x(e,((e,n)=>fe(ct,l,t,n,e))))))),x(e[1],((e,l)=>Te(ct,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(J(e))}catch(e){}return ct},setJson:e=>{try{const[l,t]=J(e);ol(l),vl(t)}catch(l){Yl(e)}return ct},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Pl((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Pl(((e,l,t)=>E(Q(Ee,e),(s=>E(Q(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Pl((e=>W(Fe,e)?wl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Pl((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>B(Ee,((l,t)=>e(t,(e=>B(l,((l,t)=>e(t,(e=>U(l,e))))))))),forEachTableCell:(e,l)=>U(Q(Le,b(e)),l),forEachRow:(e,l)=>B(Q(Ee,b(e)),((e,t)=>l(t,(l=>U(e,l))))),forEachCell:(e,l,t)=>U(Q(Q(Ee,b(e)),b(l)),t),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=ql(e,l,t,n,s);return Ke((()=>{const r=ql(e,l,t,n,s);var u,c,i;c=o,w(u=r)===w(c)&&(i=(e,l)=>c[l]===e,u.every(i))||(o=r,a(ct,e,l,t,n,s,o))}),Ne[r?1:0],[e,l],[Wl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),ct),delListener:e=>(Ue(e),ct),getListenerStats:()=>({}),createStore:Ce};return x({[i]:[0,ze],[d]:[0,Oe],[c]:[1,ke,[Wl]],[c+g]:[1,Ae,[Wl]],[h]:[1,Me,[Wl]],Row:[2,Pe,[Wl,$l]],[g]:[2,je,[Wl,$l]],[v]:[3,xe,[Wl,$l,Bl],e=>ie(Gl(...e))],InvalidCell:[3,De],[T]:[0,$e],[V]:[0,qe],[f]:[1,Be,[Kl],e=>ie(Ql(e[0]))],InvalidValue:[1,We]},(([e,l,t,n],s)=>{ct["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?I(s,0,e):void 0,t,n)})),M(ct)};export{Ce as createStore};
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",i="Table",c=i+"s",d=i+u,h="Row"+u,v="Cell",f=v+u,g="Value",T=g+"s",V=g+u,b=e=>l+e,C=isFinite,S=(e,l)=>e instanceof l,w=e=>null==e,I=(e,l,t)=>w(e)?null==t?void 0:t():l(e),R=e=>e==t||e==n,m=l=>e(l)==a,y=(e,l)=>e.forEach(l),J=(e,l)=>e.map(l),p=e=>e.length,E=(e,l,t)=>e.slice(l,t),L=(e,...l)=>e.push(...l),F=Object,z=F.keys,O=F.isFrozen,k=F.freeze,A=e=>S(e,F)&&e.constructor==F,M=(e,l)=>!w(((e,l)=>I(e,(e=>e[l])))(e,l)),N=(e,l)=>(delete e[l],e),P=(e,l)=>J(F.entries(e),(([e,t])=>l(t,e))),j=e=>A(e)&&0==(e=>p(z(e)))(e),x=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},D=e=>w(e)||0==(e=>e.size)(e),W=e=>e.clear(),$=(e,l)=>null==e?void 0:e.forEach(l),q=(e,l)=>null==e?void 0:e.delete(l),B=e=>new Map(e),G=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},H=(e,l)=>null==e?void 0:e.get(l),K=(e,l)=>$(e,((e,t)=>l(t,e))),Q=(e,l,t)=>w(t)?(q(e,l),e):null==e?void 0:e.set(l,t),U=(e,l,t)=>(x(e,l)||Q(e,l,t()),H(e,l)),X=(e,l,t,n=Q)=>(P(l,((l,n)=>t(e,n,l))),K(e,(t=>M(l,t)?0:n(e,t))),e),Y=(e,l,t)=>{const n={};return $(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},Z=(e,l,t)=>Y(e,(e=>Y(e,l,t)),j),_=(e,l,t)=>Y(e,(e=>Z(e,l,t)),j),ee=(e,l)=>{const t=B();return $(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},le=e=>ee(e,ee),te=e=>ee(e,le),ne=(e,l,t,n,s=0)=>I((t?U:H)(e,l[s],s>p(l)-2?t:B),(a=>{if(s>p(l)-2)return(null==n?void 0:n(a))&&Q(e,l[s]),a;const r=ne(a,l,t,n,s+1);return D(a)&&Q(e,l[s]),r})),se=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ae=(e,l)=>null==e?void 0:e.add(l),re=/^\d+$/,oe=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{re.test(l)&&p(e)<1e3&&L(e,l)}]},ue=e=>[e,e],ie=()=>[B(),B()],ce=e=>[...e],de=([e,l])=>e===l,he=l=>{const t=e(l);return R(t)||t==s&&C(l)?t:void 0},ve=(e,l,t,n,s)=>w(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),fe=(e,l,t)=>w(t)?e.delValue(l):e.setValue(l,t),ge=e=>JSON.stringify(e,((e,l)=>S(l,Map)?F.fromEntries([...l]):l)),Te=JSON.parse,Ve=(e,l,t)=>w(e)||!A(e)||j(e)||O(e)?(null==t||t(),!1):(P(e,((t,n)=>{l(t,n)||N(e,n)})),!j(e)),be=(e,l,t)=>Q(e,l,H(e,l)==-t?void 0:t),Ce=()=>{let e,t,n=!1,a=!1,u=0;const C=B(),S=B(),F=B(),z=B(),O=B(),A=B(),re=B(),Se=B(),we=B(),Ie=B(),Re=B(),me=B(),ye=B(),Je=se(),pe=B(),Ee=B(),Le=B(),Fe=B(),ze=ie(),Oe=ie(),ke=ie(),Ae=ie(),Me=ie(),Ne=ie(),Pe=ie(),je=ie(),xe=ie(),De=ie(),We=ie(),$e=ie(),qe=ie(),Be=ie(),Ge=B(),He=ie(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[n,s]=oe(),a=B();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=it);const i=n(1);return Q(a,i,[e,s,r,o,u]),ae(ne(s,null!=r?r:[l],se),i),i},(e,n,...s)=>y(((e,t=[l])=>{const n=[],s=(e,l)=>l==p(t)?L(n,e):null===t[l]?$(e,(e=>s(e,l+1))):y([t[l],null],(t=>s(H(e,t),l+1)));return s(e,0),n})(e,n),(e=>$(e,(e=>H(a,e)[0](t,...null!=n?n:[],...s))))),e=>I(H(a,e),(([,t,n])=>(ne(t,null!=n?n:[l],void 0,(l=>(q(l,e),D(l)?1:0))),Q(a,e),s(e),n))),e=>I(H(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=p(r);i==p(l)?e(t,...r,...s(r)):w(l[i])?y(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!R(l)&&l!=s||(he(e[o])!=l&&N(e,o),0))},Ze=(l,t)=>(!e||x(Ie,t)||El(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>El(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>I(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>El(e,l))),el=(l,t,n,s)=>e?I(H(H(Ie,l),n),(e=>he(s)!=e[r]?El(l,t,n,s,e[o]):s),(()=>El(l,t,n,s))):w(he(s))?El(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>I(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>Ll())),tl=(e,l)=>t?I(H(me,e),(t=>he(l)!=t[r]?Ll(e,l,t[o]):l),(()=>Ll(e,l))):w(he(l))?Ll(e,l):l,nl=(e,l,t)=>(I(H(Re,l),(([n,s])=>{$(n,((l,t)=>{M(e,t)||(e[t]=l)})),$(s,(n=>{M(e,n)||El(l,t,n)}))})),e),sl=e=>(t&&($(ye,((l,t)=>{M(e,t)||(e[t]=l)})),$(Je,(l=>{M(e,l)||Ll(l)}))),e),al=e=>X(Ie,e,((e,l,t)=>{const n=B(),s=se();X(U(Ie,l,B),t,((e,l,t)=>{Q(e,l,t),I(t[o],(e=>Q(n,l,e)),(()=>ae(s,l)))})),Q(Re,l,[n,s])}),((e,l)=>{Q(Ie,l),Q(Re,l)})),rl=e=>X(me,e,((e,l,t)=>{Q(me,l,t),I(t[o],(e=>Q(ye,l,e)),(()=>ae(Je,l)))}),((e,l)=>{Q(me,l),Q(ye,l),q(Je,l)})),ol=e=>j(e)?et():Ul(e),ul=e=>X(Le,e,((e,l,t)=>il(l,t)),((e,l)=>bl(l))),il=(e,l)=>X(U(Le,e,(()=>(Il(e,1),Q(pe,e,oe()),Q(Ee,e,B()),B()))),l,((l,t,n)=>cl(e,l,t,n)),((l,t)=>Cl(e,l,t))),cl=(e,l,t,n,s)=>X(U(l,t,(()=>(Rl(e,t,1),B()))),n,((l,n,s)=>dl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),dl=(e,l,t,n,s)=>{x(t,n)||ml(e,l,n,1);const a=H(t,n);s!==a&&(yl(e,l,n,a,s),Q(t,n,s))},hl=(e,l,t,n,s)=>I(H(l,t),(l=>dl(e,t,l,n,s)),(()=>cl(e,l,t,nl({[n]:s},e,t)))),vl=e=>j(e)?nt():Xl(e),fl=e=>X(Fe,e,((e,l,t)=>gl(l,t)),((e,l)=>wl(l))),gl=(e,l)=>{x(Fe,e)||Jl(e,1);const t=H(Fe,e);l!==t&&(pl(e,t,l),Q(Fe,e,l))},Tl=(e,l)=>{const[t]=H(pe,e),n=t(l);return x(H(Le,e),n)?Tl(e,l):n},Vl=e=>{var l;return null!=(l=H(Le,e))?l:il(e,{})},bl=e=>il(e,{}),Cl=(e,l,t)=>{const[,n]=H(pe,e);n(t),cl(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=H(null==(r=H(Re,e))?void 0:r[0],s);if(!w(o)&&!a)return dl(e,t,n,s,o);const u=l=>{yl(e,t,l,H(n,l)),ml(e,t,l,-1),Q(n,l)};w(o)?u(s):K(n,u),D(n)&&(Rl(e,t,-1),D(Q(l,t))&&(Il(e,-1),Q(Le,e),Q(pe,e),Q(Ee,e)))},wl=e=>{const l=H(ye,e);if(!w(l))return gl(e,l);pl(e,H(Fe,e)),Jl(e,-1),Q(Fe,e)},Il=(e,l)=>be(C,e,l),Rl=(e,l,t)=>be(U(F,e,B),l,t),ml=(e,l,t,n)=>{var s;const a=H(Ee,e),r=null!=(s=H(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&be(U(S,e,B),t,n),Q(a,t,r!=-n?r+n:null),be(U(U(z,e,B),l,B),t,n)},yl=(e,l,t,n,s)=>U(U(U(O,e,B),l,B),t,(()=>[n,0]))[1]=s,Jl=(e,l)=>be(A,e,l),pl=(e,l,t)=>U(re,e,(()=>[l,0]))[1]=t,El=(e,l,t,n,s)=>(L(U(U(U(Se,e,B),l,B),t,(()=>[])),n),s),Ll=(e,l,t)=>(L(U(we,e,(()=>[])),l),t),Fl=(e,l,t)=>I(H(H(H(O,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ue(Gl(e,l,t))])),zl=e=>I(H(re,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ue(Ql(e))])),Ol=e=>D(Se)||D(De[e])?0:$(e?te(Se):Se,((l,t)=>$(l,((l,n)=>$(l,((l,s)=>Qe(De[e],[t,n,s],l))))))),kl=e=>D(we)||D(We[e])?0:$(e?ee(we):we,((l,t)=>Qe(We[e],[t],l))),Al=(e,l,t)=>{if(!D(l))return Qe(e,t,(()=>Y(l))),1},Ml=e=>{const l=D(Ne[e]),t=D(je[e])&&D(Ae[e])&&D(Me[e])&&l&&D(Oe[e]),n=D(xe[e])&&D(Pe[e])&&D(ke[e])&&D(ze[e]);if(!t||!n){const s=e?[ee(C),le(S),le(F),te(z),te(O)]:[C,S,F,z,O];if(!t){Al(Oe[e],s[0]),$(s[1],((l,t)=>Al(Ae[e],l,[t])));const t=se();$(s[2],((n,s)=>{Al(Me[e],n,[s])&&!l&&(Qe(Ne[e],[s,null]),ae(t,s))})),l||$(s[4],((l,n)=>{if(!x(t,n)){const t=se();$(l,(e=>$(e,(([l,n],s)=>n!==l?ae(t,s):q(e,s))))),$(t,(l=>Qe(Ne[e],[n,l])))}})),$(s[3],((l,t)=>$(l,((l,n)=>Al(je[e],l,[t,n])))))}if(!n){let l;$(s[4],((t,n)=>{let s;$(t,((t,a)=>{let r;$(t,(([t,o],u)=>{o!==t&&(Qe(xe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Pe[e],[n,a],Fl)})),s&&Qe(ke[e],[n],Fl)})),l&&Qe(ze[e],void 0,Fl)}}},Nl=e=>{const l=D(qe[e]),t=D(Be[e])&&D($e[e]);if(!l||!t){const n=e?[ee(A),ee(re)]:[A,re];if(l||Al(qe[e],n[0]),!t){let l;$(n[1],(([t,n],s)=>{n!==t&&(Qe(Be[e],[s],n,t,zl),l=1)})),l&&Qe($e[e],void 0,zl)}}},Pl=(e,...l)=>(rt((()=>e(...J(l,b)))),it),jl=()=>[Y(O,((e,l)=>-1===H(C,l)?null:Y(e,((e,t)=>-1===H(H(F,l),t)?null:Y(e,(([,e])=>null!=e?e:null),((e,l)=>de(l)))),j)),j),Y(re,(([,e])=>null!=e?e:null),((e,l)=>de(l)))],xl=()=>({cellsTouched:n,valuesTouched:a,changedCells:_(O,ce,de),invalidCells:_(Se),changedValues:Y(re,ce,de),invalidValues:Y(we),changedTableIds:Y(C),changedRowIds:Z(F),changedCellIds:_(z),changedValueIds:Y(A)}),Dl=()=>_(Le),Wl=()=>G(Le),$l=e=>G(H(Le,b(e))),ql=(e,l,t,n=0,s)=>{return J(E((r=H(Le,b(e)),o=(e,t)=>[w(l)?t:H(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),J([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,w(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>G(H(H(Le,b(e)),b(l))),Gl=(e,l,t)=>H(H(H(Le,b(e)),b(l)),b(t)),Hl=()=>Y(Fe),Kl=()=>G(Fe),Ql=e=>H(Fe,b(e)),Ul=e=>Pl((()=>(e=>Ve(e,Ze,El))(e)?ul(e):0)),Xl=e=>Pl((()=>ll(e)?fl(e):0)),Yl=e=>{try{ol(Te(e))}catch(e){}return it},Zl=l=>Pl((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!D(Le))){const e=Dl();et(),Ul(e)}})),_l=e=>Pl((()=>{if(t=(e=>Ve(e,Ye))(e)){const l=Hl();at(),nt(),t=!0,rl(e),Xl(l)}})),et=()=>Pl((()=>ul({}))),lt=e=>Pl((e=>x(Le,e)?bl(e):0),e),tt=(e,l)=>Pl(((e,l)=>I(H(Le,e),(t=>x(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Pl((()=>fl({}))),st=()=>Pl((()=>{al({}),e=!1})),at=()=>Pl((()=>{rl({}),t=!1})),rt=(e,l)=>{if(-1!=u){ot();const t=e();return ut(l),t}},ot=()=>(-1!=u&&u++,1==u&&Qe(Ge,void 0,jl,xl),it),ut=e=>(u>0&&(u--,0==u&&(n=!D(O),a=!D(re),u=1,Ol(1),n&&Ml(1),kl(1),a&&Nl(1),(null==e?void 0:e(jl,xl))&&($(O,((e,l)=>$(e,((e,t)=>$(e,(([e],n)=>ve(it,l,t,n,e))))))),$(re,(([e],l)=>fe(it,l,e))),n=a=!1),Qe(He[0],void 0,jl,xl),u=-1,Ol(0),n&&Ml(0),kl(0),a&&Nl(0),Qe(He[1],void 0,jl,xl),u=0,n=a=!1,y([C,S,F,z,O,Se,A,re,we],W))),it),it={getContent:()=>[Dl(),Hl()],getTables:Dl,getTableIds:Wl,getTable:e=>Z(H(Le,b(e))),getTableCellIds:e=>G(H(Ee,b(e))),getRowIds:$l,getSortedRowIds:ql,getRow:(e,l)=>Y(H(H(Le,b(e)),b(l))),getCellIds:Bl,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!D(Le),hasTable:e=>x(Le,b(e)),hasTableCell:(e,l)=>x(H(Ee,b(e)),b(l)),hasRow:(e,l)=>x(H(Le,b(e)),b(l)),hasCell:(e,l,t)=>x(H(H(Le,b(e)),b(l)),b(t)),hasValues:()=>!D(Fe),hasValue:e=>x(Fe,b(e)),getTablesJson:()=>ge(Le),getValuesJson:()=>ge(Fe),getJson:()=>ge([Le,Fe]),getTablesSchemaJson:()=>ge(Ie),getValuesSchemaJson:()=>ge(me),getSchemaJson:()=>ge([Ie,me]),setContent:([e,l])=>Pl((()=>{(j(e)?et:Ul)(e),(j(l)?nt:Xl)(l)})),setTables:Ul,setTable:(e,l)=>Pl((e=>Ze(l,e)?il(e,l):0),e),setRow:(e,l,t)=>Pl(((e,l)=>_e(e,l,t)?cl(e,Vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=b(e),cl(e,Vl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Pl(((e,l)=>{if(_e(e,l,t,1)){const n=Vl(e);P(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Pl(((e,l,t)=>I(el(e,l,t,m(n)?n(Gl(e,l,t)):n),(n=>hl(e,Vl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Pl((()=>ll(e,1)?P(e,((e,l)=>gl(l,e))):0)),setValue:(e,l)=>Pl((e=>I(tl(e,m(l)?l(Ql(e)):l),(l=>gl(e,l)))),e),setTransactionChanges:e=>Pl((()=>{P(e[0],((e,l)=>w(e)?lt(l):P(e,((e,t)=>w(e)?tt(l,t):P(e,((e,n)=>ve(it,l,t,n,e))))))),P(e[1],((e,l)=>fe(it,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(Te(e))}catch(e){}return it},setJson:e=>{try{const[l,t]=Te(e);ol(l),vl(t)}catch(l){Yl(e)}return it},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Pl((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Pl(((e,l,t)=>I(H(Le,e),(s=>I(H(s,l),(a=>x(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Pl((e=>x(Fe,e)?wl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Pl((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>$(Le,((l,t)=>e(t,(e=>$(l,((l,t)=>e(t,(e=>K(l,e))))))))),forEachTableCell:(e,l)=>K(H(Ee,b(e)),l),forEachRow:(e,l)=>$(H(Le,b(e)),((e,t)=>l(t,(l=>K(e,l))))),forEachCell:(e,l,t)=>K(H(H(Le,b(e)),b(l)),t),forEachValue:e=>K(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=ql(e,l,t,n,s);return Ke((()=>{const r=ql(e,l,t,n,s);var u,i,c;i=o,p(u=r)===p(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(it,e,l,t,n,s,o))}),Ne[r?1:0],[e,l],[Wl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),it),delListener:e=>(Ue(e),it),getListenerStats:()=>({}),createStore:Ce};return P({[c]:[0,ze],[d]:[0,Oe],[i]:[1,ke,[Wl]],[i+f]:[1,Ae,[Wl]],[h]:[1,Me,[Wl]],Row:[2,Pe,[Wl,$l]],[f]:[2,je,[Wl,$l]],[v]:[3,xe,[Wl,$l,Bl],e=>ue(Gl(...e))],InvalidCell:[3,De],[T]:[0,$e],[V]:[0,qe],[g]:[1,Be,[Kl],e=>ue(Ql(e[0]))],InvalidValue:[1,We]},(([e,l,t,n],s)=>{it["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),k(it)};export{Ce as createStore};
Binary file