tinybase 4.0.0-beta.2 → 4.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) 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/queries.cjs +1 -1
  14. package/lib/cjs/queries.cjs.gz +0 -0
  15. package/lib/cjs/store.cjs +1 -1
  16. package/lib/cjs/store.cjs.gz +0 -0
  17. package/lib/cjs/tinybase.cjs +1 -1
  18. package/lib/cjs/tinybase.cjs.gz +0 -0
  19. package/lib/cjs/tools.cjs +1 -1
  20. package/lib/cjs/tools.cjs.gz +0 -0
  21. package/lib/cjs-es6/persister-automerge.cjs +1 -0
  22. package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
  23. package/lib/cjs-es6/persister-browser.cjs +1 -1
  24. package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
  25. package/lib/cjs-es6/persister-file.cjs +1 -1
  26. package/lib/cjs-es6/persister-file.cjs.gz +0 -0
  27. package/lib/cjs-es6/persister-remote.cjs +1 -1
  28. package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
  29. package/lib/cjs-es6/persister-yjs.cjs +1 -1
  30. package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters.cjs +1 -1
  32. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  33. package/lib/cjs-es6/queries.cjs +1 -1
  34. package/lib/cjs-es6/queries.cjs.gz +0 -0
  35. package/lib/cjs-es6/store.cjs +1 -1
  36. package/lib/cjs-es6/store.cjs.gz +0 -0
  37. package/lib/cjs-es6/tinybase.cjs +1 -1
  38. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  39. package/lib/cjs-es6/tools.cjs +1 -1
  40. package/lib/cjs-es6/tools.cjs.gz +0 -0
  41. package/lib/debug/persister-automerge.js +257 -0
  42. package/lib/debug/persister-browser.js +2 -2
  43. package/lib/debug/persister-file.js +2 -2
  44. package/lib/debug/persister-remote.js +2 -2
  45. package/lib/debug/persister-yjs.js +3 -3
  46. package/lib/debug/persisters.js +2 -2
  47. package/lib/debug/queries.js +1 -1
  48. package/lib/debug/store.js +27 -13
  49. package/lib/debug/tinybase.js +30 -16
  50. package/lib/debug/tools.js +50 -2
  51. package/lib/es6/persister-automerge.js +1 -0
  52. package/lib/es6/persister-automerge.js.gz +0 -0
  53. package/lib/es6/persister-browser.js +1 -1
  54. package/lib/es6/persister-browser.js.gz +0 -0
  55. package/lib/es6/persister-file.js +1 -1
  56. package/lib/es6/persister-file.js.gz +0 -0
  57. package/lib/es6/persister-remote.js +1 -1
  58. package/lib/es6/persister-remote.js.gz +0 -0
  59. package/lib/es6/persister-yjs.js +1 -1
  60. package/lib/es6/persister-yjs.js.gz +0 -0
  61. package/lib/es6/persisters.js +1 -1
  62. package/lib/es6/persisters.js.gz +0 -0
  63. package/lib/es6/queries.js +1 -1
  64. package/lib/es6/queries.js.gz +0 -0
  65. package/lib/es6/store.js +1 -1
  66. package/lib/es6/store.js.gz +0 -0
  67. package/lib/es6/tinybase.js +1 -1
  68. package/lib/es6/tinybase.js.gz +0 -0
  69. package/lib/es6/tools.js +1 -1
  70. package/lib/es6/tools.js.gz +0 -0
  71. package/lib/persister-automerge.js +1 -0
  72. package/lib/persister-automerge.js.gz +0 -0
  73. package/lib/persister-browser.js +1 -1
  74. package/lib/persister-browser.js.gz +0 -0
  75. package/lib/persister-file.js +1 -1
  76. package/lib/persister-file.js.gz +0 -0
  77. package/lib/persister-remote.js +1 -1
  78. package/lib/persister-remote.js.gz +0 -0
  79. package/lib/persister-yjs.js +1 -1
  80. package/lib/persister-yjs.js.gz +0 -0
  81. package/lib/persisters.js +1 -1
  82. package/lib/persisters.js.gz +0 -0
  83. package/lib/queries.js +1 -1
  84. package/lib/queries.js.gz +0 -0
  85. package/lib/store.js +1 -1
  86. package/lib/store.js.gz +0 -0
  87. package/lib/tinybase.js +1 -1
  88. package/lib/tinybase.js.gz +0 -0
  89. package/lib/tools.js +1 -1
  90. package/lib/tools.js.gz +0 -0
  91. package/lib/types/persister-automerge.d.ts +110 -0
  92. package/lib/types/persister-yjs.d.ts +3 -2
  93. package/lib/types/persisters.d.ts +8 -8
  94. package/lib/types/store.d.ts +53 -0
  95. package/lib/types/tools.d.ts +4 -4
  96. package/lib/types/with-schemas/persister-automerge.d.ts +120 -0
  97. package/lib/types/with-schemas/persister-yjs.d.ts +3 -2
  98. package/lib/types/with-schemas/persisters.d.ts +8 -8
  99. package/lib/types/with-schemas/store.d.ts +59 -0
  100. package/lib/types/with-schemas/tools.d.ts +4 -4
  101. package/lib/umd/persister-automerge.js +1 -0
  102. package/lib/umd/persister-automerge.js.gz +0 -0
  103. package/lib/umd/persister-browser.js +1 -1
  104. package/lib/umd/persister-browser.js.gz +0 -0
  105. package/lib/umd/persister-file.js +1 -1
  106. package/lib/umd/persister-file.js.gz +0 -0
  107. package/lib/umd/persister-remote.js +1 -1
  108. package/lib/umd/persister-remote.js.gz +0 -0
  109. package/lib/umd/persister-yjs.js +1 -1
  110. package/lib/umd/persister-yjs.js.gz +0 -0
  111. package/lib/umd/persisters.js +1 -1
  112. package/lib/umd/persisters.js.gz +0 -0
  113. package/lib/umd/queries.js +1 -1
  114. package/lib/umd/queries.js.gz +0 -0
  115. package/lib/umd/store.js +1 -1
  116. package/lib/umd/store.js.gz +0 -0
  117. package/lib/umd/tinybase.js +1 -1
  118. package/lib/umd/tinybase.js.gz +0 -0
  119. package/lib/umd/tools.js +1 -1
  120. package/lib/umd/tools.js.gz +0 -0
  121. package/lib/umd-es6/persister-automerge.js +1 -0
  122. package/lib/umd-es6/persister-automerge.js.gz +0 -0
  123. package/lib/umd-es6/persister-browser.js +1 -1
  124. package/lib/umd-es6/persister-browser.js.gz +0 -0
  125. package/lib/umd-es6/persister-file.js +1 -1
  126. package/lib/umd-es6/persister-file.js.gz +0 -0
  127. package/lib/umd-es6/persister-remote.js +1 -1
  128. package/lib/umd-es6/persister-remote.js.gz +0 -0
  129. package/lib/umd-es6/persister-yjs.js +1 -1
  130. package/lib/umd-es6/persister-yjs.js.gz +0 -0
  131. package/lib/umd-es6/persisters.js +1 -1
  132. package/lib/umd-es6/persisters.js.gz +0 -0
  133. package/lib/umd-es6/queries.js +1 -1
  134. package/lib/umd-es6/queries.js.gz +0 -0
  135. package/lib/umd-es6/store.js +1 -1
  136. package/lib/umd-es6/store.js.gz +0 -0
  137. package/lib/umd-es6/tinybase.js +1 -1
  138. package/lib/umd-es6/tinybase.js.gz +0 -0
  139. package/lib/umd-es6/tools.js +1 -1
  140. package/lib/umd-es6/tools.js.gz +0 -0
  141. package/package.json +56 -26
  142. package/readme.md +3 -3
