tinybase 4.0.0-beta.2 → 4.0.0-beta.3

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 (114) hide show
  1. package/lib/cjs/persister-automerge.cjs +1 -0
  2. package/lib/cjs/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persister-browser.cjs +1 -1
  4. package/lib/cjs/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persister-file.cjs +1 -1
  6. package/lib/cjs/persister-file.cjs.gz +0 -0
  7. package/lib/cjs/persister-remote.cjs +1 -1
  8. package/lib/cjs/persister-remote.cjs.gz +0 -0
  9. package/lib/cjs/persister-yjs.cjs +1 -1
  10. package/lib/cjs/persister-yjs.cjs.gz +0 -0
  11. package/lib/cjs/persisters.cjs +1 -1
  12. package/lib/cjs/persisters.cjs.gz +0 -0
  13. package/lib/cjs/tinybase.cjs +1 -1
  14. package/lib/cjs/tinybase.cjs.gz +0 -0
  15. package/lib/cjs/tools.cjs +1 -1
  16. package/lib/cjs/tools.cjs.gz +0 -0
  17. package/lib/cjs-es6/persister-automerge.cjs +1 -0
  18. package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
  19. package/lib/cjs-es6/persister-browser.cjs +1 -1
  20. package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
  21. package/lib/cjs-es6/persister-file.cjs +1 -1
  22. package/lib/cjs-es6/persister-file.cjs.gz +0 -0
  23. package/lib/cjs-es6/persister-remote.cjs +1 -1
  24. package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
  25. package/lib/cjs-es6/persister-yjs.cjs +1 -1
  26. package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters.cjs +1 -1
  28. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  29. package/lib/cjs-es6/tinybase.cjs +1 -1
  30. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  31. package/lib/cjs-es6/tools.cjs +1 -1
  32. package/lib/cjs-es6/tools.cjs.gz +0 -0
  33. package/lib/debug/persister-automerge.js +257 -0
  34. package/lib/debug/persister-browser.js +2 -2
  35. package/lib/debug/persister-file.js +2 -2
  36. package/lib/debug/persister-remote.js +2 -2
  37. package/lib/debug/persister-yjs.js +3 -3
  38. package/lib/debug/persisters.js +2 -2
  39. package/lib/debug/tinybase.js +2 -2
  40. package/lib/debug/tools.js +42 -2
  41. package/lib/es6/persister-automerge.js +1 -0
  42. package/lib/es6/persister-automerge.js.gz +0 -0
  43. package/lib/es6/persister-browser.js +1 -1
  44. package/lib/es6/persister-browser.js.gz +0 -0
  45. package/lib/es6/persister-file.js +1 -1
  46. package/lib/es6/persister-file.js.gz +0 -0
  47. package/lib/es6/persister-remote.js +1 -1
  48. package/lib/es6/persister-remote.js.gz +0 -0
  49. package/lib/es6/persister-yjs.js +1 -1
  50. package/lib/es6/persister-yjs.js.gz +0 -0
  51. package/lib/es6/persisters.js +1 -1
  52. package/lib/es6/persisters.js.gz +0 -0
  53. package/lib/es6/tinybase.js +1 -1
  54. package/lib/es6/tinybase.js.gz +0 -0
  55. package/lib/es6/tools.js +1 -1
  56. package/lib/es6/tools.js.gz +0 -0
  57. package/lib/persister-automerge.js +1 -0
  58. package/lib/persister-automerge.js.gz +0 -0
  59. package/lib/persister-browser.js +1 -1
  60. package/lib/persister-browser.js.gz +0 -0
  61. package/lib/persister-file.js +1 -1
  62. package/lib/persister-file.js.gz +0 -0
  63. package/lib/persister-remote.js +1 -1
  64. package/lib/persister-remote.js.gz +0 -0
  65. package/lib/persister-yjs.js +1 -1
  66. package/lib/persister-yjs.js.gz +0 -0
  67. package/lib/persisters.js +1 -1
  68. package/lib/persisters.js.gz +0 -0
  69. package/lib/tinybase.js +1 -1
  70. package/lib/tinybase.js.gz +0 -0
  71. package/lib/tools.js +1 -1
  72. package/lib/tools.js.gz +0 -0
  73. package/lib/types/persister-automerge.d.ts +110 -0
  74. package/lib/types/persister-yjs.d.ts +3 -2
  75. package/lib/types/persisters.d.ts +8 -8
  76. package/lib/types/tools.d.ts +4 -4
  77. package/lib/types/with-schemas/persister-automerge.d.ts +120 -0
  78. package/lib/types/with-schemas/persister-yjs.d.ts +3 -2
  79. package/lib/types/with-schemas/persisters.d.ts +8 -8
  80. package/lib/types/with-schemas/tools.d.ts +4 -4
  81. package/lib/umd/persister-automerge.js +1 -0
  82. package/lib/umd/persister-automerge.js.gz +0 -0
  83. package/lib/umd/persister-browser.js +1 -1
  84. package/lib/umd/persister-browser.js.gz +0 -0
  85. package/lib/umd/persister-file.js +1 -1
  86. package/lib/umd/persister-file.js.gz +0 -0
  87. package/lib/umd/persister-remote.js +1 -1
  88. package/lib/umd/persister-remote.js.gz +0 -0
  89. package/lib/umd/persister-yjs.js +1 -1
  90. package/lib/umd/persister-yjs.js.gz +0 -0
  91. package/lib/umd/persisters.js +1 -1
  92. package/lib/umd/persisters.js.gz +0 -0
  93. package/lib/umd/tinybase.js +1 -1
  94. package/lib/umd/tinybase.js.gz +0 -0
  95. package/lib/umd/tools.js +1 -1
  96. package/lib/umd/tools.js.gz +0 -0
  97. package/lib/umd-es6/persister-automerge.js +1 -0
  98. package/lib/umd-es6/persister-automerge.js.gz +0 -0
  99. package/lib/umd-es6/persister-browser.js +1 -1
  100. package/lib/umd-es6/persister-browser.js.gz +0 -0
  101. package/lib/umd-es6/persister-file.js +1 -1
  102. package/lib/umd-es6/persister-file.js.gz +0 -0
  103. package/lib/umd-es6/persister-remote.js +1 -1
  104. package/lib/umd-es6/persister-remote.js.gz +0 -0
  105. package/lib/umd-es6/persister-yjs.js +1 -1
  106. package/lib/umd-es6/persister-yjs.js.gz +0 -0
  107. package/lib/umd-es6/persisters.js +1 -1
  108. package/lib/umd-es6/persisters.js.gz +0 -0
  109. package/lib/umd-es6/tinybase.js +1 -1
  110. package/lib/umd-es6/tinybase.js.gz +0 -0
  111. package/lib/umd-es6/tools.js +1 -1
  112. package/lib/umd-es6/tools.js.gz +0 -0
  113. package/package.json +55 -25
  114. package/readme.md +3 -3