@@ -0,0 +1 @@
1
+ "use strict";const t=t=>t.length,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=s.keys,o=s.freeze,r=(t,e)=>a(t,(t=>t[e])),c=(t,a)=>!e(r(t,a)),i=(t,e)=>delete t[e],d=(t,e)=>((t,e)=>t.map(e))(s.entries(t),(([t,a])=>e(a,t))),u=e=>{return(t=>t instanceof s&&t.constructor==s)(e)&&(a=n(e),0==t(a));var a},v=(t,e)=>[t[e].t,t[e].v],y=(t,a,s,n)=>{const o=e(a)?t:((t,e,a)=>(c(t,e)||(t[e]={}),t[e]))(t,a);let r;return d(s,((t,e)=>{n(o,e,t)&&(r=1)})),d(o,((t,e)=>{c(s,e)||(i(o,e),r=1)})),!e(a)&&u(o)&&i(t,a),r};exports.createAutomergePersister=(s,c,l="tinybase")=>(c.change((t=>t[l]={})),((t,s,n,g,h)=>{let A,p,w=0,L=!1;const S=async t=>{2!=w&&(w=1,await t(),w=0)},f={load:async(e={},a={})=>(await S((async()=>{let n;try{n=await s()}catch{}t.setContent(n??[e,a])})),f),startAutoLoad:async(e={},a={})=>(f.stopAutoLoad(),await f.load(e,a),L=!0,p=(e=>{const a=({doc:e})=>(async(e,a)=>{await S((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await s())}catch{}}))})((()=>v(e,l)));return c.on("change",a),a})(),f),stopAutoLoad:()=>{return L&&(t=p,c.removeListener("change",t),p=void 0,L=!1),f;var t},save:async s=>(1!=w&&(w=2,await(async(t,s)=>{c.change((n=>((t,s,n,o)=>{((t,e)=>{u(t[e])&&(t[e]={t:{},v:{}})})(t,s);const[c,l]=v(t,s),g=()=>{h=1};let h=1;if(a(o?.(),(([t,s])=>{h=0,d(t,((t,s)=>h?0:e(t)?i(c,s):a(c[s],(s=>d(t,((t,n)=>h?0:e(t)?i(s,n):a(r(s,n),(a=>d(t,((t,s)=>e(t)?i(a,s):a[s]=t))),g)))),g))),d(s,((t,a)=>h?0:e(t)?i(l,a):l[a]=t))})),h){const[t,e]=n();y(c,void 0,t,((t,e,a)=>y(c,e,a,((t,e,a)=>y(t,e,a,((t,e,a)=>{if(r(t,e)!==a)return t[e]=a,1})))))),y(l,void 0,e,((t,e,a)=>{r(l,e)!==a&&(l[e]=a)}))}})(n,l,t,s)))})(t.getContent,s),w=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>f.save(e))),f),stopAutoSave:()=>(a(A,t.delListener),f),getStore:()=>t,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(f)})(s,(async()=>2==t(n(c.doc[l]))?v(c.doc,l):void 0)));
@@ -1 +1 @@
1
- "use strict";const t=Object.freeze,e="storage",a=globalThis.window,s=(s,r,n)=>((s,o,i,c,u)=>{let d,v,y=0,l=!1;const S=async t=>{2!=y&&(y=1,await t(),y=0)},g={load:async(t,e)=>(await S((async()=>{let a;try{a=await o()}catch{}s.setContent(a??[t,e])})),g),startAutoLoad:async(t,i)=>(g.stopAutoLoad(),await g.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===n&&t.key===r&&(async(t,e)=>{await S((async()=>{if(e)s.setTransactionChanges(e());else try{s.setContent(t?.()??await o())}catch{}}))})((()=>JSON.parse(t.newValue)))};return a.addEventListener(e,i),i})(),g),stopAutoLoad:()=>{return l&&(t=v,a.removeEventListener(e,t),v=void 0,l=!1),g;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return n.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))));var e})(s.getContent),y=0),g),startAutoSave:async()=>(await g.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,e)=>g.save(e))),g),stopAutoSave:()=>{var t,e;return t=d,e=s.delListener,null==t||e(t),g},getStore:()=>s,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(s,(async()=>JSON.parse(n.getItem(r))));exports.createLocalPersister=(t,e)=>s(t,e,localStorage),exports.createSessionPersister=(t,e)=>s(t,e,sessionStorage);
1
+ "use strict";const t=Object.freeze,e="storage",a=globalThis.window,s=(s,r,n)=>((s,o,i,c,u)=>{let d,v,y=0,l=!1;const S=async t=>{2!=y&&(y=1,await t(),y=0)},g={load:async(t={},e={})=>(await S((async()=>{let a;try{a=await o()}catch{}s.setContent(a??[t,e])})),g),startAutoLoad:async(t={},i={})=>(g.stopAutoLoad(),await g.load(t,i),l=!0,v=(t=>{const i=t=>{t.storageArea===n&&t.key===r&&(async(t,e)=>{await S((async()=>{if(e)s.setTransactionChanges(e());else try{s.setContent(t?.()??await o())}catch{}}))})((()=>JSON.parse(t.newValue)))};return a.addEventListener(e,i),i})(),g),stopAutoLoad:()=>{return l&&(t=v,a.removeEventListener(e,t),v=void 0,l=!1),g;var t},save:async t=>(1!=y&&(y=2,await(async t=>{return n.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))));var e})(s.getContent),y=0),g),startAutoSave:async()=>(await g.stopAutoSave().save(),d=s.addDidFinishTransactionListener(((t,e)=>g.save(e))),g),stopAutoSave:()=>{var t,e;return t=d,e=s.delListener,null==t||e(t),g},getStore:()=>s,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(s,(async()=>JSON.parse(n.getItem(r))));exports.createLocalPersister=(t,e)=>s(t,e,localStorage),exports.createSessionPersister=(t,e)=>s(t,e,sessionStorage);
Binary file
@@ -1 +1 @@
1
- "use strict";var t=require("fs/promises"),a=require("fs");const e="utf8",s=Object.freeze;exports.createFilePersister=(r,n)=>((r,o,i,c,u)=>{let y,d,v=0,l=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},p={load:async(t,a)=>(await w((async()=>{let e;try{e=await o()}catch{}r.setContent(e??[t,a])})),p),startAutoLoad:async(t,e)=>{return p.stopAutoLoad(),await p.load(t,e),l=!0,s=async(t,a)=>{await w((async()=>{if(a)r.setTransactionChanges(a());else try{r.setContent(t?.()??await o())}catch{}}))},d=a.watch(n,(()=>s())),p;var s},stopAutoLoad:()=>{return l&&(t=d,t?.close(),d=void 0,l=!1),p;var t},save:async a=>(1!=v&&(v=2,await(async a=>{try{await t.writeFile(n,(s=a(),JSON.stringify(s,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e)}catch{}var s})(r.getContent),v=0),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=r.addDidFinishTransactionListener(((t,a)=>p.save(a))),p),stopAutoSave:()=>{var t,a;return t=y,a=r.delListener,null==t||a(t),p},getStore:()=>r,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(p)})(r,(async()=>JSON.parse(await t.readFile(n,e))));
1
+ "use strict";var t=require("fs/promises"),a=require("fs");const e="utf8",s=Object.freeze;exports.createFilePersister=(r,n)=>((r,o,i,c,u)=>{let y,d,v=0,l=!1;const w=async t=>{2!=v&&(v=1,await t(),v=0)},p={load:async(t={},a={})=>(await w((async()=>{let e;try{e=await o()}catch{}r.setContent(e??[t,a])})),p),startAutoLoad:async(t={},e={})=>{return p.stopAutoLoad(),await p.load(t,e),l=!0,s=async(t,a)=>{await w((async()=>{if(a)r.setTransactionChanges(a());else try{r.setContent(t?.()??await o())}catch{}}))},d=a.watch(n,(()=>s())),p;var s},stopAutoLoad:()=>{return l&&(t=d,t?.close(),d=void 0,l=!1),p;var t},save:async a=>(1!=v&&(v=2,await(async a=>{try{await t.writeFile(n,(s=a(),JSON.stringify(s,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))),e)}catch{}var s})(r.getContent),v=0),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=r.addDidFinishTransactionListener(((t,a)=>p.save(a))),p),stopAutoSave:()=>{var t,a;return t=y,a=r.delListener,null==t||a(t),p},getStore:()=>r,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(p)})(r,(async()=>JSON.parse(await t.readFile(n,e))));
Binary file
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag");exports.createRemotePersister=(s,n,r,o)=>{let c;return((s,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{}s.setContent(e??[t,a])})),A),startAutoLoad:async(a,r)=>{return A.stopAutoLoad(),await A.load(a,r),w=!0,d=async(t,a)=>{await h((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(n,{method:"HEAD"}),s=e(a);t(c)||t(s)||s==c||(c=s,d())}),1e3*o),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(r,{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),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(s.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=s.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=s.delListener,t(a)||e(a),A},getStore:()=>s,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(s,(async()=>{const t=await fetch(n);return c=e(t),JSON.parse(await t.text())}))};
1
+ "use strict";const t=t=>null==t,a=Object.freeze,e=t=>t.headers.get("ETag");exports.createRemotePersister=(s,n,r,o)=>{let c;return((s,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{}s.setContent(e??[t,a])})),A),startAutoLoad:async(a={},r={})=>{return A.stopAutoLoad(),await A.load(a,r),w=!0,d=async(t,a)=>{await h((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await i())}catch{}}))},l=setInterval((async()=>{const a=await fetch(n,{method:"HEAD"}),s=e(a);t(c)||t(s)||s==c||(c=s,d())}),1e3*o),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(r,{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),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(s.getContent),p=0),A),startAutoSave:async()=>(await A.stopAutoSave().save(),v=s.addDidFinishTransactionListener(((t,a)=>A.save(a))),A),stopAutoSave:()=>{var a,e;return a=v,e=s.delListener,t(a)||e(a),A},getStore:()=>s,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(A)})(s,(async()=>{const t=await fetch(n);return c=e(t),JSON.parse(await t.text())}))};
Binary file
@@ -1 +1 @@
1
- "use strict";var t=require("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]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),d="delete",v=t=>[t.get("t"),t.get("v")],p=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);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};exports.createYjsPersister=(o,i,y="tinybase")=>{const h=i.getMap(y);return((o,y,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 y()}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 y())}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={},p={};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);u(e,((t,{action:e})=>a[t]=e==d?null:s.get(t)))}),(()=>u(e,((t,{action:e})=>o[t]=e==d?null:i.get(t)?.toJSON()))))}),(()=>u(e,((t,{action:e})=>l[t]=e==d?null:r.get(t)?.toJSON())))):u(e,((t,{action:e})=>p[t]=e==d?null:i.get(t)))))})(s),[l,p]})(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.Map),e.set("v",new t.Map))})(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();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)}))}})(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))};
1
+ "use strict";var t=require("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]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),d="t",v="delete",p=t=>[t.get(d),t.get("v")],y=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);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};exports.createYjsPersister=(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]=p(t),l={},y={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==d?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);u(e,((t,{action:e})=>a[t]=e==v?null:s.get(t)))}),(()=>u(e,((t,{action:e})=>o[t]=e==v?null:i.get(t)?.toJSON()))))}),(()=>u(e,((t,{action:e})=>l[t]=e==v?null:r.get(t)?.toJSON())))):u(e,((t,{action:e})=>y[t]=e==v?null:i.get(t)))))})(s),[l,y]})(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(d,new t.Map),e.set("v",new t.Map))})(e);const[r,c]=p(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)}))}})(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(d).toJSON(),S.get("v").toJSON()]:void 0))};
Binary file
@@ -1 +1 @@
1
- "use strict";const t=Object.freeze;exports.createCustomPersister=(a,e,s,o,n)=>{let r,c,i=0,u=!1;const d=async t=>{2!=i&&(i=1,await t(),i=0)},y={load:async(t,s)=>(await d((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),u=!0,c=o((async(t,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await e())}catch{}}))})),y),stopAutoLoad:()=>(u&&(n(c),c=void 0,u=!1),y),save:async t=>(1!=i&&(i=2,await s(a.getContent,t),i=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((t,a)=>y.save(a))),y),stopAutoSave:()=>{var t,e;return t=r,e=a.delListener,null==t||e(t),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(y)};
1
+ "use strict";const t=Object.freeze;exports.createCustomPersister=(a,e,s,o,n)=>{let r,c,i=0,u=!1;const d=async t=>{2!=i&&(i=1,await t(),i=0)},y={load:async(t={},s={})=>(await d((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),u=!0,c=o((async(t,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await e())}catch{}}))})),y),stopAutoLoad:()=>(u&&(n(c),c=void 0,u=!1),y),save:async t=>(1!=i&&(i=2,await s(a.getContent,t),i=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((t,a)=>y.save(a))),y),stopAutoSave:()=>{var t,e;return t=r,e=a.delListener,null==t||e(t),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(y)};
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Row",c=i+l,d="Sorted"+i+l,u="Cell",h=u+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),f=e=>e.length,L=e=>0==f(e),R=(e,t,n)=>e.reduce(t,n),y=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,p=isFinite,C=e=>null==e,m=(e,t,n)=>C(e)?n?.():t(e),Q=t=>e(t)==r,S=e=>Array.isArray(e),I=()=>{},E=Object,M=E.freeze,x=e=>e.size,D=(e,t)=>e?.has(t)??!1,F=e=>C(e)||0==x(e),j=e=>[...e?.values()??[]],k=e=>e.clear(),z=(e,t)=>e?.forEach(t),A=(e,t)=>e?.delete(t),W=e=>new Map(e),O=(e,t)=>e?.get(t),q=(e,t)=>z(e,((e,n)=>t(n,e))),B=(e,t,n)=>C(n)?(A(e,t),e):e?.set(t,n),G=(e,t,n)=>(D(e,t)||B(e,t,n()),O(e,t)),H=(e,t,n,s,r=0)=>m((n?G:O)(e,t[r],r>f(t)-2?n:W),(o=>{if(r>f(t)-2)return s?.(o)&&B(e,t[r]),o;const a=H(o,t,n,s,r+1);return F(o)&&B(e,t[r]),a})),J=e=>new Set(S(e)||C(e)?e:[e]),K=(e,t)=>e?.add(t),N=W([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),P=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,[w,R,T,b,P,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=W(),o=W(),a=W(),l=W(),i=W(),c=(t,n,...s)=>{const r=G(i,t,J);return v(s,(t=>K(r,t)&&n&&e.callListener(t))),s},d=(t,...n)=>m(O(i,t),(s=>{v(L(n)?j(s):n,(t=>{e.delListener(t),A(s,t)})),F(s)&&B(i,t)})),u=(e,t)=>{B(r,e,t),D(o,e)||(B(o,e,!0),B(a,e,W()),B(l,e,W()))},h=e=>{B(r,e),B(o,e),B(a,e),B(l,e),d(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>q(o,e),e=>D(o,e),e=>O(r,e),e=>O(o,e),(e,t)=>B(o,e,t),u,(t,r,o,i,h)=>{u(t,r);const w=W(),L=W(),R=O(a,t),y=O(l,t),T=t=>{const o=n=>e.getCell(r,t,n),a=O(R,t),l=s(r,t)?n(i(o,t)):void 0;var c,d;if(a===l||S(a)&&S(l)&&(d=l,f(c=a)===f(d)&&g(c,((e,t)=>d[t]===e)))||B(w,t,[a,l]),!C(h)){const e=O(y,t),n=s(r,t)?h(o,t):void 0;e!=n&&B(L,t,n)}},b=e=>{o((()=>{z(w,(([,e],t)=>B(R,t,e))),z(L,((e,t)=>B(y,t,e)))}),w,L,R,y,e),k(w),k(L)};q(R,T),e.hasTable(r)&&v(e.getRowIds(r),(e=>{D(R,e)||T(e)})),b(!0),d(t),c(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>b())))},h,()=>q(i,h),c,d]})(r,0,I),$=l(),_=l(),ee=W(),te=(e,t,...n)=>v(n,(n=>K(G(G(ee,t,W),e,J),n))),ne=e=>{m(O(ee,e),(e=>{q(e,((e,t)=>z(t,(t=>e.delListener(t))))),k(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,l)=>{U(o,a),ne(o);const i=[],c=[[null,[a,null,null,[],W()]]],d=[],u=[],h=[];l({select:(e,t)=>{const n=Q(e)?[f(i)+"",e]:[C(t)?e:t,n=>n(e,t)];return y(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||Q(t)?null:t,r=C(s)?t:n,o=[e,[e,s,Q(r)?r:e=>e(r),[],W()]];return y(c,o),{as:e=>o[0]=e}},where:(e,t,n)=>y(d,Q(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,Q(t)?[t,n,s,r]:O(N,t)??[(e,t)=>t]]];return y(u,o),{as:e=>o[0]=e}},having:(e,t)=>y(h,Q(e)?e:n=>n(e)===t)});const w=W(i);if(F(w))return re;const R=W(c);q(R,((e,[,t])=>m(O(R,t),(({3:t})=>C(e)?0:y(t,e)))));const T=W(u);let b=$;if(F(T)&&L(h))b=_;else{se(o,b,_);const r=W();q(T,((e,[t,n])=>K(G(r,t,J),[e,n])));const a=J();q(w,(e=>D(r,e)?0:K(a,e)));const l=W(),i=(a,l,i,c)=>m(a,(([d,u,v,w])=>{q(l,((o,[a])=>{const l=G(d,o,W),u=O(l,i),h=c?void 0:a;if(u!==h){const a=J([[u,h]]),c=x(l);B(l,i,h),z(O(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(F(n))return;const[a,l,i,c]=r;return o||=C(e),z(s,(([n,s])=>{o||(e=C(n)?l?.(e,s,t++):C(s)?i?.(e,n,t--):c?.(e,s,n,t),o||=C(e))})),o?a(j(n),x(n)):e})(w[r],c,l,a,o);w[r]=C((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&p(r)?o:void 0})(i))?null:i}))}})),F(u)||!g(h,(e=>e((e=>w[e]))))?_.delRow(o,v):C(v)?a[2]=_.addRow(o,w):_.setRow(o,v,w)}));te(b,o,b.addRowListener(o,null,((e,t,n,s)=>{const c=[],d=[],u=W(),h=b.hasRow(o,n);let g=!h;z(a,(e=>{const[t,r,a]=s(o,n,e);y(c,r),y(d,a),g||=t})),q(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&B(u,e,[r])})),g&&i(H(l,c,void 0,(([,e])=>(A(e,n),F(e)))),u,n,1),h&&i(H(l,d,(()=>{const e={};return z(a,(t=>e[t]=b.getCell(o,n,t))),[W(),J(),void 0,e]}),(([,e])=>{K(e,n)})),u,n)})))}se(o,r,b);const S=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);v(s,(t=>{const[n,,s,a,i]=O(R,t),c=s?.(l,e),[d,u]=O(i,e)??[];c!=d&&(C(u)||Z(o,u),B(i,e,C(c)?null:[c,...Y(o,1,r.addRowListener(n,c,(()=>S(e,n,c,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...C(n)?[a,e,t]:t===a?[a,e,n]:[O(R,t)?.[0],O(O(R,t)?.[4],e)?.[0],n]);b.transaction((()=>g(d,(e=>e(t)))?q(w,((n,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,e,n,s(t,e)))):b.delRow(o,e)))})(e)},{3:I}=O(R,null);return b.transaction((()=>Y(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?S(n,a,n,I):(b.delRow(o,n),z(R,(({4:e})=>m(O(e,n),(([,t])=>{Z(o,t),B(e,n)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:w,getQueryIds:R,forEachQuery:T,hasQuery:b,getTableId:P,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[c]:[0,1],[d]:[0,5],[i]:[1,2],[h]:[0,2],[u]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+a+n]=(...t)=>_[e+n](...t))),re["add"+a+n+o]=(...e)=>{return _["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(E.entries(oe),(([e,t])=>ae(t,e))),M(re)})(r)),l.get(r))})();exports.createQueries=P;
1
+ "use strict";const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Row",c=i+l,d="Sorted"+i+l,u="Cell",h=u+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),f=e=>e.length,L=e=>0==f(e),R=(e,t,n)=>e.reduce(t,n),y=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,p=isFinite,C=e=>null==e,S=(e,t,n)=>C(e)?n?.():t(e),m=t=>e(t)==r,Q=e=>Array.isArray(e),I=()=>{},E=Object,M=E.freeze,x=e=>e.size,D=(e,t)=>e?.has(t)??!1,j=e=>C(e)||0==x(e),k=e=>[...e?.values()??[]],z=e=>e.clear(),A=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),O=e=>new Map(e),W=(e,t)=>e?.get(t),q=(e,t)=>A(e,((e,n)=>t(n,e))),B=(e,t,n)=>C(n)?(F(e,t),e):e?.set(t,n),G=(e,t,n)=>(D(e,t)||B(e,t,n()),W(e,t)),H=(e,t,n,s,r=0)=>S((n?G:W)(e,t[r],r>f(t)-2?n:O),(o=>{if(r>f(t)-2)return s?.(o)&&B(e,t[r]),o;const a=H(o,t,n,s,r+1);return j(o)&&B(e,t[r]),a})),J=e=>new Set(Q(e)||C(e)?e:[e]),K=(e,t)=>e?.add(t),N=O([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),P=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,[w,R,T,b,P,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=O(),o=O(),a=O(),l=O(),i=O(),c=(t,n,...s)=>{const r=G(i,t,J);return v(s,(t=>K(r,t)&&n&&e.callListener(t))),s},d=(t,...n)=>S(W(i,t),(s=>{v(L(n)?k(s):n,(t=>{e.delListener(t),F(s,t)})),j(s)&&B(i,t)})),u=(e,t)=>{B(r,e,t),D(o,e)||(B(o,e,!0),B(a,e,O()),B(l,e,O()))},h=e=>{B(r,e),B(o,e),B(a,e),B(l,e),d(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>q(o,e),e=>D(o,e),e=>W(r,e),e=>W(o,e),(e,t)=>B(o,e,t),u,(t,r,o,i,h)=>{u(t,r);const w=O(),L=O(),R=W(a,t),y=W(l,t),T=t=>{const o=n=>e.getCell(r,t,n),a=W(R,t),l=s(r,t)?n(i(o,t)):void 0;var c,d;if(a===l||Q(a)&&Q(l)&&(d=l,f(c=a)===f(d)&&g(c,((e,t)=>d[t]===e)))||B(w,t,[a,l]),!C(h)){const e=W(y,t),n=s(r,t)?h(o,t):void 0;e!=n&&B(L,t,n)}},b=e=>{o((()=>{A(w,(([,e],t)=>B(R,t,e))),A(L,((e,t)=>B(y,t,e)))}),w,L,R,y,e),z(w),z(L)};q(R,T),e.hasTable(r)&&v(e.getRowIds(r),(e=>{D(R,e)||T(e)})),b(!0),d(t),c(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>b())))},h,()=>q(i,h),c,d]})(r,0,I),$=l(),_=l(),ee=O(),te=(e,t,...n)=>v(n,(n=>K(G(G(ee,t,O),e,J),n))),ne=e=>{S(W(ee,e),(e=>{q(e,((e,t)=>A(t,(t=>e.delListener(t))))),z(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,l)=>{U(o,a),ne(o);const i=[],c=[[null,[a,null,null,[],O()]]],d=[],u=[],h=[];l({select:(e,t)=>{const n=m(e)?[f(i)+"",e]:[C(t)?e:t,n=>n(e,t)];return y(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||m(t)?null:t,r=C(s)?t:n,o=[e,[e,s,m(r)?r:e=>e(r),[],O()]];return y(c,o),{as:e=>o[0]=e}},where:(e,t,n)=>y(d,m(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,m(t)?[t,n,s,r]:W(N,t)??[(e,t)=>t]]];return y(u,o),{as:e=>o[0]=e}},having:(e,t)=>y(h,m(e)?e:n=>n(e)===t)});const w=O(i);if(j(w))return re;const R=O(c);q(R,((e,[,t])=>S(W(R,t),(({3:t})=>C(e)?0:y(t,e)))));const T=O(u);let b=$;if(j(T)&&L(h))b=_;else{se(o,b,_);const r=O();q(T,((e,[t,n])=>K(G(r,t,J),[e,n])));const a=J();q(w,(e=>D(r,e)?0:K(a,e)));const l=O(),i=(a,l,i,c)=>S(a,(([d,u,v,w])=>{q(l,((o,[a])=>{const l=G(d,o,O),u=W(l,i),h=c?void 0:a;if(u!==h){const a=J([[u,h]]),c=x(l);B(l,i,h),A(W(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(j(n))return;const[a,l,i,c]=r;return o||=C(e),A(s,(([n,s])=>{o||(e=C(n)?l?.(e,s,t++):C(s)?i?.(e,n,t--):c?.(e,s,n,t),o||=C(e))})),o?a(k(n),x(n)):e})(w[r],c,l,a,o);w[r]=C((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&p(r)?o:void 0})(i))?null:i}))}})),j(u)||!g(h,(e=>e((e=>w[e]))))?_.delRow(o,v):C(v)?a[2]=_.addRow(o,w):_.setRow(o,v,w)}));te(b,o,b.addRowListener(o,null,((e,t,n,s)=>{const c=[],d=[],u=O(),h=b.hasRow(o,n);let g=!h;A(a,(e=>{const[t,r,a]=s(o,n,e);y(c,r),y(d,a),g||=t})),q(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&B(u,e,[r])})),g&&i(H(l,c,void 0,(([,e])=>(F(e,n),j(e)))),u,n,1),h&&i(H(l,d,(()=>{const e={};return A(a,(t=>e[t]=b.getCell(o,n,t))),[O(),J(),void 0,e]}),(([,e])=>{K(e,n)})),u,n)})))}se(o,r,b);const Q=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);v(s,(t=>{const[n,,s,a,i]=W(R,t),c=s?.(l,e),[d,u]=W(i,e)??[];c!=d&&(C(u)||Z(o,u),B(i,e,C(c)?null:[c,...Y(o,1,r.addRowListener(n,c,(()=>Q(e,n,c,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...C(n)?[a,e,t]:t===a?[a,e,n]:[W(R,t)?.[0],W(W(R,t)?.[4],e)?.[0],n]);b.transaction((()=>g(d,(e=>e(t)))?q(w,((n,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,e,n,s(t,e)))):b.delRow(o,e)))})(e)},{3:I}=W(R,null);return b.transaction((()=>Y(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?Q(n,a,n,I):(b.delRow(o,n),A(R,(({4:e})=>S(W(e,n),(([,t])=>{Z(o,t),B(e,n)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:w,getQueryIds:R,forEachQuery:T,hasQuery:b,getTableId:P,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[c]:[0,1],[d]:[0,5],[i]:[1,2],[h]:[0,2],[u]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+a+n]=(...t)=>_[e+n](...t))),re["add"+a+n+o]=(...e)=>{return _["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(E.entries(oe),(([e,t])=>ae(t,e))),M(re)})(r)),l.get(r))})();exports.createQueries=P;
Binary file
package/lib/cjs/store.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",u=i+"s",d=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",b=T+c,v=e=>t+e,S=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==n,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>delete e[t],x=(e,t)=>C(O.entries(e),(([e,s])=>t(s,e))),D=e=>{return N(e)&&(t=k(e),0==w(t));var t},W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s)=>{const n={};return B(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},_=(e,t,s)=>Z(e,(e=>Z(e,t,s)),D),ee=(e,t,s)=>Z(e,(e=>_(e,t,s)),D),te=(e,t)=>{const s=H();return B(e,((e,n)=>s.set(n,t?.(e)??e))),s},se=e=>te(e,te),ne=e=>te(e,se),le=(e,t,s,n,l=0)=>E((s?Y:Q)(e,t[l],l>w(t)-2?s:H),(a=>{if(l>w(t)-2)return n?.(a)&&X(e,t[l]),a;const r=le(a,t,s,n,l+1);return $(a)&&X(e,t[l]),r})),ae=e=>new Set(Array.isArray(e)||L(e)?e:[e]),re=(e,t)=>e?.add(t),oe=/^\d+$/,ce=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{oe.test(t)&&w(e)<1e3&&R(e,t)}]},ie=e=>[e,e],ue=()=>[H(),H()],de=e=>[...e],he=([e,t])=>e===t,ge=t=>{const s=e(t);return F(s)||s==l&&m(t)?s:void 0},fe=(e,t,s,n,l)=>L(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Te=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),Ve=(e,t,s,n=X)=>(x(t,((t,n)=>s(e,n,t))),U(e,(s=>P(t,s)?0:n(e,s))),e),be=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,n)=>{t(s,n)||j(e,n)})),!D(e)),ve=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),Se=()=>{let e,s,n,a,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),oe=H(),Ce=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=ae(),me=H(),pe=H(),Le=H(),Ee=ue(),Fe=ue(),ze=ue(),Oe=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),je=ue(),xe=ue(),De=ue(),We=ue(),$e=ue(),[qe,Be,Ge,He]=(e=>{let s;const[n,l]=ce(),a=H();return[(e,l,r,o=[],c=(()=>[]))=>{s??=as;const i=n(1);return X(a,i,[e,l,r,o,c]),re(le(l,r??[t],ae),i),i},(e,n,...l)=>S(((e,s=[t])=>{const n=[],l=(e,t)=>t==w(s)?R(n,e):null===s[t]?B(e,(e=>l(e,t+1))):S([s[t],null],(s=>l(Q(e,s),t+1)));return l(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](s,...n??[],...l))))),e=>E(Q(a,e),(([,s,n])=>(le(s,n??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),l(e),n))),e=>E(Q(a,e),(([e,,t=[],n,l])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...l(r)):L(t[o])?S(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Ke=e=>{if(!be(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(ge(e[o])!=t&&j(e,o),0))},Qe=(t,s)=>(!e||W(we,s)||yt(s))&&be(t,((e,t)=>Ue(s,t,e)),(()=>yt(s))),Ue=(e,t,s,n)=>be(n?s:_e(s,e,t),((n,l)=>E(Xe(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>yt(e,t))),Xe=(t,s,n,l)=>e?E(Q(Q(we,t),n),(e=>ge(l)!=e[r]?yt(t,s,n,l,e[o]):l),(()=>yt(t,s,n,l))):L(ge(l))?yt(t,s,n,l):l,Ye=(e,t)=>be(t?e:et(e),((t,s)=>E(Ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Jt())),Ze=(e,t)=>s?E(Q(Re,e),(s=>ge(t)!=s[r]?Jt(e,t,s[o]):t),(()=>Jt(e,t))):L(ge(t))?Jt(e,t):t,_e=(e,t,s)=>(E(Q(Ie,t),(([n,l])=>{B(n,((t,s)=>{P(e,s)||(e[s]=t)})),B(l,(n=>{P(e,n)||yt(t,s,n)}))})),e),et=e=>(s&&(B(ye,((t,s)=>{P(e,s)||(e[s]=t)})),B(Je,(t=>{P(e,t)||Jt(t)}))),e),tt=e=>Ve(we,e,((e,t,s)=>{const n=H(),l=ae();Ve(Y(we,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(n,t,e)),(()=>re(l,t)))})),X(Ie,t,[n,l])}),((e,t)=>{X(we,t),X(Ie,t)})),st=e=>Ve(Re,e,((e,t,s)=>{X(Re,t,s),E(s[o],(e=>X(ye,t,e)),(()=>re(Je,t)))}),((e,t)=>{X(Re,t),X(ye,t),G(Je,t)})),nt=e=>D(e)?Xt():Gt(e),lt=e=>Ve(pe,e,((e,t,s)=>at(t,s)),((e,t)=>ft(t))),at=(e,t)=>Ve(Y(pe,e,(()=>(vt(e,1),H()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Tt(e,t,s))),rt=(e,t,s,n,l)=>Ve(Y(t,s,(()=>(St(e,s,1),H()))),n,((t,n,l)=>ot(e,s,t,n,l)),((n,a)=>Vt(e,t,s,n,a,l))),ot=(e,t,s,n,l)=>{W(s,n)||Ct(e,t,n,1);const a=Q(s,n);l!==a&&(wt(e,t,n,a,l),X(s,n,l))},ct=(e,t,s,n,l)=>E(Q(t,s),(t=>ot(e,s,t,n,l)),(()=>rt(e,t,s,_e({[n]:l},e,s)))),it=e=>D(e)?_t():Ht(e),ut=e=>Ve(Le,e,((e,t,s)=>dt(t,s)),((e,t)=>bt(t))),dt=(e,t)=>{W(Le,e)||It(e,1);const s=Q(Le,e);t!==s&&(Rt(e,s,t),X(Le,e,t))},ht=(e,t)=>{const[s]=Y(me,e,ce),n=s(t);return W(Q(pe,e),n)?ht(e,t):n},gt=e=>Q(pe,e)??at(e,{}),ft=e=>at(e,{}),Tt=(e,t,s)=>{const[,n]=Y(me,e,ce);n(s),rt(e,t,s,{},!0)},Vt=(e,t,s,n,l,a)=>{const r=Q(Q(Ie,e)?.[0],l);if(!L(r)&&!a)return ot(e,s,n,l,r);const o=t=>{wt(e,s,t,Q(n,t)),Ct(e,s,t,-1),X(n,t)};L(r)?o(l):U(n,o),$(n)&&(St(e,s,-1),$(X(t,s))&&(vt(e,-1),X(pe,e),X(me,e)))},bt=e=>{const t=Q(ye,e);if(!L(t))return dt(e,t);Rt(e,Q(Le,e)),It(e,-1),X(Le,e)},vt=(e,t)=>ve(m,e,t),St=(e,t,s)=>ve(Y(p,e,H),t,s),Ct=(e,t,s,n)=>ve(Y(Y(O,e,H),t,H),s,n),wt=(e,t,s,n,l)=>Y(Y(Y(k,e,H),t,H),s,(()=>[n,0]))[1]=l,It=(e,t)=>ve(A,e,t),Rt=(e,t,s)=>Y(N,e,(()=>[t,0]))[1]=s,yt=(e,t,s,n,l)=>(R(Y(Y(Y(oe,e,H),t,H),s,(()=>[])),n),l),Jt=(e,t,s)=>(R(Y(Ce,e,(()=>[])),t),s),mt=(e,t,s)=>E(Q(Q(Q(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ie(Wt(e,t,s))])),pt=e=>E(Q(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ie(Bt(e))])),Lt=e=>$(oe)||$(Pe[e])?0:B(e?ne(oe):oe,((t,s)=>B(t,((t,n)=>B(t,((t,l)=>Be(Pe[e],[s,n,l],t))))))),Et=e=>$(Ce)||$(je[e])?0:B(e?te(Ce):Ce,((t,s)=>Be(je[e],[s],t))),Ft=(e,t,s)=>{if(!$(t))return Be(e,s),1},zt=e=>{const t=$(ke[e]),s=$(Me[e])&&$(Oe[e])&&t&&$(Fe[e]),n=$(Ne[e])&&$(Ae[e])&&$(ze[e])&&$(Ee[e]);if(!s||!n){const l=e?[te(m),se(p),ne(O),ne(k)]:[m,p,O,k];if(!s){B(l[2],((t,s)=>B(t,((t,n)=>Ft(Me[e],t,[s,n])))));const s=ae();B(l[1],((n,l)=>{Ft(Oe[e],n,[l])&&!t&&(Be(ke[e],[l,null]),re(s,l))})),t||B(l[3],((t,n)=>{if(!W(s,n)){const s=ae();B(t,(e=>B(e,(([t,n],l)=>n!==t?re(s,l):G(e,l))))),B(s,(t=>Be(ke[e],[n,t])))}})),Ft(Fe[e],l[0])}if(!n){let t;B(l[3],((s,n)=>{let l;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Be(Ne[e],[n,a,c],o,s,mt),t=l=r=1)})),r&&Be(Ae[e],[n,a],mt)})),l&&Be(ze[e],[n],mt)})),t&&Be(Ee[e],void 0,mt)}}},Ot=e=>{const t=$(De[e]),s=$(We[e])&&$(xe[e]);if(!t||!s){const n=e?[te(A),te(N)]:[A,N];if(t||Ft(De[e],n[0]),!s){let t;B(n[1],(([s,n],l)=>{n!==s&&(Be(We[e],[l],n,s,pt),t=1)})),t&&Be(xe[e],void 0,pt)}}},kt=(e,...t)=>(ss((()=>e(...C(t,v)))),as),At=()=>[Z(k,((e,t)=>-1===Q(m,t)?null:Z(e,((e,s)=>-1===Q(Q(p,t),s)?null:Z(e,(([,e])=>e??null),((e,t)=>he(t)))),D)),D),Z(N,(([,e])=>e??null),((e,t)=>he(t)))],Mt=()=>({cellsTouched:n,valuesTouched:a,changedCells:ee(k,de,he),invalidCells:ee(oe),changedValues:Z(N,de,he),invalidValues:Z(Ce),changedTableIds:Z(m),changedRowIds:_(p),changedCellIds:ee(O),changedValueIds:Z(A)}),Nt=()=>ee(pe),Pt=()=>K(pe),jt=e=>K(Q(pe,v(e))),xt=(e,t,s,n=0,l)=>{return C(I((r=Q(pe,v(e)),o=(e,s)=>[L(t)?s:Q(e,v(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),C([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,L(l)?l:n+l),(([,e])=>e));var a,r,o},Dt=(e,t)=>K(Q(Q(pe,v(e)),v(t))),Wt=(e,t,s)=>Q(Q(Q(pe,v(e)),v(t)),v(s)),$t=()=>Z(Le),qt=()=>K(Le),Bt=e=>Q(Le,v(e)),Gt=e=>kt((()=>(e=>be(e,Qe,yt))(e)?lt(e):0)),Ht=e=>kt((()=>Ye(e)?ut(e):0)),Kt=e=>{try{nt(J(e))}catch{}return as},Qt=t=>kt((()=>{if((e=be(t,(e=>be(e,Ke))))&&(tt(t),!$(pe))){const e=Nt();Xt(),Gt(e)}})),Ut=e=>kt((()=>{if(s=(e=>be(e,Ke))(e)){const t=$t();ts(),_t(),s=!0,st(e),Ht(t)}})),Xt=()=>kt((()=>lt({}))),Yt=e=>kt((e=>W(pe,e)?ft(e):0),e),Zt=(e,t)=>kt(((e,t)=>E(Q(pe,e),(s=>W(s,t)?Tt(e,s,t):0))),e,t),_t=()=>kt((()=>ut({}))),es=()=>kt((()=>{tt({}),e=!1})),ts=()=>kt((()=>{st({}),s=!1})),ss=(e,t)=>{if(-1==c)return;ns();const s=e();return ls(t),s},ns=()=>(c++,as),ls=e=>(c>0&&(c--,0==c&&(n=!$(k),a=!$(N),c=1,Lt(1),n&&zt(1),Et(1),a&&Ot(1),c=-1,e?.(At,Mt)&&(c=1,B(k,((e,t)=>B(e,((e,s)=>B(e,(([e],n)=>fe(as,t,s,n,e))))))),B(N,(([e],t)=>Te(as,t,e))),c=-1,n=a=!1),Be($e[0],void 0,At,Mt),Lt(0),n&&zt(0),Et(0),a&&Ot(0),Be($e[1],void 0,At,Mt),c=0,S([m,p,O,k,oe,A,N,Ce],q))),as),as={getContent:()=>[Nt(),$t()],getTables:Nt,getTableIds:Pt,getTable:e=>_(Q(pe,v(e))),getRowIds:jt,getSortedRowIds:xt,getRow:(e,t)=>Z(Q(Q(pe,v(e)),v(t))),getCellIds:Dt,getCell:Wt,getValues:$t,getValueIds:qt,getValue:Bt,hasTables:()=>!$(pe),hasTable:e=>W(pe,v(e)),hasRow:(e,t)=>W(Q(pe,v(e)),v(t)),hasCell:(e,t,s)=>W(Q(Q(pe,v(e)),v(t)),v(s)),hasValues:()=>!$(Le),hasValue:e=>W(Le,v(e)),getTablesJson:()=>y(pe),getValuesJson:()=>y(Le),getJson:()=>y([pe,Le]),getTablesSchemaJson:()=>y(we),getValuesSchemaJson:()=>y(Re),getSchemaJson:()=>y([we,Re]),setContent:([e,t])=>kt((()=>{Gt(e),Ht(t)})),setTables:Gt,setTable:(e,t)=>kt((e=>Qe(t,e)?at(e,t):0),e),setRow:(e,t,s)=>kt(((e,t)=>Ue(e,t,s)?rt(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ss((()=>{let n;return Ue(e,n,t)&&(e=v(e),rt(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>kt(((e,t)=>{if(Ue(e,t,s,1)){const n=gt(e);x(s,((s,l)=>ct(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>kt(((e,t,s)=>E(Xe(e,t,s,z(n)?n(Wt(e,t,s)):n),(n=>ct(e,gt(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>kt((()=>Ye(e,1)?x(e,((e,t)=>dt(t,e))):0)),setValue:(e,t)=>kt((e=>E(Ze(e,z(t)?t(Bt(e)):t),(t=>dt(e,t)))),e),setTransactionChanges:e=>kt((()=>{x(e[0],((e,t)=>L(e)?Yt(t):x(e,((e,s)=>L(e)?Zt(t,s):x(e,((e,n)=>fe(as,t,s,n,e))))))),x(e[1],((e,t)=>Te(as,t,e)))})),setTablesJson:Kt,setValuesJson:e=>{try{it(J(e))}catch{}return as},setJson:e=>{try{const[t,s]=J(e);nt(t),it(s)}catch{Kt(e)}return as},setTablesSchema:Qt,setValuesSchema:Ut,setSchema:(e,t)=>kt((()=>{Qt(e),Ut(t)})),delTables:Xt,delTable:Yt,delRow:Zt,delCell:(e,t,s,n)=>kt(((e,t,s)=>E(Q(pe,e),(l=>E(Q(l,t),(a=>W(a,s)?Vt(e,l,t,a,s,n):0))))),e,t,s),delValues:_t,delValue:e=>kt((e=>W(Le,e)?bt(e):0),e),delTablesSchema:es,delValuesSchema:ts,delSchema:()=>kt((()=>{es(),ts()})),transaction:ss,startTransaction:ns,finishTransaction:ls,forEachTable:e=>B(pe,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachRow:(e,t)=>B(Q(pe,v(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(pe,v(e)),v(t)),s),forEachValue:e=>U(Le,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=xt(e,t,s,n,l);return qe((()=>{const r=xt(e,t,s,n,l);var c,i,u;i=o,w(c=r)===w(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,a(as,e,t,s,n,l,o))}),ke[r?1:0],[e,t],[Pt])},addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(He(e),as),delListener:e=>(Ge(e),as),getListenerStats:()=>({}),createStore:Se};return x({[u]:[0,Ee],[d]:[0,Fe],[i]:[1,ze,[Pt]],[h]:[1,Oe,[Pt]],Row:[2,Ae,[Pt,jt]],[f]:[2,Me,[Pt,jt]],[g]:[3,Ne,[Pt,jt,Dt],e=>ie(Wt(...e))],InvalidCell:[3,Pe],[V]:[0,xe],[b]:[0,De],[T]:[1,We,[qt],e=>ie(Bt(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],l)=>{as["add"+l+"Listener"]=(...l)=>qe(l[e],t[l[e+1]?1:0],e>0?I(l,0,e):void 0,s,n)})),M(as)};exports.createStore=Se;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row"+c,g="Cell",f=g+c,T="Value",V=T+"s",v=T+c,b=e=>t+e,S=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),w=e=>e.length,I=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),y=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),J=JSON.parse,m=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==n,z=t=>e(t)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),j=(e,t)=>delete e[t],x=(e,t)=>C(O.entries(e),(([e,s])=>t(s,e))),D=e=>{return N(e)&&(t=k(e),0==w(t));var t},W=(e,t)=>e?.has(t)??!1,$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),H=e=>new Map(e),K=e=>[...e?.keys()??[]],Q=(e,t)=>e?.get(t),U=(e,t)=>B(e,((e,s)=>t(s,e))),X=(e,t,s)=>L(s)?(G(e,t),e):e?.set(t,s),Y=(e,t,s)=>(W(e,t)||X(e,t,s()),Q(e,t)),Z=(e,t,s)=>{const n={};return B(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},_=(e,t,s)=>Z(e,(e=>Z(e,t,s)),D),ee=(e,t,s)=>Z(e,(e=>_(e,t,s)),D),te=(e,t)=>{const s=H();return B(e,((e,n)=>s.set(n,t?.(e)??e))),s},se=e=>te(e,te),ne=e=>te(e,se),le=(e,t,s,n,l=0)=>E((s?Y:Q)(e,t[l],l>w(t)-2?s:H),(a=>{if(l>w(t)-2)return n?.(a)&&X(e,t[l]),a;const r=le(a,t,s,n,l+1);return $(a)&&X(e,t[l]),r})),ae=e=>new Set(Array.isArray(e)||L(e)?e:[e]),re=(e,t)=>e?.add(t),oe=/^\d+$/,ce=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{oe.test(t)&&w(e)<1e3&&R(e,t)}]},ie=e=>[e,e],de=()=>[H(),H()],ue=e=>[...e],he=([e,t])=>e===t,ge=t=>{const s=e(t);return F(s)||s==l&&m(t)?s:void 0},fe=(e,t,s,n,l)=>L(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Te=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),Ve=(e,t,s,n=X)=>(x(t,((t,n)=>s(e,n,t))),U(e,(s=>P(t,s)?0:n(e,s))),e),ve=(e,t,s)=>L(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,n)=>{t(s,n)||j(e,n)})),!D(e)),be=(e,t,s)=>X(e,t,Q(e,t)==-s?void 0:s),Se=()=>{let e,s,n=!1,a=!1,c=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),oe=H(),Ce=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=ae(),me=H(),pe=H(),Le=H(),Ee=de(),Fe=de(),ze=de(),Oe=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),je=de(),xe=de(),De=de(),We=de(),$e=H(),qe=de(),[Be,Ge,He,Ke]=(e=>{let s;const[n,l]=ce(),a=H();return[(e,l,r,o=[],c=(()=>[]))=>{s??=rs;const i=n(1);return X(a,i,[e,l,r,o,c]),re(le(l,r??[t],ae),i),i},(e,n,...l)=>S(((e,s=[t])=>{const n=[],l=(e,t)=>t==w(s)?R(n,e):null===s[t]?B(e,(e=>l(e,t+1))):S([s[t],null],(s=>l(Q(e,s),t+1)));return l(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](s,...n??[],...l))))),e=>E(Q(a,e),(([,s,n])=>(le(s,n??[t],void 0,(t=>(G(t,e),$(t)?1:0))),X(a,e),l(e),n))),e=>E(Q(a,e),(([e,,t=[],n,l])=>{const a=(...r)=>{const o=w(r);o==w(t)?e(s,...r,...l(r)):L(t[o])?S(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),Qe=e=>{if(!ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=l||(ge(e[o])!=t&&j(e,o),0))},Ue=(t,s)=>(!e||W(we,s)||Jt(s))&&ve(t,((e,t)=>Xe(s,t,e)),(()=>Jt(s))),Xe=(e,t,s,n)=>ve(n?s:et(s,e,t),((n,l)=>E(Ye(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Jt(e,t))),Ye=(t,s,n,l)=>e?E(Q(Q(we,t),n),(e=>ge(l)!=e[r]?Jt(t,s,n,l,e[o]):l),(()=>Jt(t,s,n,l))):L(ge(l))?Jt(t,s,n,l):l,Ze=(e,t)=>ve(t?e:tt(e),((t,s)=>E(_e(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),_e=(e,t)=>s?E(Q(Re,e),(s=>ge(t)!=s[r]?mt(e,t,s[o]):t),(()=>mt(e,t))):L(ge(t))?mt(e,t):t,et=(e,t,s)=>(E(Q(Ie,t),(([n,l])=>{B(n,((t,s)=>{P(e,s)||(e[s]=t)})),B(l,(n=>{P(e,n)||Jt(t,s,n)}))})),e),tt=e=>(s&&(B(ye,((t,s)=>{P(e,s)||(e[s]=t)})),B(Je,(t=>{P(e,t)||mt(t)}))),e),st=e=>Ve(we,e,((e,t,s)=>{const n=H(),l=ae();Ve(Y(we,t,H),s,((e,t,s)=>{X(e,t,s),E(s[o],(e=>X(n,t,e)),(()=>re(l,t)))})),X(Ie,t,[n,l])}),((e,t)=>{X(we,t),X(Ie,t)})),nt=e=>Ve(Re,e,((e,t,s)=>{X(Re,t,s),E(s[o],(e=>X(ye,t,e)),(()=>re(Je,t)))}),((e,t)=>{X(Re,t),X(ye,t),G(Je,t)})),lt=e=>D(e)?Yt():Ht(e),at=e=>Ve(pe,e,((e,t,s)=>rt(t,s)),((e,t)=>Tt(t))),rt=(e,t)=>Ve(Y(pe,e,(()=>(St(e,1),H()))),t,((t,s,n)=>ot(e,t,s,n)),((t,s)=>Vt(e,t,s))),ot=(e,t,s,n,l)=>Ve(Y(t,s,(()=>(Ct(e,s,1),H()))),n,((t,n,l)=>ct(e,s,t,n,l)),((n,a)=>vt(e,t,s,n,a,l))),ct=(e,t,s,n,l)=>{W(s,n)||wt(e,t,n,1);const a=Q(s,n);l!==a&&(It(e,t,n,a,l),X(s,n,l))},it=(e,t,s,n,l)=>E(Q(t,s),(t=>ct(e,s,t,n,l)),(()=>ot(e,t,s,et({[n]:l},e,s)))),dt=e=>D(e)?es():Kt(e),ut=e=>Ve(Le,e,((e,t,s)=>ht(t,s)),((e,t)=>bt(t))),ht=(e,t)=>{W(Le,e)||Rt(e,1);const s=Q(Le,e);t!==s&&(yt(e,s,t),X(Le,e,t))},gt=(e,t)=>{const[s]=Y(me,e,ce),n=s(t);return W(Q(pe,e),n)?gt(e,t):n},ft=e=>Q(pe,e)??rt(e,{}),Tt=e=>rt(e,{}),Vt=(e,t,s)=>{const[,n]=Y(me,e,ce);n(s),ot(e,t,s,{},!0)},vt=(e,t,s,n,l,a)=>{const r=Q(Q(Ie,e)?.[0],l);if(!L(r)&&!a)return ct(e,s,n,l,r);const o=t=>{It(e,s,t,Q(n,t)),wt(e,s,t,-1),X(n,t)};L(r)?o(l):U(n,o),$(n)&&(Ct(e,s,-1),$(X(t,s))&&(St(e,-1),X(pe,e),X(me,e)))},bt=e=>{const t=Q(ye,e);if(!L(t))return ht(e,t);yt(e,Q(Le,e)),Rt(e,-1),X(Le,e)},St=(e,t)=>be(m,e,t),Ct=(e,t,s)=>be(Y(p,e,H),t,s),wt=(e,t,s,n)=>be(Y(Y(O,e,H),t,H),s,n),It=(e,t,s,n,l)=>Y(Y(Y(k,e,H),t,H),s,(()=>[n,0]))[1]=l,Rt=(e,t)=>be(A,e,t),yt=(e,t,s)=>Y(N,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,l)=>(R(Y(Y(Y(oe,e,H),t,H),s,(()=>[])),n),l),mt=(e,t,s)=>(R(Y(Ce,e,(()=>[])),t),s),pt=(e,t,s)=>E(Q(Q(Q(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ie($t(e,t,s))])),Lt=e=>E(Q(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ie(Gt(e))])),Et=e=>$(oe)||$(Pe[e])?0:B(e?ne(oe):oe,((t,s)=>B(t,((t,n)=>B(t,((t,l)=>Ge(Pe[e],[s,n,l],t))))))),Ft=e=>$(Ce)||$(je[e])?0:B(e?te(Ce):Ce,((t,s)=>Ge(je[e],[s],t))),zt=(e,t,s)=>{if(!$(t))return Ge(e,s),1},Ot=e=>{const t=$(ke[e]),s=$(Me[e])&&$(Oe[e])&&t&&$(Fe[e]),n=$(Ne[e])&&$(Ae[e])&&$(ze[e])&&$(Ee[e]);if(!s||!n){const l=e?[te(m),se(p),ne(O),ne(k)]:[m,p,O,k];if(!s){B(l[2],((t,s)=>B(t,((t,n)=>zt(Me[e],t,[s,n])))));const s=ae();B(l[1],((n,l)=>{zt(Oe[e],n,[l])&&!t&&(Ge(ke[e],[l,null]),re(s,l))})),t||B(l[3],((t,n)=>{if(!W(s,n)){const s=ae();B(t,(e=>B(e,(([t,n],l)=>n!==t?re(s,l):G(e,l))))),B(s,(t=>Ge(ke[e],[n,t])))}})),zt(Fe[e],l[0])}if(!n){let t;B(l[3],((s,n)=>{let l;B(s,((s,a)=>{let r;B(s,(([s,o],c)=>{o!==s&&(Ge(Ne[e],[n,a,c],o,s,pt),t=l=r=1)})),r&&Ge(Ae[e],[n,a],pt)})),l&&Ge(ze[e],[n],pt)})),t&&Ge(Ee[e],void 0,pt)}}},kt=e=>{const t=$(De[e]),s=$(We[e])&&$(xe[e]);if(!t||!s){const n=e?[te(A),te(N)]:[A,N];if(t||zt(De[e],n[0]),!s){let t;B(n[1],(([s,n],l)=>{n!==s&&(Ge(We[e],[l],n,s,Lt),t=1)})),t&&Ge(xe[e],void 0,Lt)}}},At=(e,...t)=>(ns((()=>e(...C(t,b)))),rs),Mt=()=>[Z(k,((e,t)=>-1===Q(m,t)?null:Z(e,((e,s)=>-1===Q(Q(p,t),s)?null:Z(e,(([,e])=>e??null),((e,t)=>he(t)))),D)),D),Z(N,(([,e])=>e??null),((e,t)=>he(t)))],Nt=()=>({cellsTouched:n,valuesTouched:a,changedCells:ee(k,ue,he),invalidCells:ee(oe),changedValues:Z(N,ue,he),invalidValues:Z(Ce),changedTableIds:Z(m),changedRowIds:_(p),changedCellIds:ee(O),changedValueIds:Z(A)}),Pt=()=>ee(pe),jt=()=>K(pe),xt=e=>K(Q(pe,b(e))),Dt=(e,t,s,n=0,l)=>{return C(I((r=Q(pe,b(e)),o=(e,s)=>[L(t)?s:Q(e,b(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),C([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,L(l)?l:n+l),(([,e])=>e));var a,r,o},Wt=(e,t)=>K(Q(Q(pe,b(e)),b(t))),$t=(e,t,s)=>Q(Q(Q(pe,b(e)),b(t)),b(s)),qt=()=>Z(Le),Bt=()=>K(Le),Gt=e=>Q(Le,b(e)),Ht=e=>At((()=>(e=>ve(e,Ue,Jt))(e)?at(e):0)),Kt=e=>At((()=>Ze(e)?ut(e):0)),Qt=e=>{try{lt(J(e))}catch{}return rs},Ut=t=>At((()=>{if((e=ve(t,(e=>ve(e,Qe))))&&(st(t),!$(pe))){const e=Pt();Yt(),Ht(e)}})),Xt=e=>At((()=>{if(s=(e=>ve(e,Qe))(e)){const t=qt();ss(),es(),s=!0,nt(e),Kt(t)}})),Yt=()=>At((()=>at({}))),Zt=e=>At((e=>W(pe,e)?Tt(e):0),e),_t=(e,t)=>At(((e,t)=>E(Q(pe,e),(s=>W(s,t)?Vt(e,s,t):0))),e,t),es=()=>At((()=>ut({}))),ts=()=>At((()=>{st({}),e=!1})),ss=()=>At((()=>{nt({}),s=!1})),ns=(e,t)=>{if(-1!=c){ls();const s=e();return as(t),s}},ls=()=>(-1!=c&&c++,1==c&&Ge($e,void 0,Mt,Nt),rs),as=e=>(c>0&&(c--,0==c&&(n=!$(k),a=!$(N),c=1,Et(1),n&&Ot(1),Ft(1),a&&kt(1),e?.(Mt,Nt)&&(B(k,((e,t)=>B(e,((e,s)=>B(e,(([e],n)=>fe(rs,t,s,n,e))))))),B(N,(([e],t)=>Te(rs,t,e))),n=a=!1),Ge(qe[0],void 0,Mt,Nt),c=-1,Et(0),n&&Ot(0),Ft(0),a&&kt(0),Ge(qe[1],void 0,Mt,Nt),c=0,n=a=!1,S([m,p,O,k,oe,A,N,Ce],q))),rs),rs={getContent:()=>[Pt(),qt()],getTables:Pt,getTableIds:jt,getTable:e=>_(Q(pe,b(e))),getRowIds:xt,getSortedRowIds:Dt,getRow:(e,t)=>Z(Q(Q(pe,b(e)),b(t))),getCellIds:Wt,getCell:$t,getValues:qt,getValueIds:Bt,getValue:Gt,hasTables:()=>!$(pe),hasTable:e=>W(pe,b(e)),hasRow:(e,t)=>W(Q(pe,b(e)),b(t)),hasCell:(e,t,s)=>W(Q(Q(pe,b(e)),b(t)),b(s)),hasValues:()=>!$(Le),hasValue:e=>W(Le,b(e)),getTablesJson:()=>y(pe),getValuesJson:()=>y(Le),getJson:()=>y([pe,Le]),getTablesSchemaJson:()=>y(we),getValuesSchemaJson:()=>y(Re),getSchemaJson:()=>y([we,Re]),setContent:([e,t])=>At((()=>{Ht(e),Kt(t)})),setTables:Ht,setTable:(e,t)=>At((e=>Ue(t,e)?rt(e,t):0),e),setRow:(e,t,s)=>At(((e,t)=>Xe(e,t,s)?ot(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ns((()=>{let n;return Xe(e,n,t)&&(e=b(e),ot(e,ft(e),n=gt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>At(((e,t)=>{if(Xe(e,t,s,1)){const n=ft(e);x(s,((s,l)=>it(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>At(((e,t,s)=>E(Ye(e,t,s,z(n)?n($t(e,t,s)):n),(n=>it(e,ft(e),t,s,n)))),e,t,s),setValues:Kt,setPartialValues:e=>At((()=>Ze(e,1)?x(e,((e,t)=>ht(t,e))):0)),setValue:(e,t)=>At((e=>E(_e(e,z(t)?t(Gt(e)):t),(t=>ht(e,t)))),e),setTransactionChanges:e=>At((()=>{x(e[0],((e,t)=>L(e)?Zt(t):x(e,((e,s)=>L(e)?_t(t,s):x(e,((e,n)=>fe(rs,t,s,n,e))))))),x(e[1],((e,t)=>Te(rs,t,e)))})),setTablesJson:Qt,setValuesJson:e=>{try{dt(J(e))}catch{}return rs},setJson:e=>{try{const[t,s]=J(e);lt(t),dt(s)}catch{Qt(e)}return rs},setTablesSchema:Ut,setValuesSchema:Xt,setSchema:(e,t)=>At((()=>{Ut(e),Xt(t)})),delTables:Yt,delTable:Zt,delRow:_t,delCell:(e,t,s,n)=>At(((e,t,s)=>E(Q(pe,e),(l=>E(Q(l,t),(a=>W(a,s)?vt(e,l,t,a,s,n):0))))),e,t,s),delValues:es,delValue:e=>At((e=>W(Le,e)?bt(e):0),e),delTablesSchema:ts,delValuesSchema:ss,delSchema:()=>At((()=>{ts(),ss()})),transaction:ns,startTransaction:ls,finishTransaction:as,forEachTable:e=>B(pe,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>U(t,e))))))))),forEachRow:(e,t)=>B(Q(pe,b(e)),((e,s)=>t(s,(t=>U(e,t))))),forEachCell:(e,t,s)=>U(Q(Q(pe,b(e)),b(t)),s),forEachValue:e=>U(Le,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=Dt(e,t,s,n,l);return Be((()=>{const r=Dt(e,t,s,n,l);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(rs,e,t,s,n,l,o))}),ke[r?1:0],[e,t],[jt])},addStartTransactionListener:e=>Be(e,$e),addWillFinishTransactionListener:e=>Be(e,qe[0]),addDidFinishTransactionListener:e=>Be(e,qe[1]),callListener:e=>(Ke(e),rs),delListener:e=>(He(e),rs),getListenerStats:()=>({}),createStore:Se};return x({[d]:[0,Ee],[u]:[0,Fe],[i]:[1,ze,[jt]],[h]:[1,Oe,[jt]],Row:[2,Ae,[jt,xt]],[f]:[2,Me,[jt,xt]],[g]:[3,Ne,[jt,xt,Wt],e=>ie($t(...e))],InvalidCell:[3,Pe],[V]:[0,xe],[v]:[0,De],[T]:[1,We,[Bt],e=>ie(Gt(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],l)=>{rs["add"+l+"Listener"]=(...l)=>Be(l[e],t[l[e+1]?1:0],e>0?I(l,0,e):void 0,s,n)})),M(rs)};exports.createStore=Se;
Binary file
@@ -1 +1 @@
1
- "use strict";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,R="Sorted"+L+u,S="Cell",v=S+u,I="Value",p=I+"s",T=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),E=(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,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)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,W=Math.max,j=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)=>E(Y.entries(e),(([e,s])=>t(s,e))),ae=e=>te(e)&&J(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))),Re=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Re(e,t,s()),Le(e,t)),ve=(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)=>ve(e,(e=>ve(e,t,s)),ae),pe=(e,t,s)=>ve(e,(e=>Ie(e,t,s)),ae),Te=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>Te(e,Te),ye=e=>Te(e,Ce),be=(e,t,s,n,o=0)=>G((s?Se:Le)(e,t[o],o>D(t)-2?s:ge),(a=>{if(o>D(t)-2)return n?.(a)&&Re(e,t[o]),a;const r=be(a,t,s,n,o+1);return ie(a)&&Re(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),xe=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Ee=(e,t)=>e?.add(t),Me=(e,t,s)=>{const n=e.hasRow,o=ge(),a=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const o=Se(i,t,ke);return k(n,(t=>Ee(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Re(i,t)})),u=(e,s)=>{Re(o,e,s),le(a,e)||(Re(a,e,t()),Re(r,e,ge()),Re(l,e,ge()))},h=e=>{Re(o,e),Re(a,e),Re(r,e),Re(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)=>Re(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),R=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)||Re(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&Re(f,t,s)}},S=e=>{a((()=>{ue(g,(([,e],t)=>Re(L,t,e))),ue(f,((e,t)=>Re(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,R),e.hasTable(o)&&k(e.getRowIds(o),(e=>{le(L,e)||R(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>R(s))),e.addTableListener(o,(()=>S())))},h,()=>we(i,h),c,d]},De=(n,o)=>e(n)==s?e=>e(n):n??(()=>o??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Ae.test(t)&&D(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 Re(a,d,[o,r,l,i,c]),Ee(be(r,l??[t],ke),d),d},(e,n,...o)=>k(((e,s=[t])=>{const n=[],o=(e,t)=>t==D(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))),Re(a,e),o(e),n))),e=>G(Le(a,e),(([e,,t=[],n,o])=>{const a=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...o(r)):q(t[l])?k(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,t[l])};a()}))]},ze=Je((e=>{let s,n,o,a=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=Qe((()=>P)),f=ge(),L=ge(),w=[],R=[],S=(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)=>xe(e,n,s[t])))})),i=1},v=e=>{Re(f,e),Re(L,e),h(d,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??D(e)),v),p=()=>I(w,D(w)-a),T=()=>G(s,(()=>{Q(w,s),p(),I(R),s=void 0,o=1})),C=()=>{s=z(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){T();const e=Se(r,t,ge),l=Se(e,s,ge),i=Se(l,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&ie(Re(l,n))&&ie(Re(e,s))&&ie(Re(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Re(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Re(f,s,[r,l]),F(s,e),r=ge(),l=ge(),o=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(R,m()),S(0,s),s=z(w),o=1)},E=()=>{J(R)||(Q(w,s),s=N(R),S(1,s),o=1)},M=()=>{o&&(h(c),o=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Re(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(a=e,p(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...R]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(E(),M(),P),goTo:e=>{const t=y(w,e)?x:y(R,e)?E:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(R),q(s)||v(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=Je((e=>{const s=ge(),n=ge(),[o,a,r,l,i,c,d,,u,h,g]=Me(e,ge,(e=>q(e)?t:U(e)?E(e,C):C(e))),[f,L,w]=Qe((()=>S)),R=(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)))))))))},S={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(),R=ke(),S=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=>{Ee(w,e),G(Le(S,e),(t=>{he(t,s),ie(t)&&(Re(S,e),f=1)}))})),ue(o,(e=>{Ee(w,e),le(S,e)||(Re(S,e,ke()),f=1),Ee(Le(S,e),s),q(a)||Ee(R,e)}))})),t(),ie(h)||(g?we(S,(e=>Ee(R,e))):we(r,(e=>G(Le(u,e),(e=>Ee(R,e))))),ue(R,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(S,e)];m(s,t)||(Re(S,e,ke(x(s,t))),Ee(w,e))}))),(f||g)&&!q(i)){const t=[...S];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),De(o),G(a,De)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>R(t,e,s))))),forEachSlice:(e,t)=>R(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),S),destroy:g,getListenerStats:()=>({})};return ee(S)})),Pe=ge([["avg",[(e,t)=>M(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=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["min",[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)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(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},je=Je((e=>{const s=ge(),[n,o,a,r,l,i,c,,d,u,h]=Me(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(Pe,n)??Le(Pe,"sum");return d(e,t,((t,n,o,a,r,l)=>{const d=i(e),h=re(a);l||=q(d),t();let g=We(d,h,a,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),De(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=Je((e=>{const s=e.createStore,[n,o,a,r,l,,,u,,g,f,I,p]=Me(e,(()=>!0),X),T=s(),C=s(),y=ge(),V=(e,t,...s)=>k(s,(s=>Ee(Se(Se(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([C,T],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={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)?[D(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(Pe,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 E;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=T;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Ee(Se(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Ee(t,s)));const n=ge(),o=(t,n,o,a)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=Se(r,t,ge),l=Le(n,o),i=a?void 0:s;if(l!==i){const s=ke([[l,i]]),a=re(n);Re(n,o,i),ue(Le(e,t),(([e,t])=>{const o=We(d[e],a,n,s,t);d[e]=q(Ve(o))?null:o}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.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)&&Re(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])=>{Ee(e,l)})),u,l)})))}x(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)||p(s,u),Re(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])=>{p(s,t),Re(e,a)})))))}))))),E},delQueryDefinition:e=>(m(e),g(e),E),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),E),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return oe({[h]:[1,1],[w]:[0,1],[R]:[0,5],[L]:[1,2],[v]:[0,2],[S]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>E[e+c+s]=(...t)=>C[e+s](...t))),E[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](E,...n)))})),ee(E)})),$e=Je((e=>{const s=ge(),n=ge(),o=ge(),a=ge(),[r,l,i,c,d,u,,,h,g,f]=Me(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,R]=Qe((()=>p)),S=(e,t,s)=>G(u(e),(([n,,o])=>{if(!le(o,t)){const a=ke();if(d(e)!=I(e))Ee(a,t);else{let e=t;for(;!q(e)&&!le(a,e);)Ee(a,e),e=Le(n,e)}if(s)return a;Re(o,t,a)}return Le(o,t)})),v=(e,t)=>G(u(e),(([,,e])=>Re(e,t))),I=e=>Le(s,e),p={setRelationshipDefinition:(e,t,r,l)=>(Re(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)||(Ee(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Re(d,t)}))),q(s)||(Ee(l,s),le(d,s)||Re(d,s,ke()),Ee(Le(d,s),n)),Ee(r,n),Re(c,n,s),we(Le(a,e),(t=>{le(S(e,t),n)&&Ee(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(o,[e,t]))),ue(i,(t=>{v(e,t),w(a,[e,t])}))}),De(l)),p),delRelationshipDefinition:e=>(Re(s,e),g(e),p),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(S(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)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(v(...R(e)),p),destroy:f,getListenerStats:()=>({})};return ee(p)})),qe=e=>[e,e],Ge=()=>[ge(),ge()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=(e,t,s,n=Re)=>(oe(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Xe=(e,t,s)=>q(e)||!te(e)||ae(e)||_(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ne(e,n)})),!ae(e)),Ye=(e,t,s)=>Re(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s,n,a=0;const c=ge(),u=ge(),R=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),W=ge(),j=ke(),B=ge(),$=ge(),U=ge(),X=Ge(),Y=Ge(),Z=Ge(),_=Ge(),te=Ge(),re=Ge(),ce=Ge(),be=Ge(),Me=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),Oe=Ge(),[Pe,We,je,Be]=Qe((()=>ds)),$e=e=>{if(!Xe(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))},_e=(t,s)=>(!e||le(A,s)||kt(s))&&Xe(t,((e,t)=>et(s,t,e)),(()=>kt(s))),et=(e,t,s,n)=>Xe(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(A,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)=>Xe(t?e:at(e),((t,s)=>G(nt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),nt=(e,s)=>t?G(Le(N,e),(t=>Ve(s)!=t[r]?Et(e,s,t[l]):s),(()=>Et(e,s))):q(Ve(s))?Et(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(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(j,(t=>{se(e,t)||Et(t)}))),e),rt=e=>Ue(A,e,((e,t,s)=>{const n=ge(),o=ke();Ue(Se(A,t,ge),s,((e,t,s)=>{Re(e,t,s),G(s[l],(e=>Re(n,t,e)),(()=>Ee(o,t)))})),Re(z,t,[n,o])}),((e,t)=>{Re(A,t),Re(z,t)})),lt=e=>Ue(N,e,((e,t,s)=>{Re(N,t,s),G(s[l],(e=>Re(W,t,e)),(()=>Ee(j,t)))}),((e,t)=>{Re(N,t),Re(W,t),he(j,t)})),it=e=>ae(e)?ts():Xt(e),ct=e=>Ue($,e,((e,t,s)=>dt(t,s)),((e,t)=>vt(t))),dt=(e,t)=>Ue(Se($,e,(()=>(Ct(e,1),ge()))),t,((t,s,n)=>ut(e,t,s,n)),((t,s)=>It(e,t,s))),ut=(e,t,s,n,o)=>Ue(Se(t,s,(()=>(yt(e,s,1),ge()))),n,((t,n,o)=>ht(e,s,t,n,o)),((n,a)=>pt(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),Re(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=>Ue(U,e,((e,t,s)=>wt(t,s)),((e,t)=>Tt(t))),wt=(e,t)=>{le(U,e)||mt(e,1);const s=Le(U,e);t!==s&&(xt(e,s,t),Re(U,e,t))},Rt=(e,t)=>{const[s]=Se(B,e,Fe),n=s(t);return le(Le($,e),n)?Rt(e,t):n},St=e=>Le($,e)??dt(e,{}),vt=e=>dt(e,{}),It=(e,t,s)=>{const[,n]=Se(B,e,Fe);n(s),ut(e,t,s,{},!0)},pt=(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),Re(n,t)};q(r)?l(o):we(n,l),ie(n)&&(yt(e,s,-1),ie(Re(t,s))&&(Ct(e,-1),Re($,e),Re(B,e)))},Tt=e=>{const t=Le(W,e);if(!q(t))return wt(e,t);xt(e,Le(U,e)),mt(e,-1),Re(U,e)},Ct=(e,t)=>Ye(c,e,t),yt=(e,t,s)=>Ye(Se(u,e,ge),t,s),bt=(e,t,s,n)=>Ye(Se(Se(R,e,ge),t,ge),s,n),Vt=(e,t,s,n,o)=>Se(Se(Se(b,e,ge),t,ge),s,(()=>[n,0]))[1]=o,mt=(e,t)=>Ye(m,e,t),xt=(e,t,s)=>Se(M,e,(()=>[t,0]))[1]=s,kt=(e,t,s,n,o)=>(Q(Se(Se(Se(D,e,ge),t,ge),s,(()=>[])),n),o),Et=(e,t,s)=>(Q(Se(J,e,(()=>[])),t),s),Mt=(e,t,s)=>G(Le(Le(Le(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Gt(e,t,s))])),Dt=e=>G(Le(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Ut(e))])),Jt=e=>ie(D)||ie(Me[e])?0:ue(e?ye(D):D,((t,s)=>ue(t,((t,n)=>ue(t,((t,o)=>We(Me[e],[s,n,o],t))))))),At=e=>ie(J)||ie(De[e])?0:ue(e?Te(J):J,((t,s)=>We(De[e],[s],t))),Ft=(e,t,s)=>{if(!ie(t))return We(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?[Te(c),Ce(u),ye(R),ye(b)]:[c,u,R,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&&(We(te[e],[o,null]),Ee(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?Ee(s,o):he(e,o))))),ue(s,(t=>We(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&&(We(be[e],[n,a,i],l,s,Mt),t=o=r=1)})),r&&We(re[e],[n,a],Mt)})),o&&We(Z[e],[n],Mt)})),t&&We(X[e],void 0,Mt)}}},zt=e=>{const t=ie(Ae[e]),s=ie(ze[e])&&ie(Je[e]);if(!t||!s){const n=e?[Te(m),Te(M)]:[m,M];if(t||Ft(Ae[e],n[0]),!s){let t;ue(n[1],(([s,n],o)=>{n!==s&&(We(ze[e],[o],n,s,Dt),t=1)})),t&&We(Je[e],void 0,Dt)}}},Nt=(e,...t)=>(ls((()=>e(...E(t,C)))),ds),Ot=()=>[ve(b,((e,t)=>-1===Le(c,t)?null:ve(e,((e,s)=>-1===Le(Le(u,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),ve(M,(([,e])=>e??null),((e,t)=>Ke(t)))],Pt=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(b,He,Ke),invalidCells:pe(D),changedValues:ve(M,He,Ke),invalidValues:ve(J),changedTableIds:ve(c),changedRowIds:Ie(u),changedCellIds:pe(R),changedValueIds:ve(m)}),Wt=()=>pe($),jt=()=>fe($),Bt=e=>fe(Le($,C(e))),$t=(e,t,s,n=0,o)=>{return E(F(x((a=Le($,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],E([...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($,C(e)),C(t))),Gt=(e,t,s)=>Le(Le(Le($,C(e)),C(t)),C(s)),Ht=()=>ve(U),Kt=()=>fe(U),Ut=e=>Le(U,C(e)),Xt=e=>Nt((()=>(e=>Xe(e,_e,kt))(e)?ct(e):0)),Yt=e=>Nt((()=>st(e)?Lt(e):0)),Zt=e=>{try{it(P(e))}catch{}return ds},_t=t=>Nt((()=>{if((e=Xe(t,(e=>Xe(e,$e))))&&(rt(t),!ie($))){const e=Wt();ts(),Xt(e)}})),es=e=>Nt((()=>{if(t=(e=>Xe(e,$e))(e)){const s=Ht();rs(),os(),t=!0,lt(e),Yt(s)}})),ts=()=>Nt((()=>ct({}))),ss=e=>Nt((e=>le($,e)?vt(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(M),a=1,Jt(1),s&&Qt(1),At(1),n&&zt(1),a=-1,e?.(Ot,Pt)&&(a=1,ue(b,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>me(ds,t,s,n,e))))))),ue(M,(([e],t)=>xe(ds,t,e))),a=-1,s=n=!1),We(Oe[0],void 0,Ot,Pt),Jt(0),s&&Qt(0),At(0),n&&zt(0),We(Oe[1],void 0,Ot,Pt),a=0,k([c,u,R,b,D,m,M,J],de))),ds),ds={getContent:()=>[Wt(),Ht()],getTables:Wt,getTableIds:jt,getTable:e=>Ie(Le($,C(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>ve(Le(Le($,C(e)),C(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ie($),hasTable:e=>le($,C(e)),hasRow:(e,t)=>le(Le($,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le($,C(e)),C(t)),C(s)),hasValues:()=>!ie(U),hasValue:e=>le(U,C(e)),getTablesJson:()=>O($),getValuesJson:()=>O(U),getJson:()=>O([$,U]),getTablesSchemaJson:()=>O(A),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([A,N]),setContent:([e,t])=>Nt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>Nt((e=>_e(t,e)?dt(e,t):0),e),setRow:(e,t,s)=>Nt(((e,t)=>et(e,t,s)?ut(e,St(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ls((()=>{let n;return et(e,n,t)&&(e=C(e),ut(e,St(e),n=Rt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Nt(((e,t)=>{if(et(e,t,s,1)){const n=St(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,St(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)=>xe(ds,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{ft(P(e))}catch{}return ds},setJson:e=>{try{const[t,s]=P(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)?pt(e,o,t,a,s,n):0))))),e,t,s),delValues:os,delValue:e=>Nt((e=>le(U,e)?Tt(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($,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le($,C(e)),C(t)),s),forEachValue:e=>we(U,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=$t(e,t,s,n,o);return Pe((()=>{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],[jt])},addWillFinishTransactionListener:e=>Pe(e,Oe[0]),addDidFinishTransactionListener:e=>Pe(e,Oe[1]),callListener:e=>(Be(e),ds),delListener:e=>(je(e),ds),getListenerStats:()=>({}),createStore:Ze};return oe({[g]:[0,X],[f]:[0,Y],[h]:[1,Z,[jt]],[w]:[1,_,[jt]],[L]:[2,re,[jt,Bt]],[v]:[2,ce,[jt,Bt]],[S]:[3,be,[jt,Bt,qt],e=>qe(Gt(...e))],InvalidCell:[3,Me],[p]:[0,Je],[T]:[0,Ae],[I]:[1,ze,[Kt],e=>qe(Ut(e[0]))],InvalidValue:[1,De]},(([e,t,s,n],o)=>{ds[d+o+i]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?F(o,0,e):void 0,s,n)})),ee(ds)};exports.createCheckpoints=ze,exports.createCustomPersister=(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)},exports.createIndexes=Oe,exports.createMetrics=je,exports.createQueries=Be,exports.createRelationships=$e,exports.createStore=Ze,exports.defaultSorter=Ne;
1
+ "use strict";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,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",p=I+"s",T=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),E=(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,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)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=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)=>E(Y.entries(e),(([e,s])=>t(s,e))),ae=e=>te(e)&&J(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))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(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)=>Re(e,(e=>Re(e,t,s)),ae),pe=(e,t,s)=>Re(e,(e=>Ie(e,t,s)),ae),Te=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>Te(e,Te),ye=e=>Te(e,Ce),be=(e,t,s,n,o=0)=>G((s?ve:Le)(e,t[o],o>D(t)-2?s:ge),(a=>{if(o>D(t)-2)return n?.(a)&&Se(e,t[o]),a;const r=be(a,t,s,n,o+1);return ie(a)&&Se(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),xe=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Ee=(e,t)=>e?.add(t),Me=(e,t,s)=>{const n=e.hasRow,o=ge(),a=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const o=ve(i,t,ke);return k(n,(t=>Ee(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(o,e,s),le(a,e)||(Se(a,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(o,e),Se(a,e),Se(r,e),Se(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)=>Se(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),S=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)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{a((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(o)&&k(e.getRowIds(o),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>S(s))),e.addTableListener(o,(()=>v())))},h,()=>we(i,h),c,d]},De=(n,o)=>e(n)==s?e=>e(n):n??(()=>o??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Ae.test(t)&&D(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 Se(a,d,[o,r,l,i,c]),Ee(be(r,l??[t],ke),d),d},(e,n,...o)=>k(((e,s=[t])=>{const n=[],o=(e,t)=>t==D(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))),Se(a,e),o(e),n))),e=>G(Le(a,e),(([e,,t=[],n,o])=>{const a=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...o(r)):q(t[l])?k(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,t[l])};a()}))]},ze=Je((e=>{let s,n,o,a=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=Qe((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(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)=>xe(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??D(e)),R),p=()=>I(w,D(w)-a),T=()=>G(s,(()=>{Q(w,s),p(),I(S),s=void 0,o=1})),C=()=>{s=z(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(i){T();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[a,void 0]));i[1]=o,i[0]===o&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),o=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),o=1)},E=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),o=1)},M=()=>{o&&(h(c),o=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(a=e,p(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(E(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?E:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=Je((e=>{const s=ge(),n=ge(),[o,a,r,l,i,c,d,,u,h,g]=Me(e,ge,(e=>q(e)?t:U(e)?E(e,C):C(e))),[f,L,w]=Qe((()=>v)),S=(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)))))))))},v={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(),S=ke(),v=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=>{Ee(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(o,(e=>{Ee(w,e),le(v,e)||(Se(v,e,ke()),f=1),Ee(Le(v,e),s),q(a)||Ee(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Ee(S,e))):we(r,(e=>G(Le(u,e),(e=>Ee(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Ee(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),De(o),G(a,De)),v},delIndexDefinition:e=>(h(e),v),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(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),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),Pe=ge([["avg",[(e,t)=>M(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=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(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},We=Je((e=>{const s=ge(),[n,o,a,r,l,i,c,,d,u,h]=Me(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(Pe,n)??Le(Pe,"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))}),De(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=Je((e=>{const s=e.createStore,[n,o,a,r,l,,,u,,g,f,I,p]=Me(e,(()=>!0),X),T=s(),C=s(),y=ge(),V=(e,t,...s)=>k(s,(s=>Ee(ve(ve(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([C,T],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={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)?[D(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(Pe,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 E;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=T;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Ee(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Ee(t,s)));const n=ge(),o=(t,n,o,a)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,o),i=a?void 0:s;if(l!==i){const s=ke([[l,i]]),a=re(n);Se(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]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.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)&&Se(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])=>{Ee(e,l)})),u,l)})))}x(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)||p(s,u),Se(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])=>{p(s,t),Se(e,a)})))))}))))),E},delQueryDefinition:e=>(m(e),g(e),E),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),E),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return oe({[h]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>E[e+c+s]=(...t)=>C[e+s](...t))),E[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](E,...n)))})),ee(E)})),$e=Je((e=>{const s=ge(),n=ge(),o=ge(),a=ge(),[r,l,i,c,d,u,,,h,g,f]=Me(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=Qe((()=>p)),v=(e,t,s)=>G(u(e),(([n,,o])=>{if(!le(o,t)){const a=ke();if(d(e)!=I(e))Ee(a,t);else{let e=t;for(;!q(e)&&!le(a,e);)Ee(a,e),e=Le(n,e)}if(s)return a;Se(o,t,a)}return Le(o,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),p={setRelationshipDefinition:(e,t,r,l)=>(Se(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)||(Ee(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Ee(l,s),le(d,s)||Se(d,s,ke()),Ee(Le(d,s),n)),Ee(r,n),Se(c,n,s),we(Le(a,e),(t=>{le(v(e,t),n)&&Ee(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(o,[e,t]))),ue(i,(t=>{R(e,t),w(a,[e,t])}))}),De(l)),p),delRelationshipDefinition:e=>(Se(s,e),g(e),p),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(v(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)=>(v(e,t),L(s,a,[e,t])),delListener:e=>(R(...S(e)),p),destroy:f,getListenerStats:()=>({})};return ee(p)})),qe=e=>[e,e],Ge=()=>[ge(),ge()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=(e,t,s,n=Se)=>(oe(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Xe=(e,t,s)=>q(e)||!te(e)||ae(e)||_(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ne(e,n)})),!ae(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,a=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ke(),B=ge(),$=ge(),U=ge(),X=Ge(),Y=Ge(),Z=Ge(),_=Ge(),te=Ge(),re=Ge(),ce=Ge(),be=Ge(),Me=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),Oe=ge(),Pe=Ge(),[je,We,Be,$e]=Qe((()=>us)),_e=e=>{if(!Xe(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))},et=(t,s)=>(!e||le(A,s)||Et(s))&&Xe(t,((e,t)=>tt(s,t,e)),(()=>Et(s))),tt=(e,t,s,n)=>Xe(n?s:at(s,e,t),((n,o)=>G(st(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Et(e,t))),st=(t,s,n,o)=>e?G(Le(Le(A,t),n),(e=>Ve(o)!=e[r]?Et(t,s,n,o,e[l]):o),(()=>Et(t,s,n,o))):q(Ve(o))?Et(t,s,n,o):o,nt=(e,t)=>Xe(t?e:rt(e),((t,s)=>G(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Mt())),ot=(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,at=(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)||Et(t,s,n)}))})),e),rt=e=>(t&&(ue(j,((t,s)=>{se(e,s)||(e[s]=t)})),ue(W,(t=>{se(e,t)||Mt(t)}))),e),lt=e=>Ue(A,e,((e,t,s)=>{const n=ge(),o=ke();Ue(ve(A,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Ee(o,t)))})),Se(z,t,[n,o])}),((e,t)=>{Se(A,t),Se(z,t)})),it=e=>Ue(N,e,((e,t,s)=>{Se(N,t,s),G(s[l],(e=>Se(j,t,e)),(()=>Ee(W,t)))}),((e,t)=>{Se(N,t),Se(j,t),he(W,t)})),ct=e=>ae(e)?ss():Yt(e),dt=e=>Ue($,e,((e,t,s)=>ut(t,s)),((e,t)=>It(t))),ut=(e,t)=>Ue(ve($,e,(()=>(yt(e,1),ge()))),t,((t,s,n)=>ht(e,t,s,n)),((t,s)=>pt(e,t,s))),ht=(e,t,s,n,o)=>Ue(ve(t,s,(()=>(bt(e,s,1),ge()))),n,((t,n,o)=>gt(e,s,t,n,o)),((n,a)=>Tt(e,t,s,n,a,o))),gt=(e,t,s,n,o)=>{le(s,n)||Vt(e,t,n,1);const a=Le(s,n);o!==a&&(mt(e,t,n,a,o),Se(s,n,o))},ft=(e,t,s,n,o)=>G(Le(t,s),(t=>gt(e,s,t,n,o)),(()=>ht(e,t,s,at({[n]:o},e,s)))),Lt=e=>ae(e)?as():Zt(e),wt=e=>Ue(U,e,((e,t,s)=>St(t,s)),((e,t)=>Ct(t))),St=(e,t)=>{le(U,e)||xt(e,1);const s=Le(U,e);t!==s&&(kt(e,s,t),Se(U,e,t))},vt=(e,t)=>{const[s]=ve(B,e,Fe),n=s(t);return le(Le($,e),n)?vt(e,t):n},Rt=e=>Le($,e)??ut(e,{}),It=e=>ut(e,{}),pt=(e,t,s)=>{const[,n]=ve(B,e,Fe);n(s),ht(e,t,s,{},!0)},Tt=(e,t,s,n,o,a)=>{const r=Le(Le(z,e)?.[0],o);if(!q(r)&&!a)return gt(e,s,n,o,r);const l=t=>{mt(e,s,t,Le(n,t)),Vt(e,s,t,-1),Se(n,t)};q(r)?l(o):we(n,l),ie(n)&&(bt(e,s,-1),ie(Se(t,s))&&(yt(e,-1),Se($,e),Se(B,e)))},Ct=e=>{const t=Le(j,e);if(!q(t))return St(e,t);kt(e,Le(U,e)),xt(e,-1),Se(U,e)},yt=(e,t)=>Ye(c,e,t),bt=(e,t,s)=>Ye(ve(u,e,ge),t,s),Vt=(e,t,s,n)=>Ye(ve(ve(S,e,ge),t,ge),s,n),mt=(e,t,s,n,o)=>ve(ve(ve(b,e,ge),t,ge),s,(()=>[n,0]))[1]=o,xt=(e,t)=>Ye(m,e,t),kt=(e,t,s)=>ve(M,e,(()=>[t,0]))[1]=s,Et=(e,t,s,n,o)=>(Q(ve(ve(ve(D,e,ge),t,ge),s,(()=>[])),n),o),Mt=(e,t,s)=>(Q(ve(J,e,(()=>[])),t),s),Dt=(e,t,s)=>G(Le(Le(Le(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Ht(e,t,s))])),Jt=e=>G(Le(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Xt(e))])),At=e=>ie(D)||ie(Me[e])?0:ue(e?ye(D):D,((t,s)=>ue(t,((t,n)=>ue(t,((t,o)=>We(Me[e],[s,n,o],t))))))),Ft=e=>ie(J)||ie(De[e])?0:ue(e?Te(J):J,((t,s)=>We(De[e],[s],t))),Qt=(e,t,s)=>{if(!ie(t))return We(e,s),1},zt=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?[Te(c),Ce(u),ye(S),ye(b)]:[c,u,S,b];if(!s){ue(o[2],((t,s)=>ue(t,((t,n)=>Qt(ce[e],t,[s,n])))));const s=ke();ue(o[1],((n,o)=>{Qt(_[e],n,[o])&&!t&&(We(te[e],[o,null]),Ee(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?Ee(s,o):he(e,o))))),ue(s,(t=>We(te[e],[n,t])))}})),Qt(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&&(We(be[e],[n,a,i],l,s,Dt),t=o=r=1)})),r&&We(re[e],[n,a],Dt)})),o&&We(Z[e],[n],Dt)})),t&&We(X[e],void 0,Dt)}}},Nt=e=>{const t=ie(Ae[e]),s=ie(ze[e])&&ie(Je[e]);if(!t||!s){const n=e?[Te(m),Te(M)]:[m,M];if(t||Qt(Ae[e],n[0]),!s){let t;ue(n[1],(([s,n],o)=>{n!==s&&(We(ze[e],[o],n,s,Jt),t=1)})),t&&We(Je[e],void 0,Jt)}}},Ot=(e,...t)=>(is((()=>e(...E(t,C)))),us),Pt=()=>[Re(b,((e,t)=>-1===Le(c,t)?null:Re(e,((e,s)=>-1===Le(Le(u,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),Re(M,(([,e])=>e??null),((e,t)=>Ke(t)))],jt=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(b,He,Ke),invalidCells:pe(D),changedValues:Re(M,He,Ke),invalidValues:Re(J),changedTableIds:Re(c),changedRowIds:Ie(u),changedCellIds:pe(S),changedValueIds:Re(m)}),Wt=()=>pe($),Bt=()=>fe($),$t=e=>fe(Le($,C(e))),qt=(e,t,s,n=0,o)=>{return E(F(x((a=Le($,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],E([...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},Gt=(e,t)=>fe(Le(Le($,C(e)),C(t))),Ht=(e,t,s)=>Le(Le(Le($,C(e)),C(t)),C(s)),Kt=()=>Re(U),Ut=()=>fe(U),Xt=e=>Le(U,C(e)),Yt=e=>Ot((()=>(e=>Xe(e,et,Et))(e)?dt(e):0)),Zt=e=>Ot((()=>nt(e)?wt(e):0)),_t=e=>{try{ct(P(e))}catch{}return us},es=t=>Ot((()=>{if((e=Xe(t,(e=>Xe(e,_e))))&&(lt(t),!ie($))){const e=Wt();ss(),Yt(e)}})),ts=e=>Ot((()=>{if(t=(e=>Xe(e,_e))(e)){const s=Kt();ls(),as(),t=!0,it(e),Zt(s)}})),ss=()=>Ot((()=>dt({}))),ns=e=>Ot((e=>le($,e)?It(e):0),e),os=(e,t)=>Ot(((e,t)=>G(Le($,e),(s=>le(s,t)?pt(e,s,t):0))),e,t),as=()=>Ot((()=>wt({}))),rs=()=>Ot((()=>{lt({}),e=!1})),ls=()=>Ot((()=>{it({}),t=!1})),is=(e,t)=>{if(-1!=a){cs();const s=e();return ds(t),s}},cs=()=>(-1!=a&&a++,1==a&&We(Oe,void 0,Pt,jt),us),ds=e=>(a>0&&(a--,0==a&&(s=!ie(b),n=!ie(M),a=1,At(1),s&&zt(1),Ft(1),n&&Nt(1),e?.(Pt,jt)&&(ue(b,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>me(us,t,s,n,e))))))),ue(M,(([e],t)=>xe(us,t,e))),s=n=!1),We(Pe[0],void 0,Pt,jt),a=-1,At(0),s&&zt(0),Ft(0),n&&Nt(0),We(Pe[1],void 0,Pt,jt),a=0,s=n=!1,k([c,u,S,b,D,m,M,J],de))),us),us={getContent:()=>[Wt(),Kt()],getTables:Wt,getTableIds:Bt,getTable:e=>Ie(Le($,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>Re(Le(Le($,C(e)),C(t))),getCellIds:Gt,getCell:Ht,getValues:Kt,getValueIds:Ut,getValue:Xt,hasTables:()=>!ie($),hasTable:e=>le($,C(e)),hasRow:(e,t)=>le(Le($,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le($,C(e)),C(t)),C(s)),hasValues:()=>!ie(U),hasValue:e=>le(U,C(e)),getTablesJson:()=>O($),getValuesJson:()=>O(U),getJson:()=>O([$,U]),getTablesSchemaJson:()=>O(A),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([A,N]),setContent:([e,t])=>Ot((()=>{Yt(e),Zt(t)})),setTables:Yt,setTable:(e,t)=>Ot((e=>et(t,e)?ut(e,t):0),e),setRow:(e,t,s)=>Ot(((e,t)=>tt(e,t,s)?ht(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>is((()=>{let n;return tt(e,n,t)&&(e=C(e),ht(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ot(((e,t)=>{if(tt(e,t,s,1)){const n=Rt(e);oe(s,((s,o)=>ft(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ot(((e,t,s)=>G(st(e,t,s,K(n)?n(Ht(e,t,s)):n),(n=>ft(e,Rt(e),t,s,n)))),e,t,s),setValues:Zt,setPartialValues:e=>Ot((()=>nt(e,1)?oe(e,((e,t)=>St(t,e))):0)),setValue:(e,t)=>Ot((e=>G(ot(e,K(t)?t(Xt(e)):t),(t=>St(e,t)))),e),setTransactionChanges:e=>Ot((()=>{oe(e[0],((e,t)=>q(e)?ns(t):oe(e,((e,s)=>q(e)?os(t,s):oe(e,((e,n)=>me(us,t,s,n,e))))))),oe(e[1],((e,t)=>xe(us,t,e)))})),setTablesJson:_t,setValuesJson:e=>{try{Lt(P(e))}catch{}return us},setJson:e=>{try{const[t,s]=P(e);ct(t),Lt(s)}catch{_t(e)}return us},setTablesSchema:es,setValuesSchema:ts,setSchema:(e,t)=>Ot((()=>{es(e),ts(t)})),delTables:ss,delTable:ns,delRow:os,delCell:(e,t,s,n)=>Ot(((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:as,delValue:e=>Ot((e=>le(U,e)?Ct(e):0),e),delTablesSchema:rs,delValuesSchema:ls,delSchema:()=>Ot((()=>{rs(),ls()})),transaction:is,startTransaction:cs,finishTransaction:ds,forEachTable:e=>ue($,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachRow:(e,t)=>ue(Le($,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le($,C(e)),C(t)),s),forEachValue:e=>we(U,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=qt(e,t,s,n,o);return je((()=>{const r=qt(e,t,s,n,o);V(r,l)||(l=r,a(us,e,t,s,n,o,l))}),te[r?1:0],[e,t],[Bt])},addStartTransactionListener:e=>je(e,Oe),addWillFinishTransactionListener:e=>je(e,Pe[0]),addDidFinishTransactionListener:e=>je(e,Pe[1]),callListener:e=>($e(e),us),delListener:e=>(Be(e),us),getListenerStats:()=>({}),createStore:Ze};return oe({[g]:[0,X],[f]:[0,Y],[h]:[1,Z,[Bt]],[w]:[1,_,[Bt]],[L]:[2,re,[Bt,$t]],[R]:[2,ce,[Bt,$t]],[v]:[3,be,[Bt,$t,Gt],e=>qe(Ht(...e))],InvalidCell:[3,Me],[p]:[0,Je],[T]:[0,Ae],[I]:[1,ze,[Ut],e=>qe(Xt(e[0]))],InvalidValue:[1,De]},(([e,t,s,n],o)=>{us[d+o+i]=(...o)=>je(o[e],t[o[e+1]?1:0],e>0?F(o,0,e):void 0,s,n)})),ee(us)};exports.createCheckpoints=ze,exports.createCustomPersister=(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)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=Be,exports.createRelationships=$e,exports.createStore=Ze,exports.defaultSorter=Ne;
Binary file
package/lib/cjs/tools.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";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",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,h="Cell",g=h+$,m="Value",w=m+"s",f=m+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),P=e=>e.pop(),A=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,L=e=>null==e,j=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return j(l)||l==n&&O(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)=>e?.has(t)??!1,H=e=>[...e?.values()??[]],Q=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),K=e=>new Map(e),X=(e,t)=>e?.get(t),Y=(e,t)=>Q(e,((e,l)=>t(l,e))),ee=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),te=(e,t,l)=>L(l)?(q(e,t),e):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",$e="Deps",ce=$e+"?: React.DependencyList",ie="doRollback?: DoRollback",ue="actions: () => Return, "+ie,pe="export",be="Id",Ce="Invalid",he="Json",ge=ne(r),me="?: ",we=" | undefined",fe="NonNullable",ye="Partial",Te="Props",ve="Provider",Ve=`Registers a ${ge} that will be called`,xe="Represents",Re="rowId: "+be,ke="Schema",Se="Set",Pe=", descending?: boolean, offset?: number, limit?: number",Ae="[]",Ee="the Store",De="Transaction",Oe=ne(De),Ne="Execute a "+Oe+" to make multiple mutations",Le="Explicitly starts a "+Oe,je="Explicitly finishes a "+Oe,Me="the end of the "+Oe,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+Ee: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}' `+c,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 "+ct[e]+" in "+ct[t],lt=(e,l,a=0)=>Ve+" whenever "+ct[e]+" in "+ct[l]+" change"+(a?t:"s"),at=e=>`the '${e}' `+c,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],$t=[s,"has","set","del","set","forEach",I,t],ct=[Ee,i,_e+c+Fe+$,oe+c,_e+p+Fe+$,oe+p,_e+h+Fe+$,oe+h,"invalid Cell changes",w,_e+m+Fe+$,oe+m,"invalid Value changes",_e+"sorted "+p+Fe+$],it=[t,"tabular ","keyed value "],ut=e=>new Set(G(e)||L(e)?e:[e]),pt=(e,t)=>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(","),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)},ft=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,Tt=(e,l=t)=>e.join(l),vt=e=>e.flat(1e3),Vt=(e,t=0)=>Tt(V(e.split(Ct),((e,l)=>(l>0||t?ae:ne)(gt(e,0,1))+gt(e,1)))),xt=e=>ae(Tt((e&&!bt.test(e[0])?e:" "+e).split(Ct),"_")),Rt=e=>`/** ${e}. */`,kt=(...e)=>Tt(k(e,(e=>e)),", "),St=(...e)=>"{"+Tt(e,"; ")+"}",Pt=(...e)=>St(...V(e,(e=>"readonly "+e))),At=()=>{const e=[K(),K(),K(),K()],l=K(),a=K();return[(...e)=>Tt(vt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(t??n)==n?pt(le(e[n],l,ut),a):0)))),(e,a,n,o=t,d=1)=>wt(l,e,[a,n,o,d]),(e,t,l)=>wt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>X(a,e)===t?e:wt(a,e,t),(l=0)=>V([...T(ee(e[l],((e,t)=>`import {${Tt(T(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],S(e,P(e)+";"),[`const ${l} = ${E(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,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))))],Ot=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,St(...l((e=>`'${e}'?: {[rowId: Id]: `+St(...a(e,((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`)))+"}"))),Qe(1,5)),I=e(i+ze,St(...l((e=>`'${e}'?: {[rowId: Id]: `+St(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Qe(1,5,1)),$=e(c+be,"keyof "+s,"A "+c+" Id in "+Ee),m=`<TId extends ${$}>`,w=e(c,fe+`<${s}[TId]>`,"A "+c+" in "+Ee,m),f=e(c+ze,fe+`<${I}[TId]>`,"A "+c+" in "+Ee+We,m),y=e(p,w+"<TId>[Id]","A "+p+" in a "+c,m),T=e(p+ze,f+"<TId>[Id]","A "+p+" in a "+c+We,m),v=e(h+be,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,fe+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(h+se,`(...[cellId, cell]: ${x}<TId>)`+Je,et(oe+h+" Id, and "+h),m),k=e(p+se,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Je+") "+Je,et(oe+p+" Id, and a "+h+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Je}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),P=e(c+se,`(...[tableId, forEachRow]: ${S})`+Je,et(oe+c+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,de+" returning information about any Cell's changes during a "+Oe),D=e(i+r,`(${d}, getCellChange: ${E}${we})`+Je,tt(1)),O=e(u+r,`(${d})`+Je,tt(2)),N=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${E}${we})`+Je,tt(3)),j=e(b+r,`(${d}, tableId: ${$})`+Je,tt(4,3)),M=e(C+r,"("+kt(d,"tableId: "+$,"cellId: Id"+we,"descending: boolean","offset: number","limit: number"+we,"sortedRowIds: Ids")+")"+Je,tt(13,3)),G=e(p+r,"("+kt(""+d,"tableId: "+$,Re,`getCellChange: ${E}${we}`)+")"+Je,tt(5,3)),J=e(g+r,"("+kt(""+d,"tableId: "+$,Re)+")"+Je,tt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Re}, cellId: CId, newCell: ${V}<TId, CId> ${we}, oldCell: ${V}<TId, CId> ${we}, getCellChange: ${E} ${we}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,w,f,y,T,v,V,R,k,P,D,O,N,j,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(w,St(...n(((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`))),Qe(2,5)),s=e(w+ze,St(...n(((e,t)=>`'${e}'?: ${t}`))),Qe(2,5,1)),I=e(m+be,"keyof "+d,"A "+m+" Id in "+Ee),$=e(m,fe+`<${d}[VId]>`,"A "+m+" Id in "+Ee,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,m+" Ids and types in "+Ee,`<VId = ${I}>`,0),i=e(m+se,`(...[valueId, value]: ${c})`+Je,et(oe+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,de+" returning information about any Value's changes during a "+Oe),p=e(w+r,`(${o}, getValueChange: ${u}${we})`+Je,tt(9)),b=e(f+r,`(${o})`+Je,tt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${$}<VId> ${we}, oldValue: ${$}<VId> ${we}, getValueChange: ${u} ${we}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,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(De+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Je,de+" listening to the completion of a "+Oe)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,jt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,P]=At(),[E,D,O]=Dt(e,l,x),[N,j,G]=Ot(T,E,D,O),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)),S(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($t[e]+l+(4==e?ye:t)+a,d,n,(n==Z?Lt:Nt)($t[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,jt(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",$);const[e,l,n,r,s,I,m,w,f,V,R,k,P,A,O,j,G,J,z,W,_]=N(Q,Z),Y=K();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,xe+` the '${e}' `+c),T(t+c+ze,s+l,xe+` the '${e}' `+c+We),T(t+p,I+l,qe(e)),T(t+p+ze,m+l,qe(e,1)),T(t+h+be,w+l,`A Cell Id for the '${e}' `+c),T(t+h+se,V+l,et(`a Cell Id and value from a Row in the '${e}' `+c)),T(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,w,k,P,A,O,j,G,J,z,W,_),ae=[e,l,n,w,P,A,O,j,G,J,z,W,Y],v([[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(c,Ee)),B(5,t,c,Ge,Xe(c,Ee),"tableCallback: "+k,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u]=X(Y,e);v([[o],[a],[Z,"table: "+d,", table"],[Z]],(([a,o,d=t],r)=>B(r,l,c,a,ot(e,r),o,n+d))),B(0,l,b,$,Ke(p,at(e)),t,n),B(0,l,C,$,Ke(p,at(e),1),"cellId?: "+I+Pe,n+", cellId, descending, offset, limit"),B(5,l,p,Ge,Xe(p,at(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[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+we,"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"),D(e,((o,d,r,s,I)=>{const $="Map"+Vt(d,1);te(le,d,$);const c=d+(L(r)?we:t);v([[c],[a],[Z,`, cell: ${d} | `+$,", cell as any"],[Z]],(([a,d=t,r=t],$)=>B($,l+I,h,a,rt(e,o,$),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,P,Qe(1,8)+" changes"),F(u,A,lt(2,0,1)),F(c,O,lt(3,0),`tableId: ${n} | null`,"tableId"),F(b,j,lt(4,3,1),`tableId: ${n} | null`,"tableId"),F(C,G,lt(13,3,1),kt("tableId: TId",`cellId: ${w}<TId>`+we,"descending: boolean","offset: number","limit: number"+we),kt("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: ${Tt(E((e=>X(Y,e)?.[4]??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)),S(q,".set"+i+ke+"({",vt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(xt(o),`'${o}'`)}]: ${x(xt(l),`'${l}'`)}${L(a)?t:`, [${x(xt(d),`'${d}'`)}]: `+(M(a)?x(xt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!_(l)){const[e,l,n,r,s,I,$,c,i]=j(Q,Z);y(1,U,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[e],[a],[Z,"values: "+l,"values"],[Z],[Z,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>B(n,t,w,e,Qe(2,n),l,a))),B(0,t,f,n+Ae,Ke(m,Ee)),B(5,t,m,"void",Xe(m,Ee),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+Vt(l,1);te(le,l,r),v([[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,w+he,he,Qe(2,6)),B(2,t,w+he,Z,Qe(2,7),"valuesJson: "+he,"values"+he),F(w,I,Qe(2,8)+" changes"),F(f,$,lt(10,0,1)),F(m,c,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"),S(q,".set"+w+ke+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(xt(o),`'${o}'`)}]: ${x(xt(l),`'${l}'`)}${L(a)?t:`, [${x(xt(d),`'${d}'`)}]: `+(M(a)?x(xt(a),`'${a}'`):a)}},`])),"})")}Y(le,((e,t)=>T(t,`(cell: ${e}${we}) => `+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,Oe,"Return",Ne,ue,"actions, doRollback","<Return>"),B(7,t,"start"+De,Z,Le),B(7,t,"finish"+De,Z,je,ie,"doRollback");const oe=G(Q,Z);return F("WillFinish"+De,oe,Ve+" just before "+Me,t,t,0),F("DidFinish"+De,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 "+Ee,"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),...k(),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 = () => {",...P(),`return Object.freeze(${Q});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>kt(Gt(e),Gt(e)+$e),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+ce,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=kt(tl+")"+Je,Bt),al="then, then"+$e,nl=Kt+Ht+be,ol="View",dl=(e,...t)=>kt(...t,ge+": "+e,ge+ce,"mutator?: boolean"),rl=(...e)=>kt(...e,ge,ge+$e,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=At(),[R,k,P]=Dt(e,l,T),E=`./${Vt(a)}.d`,D=`./${Vt(a)}-ui-react.d`,O="tinybase/ui-react",N=Vt(a,1),j=Vt(N),M=N+"Or"+N+be,G=j+"Or"+N+be,J=j+`={${j}}`,z=K(),W=(e,l,a,n,o,d=t)=>(s(1,D,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,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,kt(o,q,I),a,te+`(${G}, use${l}Core, [`+(d||t)+($?"], ["+$: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)),S(s,t),s}));s(null,"tinybase",be,"Store",se,Ft+"ized"+se),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const H=I(M,N+" | "+be,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(ve+Te,Pt(j+me+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${ve} 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,D,H,Q);const q=G+me+H;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ce,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+we,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ve} component context`),te=y("useHook",G+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.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=T("NullComponent","() => null");if(!_(e)){const[e,l,a,o,d,m,w,f,T,v,V,x,S]=n;s(null,E,e,l,a,d,m,w,f,T,v,V,x),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const P=y("tableView",`{${j}, 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",Tt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),O=y("getDefaultCellComponent","tableId: Id, cellId: Id",Tt(R(((e,t,l)=>`tableId == ${l} ? ${Tt(k(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(c,Ee)+re);F(Se+i+se,Se+i+se,qt,Qe(1,9)+Zt,kt(Gt(i)+Ut+l,Gt(i)+ce),Jt(i),Qt,kt(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+Te,Pt("tableId?: TId","rowId: Id","cellId?: CId",j+me+N,zt),Ye(oe+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+Te,Pt("tableId?: TId","rowId: Id",j+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(c+Te,Pt("tableId?: TId",j+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ye(oe+c),`<TId extends ${a}>`),B=I("Sorted"+c+Te,Pt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ye(oe+"sorted "+c),`<TId extends ${a}>`),_=I(i+Te,Pt(j+me+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ye(He(1,1)));s(1,D,_,W,B,z,G),U(i+ol,"{"+j+", tableComponents, getTableComponentProps"+Yt+"}: "+_,[ae+`(${M}(${j}).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(S,e);s(null,E,n,o,d,r,I),F(l+c,c,n,ot(e)+re,t,a);const i=F(l+b,b,$,Ke(p,at(e))+re,t,a),u=F(l+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,kt(a,Kt));const m=F(l+g,g,I+Ae,Ke(h,nt(e))+re,nl,kt(a,Kt));F(Se+l+c+se,Se+c+se,qt,ot(e,9)+Zt,kt(Gt(c)+Ut+o,Gt(c)+ce),kt(a,Jt(c)),Qt,kt(tl,`table: ${o})`+Je,Bt),al),F(Ie+l+c+se,Ie+c+se,se,ot(e,12),t,a,t,ll,al),F(Se+l+p+se,Se+p+se,qt,dt(e,9)+Zt,kt(nl,Gt(p)+Ut+r,Gt(p)+ce),kt(a,Kt,Jt(p)),Qt,kt(tl,`row: ${r})`+Je,Bt),al),F("Add"+l+p+se,"Add"+p+se,qt,dt(e,10)+Zt,kt(Gt(p)+Ut+r,Gt(p)+ce),kt(a,Jt(p)),Qt,"then?: ("+kt(nl+we,"store: Store","row: "+r+")"+Je,"then"+ce)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(Se+l+ye+p+se,Se+ye+p+se,qt,dt(e,11)+Zt,kt(nl,Gt(ye+p)+Ut+r,Gt(ye+p)+ce),kt(a,Kt,Jt(ye+p)),Qt,kt(tl,`partialRow: ${r})`+Je,Bt),al),F(Ie+l+p+se,Ie+p+se,se,dt(e,12),nl,kt(a,Kt),t,ll,al);const w=U(l+p+ol,"{rowId, "+j+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[ae+`(${m}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${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"+c+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${w});`,ot(e,13)+", sorted"+re),U(l+c+ol,`props: ${W}<'${e}'>`,P+"(props, "+i+`(props.${j}), ${a}, ${w});`,ot(e,13)+re),k(e,((n,o,d,r,I)=>{const $="Map"+Vt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+h,h,o+(L(d)?we:t),rt(e,n)+re,nl,kt(a,Kt,r));F(Se+l+I+h+se,Se+h+se,qt,rt(e,n,9)+Zt,kt(nl,Gt(h)+Ut+o+" | "+$,Gt(h)+ce),kt(a,Kt,r,Jt(h)),Qt,kt(tl,`cell: ${o} | ${$})`+Je,Bt),al),F(Ie+l+I+h+se,Ie+h+se,se,rt(e,n,12),kt(nl,"forceDel?: boolean"),kt(a,Kt,r,"forceDel"),t,ll,al),U(l+I+h+ol,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[ae+`('' + ${c}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],rt(e,n,13)+re)}))}));const Z=Tt(R((e=>X(S,e)?.[4]??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(c+r,c+r,Ge,lt(3,0),dl(w,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ge,lt(4,3,1),dl(f,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ge,lt(13,3,1),dl(T,`tableId: ${a} | null`,"cellId: "+Z+we,"descending: boolean","offset: number","limit: number"+we),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ge,lt(5,3),dl(v,`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,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",Tt(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(w,w,e,Qe(2,0)+re);const i=F(f,f,a+Ae,Ke(m,Ee)+re);F(Se+w+se,Se+w+se,qt,Qe(2,9)+Zt,kt(Gt(w)+Ut+l,Gt(w)+ce),Jt(w),Qt,kt(tl,`values: ${l})`+Je,Bt),al),F(Se+ye+w+se,Se+ye+w+se,qt,Qe(2,11)+Zt,kt(Gt(ye+w)+Ut+l,Gt(ye+w)+ce),Jt(ye+w),Qt,kt(tl,`partialValues: ${l})`+Je,Bt),al),F(Ie+w+se,Ie+w+se,se,Qe(2,12),t,t,t,ll,al);const u=I(m+Te,Pt("valueId?: VId",j+me+N,zt),Ye("a Value"),`<VId extends ${a}>`),p=I(w+Te,Pt(j+me+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ye(He(2,1)));s(1,D,p,u),U(w+ol,"{"+j+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[ae+`(${i}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Qe(2,13)+re),P(((e,l,a,n,o)=>{const d="Map"+Vt(l,1);s(0,E,d),s(1,E,d);const r=F(o+m,m,l,st(e)+re,t,n);F(Se+o+m+se,Se+m+se,qt,st(e,9)+Zt,kt(Gt(m)+Ut+l+" | "+d,Gt(m)+ce),kt(n,Jt(m)),Qt,kt(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,`{${j}, debugIds}: ${u}<'${e}'>`,[ae+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],st(e,13)+re)})),F(w+r,w+r,Ge,Qe(2,8)+" changes",dl(n),rl()),F(f+r,f+r,Ge,lt(10,0,1),dl(d),rl()),F(m+r,m+r,Ge,lt(11,0),dl($,`valueId: ${a} | null`),rl("valueId"))}return U(ve,`{${j}, ${j}ById, children}: `+Q+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ve,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ve}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Z(0)),d(...v(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)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},cl=Et((e=>{const t=()=>{const t=D(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,$=le(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),te(s,o,$),d[3]++,r==J(o)})))))return t[l]={},Q(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return _(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>ft(l(e,{...$l,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})})),{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})}));exports.createTools=cl;
1
+ "use strict";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",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,g="Cell",h=g+$,m="Value",f=m+"s",w=m+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),A=e=>e.pop(),P=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,L=e=>null==e,G=e=>e==l||e==a,j=t=>e(t)==l,M=e=>Array.isArray(e),J=t=>{const l=e(t);return G(l)||l==n&&O(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)=>e?.has(t)??!1,H=e=>[...e?.values()??[]],Q=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),K=e=>new Map(e),X=(e,t)=>e?.get(t),Y=(e,t)=>Q(e,((e,l)=>t(l,e))),ee=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),te=(e,t,l)=>L(l)?(q(e,t),e):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",$e="Deps",ce=$e+"?: React.DependencyList",ie="doRollback?: DoRollback",ue="actions: () => Return, "+ie,pe="export",be="Id",Ce="Invalid",ge="Json",he=ne(r),me="?: ",fe=" | undefined",we="NonNullable",ye="Partial",Te="Props",ve="Provider",Ve=`Registers a ${he} that will be called`,xe="Represents",Re="rowId: "+be,ke="Schema",Se="Set",Ae=", descending?: boolean, offset?: number, limit?: number",Pe="[]",Ee="the Store",De="Transaction",Oe=De+"Changes",Ne=ne(De),Le="Execute a "+Ne+" to make multiple mutations",Ge="Explicitly starts a "+Ne,je="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+Ee:t),qe=(e=0,l,a=0)=>$t[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}' `+c,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 "+it[e]+" in "+it[t],at=(e,l,a=0)=>Ve+" whenever "+it[e]+" in "+it[l]+" change"+(a?t:"s"),nt=e=>`the '${e}' `+c,ot=e=>"the specified Row in "+nt(e),dt=(e,t=0)=>$t[t]+` ${Qe()} `+nt(e),rt=(e,t=0)=>$t[t]+` ${Qe()} `+ot(e),st=(e,t,l=0)=>$t[l]+` the '${t}' Cell for `+ot(e),It=(e,t=0)=>$t[t]+` the '${e}' Value`,$t=["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],ct=[s,"has","set","del","set","forEach",I,t],it=[Ee,i,Ze+c+Ue+$,oe+c,Ze+p+Ue+$,oe+p,Ze+g+Ue+$,oe+g,"invalid Cell changes",f,Ze+m+Ue+$,oe+m,"invalid Value changes",Ze+"sorted "+p+Ue+$],ut=[t,"tabular ","keyed value "],pt=e=>new Set(M(e)||L(e)?e:[e]),bt=(e,t)=>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-Tt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Tt=e=>e.length,vt=(e,l=t)=>e.join(l),Vt=e=>e.flat(1e3),xt=(e,t=0)=>vt(V(e.split(gt),((e,l)=>(l>0||t?ae:ne)(mt(e,0,1))+mt(e,1)))),Rt=e=>ae(vt((e&&!Ct.test(e[0])?e:" "+e).split(gt),"_")),kt=e=>`/** ${e}. */`,St=(...e)=>vt(k(e,(e=>e)),", "),At=(...e)=>"{"+vt(e,"; ")+"}",Pt=(...e)=>At(...V(e,(e=>"readonly "+e))),Et=()=>{const e=[K(),K(),K(),K()],l=K(),a=K();return[(...e)=>vt(Vt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(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([...T(ee(e[l],((e,t)=>`import {${vt(T(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)=>[kt(l),`${n?pe+" ":t}type ${o}${a} = ${e};`,t])),()=>ee(a,((e,l)=>(e=M(e)?e:[e],S(e,A(e)+";"),[`const ${l} = ${E(e)}`,e,t])))]},Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(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(i,At(...l((e=>`'${e}'?: {[rowId: Id]: `+At(...a(e,((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`)))+"}"))),qe(1,5)),I=e(i+We,At(...l((e=>`'${e}'?: {[rowId: Id]: `+At(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),qe(1,5,1)),$=e(c+be,"keyof "+s,"A "+c+" Id in "+Ee),m=`<TId extends ${$}>`,f=e(c,we+`<${s}[TId]>`,"A "+c+" in "+Ee,m),w=e(c+We,we+`<${I}[TId]>`,"A "+c+" in "+Ee+Be,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+c,m),T=e(p+We,w+"<TId>[Id]","A "+p+" in a "+c+Be,m),v=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 ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(g+se,`(...[cellId, cell]: ${x}<TId>)`+ze,tt(oe+g+" Id, and "+g),m),k=e(p+se,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+ze+") "+ze,tt(oe+p+" Id, and a "+g+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${ze}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),A=e(c+se,`(...[tableId, forEachRow]: ${S})`+ze,tt(oe+c+" Id, and a "+p+" iterator"),t),P=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${P}) => CellChange`,de+" returning information about any Cell's changes during a "+Ne),D=e(i+r,`(${d}, getCellChange: ${E}${fe})`+ze,lt(1)),O=e(u+r,`(${d})`+ze,lt(2)),N=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${E}${fe})`+ze,lt(3)),G=e(b+r,`(${d}, tableId: ${$})`+ze,lt(4,3)),j=e(C+r,"("+St(d,"tableId: "+$,"cellId: Id"+fe,"descending: boolean","offset: number","limit: number"+fe,"sortedRowIds: Ids")+")"+ze,lt(13,3)),M=e(p+r,"("+St(""+d,"tableId: "+$,Re,`getCellChange: ${E}${fe}`)+")"+ze,lt(5,3)),J=e(h+r,"("+St(""+d,"tableId: "+$,Re)+")"+ze,lt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Re}, cellId: CId, newCell: ${V}<TId, CId> ${fe}, oldCell: ${V}<TId, CId> ${fe}, getCellChange: ${E} ${fe}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,f,w,y,T,v,V,R,k,A,D,O,N,G,j,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,At(...n(((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`))),qe(2,5)),s=e(f+We,At(...n(((e,t)=>`'${e}'?: ${t}`))),qe(2,5,1)),I=e(m+be,"keyof "+d,"A "+m+" Id in "+Ee),$=e(m,we+`<${d}[VId]>`,"A "+m+" Id in "+Ee,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,m+" Ids and types in "+Ee,`<VId = ${I}>`,0),i=e(m+se,`(...[valueId, value]: ${c})`+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: ${$}<VId> ${fe}, oldValue: ${$}<VId> ${fe}, getValueChange: ${u} ${fe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,i,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(De+r,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+ze,de+" listening to the completion of a "+Ne)],Lt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Gt=(e,l=t)=>`fluent(() => ${Lt(e,l)})`,jt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,A]=Et(),[E,D,O]=Ot(e,l,x),[N,G,M]=Nt(T,E,D,O),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||P(s,kt(o)),S(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(ct[e]+l+(4==e?ye:t)+a,d,n,(n==Z?Gt:Lt)(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)+he+": "+l+(d?", mutator?: boolean":t),be,jt(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",i);else{y(0,"tinybase","CellChange"),y(null,"tinybase",$);const[e,l,n,r,s,I,m,f,w,V,R,k,A,P,O,G,M,J,z,W,_]=N(Q,Z),Y=K();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,xe+` the '${e}' `+c),T(t+c+We,s+l,xe+` the '${e}' `+c+Be),T(t+p,I+l,Ke(e)),T(t+p+We,m+l,Ke(e,1)),T(t+g+be,f+l,`A Cell Id for the '${e}' `+c),T(t+g+se,V+l,tt(`a Cell Id and value from a Row in the '${e}' `+c)),T(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,k,A,P,O,G,M,J,z,W,_),ae=[e,l,n,f,A,P,O,G,M,J,z,W,Y],v([[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+Pe,Xe(c,Ee)),B(5,t,c,Je,Ye(c,Ee),"tableCallback: "+k,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u]=X(Y,e);v([[o],[a],[Z,"table: "+d,", table"],[Z]],(([a,o,d=t],r)=>B(r,l,c,a,dt(e,r),o,n+d))),B(0,l,b,$,Xe(p,nt(e)),t,n),B(0,l,C,$,Xe(p,nt(e),1),"cellId?: "+I+Ae,n+", cellId, descending, offset, limit"),B(5,l,p,Je,Ye(p,nt(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[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+Pe,Xe(g,ot(e)),Re,n+", rowId"),B(5,l,g,Je,Ye(g,ot(e)),Re+", cellCallback: "+i,n+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const $="Map"+xt(d,1);te(le,d,$);const c=d+(L(r)?fe:t);v([[c],[a],[Z,`, cell: ${d} | `+$,", cell as any"],[Z]],(([a,d=t,r=t],$)=>B($,l+I,g,a,st(e,o,$),Re+d,n+", rowId, "+s+r)))}))})),B(0,t,i+ge,ge,qe(1,6)),B(2,t,i+ge,Z,qe(1,7),"tablesJson: "+ge,"tables"+ge),F(i,A,qe(1,8)+" changes"),F(u,P,at(2,0,1)),F(c,O,at(3,0),`tableId: ${n} | null`,"tableId"),F(b,G,at(4,3,1),`tableId: ${n} | null`,"tableId"),F(C,M,at(13,3,1),St("tableId: TId",`cellId: ${f}<TId>`+fe,"descending: boolean","offset: number","limit: number"+fe),St("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: ${vt(E((e=>X(Y,e)?.[4]??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)),S(q,".set"+i+ke+"({",Vt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${L(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(j(a)?x(Rt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(_(l))y(null,"tinybase",f);else{const[e,l,n,r,s,I,$,c,i]=G(Q,Z);y(1,U,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[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+Pe,Xe(m,Ee)),B(5,t,m,"void",Ye(m,Ee),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+xt(l,1);te(le,l,r),v([[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,$,at(10,0,1)),F(m,c,at(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"),S(q,".set"+f+ke+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${L(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(j(a)?x(Rt(a),`'${a}'`):a)}},`])),"})")}B(0,t,"Content",`[${i}, ${f}]`,qe(0,0)),B(2,t,"Content",Z,qe(0,2),`[tables, values]: [${i}, ${f}]`,"[tables, values]"),B(2,t,Oe,Z,`Applies a set of ${Oe} to the Store`,"transactionChanges: "+Oe,"transactionChanges"),Y(le,((e,t)=>T(t,`(cell: ${e}${fe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",be,"IdOrNull",ge,"Store",Oe),y(0,"tinybase","Get"+Oe,"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",Le,ue,"actions, doRollback","<Return>"),B(7,t,"start"+De,Z,Ge),B(7,t,"finish"+De,Z,je,ie,"doRollback");const oe=M(Q,Z);return F("Start"+De,oe,Ve+" just before the start of the "+Ne,t,t,0),F("WillFinish"+De,oe,Ve+" just before "+Me,t,t,0),F("DidFinish"+De,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 "+Ee,"listenerId: Id","listenerId"),W("getStore",t,"Store","store",$t[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),...k(),pe+" interface "+Z+" {",...z(0),"}",t,kt(`Creates a ${Z} object`),pe+" function create"+Z+"(): "+Z+";"),s(...R(1),pe+" const create"+Z+": typeof create"+Z+"Decl = () => {",...A(),`return Object.freeze(${Q});`,"};"),ae,ne]},Jt=e=>s+e,zt=e=>St(Jt(e),Jt(e)+$e),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+ce,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=St(ll+")"+ze,Ft),nl="then, then"+$e,ol=Xt+Qt+be,dl="View",rl=(e,...t)=>St(...t,he+": "+e,he+ce,"mutator?: boolean"),sl=(...e)=>St(...e,he,he+$e,"mutator"),Il=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=Et(),[R,k,A]=Ot(e,l,T),E=`./${xt(a)}.d`,D=`./${xt(a)}-ui-react.d`,O="tinybase/ui-react",N=xt(a,1),G=xt(N),j=N+"Or"+N+be,M=G+"Or"+N+be,J=G+`={${G}}`,z=K(),W=(e,l,a,n,o,d=t)=>(s(1,D,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,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,St(o,q,I),a,te+`(${M}, use${l}Core, [`+(d||t)+($?"], ["+$: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||P(s,kt(o)),S(s,t),s}));s(null,"tinybase",be,"Store",se,Ut+"ized"+se),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const H=I(j,N+" | "+be,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(ve+Te,Pt(G+me+N,G+`ById?: {[${G}Id: Id]: ${N}}`),`Used with the ${ve} 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,D,H,Q);const q=M+me+H;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${G}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ce,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 ${ve} component context`),te=y("useHook",M+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${G} : ${M})?.getStore(), ...postParams)`]),le=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=y("wrap",St("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=T("NullComponent","() => null");if(!_(e)){const[e,l,a,o,d,m,f,w,T,v,V,x,S]=n;s(null,E,e,l,a,d,m,f,w,T,v,V,x),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const A=y("tableView",`{${G}, 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,",");"]),P=y("getDefaultTableComponent","tableId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),O=y("getDefaultCellComponent","tableId: Id, cellId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${vt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F(i,i,e,qe(1,0)+re);const j=F(u,u,a+Pe,Xe(c,Ee)+re);F(Se+i+se,Se+i+se,Kt,qe(1,9)+Ht,St(Jt(i)+_t+l,Jt(i)+ce),zt(i),qt,St(ll,`tables: ${l})`+ze,Ft),nl),F(Ie+i+se,Ie+i+se,se,qe(1,12),t,t,t,al,nl);const M=I(g+Te,Pt("tableId?: TId","rowId: Id","cellId?: CId",G+me+N,Wt),et(oe+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+Te,Pt("tableId?: TId","rowId: Id",G+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(c+Te,Pt("tableId?: TId",G+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+c),`<TId extends ${a}>`),B=I("Sorted"+c+Te,Pt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",G+me+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+"sorted "+c),`<TId extends ${a}>`),_=I(i+Te,Pt(G+me+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),et(Qe(1,1)));s(1,D,_,W,B,z,M),U(i+dl,"{"+G+", tableComponents, getTableComponentProps"+el+"}: "+_,[ae+`(${j}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+P+"(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(S,e);s(null,E,n,o,d,r,I),F(l+c,c,n,dt(e)+re,t,a);const i=F(l+b,b,$,Xe(p,nt(e))+re,t,a),u=F(l+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,St(a,Xt));const m=F(l+h,h,I+Pe,Xe(g,ot(e))+re,ol,St(a,Xt));F(Se+l+c+se,Se+c+se,Kt,dt(e,9)+Ht,St(Jt(c)+_t+o,Jt(c)+ce),St(a,zt(c)),qt,St(ll,`table: ${o})`+ze,Ft),nl),F(Ie+l+c+se,Ie+c+se,se,dt(e,12),t,a,t,al,nl),F(Se+l+p+se,Se+p+se,Kt,rt(e,9)+Ht,St(ol,Jt(p)+_t+r,Jt(p)+ce),St(a,Xt,zt(p)),qt,St(ll,`row: ${r})`+ze,Ft),nl),F("Add"+l+p+se,"Add"+p+se,Kt,rt(e,10)+Ht,St(Jt(p)+_t+r,Jt(p)+ce),St(a,zt(p)),qt,"then?: ("+St(ol+fe,"store: Store","row: "+r+")"+ze,"then"+ce)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(Se+l+ye+p+se,Se+ye+p+se,Kt,rt(e,11)+Ht,St(ol,Jt(ye+p)+_t+r,Jt(ye+p)+ce),St(a,Xt,zt(ye+p)),qt,St(ll,`partialRow: ${r})`+ze,Ft),nl),F(Ie+l+p+se,Ie+p+se,se,rt(e,12),ol,St(a,Xt),t,al,nl);const f=U(l+p+dl,"{rowId, "+G+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[ae+`(${m}(rowId, ${G}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${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"+c+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,A+"(props, "+u+`(cellId, descending, offset, limit, props.${G}), ${a}, ${f});`,dt(e,13)+", sorted"+re),U(l+c+dl,`props: ${W}<'${e}'>`,A+"(props, "+i+`(props.${G}), ${a}, ${f});`,dt(e,13)+re),k(e,((n,o,d,r,I)=>{const $="Map"+xt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+g,g,o+(L(d)?fe:t),st(e,n)+re,ol,St(a,Xt,r));F(Se+l+I+g+se,Se+g+se,Kt,st(e,n,9)+Ht,St(ol,Jt(g)+_t+o+" | "+$,Jt(g)+ce),St(a,Xt,r,zt(g)),qt,St(ll,`cell: ${o} | ${$})`+ze,Ft),nl),F(Ie+l+I+g+se,Ie+g+se,se,st(e,n,12),St(ol,"forceDel?: boolean"),St(a,Xt,r,"forceDel"),t,al,nl),U(l+I+g+dl,`{rowId, ${G}, debugIds}: `+M+`<'${e}', '${n}'>`,[ae+`('' + ${c}(rowId, `+G+`) ?? '', undefined, debugIds, ${r})`],st(e,n,13)+re)}))}));const Z=vt(R((e=>X(S,e)?.[4]??t))," | ");F(i+r,i+r,Je,qe(1,8)+" changes",rl(d),sl()),F(u+r,u+r,Je,at(2,0,1),rl(m),sl()),F(c+r,c+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(T,`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(v,`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,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",vt(A(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(f,f,e,qe(2,0)+re);const i=F(w,w,a+Pe,Xe(m,Ee)+re);F(Se+f+se,Se+f+se,Kt,qe(2,9)+Ht,St(Jt(f)+_t+l,Jt(f)+ce),zt(f),qt,St(ll,`values: ${l})`+ze,Ft),nl),F(Se+ye+f+se,Se+ye+f+se,Kt,qe(2,11)+Ht,St(Jt(ye+f)+_t+l,Jt(ye+f)+ce),zt(ye+f),qt,St(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+Te,Pt("valueId?: VId",G+me+N,Wt),et("a Value"),`<VId extends ${a}>`),p=I(f+Te,Pt(G+me+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),et(Qe(2,1)));s(1,D,p,u),U(f+dl,"{"+G+", valueComponents, getValueComponentProps"+el+"}: "+p,[ae+`(${i}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],qe(2,13)+re),A(((e,l,a,n,o)=>{const d="Map"+xt(l,1);s(0,E,d),s(1,E,d);const r=F(o+m,m,l,It(e)+re,t,n);F(Se+o+m+se,Se+m+se,Kt,It(e,9)+Ht,St(Jt(m)+_t+l+" | "+d,Jt(m)+ce),St(n,zt(m)),qt,St(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,`{${G}, debugIds}: ${u}<'${e}'>`,[ae+`('' + ${r}(`+G+`) ?? '', 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($,`valueId: ${a} | null`),sl("valueId"))}return U(ve,`{${G}, ${G}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+ve,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${ve}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Z(0)),d(...v(1),...x(),...Z(1))]},$l=(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)]},cl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=D(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,$=le(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),te(s,o,$),d[3]++,r==J(o)})))))return t[l]={},Q(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return _(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>$l(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>yt(l(e,{...cl,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})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Tt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=il;
Binary file
@@ -0,0 +1 @@
1
+ "use strict";const t=t=>t.length,e=t=>null==t,n=(t,n,o)=>e(t)?null==o?void 0:o():n(t),o=Object,r=o.keys,i=o.freeze,l=(t,e)=>n(t,(t=>t[e])),u=(t,n)=>!e(l(t,n)),a=(t,e)=>delete t[e],s=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,n])=>e(n,t))),c=e=>{return(t=>t instanceof o&&t.constructor==o)(e)&&(n=r(e),0==t(n));var n};var d=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())})),v=(t,e,n)=>new Promise(((o,r)=>{var i=t=>{try{u(n.next(t))}catch(t){r(t)}},l=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,l);u((n=n.apply(t,e)).next())}));const y=(t,e)=>[t[e].t,t[e].v],h=(t,n,o,r)=>{const i=e(n)?t:((t,e,n)=>(u(t,e)||(t[e]={}),t[e]))(t,n);let l;return s(o,((t,e)=>{r(i,e,t)&&(l=1)})),s(i,((t,e)=>{u(o,e)||(a(i,e),l=1)})),!e(n)&&c(i)&&a(t,n),l};exports.createAutomergePersister=(o,u,f="tinybase")=>(u.change((t=>t[f]={})),((t,o,r,p,g)=>{let A,m,L=0,S=!1;const x=t=>d(void 0,null,(function*(){2!=L&&(L=1,yield t(),L=0)})),P={load:(...e)=>d(void 0,[...e],(function*(e={},n={}){return yield x((()=>d(void 0,null,(function*(){let r;try{r=yield o()}catch(t){}t.setContent(null!=r?r:[e,n])})))),P})),startAutoLoad:(...e)=>d(void 0,[...e],(function*(e={},n={}){return P.stopAutoLoad(),yield P.load(e,n),S=!0,m=(e=>{const n=({doc:e})=>{return n=()=>y(e,f),d(void 0,null,(function*(){yield x((()=>d(void 0,null,(function*(){var e;if(r)t.setTransactionChanges(r());else try{t.setContent(null!=(e=null==n?void 0:n())?e:yield o())}catch(t){}}))))}));var n,r};return u.on("change",n),n})(),P})),stopAutoLoad:()=>{return S&&(t=m,u.removeListener("change",t),m=void 0,S=!1),P;var t},save:o=>d(void 0,null,(function*(){return 1!=L&&(L=2,yield((t,o)=>v(void 0,null,(function*(){u.change((r=>((t,o,r,i)=>{((t,e)=>{c(t[e])&&(t[e]={t:{},v:{}})})(t,o);const[u,d]=y(t,o),v=()=>{f=1};let f=1;if(n(null==i?void 0:i(),(([t,o])=>{f=0,s(t,((t,o)=>f?0:e(t)?a(u,o):n(u[o],(o=>s(t,((t,r)=>f?0:e(t)?a(o,r):n(l(o,r),(n=>s(t,((t,o)=>e(t)?a(n,o):n[o]=t))),v)))),v))),s(o,((t,n)=>f?0:e(t)?a(d,n):d[n]=t))})),f){const[t,e]=r();h(u,void 0,t,((t,e,n)=>h(u,e,n,((t,e,n)=>h(t,e,n,((t,e,n)=>{if(l(t,e)!==n)return t[e]=n,1})))))),h(d,void 0,e,((t,e,n)=>{l(d,e)!==n&&(d[e]=n)}))}})(r,f,t,o)))})))(t.getContent,o),L=0),P})),startAutoSave:()=>d(void 0,null,(function*(){return yield P.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>P.save(e))),P})),stopAutoSave:()=>(n(A,t.delListener),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(o,(()=>v(void 0,null,(function*(){return 2==t(r(u.doc[f]))?y(u.doc,f):void 0})))));
@@ -1 +1 @@
1
- "use strict";const e=Object.freeze;var t=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,l);s((n=n.apply(e,t)).next())})),n=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,l);s((n=n.apply(e,t)).next())}));const o="storage",r=globalThis.window,a=(a,l,s)=>((a,i,u,v,d)=>{let c,y,p=0,f=!1;const h=e=>t(void 0,null,(function*(){2!=p&&(p=1,yield e(),p=0)})),S={load:(e,n)=>t(void 0,null,(function*(){return yield h((()=>t(void 0,null,(function*(){let t;try{t=yield i()}catch(e){}a.setContent(null!=t?t:[e,n])})))),S})),startAutoLoad:(e,n)=>t(void 0,null,(function*(){return S.stopAutoLoad(),yield S.load(e,n),f=!0,y=(e=>{const n=e=>{var n,o;e.storageArea===s&&e.key===l&&(n=()=>JSON.parse(e.newValue),t(void 0,null,(function*(){yield h((()=>t(void 0,null,(function*(){var e;if(o)a.setTransactionChanges(o());else try{a.setContent(null!=(e=null==n?void 0:n())?e:yield i())}catch(e){}}))))})))};return r.addEventListener(o,n),n})(),S})),stopAutoLoad:()=>{return f&&(e=y,r.removeEventListener(o,e),y=void 0,f=!1),S;var e},save:e=>t(void 0,null,(function*(){return 1!=p&&(p=2,yield(e=a.getContent,n(void 0,null,(function*(){return s.setItem(l,(t=e(),JSON.stringify(t,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))));var t}))),p=0),S;var e})),startAutoSave:()=>t(void 0,null,(function*(){return yield S.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((e,t)=>S.save(t))),S})),stopAutoSave:()=>{var e,t;return e=c,t=a.delListener,null==e||t(e),S},getStore:()=>a,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(S)})(a,(()=>n(void 0,null,(function*(){return JSON.parse(s.getItem(l))}))));exports.createLocalPersister=(e,t)=>a(e,t,localStorage),exports.createSessionPersister=(e,t)=>a(e,t,sessionStorage);
1
+ "use strict";const e=Object.freeze;var t=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,s);i((n=n.apply(e,t)).next())})),n=(e,t,n)=>new Promise(((o,r)=>{var a=e=>{try{i(n.next(e))}catch(e){r(e)}},s=e=>{try{i(n.throw(e))}catch(e){r(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(a,s);i((n=n.apply(e,t)).next())}));const o="storage",r=globalThis.window,a=(a,s,i)=>((a,l,u,v,d)=>{let c,y,p=0,f=!1;const h=e=>t(void 0,null,(function*(){2!=p&&(p=1,yield e(),p=0)})),S={load:(...e)=>t(void 0,[...e],(function*(e={},n={}){return yield h((()=>t(void 0,null,(function*(){let t;try{t=yield l()}catch(e){}a.setContent(null!=t?t:[e,n])})))),S})),startAutoLoad:(...e)=>t(void 0,[...e],(function*(e={},n={}){return S.stopAutoLoad(),yield S.load(e,n),f=!0,y=(e=>{const n=e=>{var n,o;e.storageArea===i&&e.key===s&&(n=()=>JSON.parse(e.newValue),t(void 0,null,(function*(){yield h((()=>t(void 0,null,(function*(){var e;if(o)a.setTransactionChanges(o());else try{a.setContent(null!=(e=null==n?void 0:n())?e:yield l())}catch(e){}}))))})))};return r.addEventListener(o,n),n})(),S})),stopAutoLoad:()=>{return f&&(e=y,r.removeEventListener(o,e),y=void 0,f=!1),S;var e},save:e=>t(void 0,null,(function*(){return 1!=p&&(p=2,yield(e=a.getContent,n(void 0,null,(function*(){return i.setItem(s,(t=e(),JSON.stringify(t,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))));var t}))),p=0),S;var e})),startAutoSave:()=>t(void 0,null,(function*(){return yield S.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((e,t)=>S.save(t))),S})),stopAutoSave:()=>{var e,t;return e=c,t=a.delListener,null==e||t(e),S},getStore:()=>a,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(S)})(a,(()=>n(void 0,null,(function*(){return JSON.parse(i.getItem(s))}))));exports.createLocalPersister=(e,t)=>a(e,t,localStorage),exports.createSessionPersister=(e,t)=>a(e,t,sessionStorage);
@@ -1 +1 @@
1
- "use strict";var e=require("fs/promises"),t=require("fs");const n="utf8",r=Object.freeze;var o=(e,t,n)=>new Promise(((r,o)=>{var l=e=>{try{a(n.next(e))}catch(e){o(e)}},i=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())})),l=(e,t,n)=>new Promise(((r,o)=>{var l=e=>{try{a(n.next(e))}catch(e){o(e)}},i=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(l,i);a((n=n.apply(e,t)).next())}));exports.createFilePersister=(i,a)=>((i,u,s,d,v)=>{let c,y,f=0,h=!1;const p=e=>o(void 0,null,(function*(){2!=f&&(f=1,yield e(),f=0)})),A={load:(e,t)=>o(void 0,null,(function*(){return yield p((()=>o(void 0,null,(function*(){let n;try{n=yield u()}catch(e){}i.setContent(null!=n?n:[e,t])})))),A})),startAutoLoad:(e,n)=>o(void 0,null,(function*(){return A.stopAutoLoad(),yield A.load(e,n),h=!0,r=(e,t)=>o(void 0,null,(function*(){yield p((()=>o(void 0,null,(function*(){var n;if(t)i.setTransactionChanges(t());else try{i.setContent(null!=(n=null==e?void 0:e())?n:yield u())}catch(e){}}))))})),y=t.watch(a,(()=>r())),A;var r})),stopAutoLoad:()=>{return h&&(null==(e=y)||e.close(),y=void 0,h=!1),A;var e},save:t=>o(void 0,null,(function*(){return 1!=f&&(f=2,yield(t=i.getContent,l(void 0,null,(function*(){try{yield e.writeFile(a,(r=t(),JSON.stringify(r,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),r={},[...t].reduce(n,r)):t;var n,r}))),n)}catch(e){}var r}))),f=0),A;var t})),startAutoSave:()=>o(void 0,null,(function*(){return yield A.stopAutoSave().save(),c=i.addDidFinishTransactionListener(((e,t)=>A.save(t))),A})),stopAutoSave:()=>{var e,t;return e=c,t=i.delListener,null==e||t(e),A},getStore:()=>i,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(A)})(i,(()=>l(void 0,null,(function*(){return JSON.parse(yield e.readFile(a,n))}))));
1
+ "use strict";var e=require("fs/promises"),t=require("fs");const n="utf8",r=Object.freeze;var o=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{a(n.next(e))}catch(e){o(e)}},l=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())})),i=(e,t,n)=>new Promise(((r,o)=>{var i=e=>{try{a(n.next(e))}catch(e){o(e)}},l=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())}));exports.createFilePersister=(l,a)=>((l,u,s,d,v)=>{let c,y,f=0,h=!1;const p=e=>o(void 0,null,(function*(){2!=f&&(f=1,yield e(),f=0)})),A={load:(...e)=>o(void 0,[...e],(function*(e={},t={}){return yield p((()=>o(void 0,null,(function*(){let n;try{n=yield u()}catch(e){}l.setContent(null!=n?n:[e,t])})))),A})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},n={}){return A.stopAutoLoad(),yield A.load(e,n),h=!0,r=(e,t)=>o(void 0,null,(function*(){yield p((()=>o(void 0,null,(function*(){var n;if(t)l.setTransactionChanges(t());else try{l.setContent(null!=(n=null==e?void 0:e())?n:yield u())}catch(e){}}))))})),y=t.watch(a,(()=>r())),A;var r})),stopAutoLoad:()=>{return h&&(null==(e=y)||e.close(),y=void 0,h=!1),A;var e},save:t=>o(void 0,null,(function*(){return 1!=f&&(f=2,yield(t=l.getContent,i(void 0,null,(function*(){try{yield e.writeFile(a,(r=t(),JSON.stringify(r,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),r={},[...t].reduce(n,r)):t;var n,r}))),n)}catch(e){}var r}))),f=0),A;var t})),startAutoSave:()=>o(void 0,null,(function*(){return yield A.stopAutoSave().save(),c=l.addDidFinishTransactionListener(((e,t)=>A.save(t))),A})),stopAutoSave:()=>{var e,t;return e=c,t=l.delListener,null==e||t(e),A},getStore:()=>l,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(A)})(l,(()=>i(void 0,null,(function*(){return JSON.parse(yield e.readFile(a,n))}))));
Binary file
@@ -1 +1 @@
1
- "use strict";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");exports.createRemotePersister=(l,a,i,u)=>{let s;return((l,d,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 d()}catch(t){}l.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)l.setTransactionChanges(e());else try{l.setContent(null!=(n=null==t?void 0:t())?n:yield d())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=r(e);t(s)||t(n)||n==s||(s=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 s=r(t),JSON.parse(yield t.text())}))))};
1
+ "use strict";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");exports.createRemotePersister=(l,a,i,u)=>{let s;return((l,d,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 d()}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 d())}catch(t){}}))))})),f=setInterval((()=>o(void 0,null,(function*(){const e=yield fetch(a,{method:"HEAD"}),n=r(e);t(s)||t(n)||n==s||(s=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 s=r(t),JSON.parse(yield t.text())}))))};
Binary file
@@ -1 +1 @@
1
- "use strict";var t=require("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,s=()=>({}),u=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),a=(t,e)=>((t,e)=>t.map(e))(l.entries(t),(([t,n])=>e(n,t))),v=(t,e,n)=>(u(t,e)||(t[e]=n()),t[e]);var d=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((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{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((n=n.apply(t,e)).next())}));const h="delete",p=t=>[t.get("t"),t.get("v")],y=(e,n,r,l)=>{var i;const s=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let v;return a(r,((t,e)=>{l(s,e,t)&&(v=1)})),s.forEach(((t,e)=>{u(r,e)||(s.delete(e),v=1)})),o(n)||s.size||e.delete(n),v};exports.createYjsPersister=(l,u,f="tinybase")=>{const S=u.getMap(f);return((l,f,A,w,O)=>{let J,L,N=0,m=!1;const x=t=>d(void 0,null,(function*(){2!=N&&(N=1,yield t(),N=0)})),P={load:(t,e)=>d(void 0,null,(function*(){return yield x((()=>d(void 0,null,(function*(){let n;try{n=yield f()}catch(t){}l.setContent(null!=n?n:[t,e])})))),P})),startAutoLoad:(t,o)=>d(void 0,null,(function*(){return P.stopAutoLoad(),yield P.load(t,o),m=!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,u]=p(t),a={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>"t"==n(t)?r(n(t),(o=>{const l=v(a,o,s),u=i.get(o);r(n(t),(t=>{const n=v(l,t,s),o=u.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=u.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return a[t]=e==h?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==h?null:u.get(t)))))})(o),[a,d]})(S,t),d(void 0,null,(function*(){yield x((()=>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 f())}catch(t){}}))))}));var o,i};return S.observeDeep(o),o})(),P})),stopAutoLoad:()=>{return m&&(t=L,S.unobserveDeep(t),L=void 0,m=!1),P;var t},save:e=>d(void 0,null,(function*(){return 1!=N&&(N=2,yield((e,n)=>g(void 0,null,(function*(){return u.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set("t",new t.Map),e.set("v",new t.Map))})(e);const[i,s]=p(e),u=()=>{v=1};let v=1;if(r(null==l?void 0:l(),(([t,e])=>{v=0,a(t,((t,e)=>v?0:o(t)?i.delete(e):r(i.get(e),(e=>a(t,((t,n)=>v?0:o(t)?e.delete(n):r(e.get(n),(e=>a(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),u)))),u))),a(e,((t,e)=>v?0:o(t)?s.delete(e):s.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(s,void 0,e,((t,e,n)=>{s.get(e)!==n&&s.set(e,n)}))}})(S,e,n)))})))(l.getContent,e),N=0),P})),startAutoSave:()=>d(void 0,null,(function*(){return yield P.stopAutoSave().save(),J=l.addDidFinishTransactionListener(((t,e)=>P.save(e))),P})),stopAutoSave:()=>(r(J,l.delListener),P),getStore:()=>l,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(P)})(l,(()=>g(void 0,null,(function*(){return S.size?[S.get("t").toJSON(),S.get("v").toJSON()]:void 0}))))};
1
+ "use strict";var t=require("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,s=()=>({}),a=(t,e)=>!o(((t,e)=>r(t,(t=>t[e])))(t,e)),u=(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{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((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{s(n.next(t))}catch(t){r(t)}},i=t=>{try{s(n.throw(t))}catch(t){r(t)}},s=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);s((n=n.apply(t,e)).next())}));const h="t",p="delete",y=t=>[t.get(h),t.get("v")],f=(e,n,r,l)=>{var i;const s=o(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let v;return u(r,((t,e)=>{l(s,e,t)&&(v=1)})),s.forEach(((t,e)=>{a(r,e)||(s.delete(e),v=1)})),o(n)||s.size||e.delete(n),v};exports.createYjsPersister=(l,a,S="tinybase")=>{const A=a.getMap(S);return((l,S,w,O,J)=>{let L,N,m=0,x=!1;const P=t=>d(void 0,null,(function*(){2!=m&&(m=1,yield t(),m=0)})),b={load:(...t)=>d(void 0,[...t],(function*(t={},e={}){return yield P((()=>d(void 0,null,(function*(){let n;try{n=yield S()}catch(t){}l.setContent(null!=n?n:[t,e])})))),b})),startAutoLoad:(...t)=>d(void 0,[...t],(function*(t={},o={}){return b.stopAutoLoad(),yield b.load(t,o),x=!0,N=(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),u={},d={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>n(t)==h?r(n(t),(o=>{const l=v(u,o,s),a=i.get(o);r(n(t),(t=>{const n=v(l,t,s),o=a.get(t);c(e,((t,{action:e})=>n[t]=e==p?null:o.get(t)))}),(()=>c(e,((t,{action:e})=>{var n;return l[t]=e==p?null:null==(n=a.get(t))?void 0:n.toJSON()}))))}),(()=>c(e,((t,{action:e})=>{var n;return u[t]=e==p?null:null==(n=i.get(t))?void 0:n.toJSON()})))):c(e,((t,{action:e})=>d[t]=e==p?null:a.get(t)))))})(o),[u,d]})(A,t),d(void 0,null,(function*(){yield P((()=>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})(),b})),stopAutoLoad:()=>{return x&&(t=N,A.unobserveDeep(t),N=void 0,x=!1),b;var t},save:e=>d(void 0,null,(function*(){return 1!=m&&(m=2,yield((e,n)=>g(void 0,null,(function*(){return a.transact((()=>((e,n,l)=>{(e=>{e.size||(e.set(h,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=y(e),a=()=>{v=1};let v=1;if(r(null==l?void 0:l(),(([t,e])=>{v=0,u(t,((t,e)=>v?0:o(t)?i.delete(e):r(i.get(e),(e=>u(t,((t,n)=>v?0:o(t)?e.delete(n):r(e.get(n),(e=>u(t,((t,n)=>o(t)?e.delete(n):e.set(n,t)))),a)))),a))),u(e,((t,e)=>v?0:o(t)?s.delete(e):s.set(e,t)))})),v){const[t,e]=n();f(i,void 0,t,((t,e,n)=>f(i,e,n,((t,e,n)=>f(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),f(s,void 0,e,((t,e,n)=>{s.get(e)!==n&&s.set(e,n)}))}})(A,e,n)))})))(l.getContent,e),m=0),b})),startAutoSave:()=>d(void 0,null,(function*(){return yield b.stopAutoSave().save(),L=l.addDidFinishTransactionListener(((t,e)=>b.save(e))),b})),stopAutoSave:()=>(r(L,l.delListener),b),getStore:()=>l,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(b)})(l,(()=>g(void 0,null,(function*(){return A.size?[A.get(h).toJSON(),A.get("v").toJSON()]:void 0}))))};
Binary file
@@ -1 +1 @@
1
- "use strict";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())}));exports.createCustomPersister=(n,o,l,i,r)=>{let u,a,s=0,d=!1;const v=t=>e(void 0,null,(function*(){2!=s&&(s=1,yield t(),s=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),d=!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:()=>(d&&(r(a),a=void 0,d=!1),c),save:t=>e(void 0,null,(function*(){return 1!=s&&(s=2,yield l(n.getContent,t),s=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)};
1
+ "use strict";const t=Object.freeze;var e=(t,e,o)=>new Promise(((n,i)=>{var l=t=>{try{u(o.next(t))}catch(t){i(t)}},r=t=>{try{u(o.throw(t))}catch(t){i(t)}},u=t=>t.done?n(t.value):Promise.resolve(t.value).then(l,r);u((o=o.apply(t,e)).next())}));exports.createCustomPersister=(o,n,i,l,r)=>{let u,a,s=0,d=!1;const v=t=>e(void 0,null,(function*(){2!=s&&(s=1,yield t(),s=0)})),c={load:(...t)=>e(void 0,[...t],(function*(t={},i={}){return yield v((()=>e(void 0,null,(function*(){let e;try{e=yield n()}catch(t){}o.setContent(null!=e?e:[t,i])})))),c})),startAutoLoad:(...t)=>e(void 0,[...t],(function*(t={},i={}){return c.stopAutoLoad(),yield c.load(t,i),d=!0,a=l(((t,i)=>e(void 0,null,(function*(){yield v((()=>e(void 0,null,(function*(){var e;if(i)o.setTransactionChanges(i());else try{o.setContent(null!=(e=null==t?void 0:t())?e:yield n())}catch(t){}}))))})))),c})),stopAutoLoad:()=>(d&&(r(a),a=void 0,d=!1),c),save:t=>e(void 0,null,(function*(){return 1!=s&&(s=2,yield i(o.getContent,t),s=0),c})),startAutoSave:()=>e(void 0,null,(function*(){return yield c.stopAutoSave().save(),u=o.addDidFinishTransactionListener(((t,e)=>c.save(e))),c})),stopAutoSave:()=>{var t,e;return t=u,e=o.delListener,null==t||e(t),c},getStore:()=>o,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(c)};
Binary file