@@ -1 +1 @@
1
- const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},a=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,a);i((n=n.apply(t,e)).next())})),o=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{i(n.next(t))}catch(t){l(t)}},a=t=>{try{i(n.throw(t))}catch(t){l(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,a);i((n=n.apply(t,e)).next())}));const l=t=>t.headers.get("ETag"),r=(r,a,i,u)=>{let d;return((r,s,c,v,y)=>{let h,f,p=0,A=!1;const S=t=>n(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(t,e)=>n(void 0,null,(function*(){return yield S((()=>n(void 0,null,(function*(){let n;try{n=yield s()}catch(t){}r.setContent(null!=n?n:[t,e])})))),g})),startAutoLoad:(e,i)=>n(void 0,null,(function*(){return g.stopAutoLoad(),yield g.load(e,i),A=!0,c=(t,e)=>n(void 0,null,(function*(){yield S((()=>n(void 0,null,(function*(){var n;if(e)r.setTransactionChanges(e());else try{r.setContent(null!=(n=null==t?void 0:t())?n:yield s())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=l(e);t(d)||t(n)||n==d||(d=n,c())}))),1e3*u),g;var c})),stopAutoLoad:()=>(A&&(clearInterval(f),f=void 0,A=!1),g),save:t=>n(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=r.getContent,o(void 0,null,(function*(){return yield fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var e}))),p=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),h=r.addDidFinishTransactionListener(((t,e)=>g.save(e))),g})),stopAutoSave:()=>{var e,n;return e=h,n=r.delListener,!!t(e)||n(e),g},getStore:()=>r,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(r,(()=>o(void 0,null,(function*(){const t=yield fetch(a);return d=l(t),JSON.parse(yield t.text())}))))};export{r as createRemotePersister};
1
+ const t=t=>null==t,e=Object.freeze;var n=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())})),o=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{i(n.next(t))}catch(t){r(t)}},a=t=>{try{i(n.throw(t))}catch(t){r(t)}},i=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,a);i((n=n.apply(t,e)).next())}));const r=t=>t.headers.get("ETag"),l=(l,a,i,u)=>{let d;return((l,s,c,v,y)=>{let h,f,p=0,A=!1;const S=t=>n(void 0,null,(function*(){2!=p&&(p=1,yield t(),p=0)})),g={load:(...t)=>n(void 0,[...t],(function*(t={},e={}){return yield S((()=>n(void 0,null,(function*(){let n;try{n=yield s()}catch(t){}l.setContent(null!=n?n:[t,e])})))),g})),startAutoLoad:(...e)=>n(void 0,[...e],(function*(e={},i={}){return g.stopAutoLoad(),yield g.load(e,i),A=!0,c=(t,e)=>n(void 0,null,(function*(){yield S((()=>n(void 0,null,(function*(){var n;if(e)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield s())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=r(e);t(d)||t(n)||n==d||(d=n,c())}))),1e3*u),g;var c})),stopAutoLoad:()=>(A&&(clearInterval(f),f=void 0,A=!1),g),save:t=>n(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=l.getContent,o(void 0,null,(function*(){return yield fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(n=(t,[e,n])=>(t[e]=n,t),o={},[...e].reduce(n,o)):e;var n,o})))});var e}))),p=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),h=l.addDidFinishTransactionListener(((t,e)=>g.save(e))),g})),stopAutoSave:()=>{var e,n;return e=h,n=l.delListener,!!t(e)||n(e),g},getStore:()=>l,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(l,(()=>o(void 0,null,(function*(){const t=yield fetch(a);return d=r(t),JSON.parse(yield t.text())}))))};export{l as createRemotePersister};
Binary file
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,l=(t,e,n)=>o(t)?null==n?void 0:n():e(t),r=Object,i=r.freeze,u=()=>({}),a=(t,e)=>!o(((t,e)=>l(t,(t=>t[e])))(t,e)),s=(t,e)=>((t,e)=>t.map(e))(r.entries(t),(([t,n])=>e(n,t))),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var d=(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 c=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var g=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const f="delete",h=t=>[t.get("t"),t.get("v")],y=(e,n,l,r)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let v;return s(l,((t,e)=>{r(u,e,t)&&(v=1)})),u.forEach(((t,e)=>{a(l,e)||(u.delete(e),v=1)})),o(n)||u.size||e.delete(n),v},p=(r,a,p="tinybase")=>{const S=a.getMap(p);return((r,p,A,m,w)=>{let O,J,L=0,N=!1;const x=t=>d(void 0,null,(function*(){2!=L&&(L=1,yield t(),L=0)})),b={load:(t,e)=>d(void 0,null,(function*(){return yield x((()=>d(void 0,null,(function*(){let n;try{n=yield p()}catch(t){}r.setContent(null!=n?n:[t,e])})))),b})),startAutoLoad:(t,o)=>d(void 0,null,(function*(){return b.stopAutoLoad(),yield b.load(t,o),N=!0,J=(t=>{const o=t=>{return o=void 0,i=()=>((t,o)=>{if(1==e(o)&&(r=o[0].path,0==e(r)))return[t.get("t").toJSON(),t.get("v").toJSON()];var r;const[i,a]=h(t),s={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>"t"==n(t)?l(n(t),(o=>{const r=v(s,o,u),a=i.get(o);l(n(t),(t=>{const n=v(r,t,u),o=a.get(t);c(e,((t,{action:e})=>n[t]=e==f?null:o.get(t)))}),(()=>c(e,((t,{action:e})=>{var n;return r[t]=e==f?null:null==(n=a.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return s[t]=e==f?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==f?null:a.get(t)))))})(o),[s,d]})(S,t),d(void 0,null,(function*(){yield x((()=>d(void 0,null,(function*(){var t;if(i)r.setTransactionChanges(i());else try{r.setContent(null!=(t=null==o?void 0:o())?t:yield p())}catch(t){}}))))}));var o,i};return S.observeDeep(o),o})(),b})),stopAutoLoad:()=>{return N&&(t=J,S.unobserveDeep(t),J=void 0,N=!1),b;var t},save:e=>d(void 0,null,(function*(){return 1!=L&&(L=2,yield((e,n)=>g(void 0,null,(function*(){return a.transact((()=>((e,n,r)=>{(e=>{e.size||(e.set("t",new t),e.set("v",new t))})(e);const[i,u]=h(e),a=()=>{v=1};let v=1;if(l(null==r?void 0:r(),(([t,e])=>{v=0,s(t,((t,e)=>v?0:o(t)?i.delete(e):l(i.get(e),(e=>s(t,((t,n)=>v?0:o(t)?e.delete(n):l(e.get(n),(e=>s(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),a)))),a))),s(e,((t,e)=>v?0:o(t)?u.delete(e):u.set(e,t)))})),v){const[t,e]=n();y(i,void 0,t,((t,e,n)=>y(i,e,n,((t,e,n)=>y(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),y(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(S,e,n)))})))(r.getContent,e),L=0),b})),startAutoSave:()=>d(void 0,null,(function*(){return yield b.stopAutoSave().save(),O=r.addDidFinishTransactionListener(((t,e)=>b.save(e))),b})),stopAutoSave:()=>(l(O,r.delListener),b),getStore:()=>r,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(r,(()=>g(void 0,null,(function*(){return S.size?[S.get("t").toJSON(),S.get("v").toJSON()]:void 0}))))};export{p as createYjsPersister};
1
+ import{Map as t}from"yjs";const e=t=>t.length,n=t=>t.shift(),o=t=>null==t,r=(t,e,n)=>o(t)?null==n?void 0:n():e(t),l=Object,i=l.freeze,u=()=>({}),a=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),s=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),v=(t,e,n)=>(a(t,e)||(t[e]=n()),t[e]);var d=(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 c=(t,e)=>((t,e)=>null==t?void 0:t.forEach(e))(t,((t,n)=>e(n,t)));var g=(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="t",h="delete",y=t=>[t.get(f),t.get("v")],p=(e,n,r,l)=>{var i;const u=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t);let v;return s(r,((t,e)=>{l(u,e,t)&&(v=1)})),u.forEach(((t,e)=>{a(r,e)||(u.delete(e),v=1)})),o(n)||u.size||e.delete(n),v},S=(l,a,S="tinybase")=>{const A=a.getMap(S);return((l,S,m,w,O)=>{let J,L,N=0,x=!1;const b=t=>d(void 0,null,(function*(){2!=N&&(N=1,yield t(),N=0)})),z={load:(...t)=>d(void 0,[...t],(function*(t={},e={}){return yield b((()=>d(void 0,null,(function*(){let n;try{n=yield S()}catch(t){}l.setContent(null!=n?n:[t,e])})))),z})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},o={}){return z.stopAutoLoad(),yield z.load(t,o),x=!0,L=(t=>{const o=t=>{return o=void 0,i=()=>((t,o)=>{if(1==e(o)&&(l=o[0].path,0==e(l)))return[t.get("t").toJSON(),t.get("v").toJSON()];var l;const[i,a]=y(t),s={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==f?r(n(t),(o=>{const l=v(s,o,u),a=i.get(o);r(n(t),(t=>{const n=v(l,t,u),o=a.get(t);c(e,((t,{action:e})=>n[t]=e==h?null:o.get(t)))}),(()=>c(e,((t,{action:e})=>{var n;return l[t]=e==h?null:null==(n=a.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return s[t]=e==h?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==h?null:a.get(t)))))})(o),[s,d]})(A,t),d(void 0,null,(function*(){yield b((()=>d(void 0,null,(function*(){var t;if(i)l.setTransactionChanges(i());else try{l.setContent(null!=(t=null==o?void 0:o())?t:yield S())}catch(t){}}))))}));var o,i};return A.observeDeep(o),o})(),z})),stopAutoLoad:()=>{return x&&(t=L,A.unobserveDeep(t),L=void 0,x=!1),z;var t},save:e=>d(void 0,null,(function*(){return 1!=N&&(N=2,yield((e,n)=>g(void 0,null,(function*(){return a.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(f,new t),e.set("v",new t))})(e);const[i,u]=y(e),a=()=>{v=1};let v=1;if(r(null==l?void 0:l(),(([t,e])=>{v=0,s(t,((t,e)=>v?0:o(t)?i.delete(e):r(i.get(e),(e=>s(t,((t,n)=>v?0:o(t)?e.delete(n):r(e.get(n),(e=>s(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),a)))),a))),s(e,((t,e)=>v?0:o(t)?u.delete(e):u.set(e,t)))})),v){const[t,e]=n();p(i,void 0,t,((t,e,n)=>p(i,e,n,((t,e,n)=>p(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),p(u,void 0,e,((t,e,n)=>{u.get(e)!==n&&u.set(e,n)}))}})(A,e,n)))})))(l.getContent,e),N=0),z})),startAutoSave:()=>d(void 0,null,(function*(){return yield z.stopAutoSave().save(),J=l.addDidFinishTransactionListener(((t,e)=>z.save(e))),z})),stopAutoSave:()=>(r(J,l.delListener),z),getStore:()=>l,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(z)})(l,(()=>g(void 0,null,(function*(){return A.size?[A.get(f).toJSON(),A.get("v").toJSON()]:void 0}))))};export{S as createYjsPersister};
Binary file
@@ -1 +1 @@
1
- const t=Object.freeze;var e=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const n=(n,o,l,i,u)=>{let r,a,d=0,s=!1;const v=t=>e(void 0,null,(function*(){2!=d&&(d=1,yield t(),d=0)})),c={load:(t,l)=>e(void 0,null,(function*(){return yield v((()=>e(void 0,null,(function*(){let e;try{e=yield o()}catch(t){}n.setContent(null!=e?e:[t,l])})))),c})),startAutoLoad:(t,l)=>e(void 0,null,(function*(){return c.stopAutoLoad(),yield c.load(t,l),s=!0,a=i(((t,l)=>e(void 0,null,(function*(){yield v((()=>e(void 0,null,(function*(){var e;if(l)n.setTransactionChanges(l());else try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){}}))))})))),c})),stopAutoLoad:()=>(s&&(u(a),a=void 0,s=!1),c),save:t=>e(void 0,null,(function*(){return 1!=d&&(d=2,yield l(n.getContent,t),d=0),c})),startAutoSave:()=>e(void 0,null,(function*(){return yield c.stopAutoSave().save(),r=n.addDidFinishTransactionListener(((t,e)=>c.save(e))),c})),stopAutoSave:()=>{var t,e;return t=r,e=n.delListener,null==t||e(t),c},getStore:()=>n,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(c)};export{n as createCustomPersister};
1
+ const t=Object.freeze;var e=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())}));const n=(n,o,l,i,r)=>{let u,a,d=0,s=!1;const v=t=>e(void 0,null,(function*(){2!=d&&(d=1,yield t(),d=0)})),c={load:(...t)=>e(void 0,[...t],(function*(t={},l={}){return yield v((()=>e(void 0,null,(function*(){let e;try{e=yield o()}catch(t){}n.setContent(null!=e?e:[t,l])})))),c})),startAutoLoad:(...t)=>e(void 0,[...t],(function*(t={},l={}){return c.stopAutoLoad(),yield c.load(t,l),s=!0,a=i(((t,l)=>e(void 0,null,(function*(){yield v((()=>e(void 0,null,(function*(){var e;if(l)n.setTransactionChanges(l());else try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){}}))))})))),c})),stopAutoLoad:()=>(s&&(r(a),a=void 0,s=!1),c),save:t=>e(void 0,null,(function*(){return 1!=d&&(d=2,yield l(n.getContent,t),d=0),c})),startAutoSave:()=>e(void 0,null,(function*(){return yield c.stopAutoSave().save(),u=n.addDidFinishTransactionListener(((t,e)=>c.save(e))),c})),stopAutoSave:()=>{var t,e;return t=u,e=n.delListener,null==t||e(t),c},getStore:()=>n,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(c)};export{n as createCustomPersister};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",u="add",c="Ids",v="Table",h=v+"s",g=v+c,f="Row",L=f+c,w="Sorted"+f+c,R="Cell",S=R+c,p="Value",I=p+"s",y=p+c,T=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&J(Z(e)),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ce=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ce(e,((e,n)=>t(n,e))),we=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Re=(e,t,n)=>(ie(e,t)||we(e,t,n()),fe(e,t)),Se=(e,t,n)=>{const l={};return ce(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},pe=(e,t,n)=>Se(e,(e=>Se(e,t,n)),oe),Ie=(e,t,n)=>Se(e,(e=>pe(e,t,n)),oe),ye=(e,t)=>{const n=he();return ce(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Te=e=>ye(e,ye),Ce=e=>ye(e,Te),be=(e,t,n,l,s=0)=>G((n?Re:fe)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&we(e,t[s]),o;const r=be(o,t,n,l,s+1);return ae(o)&&we(e,t[s]),r})),Ve=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},me=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(U(e)||q(e)?e:[e]),xe=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Re(a,t,ke);return k(l,(t=>xe(s,t)&&n&&e.callListener(t))),l},u=(t,...n)=>G(fe(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&we(a,t)})),c=(e,n)=>{we(s,e,n),ie(o,e)||(we(o,e,t()),we(r,e,he()),we(i,e,he()))},v=e=>{we(s,e),we(o,e),we(r,e),we(i,e),u(e)};return[()=>e,()=>ge(s),e=>Le(o,e),e=>ie(o,e),e=>fe(s,e),e=>fe(o,e),(e,t)=>we(o,e,t),c,(t,s,o,a,v)=>{c(t,s);const h=he(),g=he(),f=fe(r,t),L=fe(i,t),w=t=>{const o=n=>e.getCell(s,t,n),r=fe(f,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||we(h,t,[r,i]),!q(v)){const e=fe(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&we(g,t,n)}},R=e=>{o((()=>{ce(h,(([,e],t)=>we(f,t,e))),ce(g,((e,t)=>we(L,t,e)))}),h,g,f,L,e),ue(h),ue(g)};Le(f,w),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(f,e)||w(e)})),R(!0),u(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>w(n))),e.addTableListener(s,(()=>R())))},v,()=>Le(a,v),d,u]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Ae.test(t)&&D(e)<1e3&&F(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const u=l(1);return we(o,u,[s,r,i,a,d]),xe(be(r,null!=i?i:[t],ke),u),u},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ce(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ce(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),we(o,e),s(e),l))),e=>G(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),u=he(),[c,v,h]=Fe((()=>z)),g=he(),f=he(),L=[],w=[],R=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(g,n);ce(l,((n,l)=>ce(n,((n,s)=>ce(n,((n,o)=>me(e,l,s,o,n[t]))))))),ce(s,((n,l)=>Ee(e,l,n[t])))})),a=1},S=e=>{we(g,e),we(f,e),v(u,[e])},p=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),S),I=()=>p(L,D(L)-o),y=()=>G(n,(()=>{F(L,n),I(),p(w),n=void 0,s=1})),T=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){y();const e=Re(r,t,he),i=Re(e,n,he),a=Re(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(we(i,l))&&ae(we(e,n))&&ae(we(r,t))&&T(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){y();const e=Re(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(we(i,t))&&T(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,we(g,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(w,m()),R(0,n),n=P(L),s=1)},x=()=>{J(w)||(F(L,n),n=j(w),R(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&fe(f,e)!==t&&(we(f,e,t),v(u,[e])),z),Q=e=>ie(g,e),z={setSize:e=>(o=e,I(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...w]],forEachCheckpoint:e=>Le(f,e),hasCheckpoint:Q,getCheckpoint:e=>fe(f,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(w,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),z),clear:()=>(p(L),p(w),q(n)||S(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),je=(e,t)=>e<t?-1:1,Qe=Je((e=>{const n=he(),l=he(),[s,o,r,i,a,d,u,,c,v,h]=Me(e,he,(e=>q(e)?t:U(e)?x(e,T):T(e))),[g,f,L]=Fe((()=>R)),w=(t,n,l)=>{const s=a(t);ce(l,((t,l)=>n(l,(n=>ce(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},R={setIndexDefinition:(e,t,s,o,r,i=je)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return c(e,t,((t,s,r,c,v,h)=>{let g=0;const L=ke(),w=ke(),R=d(e);if(ce(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ce(l,(e=>ve(s,e)?ve(l,e):0)),ce(l,(e=>{xe(L,e),G(fe(R,e),(t=>{ve(t,n),ae(t)&&(we(R,e),g=1)}))})),ce(s,(e=>{xe(L,e),ie(R,e)||(we(R,e,ke()),g=1),xe(fe(R,e),n),q(o)||xe(w,e)}))})),t(),ae(v)||(h?Le(R,(e=>xe(w,e))):Le(r,(e=>G(fe(c,e),(e=>xe(w,e))))),ce(w,(e=>{const t=(t,n)=>i(fe(v,t),fe(v,n),e),n=[...fe(R,e)];m(n,t)||(we(R,e,ke(E(n,t))),xe(L,e))}))),(g||h)&&!q(a)){const t=[...R];m(t,a)||(u(e,he(E(t,a))),g=1)}g&&f(n,[e]),ce(L,(t=>f(l,[e,t])))}),De(s),G(o,De)),R},delIndexDefinition:e=>(v(e),R),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>w(t,e,n))))),forEachSlice:(e,t)=>w(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>de(fe(d(e),t)),addSliceIdsListener:(e,t)=>g(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,l,[e,t]),delListener:e=>(L(e),R),destroy:h,getListenerStats:()=>({})};return ee(R)})),ze=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ce(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},We=Je((e=>{const n=he(),[l,s,o,r,i,a,d,,u,c,v]=Me(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,g,f]=Fe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var c;const v=K(l)?[l,o,r,i]:null!=(c=fe(ze,l))?c:fe(ze,"sum");return u(e,t,((t,l,s,o,r,i)=>{const u=a(e),c=re(o);i||(i=q(u)),t();let h=Ne(u,c,o,l,v,i);B(h)||(h=void 0),h!=u&&(d(e,h),g(n,[e],h,u))}),De(s,1)),L},delMetricDefinition:e=>(c(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(f(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var Be=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const $e=(e,t,n,l,s)=>{let o,r,i=0,a=!1;const d=e=>Be(void 0,null,(function*(){2!=i&&(i=1,yield e(),i=0)})),u={load:(n,l)=>Be(void 0,null,(function*(){return yield d((()=>Be(void 0,null,(function*(){let s;try{s=yield t()}catch(e){}e.setContent(null!=s?s:[n,l])})))),u})),startAutoLoad:(n,s)=>Be(void 0,null,(function*(){return u.stopAutoLoad(),yield u.load(n,s),a=!0,r=l(((n,l)=>Be(void 0,null,(function*(){yield d((()=>Be(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),u})),stopAutoLoad:()=>(a&&(s(r),r=void 0,a=!1),u),save:t=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getContent,t),i=0),u})),startAutoSave:()=>Be(void 0,null,(function*(){return yield u.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>u.save(t))),u})),stopAutoSave:()=>(G(o,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(u)};var qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const Ke=Je((e=>{const n=e.createStore,[l,s,o,r,i,,,c,,h,g,p,I]=Me(e,(()=>!0),X),y=n(),T=n(),C=he(),V=(e,t,...n)=>k(n,(n=>xe(Re(Re(C,t,he),e,ke),n))),m=e=>{G(fe(C,e),(e=>{Le(e,((e,t)=>ce(t,(t=>e.delListener(t))))),ue(e)})),k([T,y],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{c(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const u=he(o);if(ae(u))return x;const v=he(r);Le(v,((e,[,t])=>G(fe(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let g=y;if(ae(h)&&J(d))g=T;else{E(n,g,T);const e=he();Le(h,((t,[n,l])=>xe(Re(e,n,ke),[t,l])));const t=ke();Le(u,(n=>ie(e,n)?0:xe(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,u])=>{Le(l,((t,[n])=>{const l=Re(r,t,he),i=fe(l,s),a=o?void 0:n;if(i!==a){const n=ke([[i,a]]),o=re(l);we(l,s,a),ce(fe(e,t),(([e,t])=>{const s=Ne(u[e],o,l,n,t);u[e]=q(Ve(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>u[e]))))?T.delRow(n,a):q(a)?t[2]=T.addRow(n,u):T.setRow(n,a,u)}));V(g,n,g.addRowListener(n,null,((o,r,i,a)=>{const d=[],u=[],c=he(),v=g.hasRow(n,i);let h=!v;ce(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(u,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&we(c,e,[l])})),h&&s(be(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),c,i,1),v&&s(be(l,u,(()=>{const e={};return ce(t,(t=>e[t]=g.getCell(n,i,t))),[he(),ke(),void 0,e]}),(([,e])=>{xe(e,i)})),c,i)})))}E(n,e,g);const f=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=fe(v,l),u=null==r?void 0:r(a,t),[c,h]=null!=(s=fe(d,t))?s:[];u!=c&&(q(h)||I(n,h),we(d,t,q(u)?null:[u,...p(n,1,e.addRowListener(o,u,(()=>f(t,o,u,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=fe(v,n))?void 0:o[0],null==(i=fe(null==(r=fe(v,n))?void 0:r[4],t))?void 0:i[0],s])};g.transaction((()=>b(i,(e=>e(s)))?Le(u,((e,l)=>me(g,n,t,e,l(s,t)))):g.delRow(n,t)))})(t)},{3:L}=fe(v,null);return g.transaction((()=>p(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?f(o,l,o,L):(g.delRow(n,o),ce(v,(({4:e})=>G(fe(e,o),(([,t])=>{I(n,t),we(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(T.delListener(e),x),destroy:g,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ge.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&qe)for(var l of qe(e))t.indexOf(l)<0&&He.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[w]:[0,5],[f]:[1,2],[S]:[0,2],[R]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>T[e+n](...t))),x[u+d+n+a]=(...e)=>T[u+n+a](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Ue=Je((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,u,c,,,v,h,g]=Me(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[f,L,w]=Fe((()=>I)),R=(e,t,n)=>G(c(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(u(e)!=p(e))xe(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)xe(o,e),e=fe(l,e)}if(n)return o;we(s,t,o)}return fe(s,t)})),S=(e,t)=>G(c(e),(([,,e])=>we(e,t))),p=e=>fe(n,e),I={setRelationshipDefinition:(e,t,r,i)=>(we(n,e,r),v(e,t,((t,n)=>{const r=ke(),i=ke(),a=ke(),[d,u]=c(e);ce(n,(([t,n],l)=>{q(t)||(xe(i,t),G(fe(u,t),(e=>{ve(e,l),ae(e)&&we(u,t)}))),q(n)||(xe(i,n),ie(u,n)||we(u,n,ke()),xe(fe(u,n),l)),xe(r,l),we(d,l,n),Le(fe(o,e),(t=>{ie(R(e,t),l)&&xe(a,t)}))})),t(),ce(r,(t=>L(l,[e,t]))),ce(i,(t=>L(s,[e,t]))),ce(a,(t=>{S(e,t),L(o,[e,t])}))}),De(i)),I),delRelationshipDefinition:e=>(we(n,e),h(e),I),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(u(n),t))))),hasRelationship:d,getLocalTableId:u,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=c(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(fe(null==(n=c(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(c(e))?[t]:de(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>f(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(R(e,t),f(n,o,[e,t])),delListener:e=>(S(...w(e)),I),destroy:g,getListenerStats:()=>({})};return ee(I)})),Xe=e=>[e,e],Ye=()=>[he(),he()],Ze=e=>[...e],_e=([e,t])=>e===t,et=(e,t,n,l=we)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>we(e,t,fe(e,t)==-n?void 0:n),lt=()=>{let e,t,n,l,o=0;const d=he(),c=he(),w=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=ke(),B=he(),$=he(),U=he(),X=Ye(),Y=Ye(),Z=Ye(),_=Ye(),te=Ye(),re=Ye(),de=Ye(),be=Ye(),Me=Ye(),De=Ye(),Je=Ye(),Ae=Ye(),Pe=Ye(),Qe=Ye(),[ze,Ne,We,Be]=Fe((()=>cn)),$e=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},qe=(t,n)=>(!e||ie(A,n)||kt(n))&&tt(t,((e,t)=>Ge(n,t,e)),(()=>kt(n))),Ge=(e,t,n,l)=>tt(l?n:st(n,e,t),((l,s)=>G(He(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>kt(e,t))),He=(t,n,l,s)=>e?G(fe(fe(A,t),l),(e=>Ve(s)!=e[r]?kt(t,n,l,s,e[i]):s),(()=>kt(t,n,l,s))):q(Ve(s))?kt(t,n,l,s):s,Ke=(e,t)=>tt(t?e:ot(e),((t,n)=>G(Ue(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>xt())),Ue=(e,n)=>t?G(fe(j,e),(t=>Ve(n)!=t[r]?xt(e,n,t[i]):n),(()=>xt(e,n))):q(Ve(n))?xt(e,n):n,st=(e,t,n)=>(G(fe(P,t),(([l,s])=>{ce(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(s,(l=>{ne(e,l)||kt(t,n,l)}))})),e),ot=e=>(t&&(ce(N,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(W,(t=>{ne(e,t)||xt(t)}))),e),rt=e=>et(A,e,((e,t,n)=>{const l=he(),s=ke();et(Re(A,t,he),n,((e,t,n)=>{we(e,t,n),G(n[i],(e=>we(l,t,e)),(()=>xe(s,t)))})),we(P,t,[l,s])}),((e,t)=>{we(A,t),we(P,t)})),it=e=>et(j,e,((e,t,n)=>{we(j,t,n),G(n[i],(e=>we(N,t,e)),(()=>xe(W,t)))}),((e,t)=>{we(j,t),we(N,t),ve(W,t)})),at=e=>oe(e)?tn():Xt(e),dt=e=>et($,e,((e,t,n)=>ut(t,n)),((e,t)=>St(t))),ut=(e,t)=>et(Re($,e,(()=>(Tt(e,1),he()))),t,((t,n,l)=>ct(e,t,n,l)),((t,n)=>pt(e,t,n))),ct=(e,t,n,l,s)=>et(Re(t,n,(()=>(Ct(e,n,1),he()))),l,((t,l,s)=>vt(e,n,t,l,s)),((l,o)=>It(e,t,n,l,o,s))),vt=(e,t,n,l,s)=>{ie(n,l)||bt(e,t,l,1);const o=fe(n,l);s!==o&&(Vt(e,t,l,o,s),we(n,l,s))},ht=(e,t,n,l,s)=>G(fe(t,n),(t=>vt(e,n,t,l,s)),(()=>ct(e,t,n,st({[l]:s},e,n)))),gt=e=>oe(e)?sn():Yt(e),ft=e=>et(U,e,((e,t,n)=>Lt(t,n)),((e,t)=>yt(t))),Lt=(e,t)=>{ie(U,e)||mt(e,1);const n=fe(U,e);t!==n&&(Et(e,n,t),we(U,e,t))},wt=(e,t)=>{const[n]=Re(B,e,Oe),l=n(t);return ie(fe($,e),l)?wt(e,t):l},Rt=e=>{var t;return null!=(t=fe($,e))?t:ut(e,{})},St=e=>ut(e,{}),pt=(e,t,n)=>{const[,l]=Re(B,e,Oe);l(n),ct(e,t,n,{},!0)},It=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(P,e))?void 0:r[0],s);if(!q(i)&&!o)return vt(e,n,l,s,i);const a=t=>{Vt(e,n,t,fe(l,t)),bt(e,n,t,-1),we(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Ct(e,n,-1),ae(we(t,n))&&(Tt(e,-1),we($,e),we(B,e)))},yt=e=>{const t=fe(N,e);if(!q(t))return Lt(e,t);Et(e,fe(U,e)),mt(e,-1),we(U,e)},Tt=(e,t)=>nt(d,e,t),Ct=(e,t,n)=>nt(Re(c,e,he),t,n),bt=(e,t,n,l)=>nt(Re(Re(w,e,he),t,he),n,l),Vt=(e,t,n,l,s)=>Re(Re(Re(b,e,he),t,he),n,(()=>[l,0]))[1]=s,mt=(e,t)=>nt(m,e,t),Et=(e,t,n)=>Re(M,e,(()=>[t,0]))[1]=n,kt=(e,t,n,l,s)=>(F(Re(Re(Re(D,e,he),t,he),n,(()=>[])),l),s),xt=(e,t,n)=>(F(Re(J,e,(()=>[])),t),n),Mt=(e,t,n)=>G(fe(fe(fe(b,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Gt(e,t,n))])),Dt=e=>G(fe(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Ut(e))])),Jt=e=>ae(D)||ae(Me[e])?0:ce(e?Ce(D):D,((t,n)=>ce(t,((t,l)=>ce(t,((t,s)=>Ne(Me[e],[n,l,s],t))))))),At=e=>ae(J)||ae(De[e])?0:ce(e?ye(J):J,((t,n)=>Ne(De[e],[n],t))),Ot=(e,t,n)=>{if(!ae(t))return Ne(e,n),1},Ft=e=>{const t=ae(te[e]),n=ae(de[e])&&ae(_[e])&&t&&ae(Y[e]),l=ae(be[e])&&ae(re[e])&&ae(Z[e])&&ae(X[e]);if(!n||!l){const s=e?[ye(d),Te(c),Ce(w),Ce(b)]:[d,c,w,b];if(!n){ce(s[2],((t,n)=>ce(t,((t,l)=>Ot(de[e],t,[n,l])))));const n=ke();ce(s[1],((l,s)=>{Ot(_[e],l,[s])&&!t&&(Ne(te[e],[s,null]),xe(n,s))})),t||ce(s[3],((t,l)=>{if(!ie(n,l)){const n=ke();ce(t,(e=>ce(e,(([t,l],s)=>l!==t?xe(n,s):ve(e,s))))),ce(n,(t=>Ne(te[e],[l,t])))}})),Ot(Y[e],s[0])}if(!l){let t;ce(s[3],((n,l)=>{let s;ce(n,((n,o)=>{let r;ce(n,(([n,i],a)=>{i!==n&&(Ne(be[e],[l,o,a],i,n,Mt),t=s=r=1)})),r&&Ne(re[e],[l,o],Mt)})),s&&Ne(Z[e],[l],Mt)})),t&&Ne(X[e],void 0,Mt)}}},Pt=e=>{const t=ae(Ae[e]),n=ae(Pe[e])&&ae(Je[e]);if(!t||!n){const l=e?[ye(m),ye(M)]:[m,M];if(t||Ot(Ae[e],l[0]),!n){let t;ce(l[1],(([n,l],s)=>{l!==n&&(Ne(Pe[e],[s],l,n,Dt),t=1)})),t&&Ne(Je[e],void 0,Dt)}}},jt=(e,...t)=>(an((()=>e(...x(t,T)))),cn),Qt=()=>[Se(b,((e,t)=>-1===fe(d,t)?null:Se(e,((e,n)=>-1===fe(fe(c,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))),oe)),oe),Se(M,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))],zt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Ie(b,Ze,_e),invalidCells:Ie(D),changedValues:Se(M,Ze,_e),invalidValues:Se(J),changedTableIds:Se(d),changedRowIds:pe(c),changedCellIds:Ie(w),changedValueIds:Se(m)}),Nt=()=>Ie($),Wt=()=>ge($),Bt=e=>ge(fe($,T(e))),$t=(e,t,n,l=0,s)=>{return x(O(E((o=fe($,T(e)),r=(e,n)=>[q(t)?n:fe(e,T(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},qt=(e,t)=>ge(fe(fe($,T(e)),T(t))),Gt=(e,t,n)=>fe(fe(fe($,T(e)),T(t)),T(n)),Ht=()=>Se(U),Kt=()=>ge(U),Ut=e=>fe(U,T(e)),Xt=e=>jt((()=>(e=>tt(e,qe,kt))(e)?dt(e):0)),Yt=e=>jt((()=>Ke(e)?ft(e):0)),Zt=e=>{try{at(z(e))}catch(e){}return cn},_t=t=>jt((()=>{if((e=tt(t,(e=>tt(e,$e))))&&(rt(t),!ae($))){const e=Nt();tn(),Xt(e)}})),en=e=>jt((()=>{if(t=(e=>tt(e,$e))(e)){const n=Ht();rn(),sn(),t=!0,it(e),Yt(n)}})),tn=()=>jt((()=>dt({}))),nn=e=>jt((e=>ie($,e)?St(e):0),e),ln=(e,t)=>jt(((e,t)=>G(fe($,e),(n=>ie(n,t)?pt(e,n,t):0))),e,t),sn=()=>jt((()=>ft({}))),on=()=>jt((()=>{rt({}),e=!1})),rn=()=>jt((()=>{it({}),t=!1})),an=(e,t)=>{if(-1==o)return;dn();const n=e();return un(t),n},dn=()=>(o++,cn),un=e=>(o>0&&(o--,0==o&&(n=!ae(b),l=!ae(M),o=1,Jt(1),n&&Ft(1),At(1),l&&Pt(1),o=-1,(null==e?void 0:e(Qt,zt))&&(o=1,ce(b,((e,t)=>ce(e,((e,n)=>ce(e,(([e],l)=>me(cn,t,n,l,e))))))),ce(M,(([e],t)=>Ee(cn,t,e))),o=-1,n=l=!1),Ne(Qe[0],void 0,Qt,zt),Jt(0),n&&Ft(0),At(0),l&&Pt(0),Ne(Qe[1],void 0,Qt,zt),o=0,k([d,c,w,b,D,m,M,J],ue))),cn),cn={getContent:()=>[Nt(),Ht()],getTables:Nt,getTableIds:Wt,getTable:e=>pe(fe($,T(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Se(fe(fe($,T(e)),T(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ae($),hasTable:e=>ie($,T(e)),hasRow:(e,t)=>ie(fe($,T(e)),T(t)),hasCell:(e,t,n)=>ie(fe(fe($,T(e)),T(t)),T(n)),hasValues:()=>!ae(U),hasValue:e=>ie(U,T(e)),getTablesJson:()=>Q($),getValuesJson:()=>Q(U),getJson:()=>Q([$,U]),getTablesSchemaJson:()=>Q(A),getValuesSchemaJson:()=>Q(j),getSchemaJson:()=>Q([A,j]),setContent:([e,t])=>jt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>jt((e=>qe(t,e)?ut(e,t):0),e),setRow:(e,t,n)=>jt(((e,t)=>Ge(e,t,n)?ct(e,Rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>an((()=>{let l;return Ge(e,l,t)&&(e=T(e),ct(e,Rt(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>jt(((e,t)=>{if(Ge(e,t,n,1)){const l=Rt(e);se(n,((n,s)=>ht(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>jt(((e,t,n)=>G(He(e,t,n,K(l)?l(Gt(e,t,n)):l),(l=>ht(e,Rt(e),t,n,l)))),e,t,n),setValues:Yt,setPartialValues:e=>jt((()=>Ke(e,1)?se(e,((e,t)=>Lt(t,e))):0)),setValue:(e,t)=>jt((e=>G(Ue(e,K(t)?t(Ut(e)):t),(t=>Lt(e,t)))),e),setTransactionChanges:e=>jt((()=>{se(e[0],((e,t)=>q(e)?nn(t):se(e,((e,n)=>q(e)?ln(t,n):se(e,((e,l)=>me(cn,t,n,l,e))))))),se(e[1],((e,t)=>Ee(cn,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{gt(z(e))}catch(e){}return cn},setJson:e=>{try{const[t,n]=z(e);at(t),gt(n)}catch(t){Zt(e)}return cn},setTablesSchema:_t,setValuesSchema:en,setSchema:(e,t)=>jt((()=>{_t(e),en(t)})),delTables:tn,delTable:nn,delRow:ln,delCell:(e,t,n,l)=>jt(((e,t,n)=>G(fe($,e),(s=>G(fe(s,t),(o=>ie(o,n)?It(e,s,t,o,n,l):0))))),e,t,n),delValues:sn,delValue:e=>jt((e=>ie(U,e)?yt(e):0),e),delTablesSchema:on,delValuesSchema:rn,delSchema:()=>jt((()=>{on(),rn()})),transaction:an,startTransaction:dn,finishTransaction:un,forEachTable:e=>ce($,((t,n)=>e(n,(e=>ce(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachRow:(e,t)=>ce(fe($,T(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(fe(fe($,T(e)),T(t)),n),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=$t(e,t,n,l,s);return ze((()=>{const r=$t(e,t,n,l,s);V(r,i)||(i=r,o(cn,e,t,n,l,s,i))}),te[r?1:0],[e,t],[Wt])},addWillFinishTransactionListener:e=>ze(e,Qe[0]),addDidFinishTransactionListener:e=>ze(e,Qe[1]),callListener:e=>(Be(e),cn),delListener:e=>(We(e),cn),getListenerStats:()=>({}),createStore:lt};return se({[h]:[0,X],[g]:[0,Y],[v]:[1,Z,[Wt]],[L]:[1,_,[Wt]],[f]:[2,re,[Wt,Bt]],[S]:[2,de,[Wt,Bt]],[R]:[3,be,[Wt,Bt,qt],e=>Xe(Gt(...e))],InvalidCell:[3,Me],[I]:[0,Je],[y]:[0,Ae],[p]:[1,Pe,[Kt],e=>Xe(Ut(e[0]))],InvalidValue:[1,De]},(([e,t,n,l],s)=>{cn[u+s+a]=(...s)=>ze(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(cn)};export{Pe as createCheckpoints,$e as createCustomPersister,Qe as createIndexes,We as createMetrics,Ke as createQueries,Ue as createRelationships,lt as createStore,je as defaultSorter};
1
+ const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",g=v+u,f="Row",L=f+u,w="Sorted"+f+u,R="Cell",S=R+u,p="Value",I=p+"s",y=p+u,T=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&J(Z(e)),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),we=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Re=(e,t,n)=>(ie(e,t)||we(e,t,n()),fe(e,t)),Se=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},pe=(e,t,n)=>Se(e,(e=>Se(e,t,n)),oe),Ie=(e,t,n)=>Se(e,(e=>pe(e,t,n)),oe),ye=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Te=e=>ye(e,ye),Ce=e=>ye(e,Te),be=(e,t,n,l,s=0)=>G((n?Re:fe)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&we(e,t[s]),o;const r=be(o,t,n,l,s+1);return ae(o)&&we(e,t[s]),r})),Ve=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},me=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(U(e)||q(e)?e:[e]),xe=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Re(a,t,ke);return k(l,(t=>xe(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(fe(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&we(a,t)})),u=(e,n)=>{we(s,e,n),ie(o,e)||(we(o,e,t()),we(r,e,he()),we(i,e,he()))},v=e=>{we(s,e),we(o,e),we(r,e),we(i,e),c(e)};return[()=>e,()=>ge(s),e=>Le(o,e),e=>ie(o,e),e=>fe(s,e),e=>fe(o,e),(e,t)=>we(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),g=he(),f=fe(r,t),L=fe(i,t),w=t=>{const o=n=>e.getCell(s,t,n),r=fe(f,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||we(h,t,[r,i]),!q(v)){const e=fe(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&we(g,t,n)}},R=e=>{o((()=>{ue(h,(([,e],t)=>we(f,t,e))),ue(g,((e,t)=>we(L,t,e)))}),h,g,f,L,e),ce(h),ce(g)};Le(f,w),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(f,e)||w(e)})),R(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>w(n))),e.addTableListener(s,(()=>R())))},v,()=>Le(a,v),d,c]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Ae.test(t)&&D(e)<1e3&&F(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return we(o,c,[s,r,i,a,d]),xe(be(r,null!=i?i:[t],ke),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),we(o,e),s(e),l))),e=>G(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Fe((()=>z)),g=he(),f=he(),L=[],w=[],R=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=fe(g,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>me(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),a=1},S=e=>{we(g,e),we(f,e),v(c,[e])},p=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),S),I=()=>p(L,D(L)-o),y=()=>G(n,(()=>{F(L,n),I(),p(w),n=void 0,s=1})),T=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){y();const e=Re(r,t,he),i=Re(e,n,he),a=Re(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(we(i,l))&&ae(we(e,n))&&ae(we(r,t))&&T(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){y();const e=Re(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(we(i,t))&&T(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,we(g,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(w,m()),R(0,n),n=P(L),s=1)},x=()=>{J(w)||(F(L,n),n=j(w),R(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&fe(f,e)!==t&&(we(f,e,t),v(c,[e])),z),Q=e=>ie(g,e),z={setSize:e=>(o=e,I(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...w]],forEachCheckpoint:e=>Le(f,e),hasCheckpoint:Q,getCheckpoint:e=>fe(f,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(w,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(p(L),p(w),q(n)||S(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),je=(e,t)=>e<t?-1:1,Qe=Je((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=Me(e,he,(e=>q(e)?t:U(e)?x(e,T):T(e))),[g,f,L]=Fe((()=>R)),w=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},R={setIndexDefinition:(e,t,s,o,r,i=je)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let g=0;const L=ke(),w=ke(),R=d(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{xe(L,e),G(fe(R,e),(t=>{ve(t,n),ae(t)&&(we(R,e),g=1)}))})),ue(s,(e=>{xe(L,e),ie(R,e)||(we(R,e,ke()),g=1),xe(fe(R,e),n),q(o)||xe(w,e)}))})),t(),ae(v)||(h?Le(R,(e=>xe(w,e))):Le(r,(e=>G(fe(u,e),(e=>xe(w,e))))),ue(w,(e=>{const t=(t,n)=>i(fe(v,t),fe(v,n),e),n=[...fe(R,e)];m(n,t)||(we(R,e,ke(E(n,t))),xe(L,e))}))),(g||h)&&!q(a)){const t=[...R];m(t,a)||(c(e,he(E(t,a))),g=1)}g&&f(n,[e]),ue(L,(t=>f(l,[e,t])))}),De(s),G(o,De)),R},delIndexDefinition:e=>(v(e),R),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>w(t,e,n))))),forEachSlice:(e,t)=>w(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>de(fe(d(e),t)),addSliceIdsListener:(e,t)=>g(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,l,[e,t]),delListener:e=>(L(e),R),destroy:h,getListenerStats:()=>({})};return ee(R)})),ze=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},We=Je((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=Me(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,g,f]=Fe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=fe(ze,l))?u:fe(ze,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=Ne(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),g(n,[e],h,c))}),De(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(f(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var Be=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const $e=(e,t,n,l,s)=>{let o,r,i=0,a=!1;const d=e=>Be(void 0,null,(function*(){2!=i&&(i=1,yield e(),i=0)})),c={load:(...n)=>Be(void 0,[...n],(function*(n={},l={}){return yield d((()=>Be(void 0,null,(function*(){let s;try{s=yield t()}catch(e){}e.setContent(null!=s?s:[n,l])})))),c})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return c.stopAutoLoad(),yield c.load(n,s),a=!0,r=l(((n,l)=>Be(void 0,null,(function*(){yield d((()=>Be(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),c})),stopAutoLoad:()=>(a&&(s(r),r=void 0,a=!1),c),save:t=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getContent,t),i=0),c})),startAutoSave:()=>Be(void 0,null,(function*(){return yield c.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>c.save(t))),c})),stopAutoSave:()=>(G(o,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(c)};var qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const Ke=Je((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,g,p,I]=Me(e,(()=>!0),X),y=n(),T=n(),C=he(),V=(e,t,...n)=>k(n,(n=>xe(Re(Re(C,t,he),e,ke),n))),m=e=>{G(fe(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([T,y],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(fe(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let g=y;if(ae(h)&&J(d))g=T;else{E(n,g,T);const e=he();Le(h,((t,[n,l])=>xe(Re(e,n,ke),[t,l])));const t=ke();Le(c,(n=>ie(e,n)?0:xe(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Re(r,t,he),i=fe(l,s),a=o?void 0:n;if(i!==a){const n=ke([[i,a]]),o=re(l);we(l,s,a),ue(fe(e,t),(([e,t])=>{const s=Ne(c[e],o,l,n,t);c[e]=q(Ve(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?T.delRow(n,a):q(a)?t[2]=T.addRow(n,c):T.setRow(n,a,c)}));V(g,n,g.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=g.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&we(u,e,[l])})),h&&s(be(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(be(l,c,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,i,t))),[he(),ke(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}E(n,e,g);const f=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=fe(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=fe(d,t))?s:[];c!=u&&(q(h)||I(n,h),we(d,t,q(c)?null:[c,...p(n,1,e.addRowListener(o,c,(()=>f(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=fe(v,n))?void 0:o[0],null==(i=fe(null==(r=fe(v,n))?void 0:r[4],t))?void 0:i[0],s])};g.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>me(g,n,t,e,l(s,t)))):g.delRow(n,t)))})(t)},{3:L}=fe(v,null);return g.transaction((()=>p(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?f(o,l,o,L):(g.delRow(n,o),ue(v,(({4:e})=>G(fe(e,o),(([,t])=>{I(n,t),we(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(T.delListener(e),x),destroy:g,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ge.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&qe)for(var l of qe(e))t.indexOf(l)<0&&He.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[w]:[0,5],[f]:[1,2],[S]:[0,2],[R]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>T[e+n](...t))),x[c+d+n+a]=(...e)=>T[c+n+a](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Ue=Je((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,g]=Me(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[f,L,w]=Fe((()=>I)),R=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(c(e)!=p(e))xe(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)xe(o,e),e=fe(l,e)}if(n)return o;we(s,t,o)}return fe(s,t)})),S=(e,t)=>G(u(e),(([,,e])=>we(e,t))),p=e=>fe(n,e),I={setRelationshipDefinition:(e,t,r,i)=>(we(n,e,r),v(e,t,((t,n)=>{const r=ke(),i=ke(),a=ke(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(xe(i,t),G(fe(c,t),(e=>{ve(e,l),ae(e)&&we(c,t)}))),q(n)||(xe(i,n),ie(c,n)||we(c,n,ke()),xe(fe(c,n),l)),xe(r,l),we(d,l,n),Le(fe(o,e),(t=>{ie(R(e,t),l)&&xe(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{S(e,t),L(o,[e,t])}))}),De(i)),I),delRelationshipDefinition:e=>(we(n,e),h(e),I),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(fe(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>f(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(R(e,t),f(n,o,[e,t])),delListener:e=>(S(...w(e)),I),destroy:g,getListenerStats:()=>({})};return ee(I)})),Xe=e=>[e,e],Ye=()=>[he(),he()],Ze=e=>[...e],_e=([e,t])=>e===t,et=(e,t,n,l=we)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>we(e,t,fe(e,t)==-n?void 0:n),lt=()=>{let e,t,n,l,o=0;const d=he(),u=he(),w=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=ke(),B=he(),$=he(),U=he(),X=Ye(),Y=Ye(),Z=Ye(),_=Ye(),te=Ye(),re=Ye(),de=Ye(),be=Ye(),Me=Ye(),De=Ye(),Je=Ye(),Ae=Ye(),Pe=Ye(),Qe=Ye(),[ze,Ne,We,Be]=Fe((()=>un)),$e=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(Ve(e[i])!=t&&le(e,i),0))},qe=(t,n)=>(!e||ie(A,n)||kt(n))&&tt(t,((e,t)=>Ge(n,t,e)),(()=>kt(n))),Ge=(e,t,n,l)=>tt(l?n:st(n,e,t),((l,s)=>G(He(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>kt(e,t))),He=(t,n,l,s)=>e?G(fe(fe(A,t),l),(e=>Ve(s)!=e[r]?kt(t,n,l,s,e[i]):s),(()=>kt(t,n,l,s))):q(Ve(s))?kt(t,n,l,s):s,Ke=(e,t)=>tt(t?e:ot(e),((t,n)=>G(Ue(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>xt())),Ue=(e,n)=>t?G(fe(j,e),(t=>Ve(n)!=t[r]?xt(e,n,t[i]):n),(()=>xt(e,n))):q(Ve(n))?xt(e,n):n,st=(e,t,n)=>(G(fe(P,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||kt(t,n,l)}))})),e),ot=e=>(t&&(ue(N,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(W,(t=>{ne(e,t)||xt(t)}))),e),rt=e=>et(A,e,((e,t,n)=>{const l=he(),s=ke();et(Re(A,t,he),n,((e,t,n)=>{we(e,t,n),G(n[i],(e=>we(l,t,e)),(()=>xe(s,t)))})),we(P,t,[l,s])}),((e,t)=>{we(A,t),we(P,t)})),it=e=>et(j,e,((e,t,n)=>{we(j,t,n),G(n[i],(e=>we(N,t,e)),(()=>xe(W,t)))}),((e,t)=>{we(j,t),we(N,t),ve(W,t)})),at=e=>oe(e)?tn():Xt(e),dt=e=>et($,e,((e,t,n)=>ct(t,n)),((e,t)=>St(t))),ct=(e,t)=>et(Re($,e,(()=>(Tt(e,1),he()))),t,((t,n,l)=>ut(e,t,n,l)),((t,n)=>pt(e,t,n))),ut=(e,t,n,l,s)=>et(Re(t,n,(()=>(Ct(e,n,1),he()))),l,((t,l,s)=>vt(e,n,t,l,s)),((l,o)=>It(e,t,n,l,o,s))),vt=(e,t,n,l,s)=>{ie(n,l)||bt(e,t,l,1);const o=fe(n,l);s!==o&&(Vt(e,t,l,o,s),we(n,l,s))},ht=(e,t,n,l,s)=>G(fe(t,n),(t=>vt(e,n,t,l,s)),(()=>ut(e,t,n,st({[l]:s},e,n)))),gt=e=>oe(e)?sn():Yt(e),ft=e=>et(U,e,((e,t,n)=>Lt(t,n)),((e,t)=>yt(t))),Lt=(e,t)=>{ie(U,e)||mt(e,1);const n=fe(U,e);t!==n&&(Et(e,n,t),we(U,e,t))},wt=(e,t)=>{const[n]=Re(B,e,Oe),l=n(t);return ie(fe($,e),l)?wt(e,t):l},Rt=e=>{var t;return null!=(t=fe($,e))?t:ct(e,{})},St=e=>ct(e,{}),pt=(e,t,n)=>{const[,l]=Re(B,e,Oe);l(n),ut(e,t,n,{},!0)},It=(e,t,n,l,s,o)=>{var r;const i=fe(null==(r=fe(P,e))?void 0:r[0],s);if(!q(i)&&!o)return vt(e,n,l,s,i);const a=t=>{Vt(e,n,t,fe(l,t)),bt(e,n,t,-1),we(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Ct(e,n,-1),ae(we(t,n))&&(Tt(e,-1),we($,e),we(B,e)))},yt=e=>{const t=fe(N,e);if(!q(t))return Lt(e,t);Et(e,fe(U,e)),mt(e,-1),we(U,e)},Tt=(e,t)=>nt(d,e,t),Ct=(e,t,n)=>nt(Re(u,e,he),t,n),bt=(e,t,n,l)=>nt(Re(Re(w,e,he),t,he),n,l),Vt=(e,t,n,l,s)=>Re(Re(Re(b,e,he),t,he),n,(()=>[l,0]))[1]=s,mt=(e,t)=>nt(m,e,t),Et=(e,t,n)=>Re(M,e,(()=>[t,0]))[1]=n,kt=(e,t,n,l,s)=>(F(Re(Re(Re(D,e,he),t,he),n,(()=>[])),l),s),xt=(e,t,n)=>(F(Re(J,e,(()=>[])),t),n),Mt=(e,t,n)=>G(fe(fe(fe(b,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Gt(e,t,n))])),Dt=e=>G(fe(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Ut(e))])),Jt=e=>ae(D)||ae(Me[e])?0:ue(e?Ce(D):D,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ne(Me[e],[n,l,s],t))))))),At=e=>ae(J)||ae(De[e])?0:ue(e?ye(J):J,((t,n)=>Ne(De[e],[n],t))),Ot=(e,t,n)=>{if(!ae(t))return Ne(e,n),1},Ft=e=>{const t=ae(te[e]),n=ae(de[e])&&ae(_[e])&&t&&ae(Y[e]),l=ae(be[e])&&ae(re[e])&&ae(Z[e])&&ae(X[e]);if(!n||!l){const s=e?[ye(d),Te(u),Ce(w),Ce(b)]:[d,u,w,b];if(!n){ue(s[2],((t,n)=>ue(t,((t,l)=>Ot(de[e],t,[n,l])))));const n=ke();ue(s[1],((l,s)=>{Ot(_[e],l,[s])&&!t&&(Ne(te[e],[s,null]),xe(n,s))})),t||ue(s[3],((t,l)=>{if(!ie(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?xe(n,s):ve(e,s))))),ue(n,(t=>Ne(te[e],[l,t])))}})),Ot(Y[e],s[0])}if(!l){let t;ue(s[3],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ne(be[e],[l,o,a],i,n,Mt),t=s=r=1)})),r&&Ne(re[e],[l,o],Mt)})),s&&Ne(Z[e],[l],Mt)})),t&&Ne(X[e],void 0,Mt)}}},Pt=e=>{const t=ae(Ae[e]),n=ae(Pe[e])&&ae(Je[e]);if(!t||!n){const l=e?[ye(m),ye(M)]:[m,M];if(t||Ot(Ae[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ne(Pe[e],[s],l,n,Dt),t=1)})),t&&Ne(Je[e],void 0,Dt)}}},jt=(e,...t)=>(an((()=>e(...x(t,T)))),un),Qt=()=>[Se(b,((e,t)=>-1===fe(d,t)?null:Se(e,((e,n)=>-1===fe(fe(u,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))),oe)),oe),Se(M,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))],zt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Ie(b,Ze,_e),invalidCells:Ie(D),changedValues:Se(M,Ze,_e),invalidValues:Se(J),changedTableIds:Se(d),changedRowIds:pe(u),changedCellIds:Ie(w),changedValueIds:Se(m)}),Nt=()=>Ie($),Wt=()=>ge($),Bt=e=>ge(fe($,T(e))),$t=(e,t,n,l=0,s)=>{return x(O(E((o=fe($,T(e)),r=(e,n)=>[q(t)?n:fe(e,T(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},qt=(e,t)=>ge(fe(fe($,T(e)),T(t))),Gt=(e,t,n)=>fe(fe(fe($,T(e)),T(t)),T(n)),Ht=()=>Se(U),Kt=()=>ge(U),Ut=e=>fe(U,T(e)),Xt=e=>jt((()=>(e=>tt(e,qe,kt))(e)?dt(e):0)),Yt=e=>jt((()=>Ke(e)?ft(e):0)),Zt=e=>{try{at(z(e))}catch(e){}return un},_t=t=>jt((()=>{if((e=tt(t,(e=>tt(e,$e))))&&(rt(t),!ae($))){const e=Nt();tn(),Xt(e)}})),en=e=>jt((()=>{if(t=(e=>tt(e,$e))(e)){const n=Ht();rn(),sn(),t=!0,it(e),Yt(n)}})),tn=()=>jt((()=>dt({}))),nn=e=>jt((e=>ie($,e)?St(e):0),e),ln=(e,t)=>jt(((e,t)=>G(fe($,e),(n=>ie(n,t)?pt(e,n,t):0))),e,t),sn=()=>jt((()=>ft({}))),on=()=>jt((()=>{rt({}),e=!1})),rn=()=>jt((()=>{it({}),t=!1})),an=(e,t)=>{if(-1==o)return;dn();const n=e();return cn(t),n},dn=()=>(o++,un),cn=e=>(o>0&&(o--,0==o&&(n=!ae(b),l=!ae(M),o=1,Jt(1),n&&Ft(1),At(1),l&&Pt(1),o=-1,(null==e?void 0:e(Qt,zt))&&(o=1,ue(b,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>me(un,t,n,l,e))))))),ue(M,(([e],t)=>Ee(un,t,e))),o=-1,n=l=!1),Ne(Qe[0],void 0,Qt,zt),Jt(0),n&&Ft(0),At(0),l&&Pt(0),Ne(Qe[1],void 0,Qt,zt),o=0,k([d,u,w,b,D,m,M,J],ce))),un),un={getContent:()=>[Nt(),Ht()],getTables:Nt,getTableIds:Wt,getTable:e=>pe(fe($,T(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Se(fe(fe($,T(e)),T(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ae($),hasTable:e=>ie($,T(e)),hasRow:(e,t)=>ie(fe($,T(e)),T(t)),hasCell:(e,t,n)=>ie(fe(fe($,T(e)),T(t)),T(n)),hasValues:()=>!ae(U),hasValue:e=>ie(U,T(e)),getTablesJson:()=>Q($),getValuesJson:()=>Q(U),getJson:()=>Q([$,U]),getTablesSchemaJson:()=>Q(A),getValuesSchemaJson:()=>Q(j),getSchemaJson:()=>Q([A,j]),setContent:([e,t])=>jt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>jt((e=>qe(t,e)?ct(e,t):0),e),setRow:(e,t,n)=>jt(((e,t)=>Ge(e,t,n)?ut(e,Rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>an((()=>{let l;return Ge(e,l,t)&&(e=T(e),ut(e,Rt(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>jt(((e,t)=>{if(Ge(e,t,n,1)){const l=Rt(e);se(n,((n,s)=>ht(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>jt(((e,t,n)=>G(He(e,t,n,K(l)?l(Gt(e,t,n)):l),(l=>ht(e,Rt(e),t,n,l)))),e,t,n),setValues:Yt,setPartialValues:e=>jt((()=>Ke(e,1)?se(e,((e,t)=>Lt(t,e))):0)),setValue:(e,t)=>jt((e=>G(Ue(e,K(t)?t(Ut(e)):t),(t=>Lt(e,t)))),e),setTransactionChanges:e=>jt((()=>{se(e[0],((e,t)=>q(e)?nn(t):se(e,((e,n)=>q(e)?ln(t,n):se(e,((e,l)=>me(un,t,n,l,e))))))),se(e[1],((e,t)=>Ee(un,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{gt(z(e))}catch(e){}return un},setJson:e=>{try{const[t,n]=z(e);at(t),gt(n)}catch(t){Zt(e)}return un},setTablesSchema:_t,setValuesSchema:en,setSchema:(e,t)=>jt((()=>{_t(e),en(t)})),delTables:tn,delTable:nn,delRow:ln,delCell:(e,t,n,l)=>jt(((e,t,n)=>G(fe($,e),(s=>G(fe(s,t),(o=>ie(o,n)?It(e,s,t,o,n,l):0))))),e,t,n),delValues:sn,delValue:e=>jt((e=>ie(U,e)?yt(e):0),e),delTablesSchema:on,delValuesSchema:rn,delSchema:()=>jt((()=>{on(),rn()})),transaction:an,startTransaction:dn,finishTransaction:cn,forEachTable:e=>ue($,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachRow:(e,t)=>ue(fe($,T(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(fe(fe($,T(e)),T(t)),n),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=$t(e,t,n,l,s);return ze((()=>{const r=$t(e,t,n,l,s);V(r,i)||(i=r,o(un,e,t,n,l,s,i))}),te[r?1:0],[e,t],[Wt])},addWillFinishTransactionListener:e=>ze(e,Qe[0]),addDidFinishTransactionListener:e=>ze(e,Qe[1]),callListener:e=>(Be(e),un),delListener:e=>(We(e),un),getListenerStats:()=>({}),createStore:lt};return se({[h]:[0,X],[g]:[0,Y],[v]:[1,Z,[Wt]],[L]:[1,_,[Wt]],[f]:[2,re,[Wt,Bt]],[S]:[2,de,[Wt,Bt]],[R]:[3,be,[Wt,Bt,qt],e=>Xe(Gt(...e))],InvalidCell:[3,Me],[I]:[0,Je],[y]:[0,Ae],[p]:[1,Pe,[Kt],e=>Xe(Ut(e[0]))],InvalidValue:[1,De]},(([e,t,n,l],s)=>{un[c+s+a]=(...s)=>ze(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(un)};export{Pe as createCheckpoints,$e as createCustomPersister,Qe as createIndexes,We as createMetrics,Ke as createQueries,Ue as createRelationships,lt as createStore,je as defaultSorter};
Binary file
package/lib/es6/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",$="Table",i=$+"s",u=$+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",g=h+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),k=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,N=(e,t)=>e instanceof t,j=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=Object,W=z.keys,B=z.freeze,F=e=>N(e,z)&&e.constructor==z,U=(e,t)=>V(z.entries(e),(([e,l])=>t(l,e))),_=e=>F(e)&&R(W(e)),Z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},H=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=(e,t)=>null==e?void 0:e.forEach(t),q=(e,t)=>null==e?void 0:e.delete(t),K=e=>new Map(e),X=(e,t)=>null==e?void 0:e.get(t),Y=(e,t)=>Q(e,((e,l)=>t(l,e))),ee=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},te=(e,t,l)=>j(l)?(q(e,t),e):null==e?void 0:e.set(t,l),le=(e,t,l)=>(Z(e,t)||te(e,t,l()),X(e,t)),ae=e=>e.toUpperCase(),ne=e=>e.toLowerCase(),oe="a ",de="A function for",re=", and registers a listener so that any changes to that result will cause a re-render",se="Callback",Ie="Del",ce="Deps",$e=ce+"?: React.DependencyList",ie="doRollback?: DoRollback",ue="actions: () => Return, "+ie,pe="export",be="Id",Ce="Invalid",he="Json",ge=ne(r),me="?: ",fe=" | undefined",we="NonNullable",ye="Partial",ve="Props",Te="Provider",Ve=`Registers a ${ge} that will be called`,xe="Represents",Re="rowId: "+be,Pe="Schema",ke="Set",Se=", descending?: boolean, offset?: number, limit?: number",Ae="[]",Oe="the Store",Ee="Transaction",De=ne(Ee),Ne="Execute a "+De+" to make multiple mutations",je="Explicitly starts a "+De,Le="Explicitly finishes a "+De,Me="the end of the "+De,Ge="void",Je=" => "+Ge,ze="WhenSet",We=" when setting it",Be=oe+"string serialization of",Fe=" ",Ue="Gets a callback that can ",_e="the ",Ze=" the schema for",He=(e=0,l=0)=>`the ${it[e]}content of`+(l?Fe+Oe:t),Qe=(e=0,l,a=0)=>It[l]+Fe+He(e,1)+(a?" when setting it":t),qe=(e,t=0)=>xe+` a Row when ${t?"s":"g"}etting ${He()} the '${e}' `+$,Ke=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Xe=(e,t)=>`Calls a function for each ${e} in `+t,Ye=e=>"The props passed to a component that renders "+e,et=e=>"A function that takes "+e,tt=(e,t=0)=>de+" listening to changes to "+$t[e]+" in "+$t[t],lt=(e,l,a=0)=>Ve+" whenever "+$t[e]+" in "+$t[l]+" change"+(a?t:"s"),at=e=>`the '${e}' `+$,nt=e=>"the specified Row in "+at(e),ot=(e,t=0)=>It[t]+` ${He()} `+at(e),dt=(e,t=0)=>It[t]+` ${He()} `+nt(e),rt=(e,t,l=0)=>It[l]+` the '${t}' Cell for `+nt(e),st=(e,t=0)=>It[t]+` the '${e}' Value`,It=["Gets","Checks existence of","Sets","Deletes","Sets part of",xe,"Gets "+Be,"Sets "+Be,Ve+" whenever",Ue+"set",Ue+"add",Ue+"set part of",Ue+"delete","Renders","Gets "+Be+Ze,"Sets"+Ze,"Deletes"+Ze],ct=[s,"has","set","del","set","forEach",I,t],$t=[Oe,i,_e+$+Fe+c,oe+$,_e+p+Fe+c,oe+p,_e+h+Fe+c,oe+h,"invalid Cell changes",f,_e+m+Fe+c,oe+m,"invalid Value changes",_e+"sorted "+p+Fe+c],it=[t,"tabular ","keyed value "],ut=e=>new Set(G(e)||j(e)?e:[e]),pt=(e,t)=>null==e?void 0:e.add(t),bt=/[^A-Za-z]+/,Ct=/[^A-Za-z0-9]+/,ht=/^( *)\/\*\* *(.*?) *\*\/$/gm,gt=(e,t,l)=>e.substring(t,l),mt=e=>e.includes(","),ft=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Z(e,n)?ft(e,t,l,a+1):(te(e,n,l),n)},wt=e=>e.replace(ht,((e,t,l)=>{const a=77-yt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),yt=e=>e.length,vt=(e,l=t)=>e.join(l),Tt=e=>e.flat(1e3),Vt=(e,t=0)=>vt(V(e.split(Ct),((e,l)=>(l>0||t?ae:ne)(gt(e,0,1))+gt(e,1)))),xt=e=>ae(vt((e&&!bt.test(e[0])?e:" "+e).split(Ct),"_")),Rt=e=>`/** ${e}. */`,Pt=(...e)=>vt(P(e,(e=>e)),", "),kt=(...e)=>"{"+vt(e,"; ")+"}",St=(...e)=>kt(...V(e,(e=>"readonly "+e))),At=()=>{const e=[K(),K(),K(),K()],l=K(),a=K();return[(...e)=>vt(Tt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?pt(le(e[n],l,ut),a):0)))),(e,a,n,o=t,d=1)=>ft(l,e,[a,n,o,d]),(e,t,l)=>ft(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>X(a,e)===t?e:ft(a,e,t),(l=0)=>V([...v(ee(e[l],((e,t)=>`import {${vt(v(H(e)),", ")}} from '${t}';`)),((e,t)=>mt(e)!=mt(t)?mt(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>ee(l,(([e,l,a,n],o)=>[Rt(l),`${n?pe+" ":t}type ${o}${a} = ${e};`,t])),()=>ee(a,((e,l)=>(e=G(e)?e:[e],k(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Et=(e,t,l)=>[t=>U(e,((e,a)=>t(a,Vt(a,1),l(xt(a),`'${a}'`)))),(t,a)=>U(e[t],((e,t)=>a(t,e[o],e[d],l(xt(t),`'${t}'`),Vt(t,1)))),e=>U(t,((t,a)=>e(a,t[o],t[d],l(xt(a),`'${a}'`),Vt(a,1))))],Dt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,kt(...l((e=>`'${e}'?: {[rowId: Id]: `+kt(...a(e,((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`)))+"}"))),Qe(1,5)),I=e(i+ze,kt(...l((e=>`'${e}'?: {[rowId: Id]: `+kt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Qe(1,5,1)),c=e($+be,"keyof "+s,"A "+$+" Id in "+Oe),m=`<TId extends ${c}>`,f=e($,we+`<${s}[TId]>`,"A "+$+" in "+Oe,m),w=e($+ze,we+`<${I}[TId]>`,"A "+$+" in "+Oe+We,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+$,m),v=e(p+ze,w+"<TId>[Id]","A "+p+" in a "+$+We,m),T=e(h+be,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,we+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+se,`(...[cellId, cell]: ${x}<TId>)`+Je,et(oe+h+" Id, and "+h),m),P=e(p+se,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Je+") "+Je,et(oe+p+" Id, and a "+h+" iterator"),m),k=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${Je}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),S=e($+se,`(...[tableId, forEachRow]: ${k})`+Je,et(oe+$+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,de+" returning information about any Cell's changes during a "+De),E=e(i+r,`(${d}, getCellChange: ${O}${fe})`+Je,tt(1)),D=e(u+r,`(${d})`+Je,tt(2)),N=e($+r,`(${d}, tableId: ${c}, getCellChange: ${O}${fe})`+Je,tt(3)),L=e(b+r,`(${d}, tableId: ${c})`+Je,tt(4,3)),M=e(C+r,"("+Pt(d,"tableId: "+c,"cellId: Id"+fe,"descending: boolean","offset: number","limit: number"+fe,"sortedRowIds: Ids")+")"+Je,tt(13,3)),G=e(p+r,"("+Pt(""+d,"tableId: "+c,Re,`getCellChange: ${O}${fe}`)+")"+Je,tt(5,3)),J=e(g+r,"("+Pt(""+d,"tableId: "+c,Re)+")"+Je,tt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Re}, cellId: CId, newCell: ${V}<TId, CId> ${fe}, oldCell: ${V}<TId, CId> ${fe}, getCellChange: ${O} ${fe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,S,E,D,N,L,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Je,tt(7,5)),e(Ce+h+r,`(${d}, tableId: Id, ${Re}, cellId: Id, invalidCells: any[])`+Je,tt(8))]},(l,a)=>{const o=l+": "+a,d=e(f,kt(...n(((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`))),Qe(2,5)),s=e(f+ze,kt(...n(((e,t)=>`'${e}'?: ${t}`))),Qe(2,5,1)),I=e(m+be,"keyof "+d,"A "+m+" Id in "+Oe),c=e(m,we+`<${d}[VId]>`,"A "+m+" Id in "+Oe,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+Oe,`<VId = ${I}>`,0),i=e(m+se,`(...[valueId, value]: ${$})`+Je,et(oe+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,de+" returning information about any Value's changes during a "+De),p=e(f+r,`(${o}, getValueChange: ${u}${fe})`+Je,tt(9)),b=e(w+r,`(${o})`+Je,tt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${fe}, oldValue: ${c}<VId> ${fe}, getValueChange: ${u} ${fe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Je,tt(11)),e(Ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+Je,tt(12))]},(t,l)=>e(Ee+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Je,de+" listening to the completion of a "+De)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),jt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,S]=At(),[O,E,D]=Et(e,l,x),[N,L,G]=Dt(v,O,E,D),J=K(),z=(e=0)=>ee(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,Rt(o)),k(s,t),s})),W=(e,l,a,n,o,d=t)=>ft(J,e,[l,a,n,o,d]),B=(e,l,a,n,o,d=t,r=t,s=t)=>W(ct[e]+l+(4==e?ye:t)+a,d,n,(n==Z?jt:Nt)(ct[e]+(4==e?ye:t)+a,r,e?void 0:n),o,s),F=(e,l,a,n=t,o=t,d=1,s=t)=>W(I+e+r,(n?n+", ":t)+ge+": "+l+(d?", mutator?: boolean":t),be,Lt(I+e+r,o,d?"mutator":t),a,s),U=`./${Vt(n)}.d`,Z=Vt(n,1),Q=Vt(Z),q=[],le=K();let ae=[],ne=[];if(y(1,U,Z,`create${Z} as create${Z}Decl`),!_(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,S,A,D,L,G,J,z,W,_]=N(Q,Z),Y=K();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+$,r+l,xe+` the '${e}' `+$),v(t+$+ze,s+l,xe+` the '${e}' `+$+We),v(t+p,I+l,qe(e)),v(t+p+ze,m+l,qe(e,1)),v(t+h+be,f+l,`A Cell Id for the '${e}' `+$),v(t+h+se,V+l,et(`a Cell Id and value from a Row in the '${e}' `+$)),v(t+p+se,R+l,et(`a Row Id from the '${e}' Table, and a Cell iterator`))];te(Y,e,a),y(1,U,...a)})),y(1,U,e,l,n,f,P,S,A,D,L,G,J,z,W,_),ae=[e,l,n,f,S,A,D,L,G,J,z,W,Y],T([[e],[a],[Z,"tables: "+l,"tables"],[Z]],(([e,l,a],n)=>B(n,t,i,e,Qe(1,n),l,a))),B(0,t,u,n+Ae,Ke($,Oe)),B(5,t,$,Ge,Xe($,Oe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,i,u]=X(Y,e);T([[o],[a],[Z,"table: "+d,", table"],[Z]],(([a,o,d=t],r)=>B(r,l,$,a,ot(e,r),o,n+d))),B(0,l,b,c,Ke(p,at(e)),t,n),B(0,l,C,c,Ke(p,at(e),1),"cellId?: "+I+Se,n+", cellId, descending, offset, limit"),B(5,l,p,Ge,Xe(p,at(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[Z,", row: "+s,", row"],[Z],[Z,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>B(r,l,p,a,dt(e,r),Re+o,n+", rowId"+d))),B(6,l,p,be+fe,"Add a new Row to "+at(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),B(0,l,g,I+Ae,Ke(h,nt(e)),Re,n+", rowId"),B(5,l,h,Ge,Xe(h,nt(e)),Re+", cellCallback: "+i,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+Vt(d,1);te(le,d,c);const $=d+(j(r)?fe:t);T([[$],[a],[Z,`, cell: ${d} | `+c,", cell as any"],[Z]],(([a,d=t,r=t],c)=>B(c,l+I,h,a,rt(e,o,c),Re+d,n+", rowId, "+s+r)))}))})),B(0,t,i+he,he,Qe(1,6)),B(2,t,i+he,Z,Qe(1,7),"tablesJson: "+he,"tables"+he),F(i,S,Qe(1,8)+" changes"),F(u,A,lt(2,0,1)),F($,D,lt(3,0),`tableId: ${n} | null`,"tableId"),F(b,L,lt(4,3,1),`tableId: ${n} | null`,"tableId"),F(C,G,lt(13,3,1),Pt("tableId: TId",`cellId: ${f}<TId>`+fe,"descending: boolean","offset: number","limit: number"+fe),Pt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(p,J,lt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,z,lt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(h,W,lt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${vt(O((e=>{var l,a;return null!=(a=null==(l=X(Y,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),F(Ce+h,_,Ve+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,U,...H(le)),k(q,".set"+i+Pe+"({",Tt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(xt(o),`'${o}'`)}]: ${x(xt(l),`'${l}'`)}${j(a)?t:`, [${x(xt(d),`'${d}'`)}]: `+(M(a)?x(xt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!_(l)){const[e,l,n,r,s,I,c,$,i]=L(Q,Z);y(1,U,e,l,n,s,I,c,$,i),ne=[e,l,n,I,c,$],T([[e],[a],[Z,"values: "+l,"values"],[Z],[Z,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>B(n,t,f,e,Qe(2,n),l,a))),B(0,t,w,n+Ae,Ke(m,Oe)),B(5,t,m,"void",Xe(m,Oe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+Vt(l,1);te(le,l,r),T([[l],[a],[Z,`value: ${l} | `+r,", value as any"],[Z]],(([l,a,n=t],r)=>B(r,d,m,l,st(e,r),a,o+n)))})),B(0,t,f+he,he,Qe(2,6)),B(2,t,f+he,Z,Qe(2,7),"valuesJson: "+he,"values"+he),F(f,I,Qe(2,8)+" changes"),F(w,c,lt(10,0,1)),F(m,$,lt(11,0),`valueId: ${n} | null`,"valueId"),F(Ce+m,i,Ve+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,U,...H(le)),y(0,"tinybase","ValueChange"),k(q,".set"+f+Pe+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(xt(o),`'${o}'`)}]: ${x(xt(l),`'${l}'`)}${j(a)?t:`, [${x(xt(d),`'${d}'`)}]: `+(M(a)?x(xt(a),`'${a}'`):a)}},`])),"})")}Y(le,((e,t)=>v(t,`(cell: ${e}${fe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",be,"IdOrNull",he,"Store"),B(0,t,he,he,Qe(0,6)),B(2,t,he,Z,Qe(0,7),"tablesAndValuesJson: "+he,"tablesAndValuesJson"),B(7,t,De,"Return",Ne,ue,"actions, doRollback","<Return>"),B(7,t,"start"+Ee,Z,je),B(7,t,"finish"+Ee,Z,Le,ie,"doRollback");const oe=G(Q,Z);return F("WillFinish"+Ee,oe,Ve+" just before "+Me,t,t,0),F("DidFinish"+Ee,oe,Ve+" just after "+Me,t,t,0),B(7,t,"call"+r,Z,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,t,r,Z,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),W("getStore",t,"Store","store",It[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,U,Z,`create${Z} as create${Z}Decl`,oe),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[s(...R(0),...P(),pe+" interface "+Z+" {",...z(0),"}",t,Rt(`Creates a ${Z} object`),pe+" function create"+Z+"(): "+Z+";"),s(...R(1),pe+" const create"+Z+": typeof create"+Z+"Decl = () => {",...S(),`return Object.freeze(${Q});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>Pt(Gt(e),Gt(e)+ce),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+$e,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+se+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=Pt(tl+")"+Je,Bt),al="then, then"+ce,nl=Kt+Ht+be,ol="View",dl=(e,...t)=>Pt(...t,ge+": "+e,ge+$e,"mutator?: boolean"),rl=(...e)=>Pt(...e,ge,ge+ce,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=At(),[R,P,S]=Et(e,l,v),O=`./${Vt(a)}.d`,E=`./${Vt(a)}-ui-react.d`,D="tinybase/ui-react",N=Vt(a,1),L=Vt(N),M=N+"Or"+N+be,G=L+"Or"+N+be,J=L+`={${L}}`,z=K(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),ft(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,Pt(o,q,I),a,te+`(${G}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),U=(e,t,l,a)=>W(e,t,1,l,a),Z=(e=0)=>ee(z,(([l,a,n,o,d],r)=>{const s=e?[pe+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[pe+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,Rt(o)),k(s,t),s}));s(null,"tinybase",be,"Store",se,Ft+"ized"+se),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,N);const H=I(M,N+" | "+be,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(Te+ve,St(L+me+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${Te} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,H,Q);const q=G+me+H;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+$e,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=B(N,"id?: Id",N+fe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Te} component context`),te=y("useHook",G+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${Y}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),le=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=y("wrap",Pt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ne=v("NullComponent","() => null");if(!_(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,k]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,N),s(null,"tinybase",c,"IdOrNull");const S=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${vt(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F(i,i,e,Qe(1,0)+re);const M=F(u,u,a+Ae,Ke($,Oe)+re);F(ke+i+se,ke+i+se,qt,Qe(1,9)+Zt,Pt(Gt(i)+Ut+l,Gt(i)+$e),Jt(i),Qt,Pt(tl,`tables: ${l})`+Je,Bt),al),F(Ie+i+se,Ie+i+se,se,Qe(1,12),t,t,t,ll,al);const G=I(h+ve,St("tableId?: TId","rowId: Id","cellId?: CId",L+me+N,zt),Ye(oe+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+ve,St("tableId?: TId","rowId: Id",L+me+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ye(oe+p),`<TId extends ${a}>`),W=I($+ve,St("tableId?: TId",L+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ye(oe+$),`<TId extends ${a}>`),B=I("Sorted"+$+ve,St("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ye(oe+"sorted "+$),`<TId extends ${a}>`),_=I(i+ve,St(L+me+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ye(He(1,1)));s(1,E,_,W,B,z,G),U(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+_,[ae+`(${M}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Qe(1,13)+re),R(((e,l,a)=>{const[n,o,d,r,I]=X(k,e);s(null,O,n,o,d,r,I),F(l+$,$,n,ot(e)+re,t,a);const i=F(l+b,b,c,Ke(p,at(e))+re,t,a),u=F(l+C,C,c,Ke(p,at(e),1)+re,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,dt(e)+re,nl,Pt(a,Kt));const m=F(l+g,g,I+Ae,Ke(h,nt(e))+re,nl,Pt(a,Kt));F(ke+l+$+se,ke+$+se,qt,ot(e,9)+Zt,Pt(Gt($)+Ut+o,Gt($)+$e),Pt(a,Jt($)),Qt,Pt(tl,`table: ${o})`+Je,Bt),al),F(Ie+l+$+se,Ie+$+se,se,ot(e,12),t,a,t,ll,al),F(ke+l+p+se,ke+p+se,qt,dt(e,9)+Zt,Pt(nl,Gt(p)+Ut+r,Gt(p)+$e),Pt(a,Kt,Jt(p)),Qt,Pt(tl,`row: ${r})`+Je,Bt),al),F("Add"+l+p+se,"Add"+p+se,qt,dt(e,10)+Zt,Pt(Gt(p)+Ut+r,Gt(p)+$e),Pt(a,Jt(p)),Qt,"then?: ("+Pt(nl+fe,"store: Store","row: "+r+")"+Je,"then"+$e)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(ke+l+ye+p+se,ke+ye+p+se,qt,dt(e,11)+Zt,Pt(nl,Gt(ye+p)+Ut+r,Gt(ye+p)+$e),Pt(a,Kt,Jt(ye+p)),Qt,Pt(tl,`partialRow: ${r})`+Je,Bt),al),F(Ie+l+p+se,Ie+p+se,se,dt(e,12),nl,Pt(a,Kt),t,ll,al);const f=U(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[ae+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],dt(e,13)+re);U(l+"Sorted"+$+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,S+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,ot(e,13)+", sorted"+re),U(l+$+ol,`props: ${W}<'${e}'>`,S+"(props, "+i+`(props.${L}), ${a}, ${f});`,ot(e,13)+re),P(e,((n,o,d,r,I)=>{const c="Map"+Vt(o,1);s(0,O,c),s(1,O,c);const $=F(l+I+h,h,o+(j(d)?fe:t),rt(e,n)+re,nl,Pt(a,Kt,r));F(ke+l+I+h+se,ke+h+se,qt,rt(e,n,9)+Zt,Pt(nl,Gt(h)+Ut+o+" | "+c,Gt(h)+$e),Pt(a,Kt,r,Jt(h)),Qt,Pt(tl,`cell: ${o} | ${c})`+Je,Bt),al),F(Ie+l+I+h+se,Ie+h+se,se,rt(e,n,12),Pt(nl,"forceDel?: boolean"),Pt(a,Kt,r,"forceDel"),t,ll,al),U(l+I+h+ol,`{rowId, ${L}, debugIds}: `+G+`<'${e}', '${n}'>`,[ae+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],rt(e,n,13)+re)}))}));const Z=vt(R((e=>{var l,a;return null!=(a=null==(l=X(k,e))?void 0:l[4])?a:t}))," | ");F(i+r,i+r,Ge,Qe(1,8)+" changes",dl(d),rl()),F(u+r,u+r,Ge,lt(2,0,1),dl(m),rl()),F($+r,$+r,Ge,lt(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ge,lt(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ge,lt(13,3,1),dl(v,`tableId: ${a} | null`,"cellId: "+Z+fe,"descending: boolean","offset: number","limit: number"+fe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ge,lt(5,3),dl(T,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,Ge,lt(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,Ge,lt(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${Z} | null`),rl("tableId",Kt,"cellId"))}if(!_(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,N);const $=y("getDefaultValueComponent","valueId: Id",vt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(f,f,e,Qe(2,0)+re);const i=F(w,w,a+Ae,Ke(m,Oe)+re);F(ke+f+se,ke+f+se,qt,Qe(2,9)+Zt,Pt(Gt(f)+Ut+l,Gt(f)+$e),Jt(f),Qt,Pt(tl,`values: ${l})`+Je,Bt),al),F(ke+ye+f+se,ke+ye+f+se,qt,Qe(2,11)+Zt,Pt(Gt(ye+f)+Ut+l,Gt(ye+f)+$e),Jt(ye+f),Qt,Pt(tl,`partialValues: ${l})`+Je,Bt),al),F(Ie+f+se,Ie+f+se,se,Qe(2,12),t,t,t,ll,al);const u=I(m+ve,St("valueId?: VId",L+me+N,zt),Ye("a Value"),`<VId extends ${a}>`),p=I(f+ve,St(L+me+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ye(He(2,1)));s(1,E,p,u),U(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[ae+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Qe(2,13)+re),S(((e,l,a,n,o)=>{const d="Map"+Vt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,st(e)+re,t,n);F(ke+o+m+se,ke+m+se,qt,st(e,9)+Zt,Pt(Gt(m)+Ut+l+" | "+d,Gt(m)+$e),Pt(n,Jt(m)),Qt,Pt(tl,`value: ${l} | ${d})`+Je,Bt),al),F(Ie+o+m+se,Ie+m+se,se,st(e,12),t,n,t,ll,al),U(o+m+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[ae+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],st(e,13)+re)})),F(f+r,f+r,Ge,Qe(2,8)+" changes",dl(n),rl()),F(w+r,w+r,Ge,lt(10,0,1),dl(d),rl()),F(m+r,m+r,Ge,lt(11,0),dl(c,`valueId: ${a} | null`),rl("valueId"))}return U(Te,`{${L}, ${L}ById, children}: `+Q+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+Te,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${Te}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Z(0)),d(...T(1),...x(),...Z(1))]},Il=(e,l,a)=>{if(_(e)&&_(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]};var cl=Object.defineProperty,$l=Object.defineProperties,il=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,bl=Object.prototype.propertyIsEnumerable,Cl=(e,t,l)=>t in e?cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))pl.call(t,l)&&Cl(e,l,t[l]);if(ul)for(var l of ul(t))bl.call(t,l)&&Cl(e,l,t[l]);return e},gl=(e,t)=>$l(e,il(t)),ml=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const fl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},wl=Ot((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!_(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=K();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=le(n,a,(()=>[J(o),K(),[0],0])),[r,s,[I]]=d,c=le(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),te(s,o,c),d[3]++,r==J(o)})))))return t[l]={},Q(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return _(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=e=>ml(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>wt(l(e,gl(hl({},fl),{filepath:"_."+t[a]})))))}));return B({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:yt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{wl as createTools};
1
+ const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",i="Table",$=i+"s",u=i+c,p="Row",b=p+c,C="Sorted"+p+c,g="Cell",h=g+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),k=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,N=(e,t)=>e instanceof t,j=e=>null==e,L=e=>e==l||e==a,G=t=>e(t)==l,M=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=Object,W=z.keys,B=z.freeze,F=e=>N(e,z)&&e.constructor==z,U=(e,t)=>V(z.entries(e),(([e,l])=>t(l,e))),_=e=>F(e)&&R(W(e)),Z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},H=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=(e,t)=>null==e?void 0:e.forEach(t),q=(e,t)=>null==e?void 0:e.delete(t),K=e=>new Map(e),X=(e,t)=>null==e?void 0:e.get(t),Y=(e,t)=>Q(e,((e,l)=>t(l,e))),ee=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},te=(e,t,l)=>j(l)?(q(e,t),e):null==e?void 0:e.set(t,l),le=(e,t,l)=>(Z(e,t)||te(e,t,l()),X(e,t)),ae=e=>e.toUpperCase(),ne=e=>e.toLowerCase(),oe="a ",de="A function for",re=", and registers a listener so that any changes to that result will cause a re-render",se="Callback",Ie="Del",ce="Deps",ie=ce+"?: React.DependencyList",$e="doRollback?: DoRollback",ue="actions: () => Return, "+$e,pe="export",be="Id",Ce="Invalid",ge="Json",he=ne(r),me="?: ",fe=" | undefined",we="NonNullable",ye="Partial",ve="Props",Te="Provider",Ve=`Registers a ${he} that will be called`,xe="Represents",Re="rowId: "+be,Pe="Schema",ke="Set",Se=", descending?: boolean, offset?: number, limit?: number",Ae="[]",Oe="the Store",Ee="Transaction",De=Ee+"Changes",Ne=ne(Ee),je="Execute a "+Ne+" to make multiple mutations",Le="Explicitly starts a "+Ne,Ge="Explicitly finishes a "+Ne,Me="the end of the "+Ne,Je="void",ze=" => "+Je,We="WhenSet",Be=" when setting it",Fe=oe+"string serialization of",Ue=" ",_e="Gets a callback that can ",Ze="the ",He=" the schema for",Qe=(e=0,l=0)=>`the ${ut[e]}content of`+(l?Ue+Oe:t),qe=(e=0,l,a=0)=>ct[l]+Ue+Qe(e,1)+(a?" when setting it":t),Ke=(e,t=0)=>xe+` a Row when ${t?"s":"g"}etting ${Qe()} the '${e}' `+i,Xe=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ye=(e,t)=>`Calls a function for each ${e} in `+t,et=e=>"The props passed to a component that renders "+e,tt=e=>"A function that takes "+e,lt=(e,t=0)=>de+" listening to changes to "+$t[e]+" in "+$t[t],at=(e,l,a=0)=>Ve+" whenever "+$t[e]+" in "+$t[l]+" change"+(a?t:"s"),nt=e=>`the '${e}' `+i,ot=e=>"the specified Row in "+nt(e),dt=(e,t=0)=>ct[t]+` ${Qe()} `+nt(e),rt=(e,t=0)=>ct[t]+` ${Qe()} `+ot(e),st=(e,t,l=0)=>ct[l]+` the '${t}' Cell for `+ot(e),It=(e,t=0)=>ct[t]+` the '${e}' Value`,ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",xe,"Gets "+Fe,"Sets "+Fe,Ve+" whenever",_e+"set",_e+"add",_e+"set part of",_e+"delete","Renders","Gets "+Fe+He,"Sets"+He,"Deletes"+He],it=[s,"has","set","del","set","forEach",I,t],$t=[Oe,$,Ze+i+Ue+c,oe+i,Ze+p+Ue+c,oe+p,Ze+g+Ue+c,oe+g,"invalid Cell changes",f,Ze+m+Ue+c,oe+m,"invalid Value changes",Ze+"sorted "+p+Ue+c],ut=[t,"tabular ","keyed value "],pt=e=>new Set(M(e)||j(e)?e:[e]),bt=(e,t)=>null==e?void 0:e.add(t),Ct=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ht=/^( *)\/\*\* *(.*?) *\*\/$/gm,mt=(e,t,l)=>e.substring(t,l),ft=e=>e.includes(","),wt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Z(e,n)?wt(e,t,l,a+1):(te(e,n,l),n)},yt=e=>e.replace(ht,((e,t,l)=>{const a=77-vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),vt=e=>e.length,Tt=(e,l=t)=>e.join(l),Vt=e=>e.flat(1e3),xt=(e,t=0)=>Tt(V(e.split(gt),((e,l)=>(l>0||t?ae:ne)(mt(e,0,1))+mt(e,1)))),Rt=e=>ae(Tt((e&&!Ct.test(e[0])?e:" "+e).split(gt),"_")),Pt=e=>`/** ${e}. */`,kt=(...e)=>Tt(P(e,(e=>e)),", "),St=(...e)=>"{"+Tt(e,"; ")+"}",At=(...e)=>St(...V(e,(e=>"readonly "+e))),Ot=()=>{const e=[K(),K(),K(),K()],l=K(),a=K();return[(...e)=>Tt(Vt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?bt(le(e[n],l,pt),a):0)))),(e,a,n,o=t,d=1)=>wt(l,e,[a,n,o,d]),(e,t,l)=>wt(a,e,M(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>X(a,e)===t?e:wt(a,e,t),(l=0)=>V([...v(ee(e[l],((e,t)=>`import {${Tt(v(H(e)),", ")}} from '${t}';`)),((e,t)=>ft(e)!=ft(t)?ft(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>ee(l,(([e,l,a,n],o)=>[Pt(l),`${n?pe+" ":t}type ${o}${a} = ${e};`,t])),()=>ee(a,((e,l)=>(e=M(e)?e:[e],k(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>U(e,((e,a)=>t(a,xt(a,1),l(Rt(a),`'${a}'`)))),(t,a)=>U(e[t],((e,t)=>a(t,e[o],e[d],l(Rt(t),`'${t}'`),xt(t,1)))),e=>U(t,((t,a)=>e(a,t[o],t[d],l(Rt(a),`'${a}'`),xt(a,1))))],Nt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e($,St(...l((e=>`'${e}'?: {[rowId: Id]: `+St(...a(e,((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`)))+"}"))),qe(1,5)),I=e($+We,St(...l((e=>`'${e}'?: {[rowId: Id]: `+St(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),qe(1,5,1)),c=e(i+be,"keyof "+s,"A "+i+" Id in "+Oe),m=`<TId extends ${c}>`,f=e(i,we+`<${s}[TId]>`,"A "+i+" in "+Oe,m),w=e(i+We,we+`<${I}[TId]>`,"A "+i+" in "+Oe+Be,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+i,m),v=e(p+We,w+"<TId>[Id]","A "+p+" in a "+i+Be,m),T=e(g+be,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+p,m),V=e(g,we+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(g+se,`(...[cellId, cell]: ${x}<TId>)`+ze,tt(oe+g+" Id, and "+g),m),P=e(p+se,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+ze+") "+ze,tt(oe+p+" Id, and a "+g+" iterator"),m),k=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${ze}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),S=e(i+se,`(...[tableId, forEachRow]: ${k})`+ze,tt(oe+i+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,de+" returning information about any Cell's changes during a "+Ne),E=e($+r,`(${d}, getCellChange: ${O}${fe})`+ze,lt(1)),D=e(u+r,`(${d})`+ze,lt(2)),N=e(i+r,`(${d}, tableId: ${c}, getCellChange: ${O}${fe})`+ze,lt(3)),L=e(b+r,`(${d}, tableId: ${c})`+ze,lt(4,3)),G=e(C+r,"("+kt(d,"tableId: "+c,"cellId: Id"+fe,"descending: boolean","offset: number","limit: number"+fe,"sortedRowIds: Ids")+")"+ze,lt(13,3)),M=e(p+r,"("+kt(""+d,"tableId: "+c,Re,`getCellChange: ${O}${fe}`)+")"+ze,lt(5,3)),J=e(h+r,"("+kt(""+d,"tableId: "+c,Re)+")"+ze,lt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Re}, cellId: CId, newCell: ${V}<TId, CId> ${fe}, oldCell: ${V}<TId, CId> ${fe}, getCellChange: ${O} ${fe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,S,E,D,N,L,G,M,J,e(g+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+ze,lt(7,5)),e(Ce+g+r,`(${d}, tableId: Id, ${Re}, cellId: Id, invalidCells: any[])`+ze,lt(8))]},(l,a)=>{const o=l+": "+a,d=e(f,St(...n(((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`))),qe(2,5)),s=e(f+We,St(...n(((e,t)=>`'${e}'?: ${t}`))),qe(2,5,1)),I=e(m+be,"keyof "+d,"A "+m+" Id in "+Oe),c=e(m,we+`<${d}[VId]>`,"A "+m+" Id in "+Oe,`<VId extends ${I}>`),i=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+Oe,`<VId = ${I}>`,0),$=e(m+se,`(...[valueId, value]: ${i})`+ze,tt(oe+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,de+" returning information about any Value's changes during a "+Ne),p=e(f+r,`(${o}, getValueChange: ${u}${fe})`+ze,lt(9)),b=e(w+r,`(${o})`+ze,lt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${fe}, oldValue: ${c}<VId> ${fe}, getValueChange: ${u} ${fe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,$,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+ze,lt(11)),e(Ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+ze,lt(12))]},(t,l)=>e(Ee+r,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+ze,de+" listening to the completion of a "+Ne)],jt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${jt(e,l)})`,Gt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,S]=Ot(),[O,E,D]=Dt(e,l,x),[N,L,M]=Nt(v,O,E,D),J=K(),z=(e=0)=>ee(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,Pt(o)),k(s,t),s})),W=(e,l,a,n,o,d=t)=>wt(J,e,[l,a,n,o,d]),B=(e,l,a,n,o,d=t,r=t,s=t)=>W(it[e]+l+(4==e?ye:t)+a,d,n,(n==Z?Lt:jt)(it[e]+(4==e?ye:t)+a,r,e?void 0:n),o,s),F=(e,l,a,n=t,o=t,d=1,s=t)=>W(I+e+r,(n?n+", ":t)+he+": "+l+(d?", mutator?: boolean":t),be,Gt(I+e+r,o,d?"mutator":t),a,s),U=`./${xt(n)}.d`,Z=xt(n,1),Q=xt(Z),q=[],le=K();let ae=[],ne=[];if(y(1,U,Z,`create${Z} as create${Z}Decl`),_(e))y(null,"tinybase",$);else{y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,S,A,D,L,M,J,z,W,_]=N(Q,Z),Y=K();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,r+l,xe+` the '${e}' `+i),v(t+i+We,s+l,xe+` the '${e}' `+i+Be),v(t+p,I+l,Ke(e)),v(t+p+We,m+l,Ke(e,1)),v(t+g+be,f+l,`A Cell Id for the '${e}' `+i),v(t+g+se,V+l,tt(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+p+se,R+l,tt(`a Row Id from the '${e}' Table, and a Cell iterator`))];te(Y,e,a),y(1,U,...a)})),y(1,U,e,l,n,f,P,S,A,D,L,M,J,z,W,_),ae=[e,l,n,f,S,A,D,L,M,J,z,W,Y],T([[e],[a],[Z,"tables: "+l,"tables"],[Z]],(([e,l,a],n)=>B(n,t,$,e,qe(1,n),l,a))),B(0,t,u,n+Ae,Xe(i,Oe)),B(5,t,i,Je,Ye(i,Oe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,$,u]=X(Y,e);T([[o],[a],[Z,"table: "+d,", table"],[Z]],(([a,o,d=t],r)=>B(r,l,i,a,dt(e,r),o,n+d))),B(0,l,b,c,Xe(p,nt(e)),t,n),B(0,l,C,c,Xe(p,nt(e),1),"cellId?: "+I+Se,n+", cellId, descending, offset, limit"),B(5,l,p,Je,Ye(p,nt(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[Z,", row: "+s,", row"],[Z],[Z,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>B(r,l,p,a,rt(e,r),Re+o,n+", rowId"+d))),B(6,l,p,be+fe,"Add a new Row to "+nt(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),B(0,l,h,I+Ae,Xe(g,ot(e)),Re,n+", rowId"),B(5,l,g,Je,Ye(g,ot(e)),Re+", cellCallback: "+$,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+xt(d,1);te(le,d,c);const i=d+(j(r)?fe:t);T([[i],[a],[Z,`, cell: ${d} | `+c,", cell as any"],[Z]],(([a,d=t,r=t],c)=>B(c,l+I,g,a,st(e,o,c),Re+d,n+", rowId, "+s+r)))}))})),B(0,t,$+ge,ge,qe(1,6)),B(2,t,$+ge,Z,qe(1,7),"tablesJson: "+ge,"tables"+ge),F($,S,qe(1,8)+" changes"),F(u,A,at(2,0,1)),F(i,D,at(3,0),`tableId: ${n} | null`,"tableId"),F(b,L,at(4,3,1),`tableId: ${n} | null`,"tableId"),F(C,M,at(13,3,1),kt("tableId: TId",`cellId: ${f}<TId>`+fe,"descending: boolean","offset: number","limit: number"+fe),kt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(p,J,at(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(h,z,at(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,W,at(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${Tt(O((e=>{var l,a;return null!=(a=null==(l=X(Y,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),F(Ce+g,_,Ve+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,U,...H(le)),k(q,".set"+$+Pe+"({",Vt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${j(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(_(l))y(null,"tinybase",f);else{const[e,l,n,r,s,I,c,i,$]=L(Q,Z);y(1,U,e,l,n,s,I,c,i,$),ne=[e,l,n,I,c,i],T([[e],[a],[Z,"values: "+l,"values"],[Z],[Z,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>B(n,t,f,e,qe(2,n),l,a))),B(0,t,w,n+Ae,Xe(m,Oe)),B(5,t,m,"void",Ye(m,Oe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+xt(l,1);te(le,l,r),T([[l],[a],[Z,`value: ${l} | `+r,", value as any"],[Z]],(([l,a,n=t],r)=>B(r,d,m,l,It(e,r),a,o+n)))})),B(0,t,f+ge,ge,qe(2,6)),B(2,t,f+ge,Z,qe(2,7),"valuesJson: "+ge,"values"+ge),F(f,I,qe(2,8)+" changes"),F(w,c,at(10,0,1)),F(m,i,at(11,0),`valueId: ${n} | null`,"valueId"),F(Ce+m,$,Ve+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,U,...H(le)),y(0,"tinybase","ValueChange"),k(q,".set"+f+Pe+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${j(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`])),"})")}B(0,t,"Content",`[${$}, ${f}]`,qe(0,0)),B(2,t,"Content",Z,qe(0,2),`[tables, values]: [${$}, ${f}]`,"[tables, values]"),B(2,t,De,Z,`Applies a set of ${De} to the Store`,"transactionChanges: "+De,"transactionChanges"),Y(le,((e,t)=>v(t,`(cell: ${e}${fe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",be,"IdOrNull",ge,"Store",De),y(0,"tinybase","Get"+De,"GetTransactionLog"),B(0,t,ge,ge,qe(0,6)),B(2,t,ge,Z,qe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),B(7,t,Ne,"Return",je,ue,"actions, doRollback","<Return>"),B(7,t,"start"+Ee,Z,Le),B(7,t,"finish"+Ee,Z,Ge,$e,"doRollback");const oe=M(Q,Z);return F("WillFinish"+Ee,oe,Ve+" just before "+Me,t,t,0),F("DidFinish"+Ee,oe,Ve+" just after "+Me,t,t,0),B(7,t,"call"+r,Z,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,t,r,Z,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),W("getStore",t,"Store","store",ct[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,U,Z,`create${Z} as create${Z}Decl`,oe),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[s(...R(0),...P(),pe+" interface "+Z+" {",...z(0),"}",t,Pt(`Creates a ${Z} object`),pe+" function create"+Z+"(): "+Z+";"),s(...R(1),pe+" const create"+Z+": typeof create"+Z+"Decl = () => {",...S(),`return Object.freeze(${Q});`,"};"),ae,ne]},Jt=e=>s+e,zt=e=>kt(Jt(e),Jt(e)+ce),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+ie,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+se+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=kt(ll+")"+ze,Ft),nl="then, then"+ce,ol=Xt+Qt+be,dl="View",rl=(e,...t)=>kt(...t,he+": "+e,he+ie,"mutator?: boolean"),sl=(...e)=>kt(...e,he,he+ce,"mutator"),Il=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Ot(),[R,P,S]=Dt(e,l,v),O=`./${xt(a)}.d`,E=`./${xt(a)}-ui-react.d`,D="tinybase/ui-react",N=xt(a,1),L=xt(N),G=N+"Or"+N+be,M=L+"Or"+N+be,J=L+`={${L}}`,z=K(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),wt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,kt(o,q,I),a,te+`(${M}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),U=(e,t,l,a)=>W(e,t,1,l,a),Z=(e=0)=>ee(z,(([l,a,n,o,d],r)=>{const s=e?[pe+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[pe+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,Pt(o)),k(s,t),s}));s(null,"tinybase",be,"Store",se,Ut+"ized"+se),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,N);const H=I(G,N+" | "+be,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(Te+ve,At(L+me+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${Te} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,H,Q);const q=M+me+H;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ie,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=B(N,"id?: Id",N+fe,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Te} component context`),te=y("useHook",M+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${L} : ${M})?.getStore(), ...postParams)`]),le=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=y("wrap",kt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ne=v("NullComponent","() => null");if(!_(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,k]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,N),s(null,"tinybase",c,"IdOrNull");const S=y("tableView",`{${L}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",Tt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",Tt(R(((e,t,l)=>`tableId == ${l} ? ${Tt(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F($,$,e,qe(1,0)+re);const G=F(u,u,a+Ae,Xe(i,Oe)+re);F(ke+$+se,ke+$+se,Kt,qe(1,9)+Ht,kt(Jt($)+_t+l,Jt($)+ie),zt($),qt,kt(ll,`tables: ${l})`+ze,Ft),nl),F(Ie+$+se,Ie+$+se,se,qe(1,12),t,t,t,al,nl);const M=I(g+ve,At("tableId?: TId","rowId: Id","cellId?: CId",L+me+N,Wt),et(oe+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+ve,At("tableId?: TId","rowId: Id",L+me+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${M}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),et(oe+p),`<TId extends ${a}>`),W=I(i+ve,At("tableId?: TId",L+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+i),`<TId extends ${a}>`),B=I("Sorted"+i+ve,At("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+"sorted "+i),`<TId extends ${a}>`),_=I($+ve,At(L+me+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),et(Qe(1,1)));s(1,E,_,W,B,z,M),U($+dl,"{"+L+", tableComponents, getTableComponentProps"+el+"}: "+_,[ae+`(${G}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],qe(1,13)+re),R(((e,l,a)=>{const[n,o,d,r,I]=X(k,e);s(null,O,n,o,d,r,I),F(l+i,i,n,dt(e)+re,t,a);const $=F(l+b,b,c,Xe(p,nt(e))+re,t,a),u=F(l+C,C,c,Xe(p,nt(e),1)+re,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,rt(e)+re,ol,kt(a,Xt));const m=F(l+h,h,I+Ae,Xe(g,ot(e))+re,ol,kt(a,Xt));F(ke+l+i+se,ke+i+se,Kt,dt(e,9)+Ht,kt(Jt(i)+_t+o,Jt(i)+ie),kt(a,zt(i)),qt,kt(ll,`table: ${o})`+ze,Ft),nl),F(Ie+l+i+se,Ie+i+se,se,dt(e,12),t,a,t,al,nl),F(ke+l+p+se,ke+p+se,Kt,rt(e,9)+Ht,kt(ol,Jt(p)+_t+r,Jt(p)+ie),kt(a,Xt,zt(p)),qt,kt(ll,`row: ${r})`+ze,Ft),nl),F("Add"+l+p+se,"Add"+p+se,Kt,rt(e,10)+Ht,kt(Jt(p)+_t+r,Jt(p)+ie),kt(a,zt(p)),qt,"then?: ("+kt(ol+fe,"store: Store","row: "+r+")"+ze,"then"+ie)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(ke+l+ye+p+se,ke+ye+p+se,Kt,rt(e,11)+Ht,kt(ol,Jt(ye+p)+_t+r,Jt(ye+p)+ie),kt(a,Xt,zt(ye+p)),qt,kt(ll,`partialRow: ${r})`+ze,Ft),nl),F(Ie+l+p+se,Ie+p+se,se,rt(e,12),ol,kt(a,Xt),t,al,nl);const f=U(l+p+dl,"{rowId, "+L+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[ae+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],rt(e,13)+re);U(l+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,S+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,dt(e,13)+", sorted"+re),U(l+i+dl,`props: ${W}<'${e}'>`,S+"(props, "+$+`(props.${L}), ${a}, ${f});`,dt(e,13)+re),P(e,((n,o,d,r,I)=>{const c="Map"+xt(o,1);s(0,O,c),s(1,O,c);const i=F(l+I+g,g,o+(j(d)?fe:t),st(e,n)+re,ol,kt(a,Xt,r));F(ke+l+I+g+se,ke+g+se,Kt,st(e,n,9)+Ht,kt(ol,Jt(g)+_t+o+" | "+c,Jt(g)+ie),kt(a,Xt,r,zt(g)),qt,kt(ll,`cell: ${o} | ${c})`+ze,Ft),nl),F(Ie+l+I+g+se,Ie+g+se,se,st(e,n,12),kt(ol,"forceDel?: boolean"),kt(a,Xt,r,"forceDel"),t,al,nl),U(l+I+g+dl,`{rowId, ${L}, debugIds}: `+M+`<'${e}', '${n}'>`,[ae+`('' + ${i}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],st(e,n,13)+re)}))}));const Z=Tt(R((e=>{var l,a;return null!=(a=null==(l=X(k,e))?void 0:l[4])?a:t}))," | ");F($+r,$+r,Je,qe(1,8)+" changes",rl(d),sl()),F(u+r,u+r,Je,at(2,0,1),rl(m),sl()),F(i+r,i+r,Je,at(3,0),rl(f,`tableId: ${a} | null`),sl("tableId")),F(b+r,b+r,Je,at(4,3,1),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+r,C+r,Je,at(13,3,1),rl(v,`tableId: ${a} | null`,"cellId: "+Z+fe,"descending: boolean","offset: number","limit: number"+fe),sl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Je,at(5,3),rl(T,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(h+r,h+r,Je,at(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+r,g+r,Je,at(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${Z} | null`),sl("tableId",Xt,"cellId"))}if(!_(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,N);const i=y("getDefaultValueComponent","valueId: Id",Tt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(f,f,e,qe(2,0)+re);const $=F(w,w,a+Ae,Xe(m,Oe)+re);F(ke+f+se,ke+f+se,Kt,qe(2,9)+Ht,kt(Jt(f)+_t+l,Jt(f)+ie),zt(f),qt,kt(ll,`values: ${l})`+ze,Ft),nl),F(ke+ye+f+se,ke+ye+f+se,Kt,qe(2,11)+Ht,kt(Jt(ye+f)+_t+l,Jt(ye+f)+ie),zt(ye+f),qt,kt(ll,`partialValues: ${l})`+ze,Ft),nl),F(Ie+f+se,Ie+f+se,se,qe(2,12),t,t,t,al,nl);const u=I(m+ve,At("valueId?: VId",L+me+N,Wt),et("a Value"),`<VId extends ${a}>`),p=I(f+ve,At(L+me+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),et(Qe(2,1)));s(1,E,p,u),U(f+dl,"{"+L+", valueComponents, getValueComponentProps"+el+"}: "+p,[ae+`(${$}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],qe(2,13)+re),S(((e,l,a,n,o)=>{const d="Map"+xt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,It(e)+re,t,n);F(ke+o+m+se,ke+m+se,Kt,It(e,9)+Ht,kt(Jt(m)+_t+l+" | "+d,Jt(m)+ie),kt(n,zt(m)),qt,kt(ll,`value: ${l} | ${d})`+ze,Ft),nl),F(Ie+o+m+se,Ie+m+se,se,It(e,12),t,n,t,al,nl),U(o+m+dl,`{${L}, debugIds}: ${u}<'${e}'>`,[ae+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],It(e,13)+re)})),F(f+r,f+r,Je,qe(2,8)+" changes",rl(n),sl()),F(w+r,w+r,Je,at(10,0,1),rl(d),sl()),F(m+r,m+r,Je,at(11,0),rl(c,`valueId: ${a} | null`),sl("valueId"))}return U(Te,`{${L}, ${L}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+Te,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${Te}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Z(0)),d(...T(1),...x(),...Z(1))]},cl=(e,l,a)=>{if(_(e)&&_(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...Il(e,l,a,d,r)]};var il=Object.defineProperty,$l=Object.defineProperties,ul=Object.getOwnPropertyDescriptors,pl=Object.getOwnPropertySymbols,bl=Object.prototype.hasOwnProperty,Cl=Object.prototype.propertyIsEnumerable,gl=(e,t,l)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))bl.call(t,l)&&gl(e,l,t[l]);if(pl)for(var l of pl(t))Cl.call(t,l)&&gl(e,l,t[l]);return e},ml=(e,t)=>$l(e,ul(t)),fl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const wl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},yl=Et((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!_(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=K();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=le(n,a,(()=>[J(o),K(),[0],0])),[r,s,[I]]=d,c=le(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),te(s,o,c),d[3]++,r==J(o)})))))return t[l]={},Q(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return _(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>cl(t(),l(),e),n=e=>fl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>yt(l(e,ml(hl({},wl),{filepath:"_."+t[a]})))))}));return B({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:vt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{yl as createTools};
Binary file
@@ -0,0 +1 @@
1
+ const t=t=>t.length,a=t=>null==t,e=(t,e,n)=>a(t)?n?.():e(t),n=Object,o=n.keys,s=n.freeze,c=(t,a)=>e(t,(t=>t[a])),r=(t,e)=>!a(c(t,e)),i=(t,a)=>delete t[a],d=(t,a)=>((t,a)=>t.map(a))(n.entries(t),(([t,e])=>a(e,t))),u=a=>{return(t=>t instanceof n&&t.constructor==n)(a)&&(e=o(a),0==t(e));var e},v=(t,a)=>[t[a].t,t[a].v],y=(t,e,n,o)=>{const s=a(e)?t:((t,a,e)=>(r(t,a)||(t[a]={}),t[a]))(t,e);let c;return d(n,((t,a)=>{o(s,a,t)&&(c=1)})),d(s,((t,a)=>{r(n,a)||(i(s,a),c=1)})),!a(e)&&u(s)&&i(t,e),c},l=(n,r,l="tinybase")=>(r.change((t=>t[l]={})),((t,n,o,g,h)=>{let p,w,A=0,L=!1;const S=async t=>{2!=A&&(A=1,await t(),A=0)},f={load:async(a={},e={})=>(await S((async()=>{let o;try{o=await n()}catch{}t.setContent(o??[a,e])})),f),startAutoLoad:async(a={},e={})=>(f.stopAutoLoad(),await f.load(a,e),L=!0,w=(a=>{const e=({doc:a})=>(async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))})((()=>v(a,l)));return r.on("change",e),e})(),f),stopAutoLoad:()=>{return L&&(t=w,r.removeListener("change",t),w=void 0,L=!1),f;var t},save:async n=>(1!=A&&(A=2,await(async(t,n)=>{r.change((o=>((t,n,o,s)=>{((t,a)=>{u(t[a])&&(t[a]={t:{},v:{}})})(t,n);const[r,l]=v(t,n),g=()=>{h=1};let h=1;if(e(s?.(),(([t,n])=>{h=0,d(t,((t,n)=>h?0:a(t)?i(r,n):e(r[n],(n=>d(t,((t,o)=>h?0:a(t)?i(n,o):e(c(n,o),(e=>d(t,((t,n)=>a(t)?i(e,n):e[n]=t))),g)))),g))),d(n,((t,e)=>h?0:a(t)?i(l,e):l[e]=t))})),h){const[t,a]=o();y(r,void 0,t,((t,a,e)=>y(r,a,e,((t,a,e)=>y(t,a,e,((t,a,e)=>{if(c(t,a)!==e)return t[a]=e,1})))))),y(l,void 0,a,((t,a,e)=>{c(l,a)!==e&&(l[a]=e)}))}})(o,l,t,n)))})(t.getContent,n),A=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,a)=>f.save(a))),f),stopAutoSave:()=>(e(p,t.delListener),f),getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(f)})(n,(async()=>2==t(o(r.doc[l]))?v(r.doc,l):void 0)));export{l as createAutomergePersister};
Binary file
@@ -1 +1 @@
1
- const t=Object.freeze,a="storage",e=globalThis.window,s=(s,n,o)=>((s,r,i,c,u)=>{let d,v,y=0,l=!1;const g=async t=>{2!=y&&(y=1,await t(),y=0)},w={load:async(t,a)=>(await g((async()=>{let e;try{e=await r()}catch{}s.setContent(e??[t,a])})),w),startAutoLoad:async(t,i)=>(w.stopAutoLoad(),await w.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===o&&t.key===n&&(async(t,a)=>{await g((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await r())}catch{}}))})((()=>JSON.parse(t.newValue)))};return e.addEventListener(a,i),i})(),w),stopAutoLoad:()=>{return l&&(t=v,e.removeEventListener(a,t),v=void 0,l=!1),w;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return o.setItem(n,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(s.getContent),y=0),w),startAutoSave:async()=>(await w.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,a)=>w.save(a))),w),stopAutoSave:()=>{var t,a;return t=d,a=s.delListener,null==t||a(t),w},getStore:()=>s,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(w)})(s,(async()=>JSON.parse(o.getItem(n)))),n=(t,a)=>s(t,a,localStorage),o=(t,a)=>s(t,a,sessionStorage);export{n as createLocalPersister,o as createSessionPersister};
1
+ const t=Object.freeze,a="storage",e=globalThis.window,s=(s,n,o)=>((s,r,i,c,u)=>{let d,v,y=0,l=!1;const g=async t=>{2!=y&&(y=1,await t(),y=0)},w={load:async(t={},a={})=>(await g((async()=>{let e;try{e=await r()}catch{}s.setContent(e??[t,a])})),w),startAutoLoad:async(t={},i={})=>(w.stopAutoLoad(),await w.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===o&&t.key===n&&(async(t,a)=>{await g((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await r())}catch{}}))})((()=>JSON.parse(t.newValue)))};return e.addEventListener(a,i),i})(),w),stopAutoLoad:()=>{return l&&(t=v,e.removeEventListener(a,t),v=void 0,l=!1),w;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return o.setItem(n,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(s.getContent),y=0),w),startAutoSave:async()=>(await w.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,a)=>w.save(a))),w),stopAutoSave:()=>{var t,a;return t=d,a=s.delListener,null==t||a(t),w},getStore:()=>s,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(w)})(s,(async()=>JSON.parse(o.getItem(n)))),n=(t,a)=>s(t,a,localStorage),o=(t,a)=>s(t,a,sessionStorage);export{n as createLocalPersister,o as createSessionPersister};
Binary file
@@ -1 +1 @@
1
- import{readFile as t,writeFile as a}from"fs/promises";import{watch as e}from"fs";const s="utf8",o=Object.freeze,r=(r,n)=>((t,r,i,c,u)=>{let y,d,v=0,p=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},f={load:async(a,e)=>(await w((async()=>{let s;try{s=await r()}catch{}t.setContent(s??[a,e])})),f),startAutoLoad:async(a,s)=>{return f.stopAutoLoad(),await f.load(a,s),p=!0,o=async(a,e)=>{await w((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await r())}catch{}}))},d=e(n,(()=>o())),f;var o},stopAutoLoad:()=>{return p&&(t=d,t?.close(),d=void 0,p=!1),f;var t},save:async e=>(1!=v&&(v=2,await(async t=>{try{await a(n,(e=t(),JSON.stringify(e,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),s)}catch{}var e})(t.getContent),v=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,a)=>f.save(a))),f),stopAutoSave:()=>{var a,e;return a=y,e=t.delListener,null==a||e(a),f},getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(f)})(r,(async()=>JSON.parse(await t(n,s))));export{r as createFilePersister};
1
+ import{readFile as t,writeFile as a}from"fs/promises";import{watch as e}from"fs";const s="utf8",o=Object.freeze,r=(r,n)=>((t,r,i,c,u)=>{let y,d,v=0,p=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},f={load:async(a={},e={})=>(await w((async()=>{let s;try{s=await r()}catch{}t.setContent(s??[a,e])})),f),startAutoLoad:async(a={},s={})=>{return f.stopAutoLoad(),await f.load(a,s),p=!0,o=async(a,e)=>{await w((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await r())}catch{}}))},d=e(n,(()=>o())),f;var o},stopAutoLoad:()=>{return p&&(t=d,t?.close(),d=void 0,p=!1),f;var t},save:async e=>(1!=v&&(v=2,await(async t=>{try{await a(n,(e=t(),JSON.stringify(e,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),s)}catch{}var e})(t.getContent),v=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),y=t.addDidFinishTransactionListener(((t,a)=>f.save(a))),f),stopAutoSave:()=>{var a,e;return a=y,e=t.delListener,null==a||e(a),f},getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(f)})(r,(async()=>JSON.parse(await t(n,s))));export{r as createFilePersister};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag"),n=(n,s,o,r)=>{let c;return((n,i,d,u,y)=>{let v,l,p=0,w=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},A={load:async(t,a)=>(await h((async()=>{let e;try{e=await i()}catch{}n.setContent(e??[t,a])})),A),startAutoLoad:async(a,o)=>{return A.stopAutoLoad(),await A.load(a,o),w=!0,d=async(t,a)=>{await h((async()=>{if(a)n.setTransactionChanges(a());else try{n.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(s,{method:"HEAD"}),n=e(a);t(c)||t(n)||n==c||(c=n,d())}),1e3*r),A;var d},stopAutoLoad:()=>(w&&(clearInterval(l),l=void 0,w=!1),A),save:async t=>(1!=p&&(p=2,await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),n={},[...a].reduce(e,n)):a;var e,n})))});var a})(n.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=n.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=n.delListener,t(a)||e(a),A},getStore:()=>n,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(n,(async()=>{const t=await fetch(s);return c=e(t),JSON.parse(await t.text())}))};export{n as createRemotePersister};
1
+ const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag"),n=(n,s,o,r)=>{let c;return((n,i,d,u,y)=>{let v,l,p=0,w=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},A={load:async(t={},a={})=>(await h((async()=>{let e;try{e=await i()}catch{}n.setContent(e??[t,a])})),A),startAutoLoad:async(a={},o={})=>{return A.stopAutoLoad(),await A.load(a,o),w=!0,d=async(t,a)=>{await h((async()=>{if(a)n.setTransactionChanges(a());else try{n.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(s,{method:"HEAD"}),n=e(a);t(c)||t(n)||n==c||(c=n,d())}),1e3*r),A;var d},stopAutoLoad:()=>(w&&(clearInterval(l),l=void 0,w=!1),A),save:async t=>(1!=p&&(p=2,await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),n={},[...a].reduce(e,n)):a;var e,n})))});var a})(n.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=n.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=n.delListener,t(a)||e(a),A},getStore:()=>n,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(n,(async()=>{const t=await fetch(s);return c=e(t),JSON.parse(await t.text())}))};export{n as createRemotePersister};
Binary file
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=()=>({}),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),g=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),d=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),u="delete",v=t=>[t.get("t"),t.get("v")],y=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c},p=(o,i,p="tinybase")=>{const h=i.getMap(p);return((o,p,S,w,f)=>{let A,O,J=0,L=!1;const N=async t=>{2!=J&&(J=1,await t(),J=0)},b={load:async(t,e)=>(await N((async()=>{let a;try{a=await p()}catch{}o.setContent(a??[t,e])})),b),startAutoLoad:async(t,s)=>(b.stopAutoLoad(),await b.load(t,s),L=!0,O=(t=>{const s=t=>(async(t,e)=>{await N((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await p())}catch{}}))})(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=v(t),l={},y={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>"t"==a(t)?n(a(t),(s=>{const o=g(l,s,c),i=r.get(s);n(a(t),(t=>{const a=g(o,t,c),s=i.get(t);d(e,((t,{action:e})=>a[t]=e==u?null:s.get(t)))}),(()=>d(e,((t,{action:e})=>o[t]=e==u?null:i.get(t)?.toJSON()))))}),(()=>d(e,((t,{action:e})=>l[t]=e==u?null:r.get(t)?.toJSON())))):d(e,((t,{action:e})=>y[t]=e==u?null:i.get(t)))))})(s),[l,y]})(h,t)));return h.observeDeep(s),s})(),b),stopAutoLoad:()=>{return L&&(t=O,h.unobserveDeep(t),O=void 0,L=!1),b;var t},save:async e=>(1!=J&&(J=2,await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set("t",new t),e.set("v",new t))})(e);const[r,c]=v(e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>g?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>g?0:s(t)?c.delete(e):c.set(e,t)))})),g){const[t,e]=a();y(r,void 0,t,((t,e,a)=>y(r,e,a,((t,e,a)=>y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),y(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(h,e,a))))(o.getContent,e),J=0),b),startAutoSave:async()=>(await b.stopAutoSave().save(),A=o.addDidFinishTransactionListener(((t,e)=>b.save(e))),b),stopAutoSave:()=>(n(A,o.delListener),b),getStore:()=>o,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(b)})(o,(async()=>h.size?[h.get("t").toJSON(),h.get("v").toJSON()]:void 0))};export{p as createYjsPersister};
1
+ import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=o.freeze,c=()=>({}),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),g=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),d=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),u="t",v="delete",y=t=>[t.get(u),t.get("v")],p=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t);let c;return l(n,((t,e)=>{o(r,e,t)&&(c=1)})),r.forEach(((t,e)=>{i(n,e)||(r.delete(e),c=1)})),s(a)||r.size||e.delete(a),c},h=(o,i,h="tinybase")=>{const S=i.getMap(h);return((o,h,w,f,A)=>{let O,J,L=0,N=!1;const b=async t=>{2!=L&&(L=1,await t(),L=0)},z={load:async(t={},e={})=>(await b((async()=>{let a;try{a=await h()}catch{}o.setContent(a??[t,e])})),z),startAutoLoad:async(t={},s={})=>(z.stopAutoLoad(),await z.load(t,s),N=!0,J=(t=>{const s=t=>(async(t,e)=>{await b((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await h())}catch{}}))})(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[r,i]=y(t),l={},p={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==u?n(a(t),(s=>{const o=g(l,s,c),i=r.get(s);n(a(t),(t=>{const a=g(o,t,c),s=i.get(t);d(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>d(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>d(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):d(e,((t,{action:e})=>p[t]=e==v?null:i.get(t)))))})(s),[l,p]})(S,t)));return S.observeDeep(s),s})(),z),stopAutoLoad:()=>{return N&&(t=J,S.unobserveDeep(t),J=void 0,N=!1),z;var t},save:async e=>(1!=L&&(L=2,await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(u,new t),e.set("v",new t))})(e);const[r,c]=y(e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:s(t)?r.delete(e):n(r.get(e),(e=>l(t,((t,a)=>g?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>g?0:s(t)?c.delete(e):c.set(e,t)))})),g){const[t,e]=a();p(r,void 0,t,((t,e,a)=>p(r,e,a,((t,e,a)=>p(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),p(c,void 0,e,((t,e,a)=>{c.get(e)!==a&&c.set(e,a)}))}})(S,e,a))))(o.getContent,e),L=0),z),startAutoSave:async()=>(await z.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>z.save(e))),z),stopAutoSave:()=>(n(O,o.delListener),z),getStore:()=>o,destroy:()=>z.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(z)})(o,(async()=>S.size?[S.get(u).toJSON(),S.get("v").toJSON()]:void 0))};export{h as createYjsPersister};
Binary file
package/lib/persisters.js CHANGED
@@ -1 +1 @@
1
- const t=Object.freeze,a=(a,e,s,o,n)=>{let c,i,r=0,d=!1;const u=async t=>{2!=r&&(r=1,await t(),r=0)},y={load:async(t,s)=>(await u((async()=>{let o;try{o=await e()}catch{}a.setContent(o??[t,s])})),y),startAutoLoad:async(t,s)=>(y.stopAutoLoad(),await y.load(t,s),d=!0,i=o((async(t,s)=>{await u((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await e())}catch{}}))})),y),stopAutoLoad:()=>(d&&(n(i),i=void 0,d=!1),y),save:async t=>(1!=r&&(r=2,await s(a.getContent,t),r=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((t,a)=>y.save(a))),y),stopAutoSave:()=>{var t,e;return t=c,e=a.delListener,null==t||e(t),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(y)};export{a as createCustomPersister};
1
+ const t=Object.freeze,a=(a,e,s,o,n)=>{let c,i,r=0,d=!1;const u=async t=>{2!=r&&(r=1,await t(),r=0)},y={load:async(t={},s={})=>(await u((async()=>{let o;try{o=await e()}catch{}a.setContent(o??[t,s])})),y),startAutoLoad:async(t={},s={})=>(y.stopAutoLoad(),await y.load(t,s),d=!0,i=o((async(t,s)=>{await u((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await e())}catch{}}))})),y),stopAutoLoad:()=>(d&&(n(i),i=void 0,d=!1),y),save:async t=>(1!=r&&(r=2,await s(a.getContent,t),r=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((t,a)=>y.save(a))),y),stopAutoSave:()=>{var t,e;return t=c,e=a.delListener,null==t||e(t),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(y)};export{a as createCustomPersister};
Binary file
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),o=e(0),a=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,v="Sorted"+L+u,R="Cell",S=R+u,I="Value",T=I+"s",C=I+u,p=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>x(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),x=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?x([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,j=Math.max,P=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==a,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>delete e[t],oe=(e,t)=>M(Y.entries(e),(([e,s])=>t(s,e))),ae=e=>te(e)&&A(Z(e)),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),Re=(e,t,s)=>(le(e,t)||ve(e,t,s()),Le(e,t)),Se=(e,t,s)=>{const n={};return ue(e,((e,o)=>{const a=t?t(e,o):e;!s?.(a,e)&&(n[o]=a)})),n},Ie=(e,t,s)=>Se(e,(e=>Se(e,t,s)),ae),Te=(e,t,s)=>Se(e,(e=>Ie(e,t,s)),ae),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),ye=e=>Ce(e,pe),be=(e,t,s,n,o=0)=>G((s?Re:Le)(e,t[o],o>J(t)-2?s:ge),(a=>{if(o>J(t)-2)return n?.(a)&&ve(e,t[o]),a;const r=be(a,t,s,n,o+1);return ie(a)&&ve(e,t[o]),r})),Ve=t=>{const s=e(t);return H(s)||s==o&&B(t)?s:void 0},me=(e,t,s,n,o)=>q(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,o=ge(),a=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const o=Re(i,t,ke);return k(n,(t=>Me(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(A(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(i,t)})),u=(e,s)=>{ve(o,e,s),le(a,e)||(ve(a,e,t()),ve(r,e,ge()),ve(l,e,ge()))},h=e=>{ve(o,e),ve(a,e),ve(r,e),ve(l,e),d(e)};return[()=>e,()=>fe(o),e=>we(a,e),e=>le(a,e),e=>Le(o,e),e=>Le(a,e),(e,t)=>ve(a,e,t),u,(t,o,a,i,h)=>{u(t,o);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),v=t=>{const a=s=>e.getCell(o,t,s),r=Le(L,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||ve(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ve(f,t,s)}},R=e=>{a((()=>{ue(g,(([,e],t)=>ve(L,t,e))),ue(f,((e,t)=>ve(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,v),e.hasTable(o)&&k(e.getRowIds(o),(e=>{le(L,e)||v(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>R())))},h,()=>we(i,h),c,d]},Je=(n,o)=>e(n)==s?e=>e(n):n??(()=>o??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},xe=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{xe.test(t)&&J(e)<1e3&&Q(e,t)}]},Qe=e=>{let s;const[n,o]=Fe(),a=ge();return[(o,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return ve(a,d,[o,r,l,i,c]),Me(be(r,l??[t],ke),d),d},(e,n,...o)=>k(((e,s=[t])=>{const n=[],o=(e,t)=>t==J(s)?Q(n,e):null===s[t]?ue(e,(e=>o(e,t+1))):k([s[t],null],(s=>o(Le(e,s),t+1)));return o(e,0),n})(e,n),(e=>ue(e,(e=>Le(a,e)[0](s,...n??[],...o))))),e=>G(Le(a,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(a,e),o(e),n))),e=>G(Le(a,e),(([e,,t=[],n,o])=>{const a=(...r)=>{const l=J(r);l==J(t)?e(s,...r,...o(r)):q(t[l])?k(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,t[l])};a()}))]},ze=Ae((e=>{let s,n,o,a=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=Qe((()=>W)),f=ge(),L=ge(),w=[],v=[],R=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=Le(f,s);ue(n,((s,n)=>ue(s,((s,o)=>ue(s,((s,a)=>me(e,n,o,a,s[t]))))))),ue(o,((s,n)=>Ee(e,n,s[t])))})),i=1},S=e=>{ve(f,e),ve(L,e),h(d,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??J(e)),S),T=()=>I(w,J(w)-a),C=()=>G(s,(()=>{Q(w,s),T(),I(v),s=void 0,o=1})),p=()=>{s=z(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){C();const e=Re(r,t,ge),l=Re(e,s,ge),i=Re(l,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&ie(ve(l,n))&&ie(ve(e,s))&&ie(ve(r,t))&&p(),D()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){C();const e=Re(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(l,t))&&p(),D()}})),m=(e="")=>(q(s)&&(s=t+n++,ve(f,s,[r,l]),F(s,e),r=ge(),l=ge(),o=1),s),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),R(0,s),s=z(w),o=1)},M=()=>{A(v)||(Q(w,s),s=N(v),R(1,s),o=1)},D=()=>{o&&(h(c),o=0)},x=e=>{const t=m(e);return D(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(ve(L,e,t),h(d,[e])),W),O=e=>le(f,e),W={setSize:e=>(a=e,T(),W),addCheckpoint:x,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(E(),D(),W),goForward:()=>(M(),D(),W),goTo:e=>{const t=y(w,e)?E:y(v,e)?M:null;for(;!q(t)&&e!=s;)t();return D(),W},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),W),clear:()=>(I(w),I(v),q(s)||S(s),s=void 0,n=0,x(),W),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(W.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=Ae((e=>{const s=ge(),n=ge(),[o,a,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?M(e,p):p(e))),[f,L,w]=Qe((()=>R)),v=(t,s,n)=>{const o=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},R={setIndexDefinition:(e,t,o,a,r,l=Ne)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,o,r,u,h,g)=>{let f=0;const w=ke(),v=ke(),R=c(e);if(ue(o,(([e,t],s)=>{const n=ke(e),o=ke(t);ue(n,(e=>he(o,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(R,e),(t=>{he(t,s),ie(t)&&(ve(R,e),f=1)}))})),ue(o,(e=>{Me(w,e),le(R,e)||(ve(R,e,ke()),f=1),Me(Le(R,e),s),q(a)||Me(v,e)}))})),t(),ie(h)||(g?we(R,(e=>Me(v,e))):we(r,(e=>G(Le(u,e),(e=>Me(v,e))))),ue(v,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(R,e)];m(s,t)||(ve(R,e,ke(E(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...R];m(t,i)||(d(e,ge(E(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(o),G(a,Je)),R},delIndexDefinition:e=>(h(e),R),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),R),destroy:g,getListenerStats:()=>({})};return ee(R)})),We=ge([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,o,a=!1)=>{if(ie(s))return;const[r,l,i,c]=o;return a||=q(e),ue(n,(([s,n])=>{a||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),a||=q(e))})),a?r(ce(s),re(s)):e},Pe=Ae((e=>{const s=ge(),[n,o,a,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=Qe((()=>w)),w={setMetricDefinition:(e,t,n,o,a,r,l)=>{const u=K(n)?[n,a,r,l]:Le(We,n)??Le(We,"sum");return d(e,t,((t,n,o,a,r,l)=>{const d=i(e),h=re(a);l||=q(d),t();let g=je(d,h,a,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),Be=(e,t,s,n,o)=>{let a,r,l=0,i=!1;const c=async e=>{2!=l&&(l=1,await e(),l=0)},d={load:async(s,n)=>(await c((async()=>{let o;try{o=await t()}catch{}e.setContent(o??[s,n])})),d),startAutoLoad:async(s,o)=>(d.stopAutoLoad(),await d.load(s,o),i=!0,r=n((async(s,n)=>{await c((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),d),stopAutoLoad:()=>(i&&(o(r),r=void 0,i=!1),d),save:async t=>(1!=l&&(l=2,await s(e.getContent,t),l=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>d.save(t))),d),stopAutoSave:()=>(G(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(d)},$e=Ae((e=>{const s=e.createStore,[n,o,a,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),C=s(),p=s(),y=ge(),V=(e,t,...s)=>k(s,(s=>Me(Re(Re(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),k([p,C],(t=>t.delTable(e)))},E=(e,t,s)=>V(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),M={setQueryDefinition:(s,n,o)=>{u(s,n),m(s);const a=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];o({select:(e,s)=>{const n=K(e)?[J(a)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,o=q(n)?t:s,a=[e,[e,n,K(o)?o:e=>e(o),[],ge()]];return Q(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,K(t)?[t,s,n,o]:Le(We,t)??[(e,t)=>t]]];return Q(i,a),{as:e=>a[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(a);if(ie(d))return M;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=C;if(ie(g)&&A(c))f=p;else{E(s,f,p);const e=ge();we(g,((t,[s,n])=>Me(Re(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),o=(t,n,o,a)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=Re(r,t,ge),l=Le(n,o),i=a?void 0:s;if(l!==i){const s=ke([[l,i]]),a=re(n);ve(n,o,i),ue(Le(e,t),(([e,t])=>{const o=je(d[e],a,n,s,t);d[e]=q(Ve(o))?null:o}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?p.delRow(s,i):q(i)?t[2]=p.addRow(s,d):p.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,o]=i(s,l,e);Q(c,n),Q(d,o),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&ve(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}E(s,e,f);const L=(t,o,a,r)=>{const i=t=>e.getCell(o,a,t);k(r,(n=>{const[o,,a,r,l]=Le(h,n),c=a?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),ve(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(o,c,(()=>L(t,o,c,r))))]))})),(t=>{const o=(s,o)=>e.getCell(...q(o)?[n,t,s]:s===n?[n,t,o]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],o]);f.transaction((()=>b(l,(e=>e(o)))?we(d,((e,n)=>me(f,s,t,e,n(o,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,o,a)=>{e.hasRow(n,a)?L(a,n,a,w):(f.delRow(s,a),ue(h,(({4:e})=>G(Le(e,a),(([,t])=>{T(s,t),ve(e,a)})))))}))))),M},delQueryDefinition:e=>(m(e),g(e),M),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),M),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return oe({[h]:[1,1],[w]:[0,1],[v]:[0,5],[L]:[1,2],[S]:[0,2],[R]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>M[e+c+s]=(...t)=>p[e+s](...t))),M[d+c+s+i]=(...e)=>p[d+s+i](...F(e,0,t),((s,...n)=>e[t](M,...n)))})),ee(M)})),qe=Ae((e=>{const s=ge(),n=ge(),o=ge(),a=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,v]=Qe((()=>T)),R=(e,t,s)=>G(u(e),(([n,,o])=>{if(!le(o,t)){const a=ke();if(d(e)!=I(e))Me(a,t);else{let e=t;for(;!q(e)&&!le(a,e);)Me(a,e),e=Le(n,e)}if(s)return a;ve(o,t,a)}return Le(o,t)})),S=(e,t)=>G(u(e),(([,,e])=>ve(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(ve(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&ve(d,t)}))),q(s)||(Me(l,s),le(d,s)||ve(d,s,ke()),Me(Le(d,s),n)),Me(r,n),ve(c,n,s),we(Le(a,e),(t=>{le(R(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(o,[e,t]))),ue(i,(t=>{S(e,t),w(a,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(ve(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),L(s,a,[e,t])),delListener:e=>(S(...v(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s,n=ve)=>(oe(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ye=(e,t,s)=>q(e)||!te(e)||ae(e)||_(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ne(e,n)})),!ae(e)),Ze=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),_e=()=>{let e,t,s,n,a=0;const c=ge(),u=ge(),v=ge(),b=ge(),m=ge(),D=ge(),J=ge(),A=ge(),x=ge(),z=ge(),N=ge(),j=ge(),P=ke(),B=ge(),$=ge(),U=ge(),X=He(),Y=He(),Z=He(),_=He(),te=He(),re=He(),ce=He(),be=He(),De=He(),Je=He(),Ae=He(),xe=He(),ze=He(),Oe=He(),[We,je,Pe,Be]=Qe((()=>ds)),$e=e=>{if(!Ye(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},qe=(t,s)=>(!e||le(x,s)||kt(s))&&Ye(t,((e,t)=>et(s,t,e)),(()=>kt(s))),et=(e,t,s,n)=>Ye(n?s:ot(s,e,t),((n,o)=>G(tt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>kt(e,t))),tt=(t,s,n,o)=>e?G(Le(Le(x,t),n),(e=>Ve(o)!=e[r]?kt(t,s,n,o,e[l]):o),(()=>kt(t,s,n,o))):q(Ve(o))?kt(t,s,n,o):o,st=(e,t)=>Ye(t?e:at(e),((t,s)=>G(nt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Mt())),nt=(e,s)=>t?G(Le(N,e),(t=>Ve(s)!=t[r]?Mt(e,s,t[l]):s),(()=>Mt(e,s))):q(Ve(s))?Mt(e,s):s,ot=(e,t,s)=>(G(Le(z,t),(([n,o])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(o,(n=>{se(e,n)||kt(t,s,n)}))})),e),at=e=>(t&&(ue(j,((t,s)=>{se(e,s)||(e[s]=t)})),ue(P,(t=>{se(e,t)||Mt(t)}))),e),rt=e=>Xe(x,e,((e,t,s)=>{const n=ge(),o=ke();Xe(Re(x,t,ge),s,((e,t,s)=>{ve(e,t,s),G(s[l],(e=>ve(n,t,e)),(()=>Me(o,t)))})),ve(z,t,[n,o])}),((e,t)=>{ve(x,t),ve(z,t)})),lt=e=>Xe(N,e,((e,t,s)=>{ve(N,t,s),G(s[l],(e=>ve(j,t,e)),(()=>Me(P,t)))}),((e,t)=>{ve(N,t),ve(j,t),he(P,t)})),it=e=>ae(e)?ts():Xt(e),ct=e=>Xe($,e,((e,t,s)=>dt(t,s)),((e,t)=>St(t))),dt=(e,t)=>Xe(Re($,e,(()=>(pt(e,1),ge()))),t,((t,s,n)=>ut(e,t,s,n)),((t,s)=>It(e,t,s))),ut=(e,t,s,n,o)=>Xe(Re(t,s,(()=>(yt(e,s,1),ge()))),n,((t,n,o)=>ht(e,s,t,n,o)),((n,a)=>Tt(e,t,s,n,a,o))),ht=(e,t,s,n,o)=>{le(s,n)||bt(e,t,n,1);const a=Le(s,n);o!==a&&(Vt(e,t,n,a,o),ve(s,n,o))},gt=(e,t,s,n,o)=>G(Le(t,s),(t=>ht(e,s,t,n,o)),(()=>ut(e,t,s,ot({[n]:o},e,s)))),ft=e=>ae(e)?os():Yt(e),Lt=e=>Xe(U,e,((e,t,s)=>wt(t,s)),((e,t)=>Ct(t))),wt=(e,t)=>{le(U,e)||mt(e,1);const s=Le(U,e);t!==s&&(Et(e,s,t),ve(U,e,t))},vt=(e,t)=>{const[s]=Re(B,e,Fe),n=s(t);return le(Le($,e),n)?vt(e,t):n},Rt=e=>Le($,e)??dt(e,{}),St=e=>dt(e,{}),It=(e,t,s)=>{const[,n]=Re(B,e,Fe);n(s),ut(e,t,s,{},!0)},Tt=(e,t,s,n,o,a)=>{const r=Le(Le(z,e)?.[0],o);if(!q(r)&&!a)return ht(e,s,n,o,r);const l=t=>{Vt(e,s,t,Le(n,t)),bt(e,s,t,-1),ve(n,t)};q(r)?l(o):we(n,l),ie(n)&&(yt(e,s,-1),ie(ve(t,s))&&(pt(e,-1),ve($,e),ve(B,e)))},Ct=e=>{const t=Le(j,e);if(!q(t))return wt(e,t);Et(e,Le(U,e)),mt(e,-1),ve(U,e)},pt=(e,t)=>Ze(c,e,t),yt=(e,t,s)=>Ze(Re(u,e,ge),t,s),bt=(e,t,s,n)=>Ze(Re(Re(v,e,ge),t,ge),s,n),Vt=(e,t,s,n,o)=>Re(Re(Re(b,e,ge),t,ge),s,(()=>[n,0]))[1]=o,mt=(e,t)=>Ze(m,e,t),Et=(e,t,s)=>Re(D,e,(()=>[t,0]))[1]=s,kt=(e,t,s,n,o)=>(Q(Re(Re(Re(J,e,ge),t,ge),s,(()=>[])),n),o),Mt=(e,t,s)=>(Q(Re(A,e,(()=>[])),t),s),Dt=(e,t,s)=>G(Le(Le(Le(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Gt(e,t,s))])),Jt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Ut(e))])),At=e=>ie(J)||ie(De[e])?0:ue(e?ye(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,o)=>je(De[e],[s,n,o],t))))))),xt=e=>ie(A)||ie(Je[e])?0:ue(e?Ce(A):A,((t,s)=>je(Je[e],[s],t))),Ft=(e,t,s)=>{if(!ie(t))return je(e,s),1},Qt=e=>{const t=ie(te[e]),s=ie(ce[e])&&ie(_[e])&&t&&ie(Y[e]),n=ie(be[e])&&ie(re[e])&&ie(Z[e])&&ie(X[e]);if(!s||!n){const o=e?[Ce(c),pe(u),ye(v),ye(b)]:[c,u,v,b];if(!s){ue(o[2],((t,s)=>ue(t,((t,n)=>Ft(ce[e],t,[s,n])))));const s=ke();ue(o[1],((n,o)=>{Ft(_[e],n,[o])&&!t&&(je(te[e],[o,null]),Me(s,o))})),t||ue(o[3],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],o)=>n!==t?Me(s,o):he(e,o))))),ue(s,(t=>je(te[e],[n,t])))}})),Ft(Y[e],o[0])}if(!n){let t;ue(o[3],((s,n)=>{let o;ue(s,((s,a)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(je(be[e],[n,a,i],l,s,Dt),t=o=r=1)})),r&&je(re[e],[n,a],Dt)})),o&&je(Z[e],[n],Dt)})),t&&je(X[e],void 0,Dt)}}},zt=e=>{const t=ie(xe[e]),s=ie(ze[e])&&ie(Ae[e]);if(!t||!s){const n=e?[Ce(m),Ce(D)]:[m,D];if(t||Ft(xe[e],n[0]),!s){let t;ue(n[1],(([s,n],o)=>{n!==s&&(je(ze[e],[o],n,s,Jt),t=1)})),t&&je(Ae[e],void 0,Jt)}}},Nt=(e,...t)=>(ls((()=>e(...M(t,p)))),ds),Ot=()=>[Se(b,((e,t)=>-1===Le(c,t)?null:Se(e,((e,s)=>-1===Le(Le(u,t),s)?null:Se(e,(([,e])=>e??null),((e,t)=>Ue(t)))),ae)),ae),Se(D,(([,e])=>e??null),((e,t)=>Ue(t)))],Wt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(b,Ke,Ue),invalidCells:Te(J),changedValues:Se(D,Ke,Ue),invalidValues:Se(A),changedTableIds:Se(c),changedRowIds:Ie(u),changedCellIds:Te(v),changedValueIds:Se(m)}),jt=()=>Te($),Pt=()=>fe($),Bt=e=>fe(Le($,p(e))),$t=(e,t,s,n=0,o)=>{return M(F(E((a=Le($,p(e)),r=(e,s)=>[q(t)?s:Le(e,p(t)),s],M([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,q(o)?o:n+o),(([,e])=>e));var a,r},qt=(e,t)=>fe(Le(Le($,p(e)),p(t))),Gt=(e,t,s)=>Le(Le(Le($,p(e)),p(t)),p(s)),Ht=()=>Se(U),Kt=()=>fe(U),Ut=e=>Le(U,p(e)),Xt=e=>Nt((()=>(e=>Ye(e,qe,kt))(e)?ct(e):0)),Yt=e=>Nt((()=>st(e)?Lt(e):0)),Zt=e=>{try{it(W(e))}catch{}return ds},_t=t=>Nt((()=>{if((e=Ye(t,(e=>Ye(e,$e))))&&(rt(t),!ie($))){const e=jt();ts(),Xt(e)}})),es=e=>Nt((()=>{if(t=(e=>Ye(e,$e))(e)){const s=Ht();rs(),os(),t=!0,lt(e),Yt(s)}})),ts=()=>Nt((()=>ct({}))),ss=e=>Nt((e=>le($,e)?St(e):0),e),ns=(e,t)=>Nt(((e,t)=>G(Le($,e),(s=>le(s,t)?It(e,s,t):0))),e,t),os=()=>Nt((()=>Lt({}))),as=()=>Nt((()=>{rt({}),e=!1})),rs=()=>Nt((()=>{lt({}),t=!1})),ls=(e,t)=>{if(-1==a)return;is();const s=e();return cs(t),s},is=()=>(a++,ds),cs=e=>(a>0&&(a--,0==a&&(s=!ie(b),n=!ie(D),a=1,At(1),s&&Qt(1),xt(1),n&&zt(1),a=-1,e?.(Ot,Wt)&&(a=1,ue(b,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>me(ds,t,s,n,e))))))),ue(D,(([e],t)=>Ee(ds,t,e))),a=-1,s=n=!1),je(Oe[0],void 0,Ot,Wt),At(0),s&&Qt(0),xt(0),n&&zt(0),je(Oe[1],void 0,Ot,Wt),a=0,k([c,u,v,b,J,m,D,A],de))),ds),ds={getContent:()=>[jt(),Ht()],getTables:jt,getTableIds:Pt,getTable:e=>Ie(Le($,p(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Se(Le(Le($,p(e)),p(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ie($),hasTable:e=>le($,p(e)),hasRow:(e,t)=>le(Le($,p(e)),p(t)),hasCell:(e,t,s)=>le(Le(Le($,p(e)),p(t)),p(s)),hasValues:()=>!ie(U),hasValue:e=>le(U,p(e)),getTablesJson:()=>O($),getValuesJson:()=>O(U),getJson:()=>O([$,U]),getTablesSchemaJson:()=>O(x),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([x,N]),setContent:([e,t])=>Nt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>Nt((e=>qe(t,e)?dt(e,t):0),e),setRow:(e,t,s)=>Nt(((e,t)=>et(e,t,s)?ut(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ls((()=>{let n;return et(e,n,t)&&(e=p(e),ut(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Nt(((e,t)=>{if(et(e,t,s,1)){const n=Rt(e);oe(s,((s,o)=>gt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Nt(((e,t,s)=>G(tt(e,t,s,K(n)?n(Gt(e,t,s)):n),(n=>gt(e,Rt(e),t,s,n)))),e,t,s),setValues:Yt,setPartialValues:e=>Nt((()=>st(e,1)?oe(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Nt((e=>G(nt(e,K(t)?t(Ut(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Nt((()=>{oe(e[0],((e,t)=>q(e)?ss(t):oe(e,((e,s)=>q(e)?ns(t,s):oe(e,((e,n)=>me(ds,t,s,n,e))))))),oe(e[1],((e,t)=>Ee(ds,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{ft(W(e))}catch{}return ds},setJson:e=>{try{const[t,s]=W(e);it(t),ft(s)}catch{Zt(e)}return ds},setTablesSchema:_t,setValuesSchema:es,setSchema:(e,t)=>Nt((()=>{_t(e),es(t)})),delTables:ts,delTable:ss,delRow:ns,delCell:(e,t,s,n)=>Nt(((e,t,s)=>G(Le($,e),(o=>G(Le(o,t),(a=>le(a,s)?Tt(e,o,t,a,s,n):0))))),e,t,s),delValues:os,delValue:e=>Nt((e=>le(U,e)?Ct(e):0),e),delTablesSchema:as,delValuesSchema:rs,delSchema:()=>Nt((()=>{as(),rs()})),transaction:ls,startTransaction:is,finishTransaction:cs,forEachTable:e=>ue($,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachRow:(e,t)=>ue(Le($,p(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le($,p(e)),p(t)),s),forEachValue:e=>we(U,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=$t(e,t,s,n,o);return We((()=>{const r=$t(e,t,s,n,o);V(r,l)||(l=r,a(ds,e,t,s,n,o,l))}),te[r?1:0],[e,t],[Pt])},addWillFinishTransactionListener:e=>We(e,Oe[0]),addDidFinishTransactionListener:e=>We(e,Oe[1]),callListener:e=>(Be(e),ds),delListener:e=>(Pe(e),ds),getListenerStats:()=>({}),createStore:_e};return oe({[g]:[0,X],[f]:[0,Y],[h]:[1,Z,[Pt]],[w]:[1,_,[Pt]],[L]:[2,re,[Pt,Bt]],[S]:[2,ce,[Pt,Bt]],[R]:[3,be,[Pt,Bt,qt],e=>Ge(Gt(...e))],InvalidCell:[3,De],[T]:[0,Ae],[C]:[0,xe],[I]:[1,ze,[Kt],e=>Ge(Ut(e[0]))],InvalidValue:[1,Je]},(([e,t,s,n],o)=>{ds[d+o+i]=(...o)=>We(o[e],t[o[e+1]?1:0],e>0?F(o,0,e):void 0,s,n)})),ee(ds)};export{ze as createCheckpoints,Be as createCustomPersister,Oe as createIndexes,Pe as createMetrics,$e as createQueries,qe as createRelationships,_e as createStore,Ne as defaultSorter};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),o=e(0),a=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,v="Sorted"+L+u,R="Cell",S=R+u,I="Value",T=I+"s",C=I+u,p=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>x(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),x=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?x([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,j=Math.max,P=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==a,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>delete e[t],oe=(e,t)=>M(Y.entries(e),(([e,s])=>t(s,e))),ae=e=>te(e)&&A(Z(e)),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),Re=(e,t,s)=>(le(e,t)||ve(e,t,s()),Le(e,t)),Se=(e,t,s)=>{const n={};return ue(e,((e,o)=>{const a=t?t(e,o):e;!s?.(a,e)&&(n[o]=a)})),n},Ie=(e,t,s)=>Se(e,(e=>Se(e,t,s)),ae),Te=(e,t,s)=>Se(e,(e=>Ie(e,t,s)),ae),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),ye=e=>Ce(e,pe),be=(e,t,s,n,o=0)=>G((s?Re:Le)(e,t[o],o>J(t)-2?s:ge),(a=>{if(o>J(t)-2)return n?.(a)&&ve(e,t[o]),a;const r=be(a,t,s,n,o+1);return ie(a)&&ve(e,t[o]),r})),Ve=t=>{const s=e(t);return H(s)||s==o&&B(t)?s:void 0},me=(e,t,s,n,o)=>q(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,o=ge(),a=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const o=Re(i,t,ke);return k(n,(t=>Me(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(A(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(i,t)})),u=(e,s)=>{ve(o,e,s),le(a,e)||(ve(a,e,t()),ve(r,e,ge()),ve(l,e,ge()))},h=e=>{ve(o,e),ve(a,e),ve(r,e),ve(l,e),d(e)};return[()=>e,()=>fe(o),e=>we(a,e),e=>le(a,e),e=>Le(o,e),e=>Le(a,e),(e,t)=>ve(a,e,t),u,(t,o,a,i,h)=>{u(t,o);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),v=t=>{const a=s=>e.getCell(o,t,s),r=Le(L,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||ve(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ve(f,t,s)}},R=e=>{a((()=>{ue(g,(([,e],t)=>ve(L,t,e))),ue(f,((e,t)=>ve(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,v),e.hasTable(o)&&k(e.getRowIds(o),(e=>{le(L,e)||v(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>R())))},h,()=>we(i,h),c,d]},Je=(n,o)=>e(n)==s?e=>e(n):n??(()=>o??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},xe=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{xe.test(t)&&J(e)<1e3&&Q(e,t)}]},Qe=e=>{let s;const[n,o]=Fe(),a=ge();return[(o,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return ve(a,d,[o,r,l,i,c]),Me(be(r,l??[t],ke),d),d},(e,n,...o)=>k(((e,s=[t])=>{const n=[],o=(e,t)=>t==J(s)?Q(n,e):null===s[t]?ue(e,(e=>o(e,t+1))):k([s[t],null],(s=>o(Le(e,s),t+1)));return o(e,0),n})(e,n),(e=>ue(e,(e=>Le(a,e)[0](s,...n??[],...o))))),e=>G(Le(a,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(a,e),o(e),n))),e=>G(Le(a,e),(([e,,t=[],n,o])=>{const a=(...r)=>{const l=J(r);l==J(t)?e(s,...r,...o(r)):q(t[l])?k(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,t[l])};a()}))]},ze=Ae((e=>{let s,n,o,a=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=Qe((()=>W)),f=ge(),L=ge(),w=[],v=[],R=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=Le(f,s);ue(n,((s,n)=>ue(s,((s,o)=>ue(s,((s,a)=>me(e,n,o,a,s[t]))))))),ue(o,((s,n)=>Ee(e,n,s[t])))})),i=1},S=e=>{ve(f,e),ve(L,e),h(d,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??J(e)),S),T=()=>I(w,J(w)-a),C=()=>G(s,(()=>{Q(w,s),T(),I(v),s=void 0,o=1})),p=()=>{s=z(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){C();const e=Re(r,t,ge),l=Re(e,s,ge),i=Re(l,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&ie(ve(l,n))&&ie(ve(e,s))&&ie(ve(r,t))&&p(),D()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){C();const e=Re(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(l,t))&&p(),D()}})),m=(e="")=>(q(s)&&(s=t+n++,ve(f,s,[r,l]),F(s,e),r=ge(),l=ge(),o=1),s),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),R(0,s),s=z(w),o=1)},M=()=>{A(v)||(Q(w,s),s=N(v),R(1,s),o=1)},D=()=>{o&&(h(c),o=0)},x=e=>{const t=m(e);return D(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(ve(L,e,t),h(d,[e])),W),O=e=>le(f,e),W={setSize:e=>(a=e,T(),W),addCheckpoint:x,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(E(),D(),W),goForward:()=>(M(),D(),W),goTo:e=>{const t=y(w,e)?E:y(v,e)?M:null;for(;!q(t)&&e!=s;)t();return D(),W},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),W),clear:()=>(I(w),I(v),q(s)||S(s),s=void 0,n=0,x(),W),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(W.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=Ae((e=>{const s=ge(),n=ge(),[o,a,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?M(e,p):p(e))),[f,L,w]=Qe((()=>R)),v=(t,s,n)=>{const o=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},R={setIndexDefinition:(e,t,o,a,r,l=Ne)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,o,r,u,h,g)=>{let f=0;const w=ke(),v=ke(),R=c(e);if(ue(o,(([e,t],s)=>{const n=ke(e),o=ke(t);ue(n,(e=>he(o,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(R,e),(t=>{he(t,s),ie(t)&&(ve(R,e),f=1)}))})),ue(o,(e=>{Me(w,e),le(R,e)||(ve(R,e,ke()),f=1),Me(Le(R,e),s),q(a)||Me(v,e)}))})),t(),ie(h)||(g?we(R,(e=>Me(v,e))):we(r,(e=>G(Le(u,e),(e=>Me(v,e))))),ue(v,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(R,e)];m(s,t)||(ve(R,e,ke(E(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...R];m(t,i)||(d(e,ge(E(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(o),G(a,Je)),R},delIndexDefinition:e=>(h(e),R),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),R),destroy:g,getListenerStats:()=>({})};return ee(R)})),We=ge([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,o,a=!1)=>{if(ie(s))return;const[r,l,i,c]=o;return a||=q(e),ue(n,(([s,n])=>{a||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),a||=q(e))})),a?r(ce(s),re(s)):e},Pe=Ae((e=>{const s=ge(),[n,o,a,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=Qe((()=>w)),w={setMetricDefinition:(e,t,n,o,a,r,l)=>{const u=K(n)?[n,a,r,l]:Le(We,n)??Le(We,"sum");return d(e,t,((t,n,o,a,r,l)=>{const d=i(e),h=re(a);l||=q(d),t();let g=je(d,h,a,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),Be=(e,t,s,n,o)=>{let a,r,l=0,i=!1;const c=async e=>{2!=l&&(l=1,await e(),l=0)},d={load:async(s={},n={})=>(await c((async()=>{let o;try{o=await t()}catch{}e.setContent(o??[s,n])})),d),startAutoLoad:async(s={},o={})=>(d.stopAutoLoad(),await d.load(s,o),i=!0,r=n((async(s,n)=>{await c((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),d),stopAutoLoad:()=>(i&&(o(r),r=void 0,i=!1),d),save:async t=>(1!=l&&(l=2,await s(e.getContent,t),l=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>d.save(t))),d),stopAutoSave:()=>(G(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(d)},$e=Ae((e=>{const s=e.createStore,[n,o,a,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),C=s(),p=s(),y=ge(),V=(e,t,...s)=>k(s,(s=>Me(Re(Re(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),k([p,C],(t=>t.delTable(e)))},E=(e,t,s)=>V(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),M={setQueryDefinition:(s,n,o)=>{u(s,n),m(s);const a=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];o({select:(e,s)=>{const n=K(e)?[J(a)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,o=q(n)?t:s,a=[e,[e,n,K(o)?o:e=>e(o),[],ge()]];return Q(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,K(t)?[t,s,n,o]:Le(We,t)??[(e,t)=>t]]];return Q(i,a),{as:e=>a[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(a);if(ie(d))return M;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=C;if(ie(g)&&A(c))f=p;else{E(s,f,p);const e=ge();we(g,((t,[s,n])=>Me(Re(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),o=(t,n,o,a)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=Re(r,t,ge),l=Le(n,o),i=a?void 0:s;if(l!==i){const s=ke([[l,i]]),a=re(n);ve(n,o,i),ue(Le(e,t),(([e,t])=>{const o=je(d[e],a,n,s,t);d[e]=q(Ve(o))?null:o}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?p.delRow(s,i):q(i)?t[2]=p.addRow(s,d):p.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,o]=i(s,l,e);Q(c,n),Q(d,o),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&ve(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}E(s,e,f);const L=(t,o,a,r)=>{const i=t=>e.getCell(o,a,t);k(r,(n=>{const[o,,a,r,l]=Le(h,n),c=a?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),ve(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(o,c,(()=>L(t,o,c,r))))]))})),(t=>{const o=(s,o)=>e.getCell(...q(o)?[n,t,s]:s===n?[n,t,o]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],o]);f.transaction((()=>b(l,(e=>e(o)))?we(d,((e,n)=>me(f,s,t,e,n(o,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,o,a)=>{e.hasRow(n,a)?L(a,n,a,w):(f.delRow(s,a),ue(h,(({4:e})=>G(Le(e,a),(([,t])=>{T(s,t),ve(e,a)})))))}))))),M},delQueryDefinition:e=>(m(e),g(e),M),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),M),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return oe({[h]:[1,1],[w]:[0,1],[v]:[0,5],[L]:[1,2],[S]:[0,2],[R]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>M[e+c+s]=(...t)=>p[e+s](...t))),M[d+c+s+i]=(...e)=>p[d+s+i](...F(e,0,t),((s,...n)=>e[t](M,...n)))})),ee(M)})),qe=Ae((e=>{const s=ge(),n=ge(),o=ge(),a=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,v]=Qe((()=>T)),R=(e,t,s)=>G(u(e),(([n,,o])=>{if(!le(o,t)){const a=ke();if(d(e)!=I(e))Me(a,t);else{let e=t;for(;!q(e)&&!le(a,e);)Me(a,e),e=Le(n,e)}if(s)return a;ve(o,t,a)}return Le(o,t)})),S=(e,t)=>G(u(e),(([,,e])=>ve(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(ve(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&ve(d,t)}))),q(s)||(Me(l,s),le(d,s)||ve(d,s,ke()),Me(Le(d,s),n)),Me(r,n),ve(c,n,s),we(Le(a,e),(t=>{le(R(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(o,[e,t]))),ue(i,(t=>{S(e,t),w(a,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(ve(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),L(s,a,[e,t])),delListener:e=>(S(...v(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s,n=ve)=>(oe(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ye=(e,t,s)=>q(e)||!te(e)||ae(e)||_(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ne(e,n)})),!ae(e)),Ze=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),_e=()=>{let e,t,s,n,a=0;const c=ge(),u=ge(),v=ge(),b=ge(),m=ge(),D=ge(),J=ge(),A=ge(),x=ge(),z=ge(),N=ge(),j=ge(),P=ke(),B=ge(),$=ge(),U=ge(),X=He(),Y=He(),Z=He(),_=He(),te=He(),re=He(),ce=He(),be=He(),De=He(),Je=He(),Ae=He(),xe=He(),ze=He(),Oe=He(),[We,je,Pe,Be]=Qe((()=>ds)),$e=e=>{if(!Ye(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},qe=(t,s)=>(!e||le(x,s)||kt(s))&&Ye(t,((e,t)=>et(s,t,e)),(()=>kt(s))),et=(e,t,s,n)=>Ye(n?s:ot(s,e,t),((n,o)=>G(tt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>kt(e,t))),tt=(t,s,n,o)=>e?G(Le(Le(x,t),n),(e=>Ve(o)!=e[r]?kt(t,s,n,o,e[l]):o),(()=>kt(t,s,n,o))):q(Ve(o))?kt(t,s,n,o):o,st=(e,t)=>Ye(t?e:at(e),((t,s)=>G(nt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Mt())),nt=(e,s)=>t?G(Le(N,e),(t=>Ve(s)!=t[r]?Mt(e,s,t[l]):s),(()=>Mt(e,s))):q(Ve(s))?Mt(e,s):s,ot=(e,t,s)=>(G(Le(z,t),(([n,o])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(o,(n=>{se(e,n)||kt(t,s,n)}))})),e),at=e=>(t&&(ue(j,((t,s)=>{se(e,s)||(e[s]=t)})),ue(P,(t=>{se(e,t)||Mt(t)}))),e),rt=e=>Xe(x,e,((e,t,s)=>{const n=ge(),o=ke();Xe(Re(x,t,ge),s,((e,t,s)=>{ve(e,t,s),G(s[l],(e=>ve(n,t,e)),(()=>Me(o,t)))})),ve(z,t,[n,o])}),((e,t)=>{ve(x,t),ve(z,t)})),lt=e=>Xe(N,e,((e,t,s)=>{ve(N,t,s),G(s[l],(e=>ve(j,t,e)),(()=>Me(P,t)))}),((e,t)=>{ve(N,t),ve(j,t),he(P,t)})),it=e=>ae(e)?ts():Xt(e),ct=e=>Xe($,e,((e,t,s)=>dt(t,s)),((e,t)=>St(t))),dt=(e,t)=>Xe(Re($,e,(()=>(pt(e,1),ge()))),t,((t,s,n)=>ut(e,t,s,n)),((t,s)=>It(e,t,s))),ut=(e,t,s,n,o)=>Xe(Re(t,s,(()=>(yt(e,s,1),ge()))),n,((t,n,o)=>ht(e,s,t,n,o)),((n,a)=>Tt(e,t,s,n,a,o))),ht=(e,t,s,n,o)=>{le(s,n)||bt(e,t,n,1);const a=Le(s,n);o!==a&&(Vt(e,t,n,a,o),ve(s,n,o))},gt=(e,t,s,n,o)=>G(Le(t,s),(t=>ht(e,s,t,n,o)),(()=>ut(e,t,s,ot({[n]:o},e,s)))),ft=e=>ae(e)?os():Yt(e),Lt=e=>Xe(U,e,((e,t,s)=>wt(t,s)),((e,t)=>Ct(t))),wt=(e,t)=>{le(U,e)||mt(e,1);const s=Le(U,e);t!==s&&(Et(e,s,t),ve(U,e,t))},vt=(e,t)=>{const[s]=Re(B,e,Fe),n=s(t);return le(Le($,e),n)?vt(e,t):n},Rt=e=>Le($,e)??dt(e,{}),St=e=>dt(e,{}),It=(e,t,s)=>{const[,n]=Re(B,e,Fe);n(s),ut(e,t,s,{},!0)},Tt=(e,t,s,n,o,a)=>{const r=Le(Le(z,e)?.[0],o);if(!q(r)&&!a)return ht(e,s,n,o,r);const l=t=>{Vt(e,s,t,Le(n,t)),bt(e,s,t,-1),ve(n,t)};q(r)?l(o):we(n,l),ie(n)&&(yt(e,s,-1),ie(ve(t,s))&&(pt(e,-1),ve($,e),ve(B,e)))},Ct=e=>{const t=Le(j,e);if(!q(t))return wt(e,t);Et(e,Le(U,e)),mt(e,-1),ve(U,e)},pt=(e,t)=>Ze(c,e,t),yt=(e,t,s)=>Ze(Re(u,e,ge),t,s),bt=(e,t,s,n)=>Ze(Re(Re(v,e,ge),t,ge),s,n),Vt=(e,t,s,n,o)=>Re(Re(Re(b,e,ge),t,ge),s,(()=>[n,0]))[1]=o,mt=(e,t)=>Ze(m,e,t),Et=(e,t,s)=>Re(D,e,(()=>[t,0]))[1]=s,kt=(e,t,s,n,o)=>(Q(Re(Re(Re(J,e,ge),t,ge),s,(()=>[])),n),o),Mt=(e,t,s)=>(Q(Re(A,e,(()=>[])),t),s),Dt=(e,t,s)=>G(Le(Le(Le(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Gt(e,t,s))])),Jt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Ut(e))])),At=e=>ie(J)||ie(De[e])?0:ue(e?ye(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,o)=>je(De[e],[s,n,o],t))))))),xt=e=>ie(A)||ie(Je[e])?0:ue(e?Ce(A):A,((t,s)=>je(Je[e],[s],t))),Ft=(e,t,s)=>{if(!ie(t))return je(e,s),1},Qt=e=>{const t=ie(te[e]),s=ie(ce[e])&&ie(_[e])&&t&&ie(Y[e]),n=ie(be[e])&&ie(re[e])&&ie(Z[e])&&ie(X[e]);if(!s||!n){const o=e?[Ce(c),pe(u),ye(v),ye(b)]:[c,u,v,b];if(!s){ue(o[2],((t,s)=>ue(t,((t,n)=>Ft(ce[e],t,[s,n])))));const s=ke();ue(o[1],((n,o)=>{Ft(_[e],n,[o])&&!t&&(je(te[e],[o,null]),Me(s,o))})),t||ue(o[3],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],o)=>n!==t?Me(s,o):he(e,o))))),ue(s,(t=>je(te[e],[n,t])))}})),Ft(Y[e],o[0])}if(!n){let t;ue(o[3],((s,n)=>{let o;ue(s,((s,a)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(je(be[e],[n,a,i],l,s,Dt),t=o=r=1)})),r&&je(re[e],[n,a],Dt)})),o&&je(Z[e],[n],Dt)})),t&&je(X[e],void 0,Dt)}}},zt=e=>{const t=ie(xe[e]),s=ie(ze[e])&&ie(Ae[e]);if(!t||!s){const n=e?[Ce(m),Ce(D)]:[m,D];if(t||Ft(xe[e],n[0]),!s){let t;ue(n[1],(([s,n],o)=>{n!==s&&(je(ze[e],[o],n,s,Jt),t=1)})),t&&je(Ae[e],void 0,Jt)}}},Nt=(e,...t)=>(ls((()=>e(...M(t,p)))),ds),Ot=()=>[Se(b,((e,t)=>-1===Le(c,t)?null:Se(e,((e,s)=>-1===Le(Le(u,t),s)?null:Se(e,(([,e])=>e??null),((e,t)=>Ue(t)))),ae)),ae),Se(D,(([,e])=>e??null),((e,t)=>Ue(t)))],Wt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(b,Ke,Ue),invalidCells:Te(J),changedValues:Se(D,Ke,Ue),invalidValues:Se(A),changedTableIds:Se(c),changedRowIds:Ie(u),changedCellIds:Te(v),changedValueIds:Se(m)}),jt=()=>Te($),Pt=()=>fe($),Bt=e=>fe(Le($,p(e))),$t=(e,t,s,n=0,o)=>{return M(F(E((a=Le($,p(e)),r=(e,s)=>[q(t)?s:Le(e,p(t)),s],M([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,q(o)?o:n+o),(([,e])=>e));var a,r},qt=(e,t)=>fe(Le(Le($,p(e)),p(t))),Gt=(e,t,s)=>Le(Le(Le($,p(e)),p(t)),p(s)),Ht=()=>Se(U),Kt=()=>fe(U),Ut=e=>Le(U,p(e)),Xt=e=>Nt((()=>(e=>Ye(e,qe,kt))(e)?ct(e):0)),Yt=e=>Nt((()=>st(e)?Lt(e):0)),Zt=e=>{try{it(W(e))}catch{}return ds},_t=t=>Nt((()=>{if((e=Ye(t,(e=>Ye(e,$e))))&&(rt(t),!ie($))){const e=jt();ts(),Xt(e)}})),es=e=>Nt((()=>{if(t=(e=>Ye(e,$e))(e)){const s=Ht();rs(),os(),t=!0,lt(e),Yt(s)}})),ts=()=>Nt((()=>ct({}))),ss=e=>Nt((e=>le($,e)?St(e):0),e),ns=(e,t)=>Nt(((e,t)=>G(Le($,e),(s=>le(s,t)?It(e,s,t):0))),e,t),os=()=>Nt((()=>Lt({}))),as=()=>Nt((()=>{rt({}),e=!1})),rs=()=>Nt((()=>{lt({}),t=!1})),ls=(e,t)=>{if(-1==a)return;is();const s=e();return cs(t),s},is=()=>(a++,ds),cs=e=>(a>0&&(a--,0==a&&(s=!ie(b),n=!ie(D),a=1,At(1),s&&Qt(1),xt(1),n&&zt(1),a=-1,e?.(Ot,Wt)&&(a=1,ue(b,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>me(ds,t,s,n,e))))))),ue(D,(([e],t)=>Ee(ds,t,e))),a=-1,s=n=!1),je(Oe[0],void 0,Ot,Wt),At(0),s&&Qt(0),xt(0),n&&zt(0),je(Oe[1],void 0,Ot,Wt),a=0,k([c,u,v,b,J,m,D,A],de))),ds),ds={getContent:()=>[jt(),Ht()],getTables:jt,getTableIds:Pt,getTable:e=>Ie(Le($,p(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Se(Le(Le($,p(e)),p(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ie($),hasTable:e=>le($,p(e)),hasRow:(e,t)=>le(Le($,p(e)),p(t)),hasCell:(e,t,s)=>le(Le(Le($,p(e)),p(t)),p(s)),hasValues:()=>!ie(U),hasValue:e=>le(U,p(e)),getTablesJson:()=>O($),getValuesJson:()=>O(U),getJson:()=>O([$,U]),getTablesSchemaJson:()=>O(x),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([x,N]),setContent:([e,t])=>Nt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>Nt((e=>qe(t,e)?dt(e,t):0),e),setRow:(e,t,s)=>Nt(((e,t)=>et(e,t,s)?ut(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ls((()=>{let n;return et(e,n,t)&&(e=p(e),ut(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Nt(((e,t)=>{if(et(e,t,s,1)){const n=Rt(e);oe(s,((s,o)=>gt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Nt(((e,t,s)=>G(tt(e,t,s,K(n)?n(Gt(e,t,s)):n),(n=>gt(e,Rt(e),t,s,n)))),e,t,s),setValues:Yt,setPartialValues:e=>Nt((()=>st(e,1)?oe(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Nt((e=>G(nt(e,K(t)?t(Ut(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Nt((()=>{oe(e[0],((e,t)=>q(e)?ss(t):oe(e,((e,s)=>q(e)?ns(t,s):oe(e,((e,n)=>me(ds,t,s,n,e))))))),oe(e[1],((e,t)=>Ee(ds,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{ft(W(e))}catch{}return ds},setJson:e=>{try{const[t,s]=W(e);it(t),ft(s)}catch{Zt(e)}return ds},setTablesSchema:_t,setValuesSchema:es,setSchema:(e,t)=>Nt((()=>{_t(e),es(t)})),delTables:ts,delTable:ss,delRow:ns,delCell:(e,t,s,n)=>Nt(((e,t,s)=>G(Le($,e),(o=>G(Le(o,t),(a=>le(a,s)?Tt(e,o,t,a,s,n):0))))),e,t,s),delValues:os,delValue:e=>Nt((e=>le(U,e)?Ct(e):0),e),delTablesSchema:as,delValuesSchema:rs,delSchema:()=>Nt((()=>{as(),rs()})),transaction:ls,startTransaction:is,finishTransaction:cs,forEachTable:e=>ue($,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachRow:(e,t)=>ue(Le($,p(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le($,p(e)),p(t)),s),forEachValue:e=>we(U,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=$t(e,t,s,n,o);return We((()=>{const r=$t(e,t,s,n,o);V(r,l)||(l=r,a(ds,e,t,s,n,o,l))}),te[r?1:0],[e,t],[Pt])},addWillFinishTransactionListener:e=>We(e,Oe[0]),addDidFinishTransactionListener:e=>We(e,Oe[1]),callListener:e=>(Be(e),ds),delListener:e=>(Pe(e),ds),getListenerStats:()=>({}),createStore:_e};return oe({[g]:[0,X],[f]:[0,Y],[h]:[1,Z,[Pt]],[w]:[1,_,[Pt]],[L]:[2,re,[Pt,Bt]],[S]:[2,ce,[Pt,Bt]],[R]:[3,be,[Pt,Bt,qt],e=>Ge(Gt(...e))],InvalidCell:[3,De],[T]:[0,Ae],[C]:[0,xe],[I]:[1,ze,[Kt],e=>Ge(Ut(e[0]))],InvalidValue:[1,Je]},(([e,t,s,n],o)=>{ds[d+o+i]=(...o)=>We(o[e],t[o[e+1]?1:0],e>0?F(o,0,e):void 0,s,n)})),ee(ds)};export{ze as createCheckpoints,Be as createCustomPersister,Oe as createIndexes,Pe as createMetrics,$e as createQueries,qe as createRelationships,_e as createStore,Ne as defaultSorter};
Binary file