tinybase 4.3.13 → 4.3.14

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 (204) hide show
  1. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  2. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  4. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  6. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-file.cjs +1 -1
  10. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  12. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  14. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  16. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  18. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  20. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  22. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  23. package/lib/cjs/persisters.cjs +1 -1
  24. package/lib/cjs/persisters.cjs.gz +0 -0
  25. package/lib/cjs/tinybase.cjs +1 -1
  26. package/lib/cjs/tinybase.cjs.gz +0 -0
  27. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  28. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  36. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  38. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  40. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  42. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  44. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters.cjs +1 -1
  52. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  53. package/lib/cjs-es6/tinybase.cjs +1 -1
  54. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  55. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  56. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  57. package/lib/debug/persisters/persister-automerge.js +5 -0
  58. package/lib/debug/persisters/persister-browser.js +5 -0
  59. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +12 -6
  60. package/lib/debug/persisters/persister-expo-sqlite.js +12 -6
  61. package/lib/debug/persisters/persister-file.js +5 -0
  62. package/lib/debug/persisters/persister-indexed-db.js +5 -0
  63. package/lib/debug/persisters/persister-partykit-client.js +6 -1
  64. package/lib/debug/persisters/persister-remote.js +5 -0
  65. package/lib/debug/persisters/persister-sqlite-wasm.js +12 -6
  66. package/lib/debug/persisters/persister-sqlite3.js +12 -6
  67. package/lib/debug/persisters/persister-yjs.js +5 -0
  68. package/lib/debug/persisters.js +4 -0
  69. package/lib/debug/tinybase.js +4 -0
  70. package/lib/debug/ui-react-dom.js +5 -0
  71. package/lib/es6/persisters/persister-automerge.js +1 -1
  72. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  73. package/lib/es6/persisters/persister-browser.js +1 -1
  74. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  75. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  76. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  77. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  78. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  79. package/lib/es6/persisters/persister-file.js +1 -1
  80. package/lib/es6/persisters/persister-file.js.gz +0 -0
  81. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  82. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  83. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  84. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  85. package/lib/es6/persisters/persister-remote.js +1 -1
  86. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  87. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  88. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  89. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  90. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  91. package/lib/es6/persisters/persister-yjs.js +1 -1
  92. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  93. package/lib/es6/persisters.js +1 -1
  94. package/lib/es6/persisters.js.gz +0 -0
  95. package/lib/es6/tinybase.js +1 -1
  96. package/lib/es6/tinybase.js.gz +0 -0
  97. package/lib/es6/ui-react-dom-debug.js +1 -1
  98. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  99. package/lib/persisters/persister-automerge.js +1 -1
  100. package/lib/persisters/persister-automerge.js.gz +0 -0
  101. package/lib/persisters/persister-browser.js +1 -1
  102. package/lib/persisters/persister-browser.js.gz +0 -0
  103. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  104. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  105. package/lib/persisters/persister-expo-sqlite.js +1 -1
  106. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  107. package/lib/persisters/persister-file.js +1 -1
  108. package/lib/persisters/persister-file.js.gz +0 -0
  109. package/lib/persisters/persister-indexed-db.js +1 -1
  110. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  111. package/lib/persisters/persister-partykit-client.js +1 -1
  112. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  113. package/lib/persisters/persister-remote.js +1 -1
  114. package/lib/persisters/persister-remote.js.gz +0 -0
  115. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/persisters/persister-sqlite3.js +1 -1
  118. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/persisters/persister-yjs.js +1 -1
  120. package/lib/persisters/persister-yjs.js.gz +0 -0
  121. package/lib/persisters.js +1 -1
  122. package/lib/persisters.js.gz +0 -0
  123. package/lib/tinybase.js +1 -1
  124. package/lib/tinybase.js.gz +0 -0
  125. package/lib/types/persisters/persister-automerge.d.ts +36 -3
  126. package/lib/types/persisters/persister-browser.d.ts +71 -8
  127. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +42 -8
  128. package/lib/types/persisters/persister-expo-sqlite.d.ts +40 -7
  129. package/lib/types/persisters/persister-file.d.ts +34 -3
  130. package/lib/types/persisters/persister-indexed-db.d.ts +36 -4
  131. package/lib/types/persisters/persister-partykit-client.d.ts +39 -3
  132. package/lib/types/persisters/persister-remote.d.ts +40 -4
  133. package/lib/types/persisters/persister-sqlite-wasm.d.ts +46 -7
  134. package/lib/types/persisters/persister-sqlite3.d.ts +40 -7
  135. package/lib/types/persisters/persister-yjs.d.ts +37 -5
  136. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +38 -4
  137. package/lib/types/with-schemas/persisters/persister-browser.d.ts +75 -10
  138. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +44 -9
  139. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +42 -8
  140. package/lib/types/with-schemas/persisters/persister-file.d.ts +36 -4
  141. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +38 -5
  142. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +41 -4
  143. package/lib/types/with-schemas/persisters/persister-remote.d.ts +42 -5
  144. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +48 -8
  145. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +41 -7
  146. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +39 -6
  147. package/lib/umd/persisters/persister-automerge.js +1 -1
  148. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  149. package/lib/umd/persisters/persister-browser.js +1 -1
  150. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  151. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  152. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  153. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  154. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  155. package/lib/umd/persisters/persister-file.js +1 -1
  156. package/lib/umd/persisters/persister-file.js.gz +0 -0
  157. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  158. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  159. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  160. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  161. package/lib/umd/persisters/persister-remote.js +1 -1
  162. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  163. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  164. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  165. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  166. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  167. package/lib/umd/persisters/persister-yjs.js +1 -1
  168. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  169. package/lib/umd/persisters.js +1 -1
  170. package/lib/umd/persisters.js.gz +0 -0
  171. package/lib/umd/tinybase.js +1 -1
  172. package/lib/umd/tinybase.js.gz +0 -0
  173. package/lib/umd/ui-react-dom-debug.js +1 -1
  174. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  175. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  176. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  177. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  178. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  179. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  180. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  181. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/umd-es6/persisters/persister-file.js +1 -1
  184. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  185. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  186. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  188. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  189. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  190. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  191. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  192. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  193. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  194. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  195. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  196. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  197. package/lib/umd-es6/persisters.js +1 -1
  198. package/lib/umd-es6/persisters.js.gz +0 -0
  199. package/lib/umd-es6/tinybase.js +1 -1
  200. package/lib/umd-es6/tinybase.js.gz +0 -0
  201. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  202. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  203. package/package.json +6 -6
  204. package/readme.md +2 -2
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const n="t",o="v",l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),r=e=>e.length,u=e=>e.shift(),s=Object,d=s.keys,a=s.freeze,c=(e=[])=>s.fromEntries(e),v=(e,t)=>!l(((e,t)=>i(e,(e=>e[t])))(e,t)),f=(e,t)=>((e,t)=>e.map(t))(s.entries(e),(([e,n])=>t(n,e))),y=e=>(e=>e instanceof s&&e.constructor==s)(e)&&0==(e=>r(d(e)))(e),h=(e,t,n)=>(v(e,t)||(e[t]=n()),e[t]),p=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),S=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e))),m=(e,t,n)=>{return l(n)?(i=t,null==(o=e)||o.delete(i),e):null==e?void 0:e.set(t,n);var o,i},w=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||m(e,t,n()),g(e,t)};var A=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const b=p(),j=p();var x=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const O="delete",J=e=>[e.get(n),e.get(o)],L=(e,n,o,i)=>{var r;const u=l(n)?e:null!=(r=e.get(n))?r:e.set(n,new t.Map);let s;return f(o,((e,t)=>{i(u,t,e)&&(s=1)})),u.forEach(((e,t)=>{v(o,t)||(u.delete(t),s=1)})),l(n)||u.size||e.delete(n),s};e.createYjsPersister=(e,s,d="tinybase",v)=>{const p=s.getMap(d);return((e,t,n,o,r,s,d=[])=>{let c,v,f,h=0,p=0;w(b,d,(()=>0)),w(j,d,(()=>[]));const S=e=>A(void 0,null,(function*(){return 2!=h&&(h=1,yield x.schedule((()=>A(void 0,null,(function*(){yield e(),h=0}))))),x})),x={load:(n,o)=>A(void 0,null,(function*(){return yield S((()=>A(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>A(void 0,[...n],(function*(n={},l={}){return x.stopAutoLoad(),yield x.load(n,l),p=1,f=o(((n,o)=>A(void 0,null,(function*(){if(o){const t=o();yield S((()=>A(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield S((()=>A(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==s||s(e)}}))))})))),x})),stopAutoLoad:()=>(p&&(r(f),f=void 0,p=0),x),save:t=>A(void 0,null,(function*(){return 1!=h&&(h=2,yield x.schedule((()=>A(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==s||s(e)}h=0}))))),x})),startAutoSave:()=>A(void 0,null,(function*(){return yield x.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||x.save((()=>[n,o]))})),x})),stopAutoSave:()=>(i(c,e.delListener),x),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(g(j,d),...e),yield A(void 0,null,(function*(){if(!g(b,d)){for(m(b,d,1);!l(v=u(g(j,d)));)try{yield v()}catch(e){null==s||s(e)}m(b,d,0)}})),x})),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(x)})(e,(()=>x(void 0,null,(function*(){return p.size?[p.get(n).toJSON(),p.get(o).toJSON()]:void 0}))),((e,r)=>x(void 0,null,(function*(){return s.transact((()=>((e,r,u)=>{e.size||(e.set(n,new t.Map),e.set(o,new t.Map));const[s,d]=J(e),a=()=>{c=1};let c=1;if(i(null==u?void 0:u(),(([e,t])=>{c=0,f(e,((e,t)=>c?0:l(e)?s.delete(t):i(s.get(t),(t=>f(e,((e,n)=>c?0:l(e)?t.delete(n):i(t.get(n),(t=>f(e,((e,n)=>l(e)?t.delete(n):t.set(n,e)))),a)))),a))),f(t,((e,t)=>c?0:l(e)?d.delete(t):d.set(t,e)))})),c){const[e,t]=r();L(s,void 0,e,((e,t,n)=>L(s,t,n,((e,t,n)=>L(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),L(d,void 0,t,((e,t,n)=>{d.get(t)!==n&&d.set(t,n)}))}})(p,e,r)))}))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==r(t)&&(l=t[0].path,0==r(l)))return[e.get(n).toJSON(),e.get(o).toJSON()];var l;const[s,d]=J(e),a={},v={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>u(e)==n?i(u(e),(n=>{const o=h(a,n,c),l=s.get(n);i(u(e),(e=>{const n=h(o,e,c),i=l.get(e);S(t,((e,{action:t})=>n[e]=t==O?null:i.get(e)))}),(()=>S(t,((e,{action:t})=>{var n;return o[e]=t==O?null:null==(n=l.get(e))?void 0:n.toJSON()}))))}),(()=>S(t,((e,{action:t})=>{var n;return a[e]=t==O?null:null==(n=s.get(e))?void 0:n.toJSON()})))):S(t,((e,{action:t})=>v[e]=t==O?null:d.get(e)))))})(t),[a,v]})(p,t)));return p.observeDeep(t),t}),(e=>{p.unobserveDeep(e)}),v)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const n="t",o="v",l=e=>null==e,i=(e,t,n)=>l(e)?null==n?void 0:n():t(e),r=e=>e.length,u=e=>e.shift(),s=Object,d=s.keys,a=s.freeze,c=(e=[])=>s.fromEntries(e),v=(e,t)=>!l(((e,t)=>i(e,(e=>e[t])))(e,t)),f=(e,t)=>((e,t)=>e.map(t))(s.entries(e),(([e,n])=>t(n,e))),y=e=>(e=>e instanceof s&&e.constructor==s)(e)&&0==(e=>r(d(e)))(e),h=(e,t,n)=>(v(e,t)||(e[t]=n()),e[t]),g=e=>new Map(e),p=(e,t)=>null==e?void 0:e.get(t),S=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e))),m=(e,t,n)=>{return l(n)?(i=t,null==(o=e)||o.delete(i),e):null==e?void 0:e.set(t,n);var o,i},w=(e,t,n)=>{var o,l,i;return l=t,null!=(i=null==(o=e)?void 0:o.has(l))&&i||m(e,t,n()),p(e,t)};var A=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const b=g(),j=g();var x=(e,t,n)=>new Promise(((o,l)=>{var i=e=>{try{u(n.next(e))}catch(e){l(e)}},r=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,r);u((n=n.apply(e,t)).next())}));const O="delete",J=e=>[e.get(n),e.get(o)],L=(e,n,o,i)=>{var r;const u=l(n)?e:null!=(r=e.get(n))?r:e.set(n,new t.Map);let s;return f(o,((e,t)=>{i(u,t,e)&&(s=1)})),u.forEach(((e,t)=>{v(o,t)||(u.delete(t),s=1)})),l(n)||u.size||e.delete(n),s};e.createYjsPersister=(e,s,d="tinybase",v)=>{const g=s.getMap(d);return((e,t,n,o,r,s,[d,c]=[],v=[])=>{let f,h,g,S=0,x=0;w(b,v,(()=>0)),w(j,v,(()=>[]));const O=e=>A(void 0,null,(function*(){return 2!=S&&(S=1,yield J.schedule((()=>A(void 0,null,(function*(){yield e(),S=0}))))),J})),J={load:(n,o)=>A(void 0,null,(function*(){return yield O((()=>A(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,o])}}))))})),startAutoLoad:(...n)=>A(void 0,[...n],(function*(n={},l={}){return J.stopAutoLoad(),yield J.load(n,l),x=1,g=o(((n,o)=>A(void 0,null,(function*(){if(o){const t=o();yield O((()=>A(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield O((()=>A(void 0,null,(function*(){var o;try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){null==s||s(e)}}))))})))),J})),stopAutoLoad:()=>(x&&(r(g),g=void 0,x=0),J),save:t=>A(void 0,null,(function*(){return 1!=S&&(S=2,yield J.schedule((()=>A(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==s||s(e)}S=0}))))),J})),startAutoSave:()=>A(void 0,null,(function*(){return yield J.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();y(n)&&y(o)||J.save((()=>[n,o]))})),J})),stopAutoSave:()=>(i(f,e.delListener),J),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(p(j,v),...e),yield A(void 0,null,(function*(){if(!p(b,v)){for(m(b,v,1);!l(h=u(p(j,v)));)try{yield h()}catch(e){null==s||s(e)}m(b,v,0)}})),J})),getStore:()=>e,destroy:()=>J.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(J[d]=()=>c),a(J)})(e,(()=>x(void 0,null,(function*(){return g.size?[g.get(n).toJSON(),g.get(o).toJSON()]:void 0}))),((e,r)=>x(void 0,null,(function*(){return s.transact((()=>((e,r,u)=>{e.size||(e.set(n,new t.Map),e.set(o,new t.Map));const[s,d]=J(e),a=()=>{c=1};let c=1;if(i(null==u?void 0:u(),(([e,t])=>{c=0,f(e,((e,t)=>c?0:l(e)?s.delete(t):i(s.get(t),(t=>f(e,((e,n)=>c?0:l(e)?t.delete(n):i(t.get(n),(t=>f(e,((e,n)=>l(e)?t.delete(n):t.set(n,e)))),a)))),a))),f(t,((e,t)=>c?0:l(e)?d.delete(t):d.set(t,e)))})),c){const[e,t]=r();L(s,void 0,e,((e,t,n)=>L(s,t,n,((e,t,n)=>L(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),L(d,void 0,t,((e,t,n)=>{d.get(t)!==n&&d.set(t,n)}))}})(g,e,r)))}))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==r(t)&&(l=t[0].path,0==r(l)))return[e.get(n).toJSON(),e.get(o).toJSON()];var l;const[s,d]=J(e),a={},v={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>u(e)==n?i(u(e),(n=>{const o=h(a,n,c),l=s.get(n);i(u(e),(e=>{const n=h(o,e,c),i=l.get(e);S(t,((e,{action:t})=>n[e]=t==O?null:i.get(e)))}),(()=>S(t,((e,{action:t})=>{var n;return o[e]=t==O?null:null==(n=l.get(e))?void 0:n.toJSON()}))))}),(()=>S(t,((e,{action:t})=>{var n;return a[e]=t==O?null:null==(n=s.get(e))?void 0:n.toJSON()})))):S(t,((e,{action:t})=>v[e]=t==O?null:d.get(e)))))})(t),[a,v]})(g,t)));return g.observeDeep(t),t}),(e=>{g.unobserveDeep(e)}),v,["getYDoc",s])}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object,o=n.keys,l=n.freeze,i=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>o(t).length)(t),u=t=>new Map(t),r=(t,e)=>null==t?void 0:t.get(e),s=(t,n,o)=>{return e(o)?(i=n,null==(l=t)||l.delete(i),t):null==t?void 0:t.set(n,o);var l,i},d=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||s(t,e,n()),r(t,e)};var a=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const c=u(),v=u();t.createCustomPersister=(t,n,o,u,f,y,h=[])=>{let p,g,A,C=0,L=0;d(c,h,(()=>0)),d(v,h,(()=>[]));const S=t=>a(void 0,null,(function*(){return 2!=C&&(C=1,yield m.schedule((()=>a(void 0,null,(function*(){yield t(),C=0}))))),m})),m={load:(e,o)=>a(void 0,null,(function*(){return yield S((()=>a(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>a(void 0,[...e],(function*(e={},o={}){return m.stopAutoLoad(),yield m.load(e,o),L=1,A=u(((e,o)=>a(void 0,null,(function*(){if(o){const e=o();yield S((()=>a(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield S((()=>a(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==y||y(t)}}))))})))),m})),stopAutoLoad:()=>(L&&(f(A),A=void 0,L=0),m),save:e=>a(void 0,null,(function*(){return 1!=C&&(C=2,yield m.schedule((()=>a(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==y||y(t)}C=0}))))),m})),startAutoSave:()=>a(void 0,null,(function*(){return yield m.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||m.save((()=>[n,o]))})),m})),stopAutoSave:()=>{var n,o;return n=p,o=t.delListener,!!e(n)||o(n),m},schedule:(...t)=>a(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(r(v,h),...t),yield a(void 0,null,(function*(){if(!r(c,h)){for(s(c,h,1);!e((t=r(v,h),g=t.shift()));)try{yield g()}catch(t){null==y||y(t)}s(c,h,0)}var t})),m})),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(m)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,n=Object,o=n.keys,l=n.freeze,i=t=>(t=>t instanceof n&&t.constructor==n)(t)&&0==(t=>o(t).length)(t),u=t=>new Map(t),r=(t,e)=>null==t?void 0:t.get(e),s=(t,n,o)=>{return e(o)?(i=n,null==(l=t)||l.delete(i),t):null==t?void 0:t.set(n,o);var l,i},d=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||s(t,e,n()),r(t,e)};var a=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const c=u(),v=u();t.createCustomPersister=(t,n,o,u,f,y,[h,p]=[],g=[])=>{let A,C,L,S=0,m=0;d(c,g,(()=>0)),d(v,g,(()=>[]));const x=t=>a(void 0,null,(function*(){return 2!=S&&(S=1,yield T.schedule((()=>a(void 0,null,(function*(){yield t(),S=0}))))),T})),T={load:(e,o)=>a(void 0,null,(function*(){return yield x((()=>a(void 0,null,(function*(){try{t.setContent(yield n())}catch(n){t.setContent([e,o])}}))))})),startAutoLoad:(...e)=>a(void 0,[...e],(function*(e={},o={}){return T.stopAutoLoad(),yield T.load(e,o),m=1,L=u(((e,o)=>a(void 0,null,(function*(){if(o){const e=o();yield x((()=>a(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>a(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){null==y||y(t)}}))))})))),T})),stopAutoLoad:()=>(m&&(f(L),L=void 0,m=0),T),save:e=>a(void 0,null,(function*(){return 1!=S&&(S=2,yield T.schedule((()=>a(void 0,null,(function*(){try{yield o(t.getContent,e)}catch(t){null==y||y(t)}S=0}))))),T})),startAutoSave:()=>a(void 0,null,(function*(){return yield T.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var n,o;return n=A,o=t.delListener,!!e(n)||o(n),T},schedule:(...t)=>a(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(r(v,g),...t),yield a(void 0,null,(function*(){if(!r(c,g)){for(s(c,g,1);!e((t=r(v,g),C=t.shift()));)try{yield C()}catch(t){null==y||y(t)}s(c,g,0)}var t})),T})),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return h&&(T[h]=()=>p),l(T)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",u="Result",c="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+"Count",p=L+v,I="Sorted"+L+v,S="Cell",T=S+v,R="Value",w=R+"s",C=R+v,b=e=>n+e,m=Math.max,V=Math.min,E=isFinite,x=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,n)=>k(e)?null==n?void 0:n():t(e),D=e=>e==l||e==s,J=e=>t(e)==r,A=e=>Array.isArray(e),O=(e,t,n)=>e.slice(t,n),F=e=>e.length,P=()=>{},Q=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),z=(e,t)=>F(e)===F(t)&&j(e,((e,n)=>t[n]===e)),N=(e,t)=>j(e,((n,l)=>0==l||t(e[l-1],n)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>H(e,((e,t)=>e+t),0),G=e=>0==F(e),H=(e,t,n)=>e.reduce(t,n),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>x(e,Y)&&e.constructor==Y,ne=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>$(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>F(Z(e)))(e),re=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>k(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ce=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ce(e,((e,n)=>t(n,e))),ye=(e,t,n)=>k(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),pe=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),Ie=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return ce(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Te=(e,t,n)=>Se(e,(e=>Se(e,t,n)),oe),Re=(e,t,n)=>Se(e,(e=>Te(e,t,n)),oe),we=(e,t)=>{const n=he();return ce(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>we(e,we),be=e=>we(e,Ce),me=(e,t,n,l,s=0)=>M((n?pe:ge)(e,t[s],s>F(t)-2?n:he),(o=>{if(s>F(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),Ve=e=>{const n=t(e);return D(n)||n==o&&E(e)?n:void 0},Ee=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(A(e)||k(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n,l,s)=>{const o=e.hasRow,r=he(),i=he(),a=he(),d=he(),u=he(),c=he(),v=(t,n,...l)=>{const s=pe(c,t,ke);return W(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>M(ge(c,t),(l=>{W(G(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(c,t)})),f=(e,n)=>{ye(r,e,n),ie(i,e)||(ye(i,e,t()),ye(d,e,he()),ye(u,e,he()),s(a))},g=e=>{ye(r,e),ye(i,e),ye(d,e),ye(u,e),h(e),s(a)};return[()=>e,()=>fe(r),e=>Le(i,e),e=>ie(i,e),e=>ge(r,e),e=>ge(i,e),(e,t)=>ye(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=he(),c=he(),g=ge(d,t),L=ge(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=ge(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||A(d)&&A(u)&&z(d,u)||ye(a,t,[d,u]),!k(i)){const e=ge(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&ye(c,t,n)}},p=e=>{s((()=>{ce(a,(([,e],t)=>ye(g,t,e))),ce(c,((e,t)=>ye(L,t,e)))}),a,c,g,L,e),ue(a),ue(c)};Le(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ie(g,e)||y(e)})),p(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},g,e=>l(e,a),()=>Le(c,g),v,h]},Je=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?X(e):null)?s:n+t++},t=>{Oe.test(t)&&F(e)<1e3&&K(e,t)}]},Pe=e=>{let t;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return ye(o,u,[s,r,i,a,d]),Me(me(r,null!=i?i:[n],ke),u),u},(e,l,...s)=>W(((e,t=[n])=>{const l=[],s=(e,n)=>n==F(t)?K(l,e):null===t[n]?ce(e,(e=>s(e,n+1))):W([t[n],null],(t=>s(ge(e,t),n+1)));return s(e,0),l})(e,l),(e=>ce(e,(e=>ge(o,e)[0](t,...null!=l?l:[],...s))))),e=>M(ge(o,e),(([,t,l])=>(me(t,null!=l?l:[n],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>M(ge(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=F(r);d==F(n)?e(t,...r,...s(r)):k(n[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Ae((e=>{let t,l,s,o=100,r=he(),i=he(),a=1;const d=he(),u=he(),[c,v,h]=Pe((()=>O)),f=he(),g=he(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ce(l,((n,l)=>ce(n,((n,s)=>ce(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ce(s,((n,l)=>xe(e,l,n[t])))})),a=1},I=e=>{ye(f,e),ye(g,e),v(u,[e])},S=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:F(e)),I),T=()=>S(L,F(L)-o),R=()=>M(t,(()=>{K(L,t),T(),S(y),t=void 0,s=1})),w=()=>{t=U(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=pe(r,t,he),i=pe(e,n,he),a=pe(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&w(),x()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=pe(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&w(),x()}})),m=(e="")=>(k(t)&&(t=n+l++,ye(f,t,[r,i]),J(t,e),r=he(),i=he(),s=1),t),V=()=>{G(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),p(0,t),t=U(L),s=1)},E=()=>{G(y)||(K(L,t),t=X(y),p(1,t),s=1)},x=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return x(),t},J=(e,t)=>(A(e)&&ge(g,e)!==t&&(ye(g,e,t),v(u,[e])),O),A=e=>ie(f,e),O={setSize:e=>(o=e,T(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:A,getCheckpoint:e=>ge(g,e),goBackward:()=>(V(),x(),O),goForward:()=>(E(),x(),O),goTo:e=>{const n=Q(L,e)?V:Q(y,e)?E:null;for(;!k(n)&&e!=t;)n();return x(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(S(L),S(y),k(t)||I(t),t=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return ee(O.clear())})),je=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,ze=Ae((e=>{const t=he(),l=he(),[s,o,r]=Pe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,y]=De(e,he,(e=>k(e)?n:A(e)?$(e,b):b(e)),s,o),p=(t,n,l)=>{const s=c(t);ce(l,((t,l)=>n(l,(n=>ce(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,n,s,r,i,a=je)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,n,((n,s,i,u,c,f)=>{let g=0;const L=ke(),y=ke(),p=v(e);if(ce(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ce(l,(e=>ve(s,e)?ve(l,e):0)),ce(l,(e=>{Me(L,e),M(ge(p,e),(t=>{ve(t,n),ae(t)&&(ye(p,e),g=1)}))})),ce(s,(e=>{Me(L,e),ie(p,e)||(ye(p,e,ke()),g=1),Me(ge(p,e),n),k(r)||Me(y,e)}))})),n(),ae(c)||(f?Le(p,(e=>Me(y,e))):Le(i,(e=>M(ge(u,e),(e=>Me(y,e))))),ce(y,(e=>{const t=(t,n)=>a(ge(c,t),ge(c,n),e),n=[...ge(p,e)];N(n,t)||(ye(p,e,ke(B(n,t))),Me(L,e))}))),(g||f)&&!k(d)){const t=[...p];N(t,d)||(h(e,he(B(t,d))),g=1)}g&&o(t,[e]),ce(L,(t=>o(l,[e,t])))}),Je(s),M(r,Je)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ie(v(e),t),getTableId:c,getSliceIds:e=>fe(v(e)),getSliceRowIds:(e,t)=>de(ge(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:y,getListenerStats:()=>({})};return ee(I)})),Ne=he([["avg",[(e,t)=>q(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Be=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ce(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(de(n),re(n)):e},We=Ae((e=>{const t=he(),[l,s,o]=Pe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=De(e,P,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===n?void 0:1*e),l,s),y={setMetricDefinition:(e,n,l,o,r,i,a)=>{var d;const u=J(l)?[l,r,i,a]:null!=(d=ge(Ne,l))?d:ge(Ne,"sum");return h(e,n,((n,l,o,r,i,a)=>{const d=c(e),h=re(r);a||(a=k(d)),n();let f=Be(d,h,r,l,u,a);E(f)||(f=void 0),f!=d&&(v(e,f),s(t,[e],f,d))}),Je(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return ee(y)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=he(),Ge=he();var He=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;const Xe=Ae((e=>{const t=e.createStore,l=t(),s=t(),o=he(),{addListener:r,callListeners:i,delListener:a}=s,[v,f,g,R,w,,,C,,b,m,V,E,x]=De(e,(()=>!0),P,r,i),D=(e,t,...n)=>W(n,(n=>Me(pe(pe(o,t,he),e,ke),n))),A=e=>{M(ge(o,e),(e=>{Le(e,((e,t)=>ce(t,(t=>e.delListener(t))))),ue(e)})),W([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],a=[[null,[o,null,null,[],he()]]],d=[],u=[],c=[];r({select:(e,t)=>{const l=J(e)?[F(i)+n,e]:[k(t)?e:t,n=>n(e,t)];return K(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||J(t)?null:t,s=k(l)?t:n,o=[e,[e,l,J(s)?s:e=>e(s),[],he()]];return K(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>K(d,J(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,J(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return K(u,r),{as:e=>r[0]=e}},having:(e,t)=>K(c,J(e)?e:n=>n(e)===t)});const v=he(i);if(ae(v))return z;const h=he(a);Le(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:K(t,e)))));const f=he(u);let g=l;if(ae(f)&&G(c))g=s;else{Q(t,g,s);const e=he();Le(f,((t,[n,l])=>Me(pe(e,n,ke),[t,l])));const n=ke();Le(v,(t=>ie(e,t)?0:Me(n,t)));const l=he(),o=(n,l,o,r)=>M(n,(([i,a,d,u])=>{Le(l,((t,[n])=>{const l=pe(i,t,he),s=ge(l,o),a=r?void 0:n;if(s!==a){const n=ke([[s,a]]),r=re(l);ye(l,o,a),ce(ge(e,t),(([e,t])=>{const s=Be(u[e],r,l,n,t);u[e]=k(Ve(s))?null:s}))}})),ae(a)||!j(c,(e=>e((e=>u[e]))))?s.delRow(t,d):k(d)?n[2]=s.addRow(t,u):s.setRow(t,d,u)}));D(g,t,g.addRowListener(t,null,((s,r,i,a)=>{const d=[],u=[],c=he(),v=g.hasRow(t,i);let h=!v;ce(n,(e=>{const[n,l,s]=a(t,i,e);K(d,l),K(u,s),h||(h=n)})),Le(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&ye(c,e,[l])})),h&&o(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),c,i,1),v&&o(me(l,u,(()=>{const e={};return ce(n,(n=>e[n]=g.getCell(t,i,n))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,i)})),c,i)})))}Q(t,e,g);const L=(n,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=ge(h,l),u=null==r?void 0:r(i,n),[c,v]=null!=(s=ge(d,n))?s:[];u!=c&&(k(v)||x(t,v),ye(d,n,k(u)?null:[u,...E(t,1,e.addRowListener(o,u,(()=>L(n,o,u,a))))]))})),(n=>{const l=(t,l)=>{var s,r,i;return e.getCell(...k(l)?[o,n,t]:t===o?[o,n,l]:[null==(s=ge(h,t))?void 0:s[0],null==(i=ge(null==(r=ge(h,t))?void 0:r[4],n))?void 0:i[0],l])};g.transaction((()=>j(d,(e=>e(l)))?Le(v,((e,s)=>Ee(g,t,n,e,s(l,n)))):g.delRow(t,n)))})(n)},{3:y}=ge(h,null);return g.transaction((()=>E(t,1,e.addRowListener(o,null,((n,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(t,s),ce(h,(({4:e})=>M(ge(e,s),(([,n])=>{x(t,n),ye(e,s)})))))}))))),z},delQueryDefinition:e=>(A(e),b(e),z),getStore:v,getQueryIds:f,forEachQuery:g,hasQuery:R,getTableId:w,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(a(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ke.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&He)for(var l of He(e))t.indexOf(l)<0&&Ue.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return se({[h]:[1,1],[h+T]:[0,1],[y]:[0,1],[p]:[0,1],[I]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+u+n]=(...t)=>s[e+n](...t))),z[c+u+n+d]=(...e)=>s[c+n+d](...O(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),ee(z)})),Ye=Ae((e=>{const t=he(),l=he(),s=he(),o=he(),[r,i,a]=Pe((()=>R)),[d,u,c,v,h,f,,,g,L,y,p]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+n),r,i),I=(e,t,n)=>M(f(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(h(e)!=T(e))Me(o,t);else{let e=t;for(;!k(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),S=(e,t)=>M(f(e),(([,,e])=>ye(e,t))),T=e=>ge(t,e),R={setRelationshipDefinition:(e,n,r,a)=>(ye(t,e,r),g(e,n,((t,n)=>{const r=ke(),a=ke(),d=ke(),[u,c]=f(e);ce(n,(([t,n],l)=>{k(t)||(Me(a,t),M(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),k(n)||(Me(a,n),ie(c,n)||ye(c,n,ke()),Me(ge(c,n),l)),Me(r,l),ye(u,l,n),Le(ge(o,e),(t=>{ie(I(e,t),l)&&Me(d,t)}))})),t(),ce(r,(t=>i(l,[e,t]))),ce(a,(t=>i(s,[e,t]))),ce(d,(t=>{S(e,t),i(o,[e,t])}))}),Je(a)),R),delRelationshipDefinition:e=>(ye(t,e),L(e),R),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(I(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),r(n,o,[e,t])),delListener:e=>{var t;return S(...null!=(t=a(e))?t:[]),R},destroy:p,getListenerStats:()=>({})};return ee(R)})),Ze=e=>[e,e],_e=()=>[he(),he()],et=e=>[...e],tt=([e,t])=>e===t,nt=e=>JSON.stringify(e,((e,t)=>x(t,Map)?Y.fromEntries([...t]):t)),lt=JSON.parse,st=(e,t,n)=>k(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),ot=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),rt=()=>{let e,t,n=!1,l=!1,s=0;const r=he(),u=he(),v=he(),I=he(),m=he(),V=he(),E=he(),x=he(),A=he(),F=he(),P=he(),j=he(),N=he(),q=he(),G=ke(),H=he(),U=he(),X=he(),Y=he(),Z=_e(),_=_e(),te=_e(),de=_e(),me=_e(),De=_e(),Je=_e(),Ae=_e(),Oe=_e(),Qe=_e(),ze=_e(),Ne=_e(),Be=_e(),We=_e(),$e=_e(),qe=he(),Ge=_e(),[He,Ke,Ue,Xe]=Pe((()=>Sn)),Ye=e=>{if(!st(e,((e,t)=>Q([i,a],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[a])!=t&&le(e,a),0))},it=(t,n)=>(!e||ie(P,n)||Pt(n))&&st(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>st(l?n:vt(n,e,t),((l,s)=>M(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?M(ge(ge(P,t),l),(e=>Ve(s)!=e[i]?Pt(t,n,l,s,e[a]):s),(()=>Pt(t,n,l,s))):k(Ve(s))?Pt(t,n,l,s):s,ut=(e,t)=>st(t?e:ht(e),((t,n)=>M(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?M(ge(N,e),(t=>Ve(n)!=t[i]?Qt(e,n,t[a]):n),(()=>Qt(e,n))):k(Ve(n))?Qt(e,n):n,vt=(e,t,n)=>(M(ge(j,t),(([l,s])=>{ce(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(s,(l=>{ne(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ce(q,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(G,(t=>{ne(e,t)||Qt(t)}))),e),ft=e=>Ie(P,e,((e,t,n)=>{const l=he(),s=ke();Ie(pe(P,t,he),n,((e,t,n)=>{ye(e,t,n),M(n[a],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),gt=e=>Ie(N,e,((e,t,n)=>{ye(N,t,n),M(n[a],(e=>ye(q,t,e)),(()=>Me(G,t)))}),((e,t)=>{ye(N,t),ye(q,t),ve(G,t)})),Lt=e=>oe(e)?cn():on(e),yt=e=>Ie(X,e,((e,t,n)=>pt(t,n)),((e,t)=>Vt(t))),pt=(e,t)=>Ie(pe(X,e,(()=>(Mt(e,1),ye(H,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>It(e,t,n,l)),((t,n)=>Et(e,t,n))),It=(e,t,n,l,s)=>Ie(pe(t,n,(()=>(Dt(e,n,1),he()))),l,((t,l,s)=>St(e,n,t,l,s)),((l,o)=>xt(e,t,n,l,o,s))),St=(e,t,n,l,s)=>{ie(n,l)||Jt(e,t,l,1);const o=ge(n,l);s!==o&&(At(e,t,l,o,s),ye(n,l,s))},Tt=(e,t,n,l,s)=>M(ge(t,n),(t=>St(e,n,t,l,s)),(()=>It(e,t,n,vt({[l]:s},e,n)))),Rt=e=>oe(e)?fn():rn(e),wt=e=>Ie(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>kt(t))),Ct=(e,t)=>{ie(Y,e)||Ot(e,1);const n=ge(Y,e);t!==n&&(Ft(e,n,t),ye(Y,e,t))},bt=(e,t)=>{const[n]=ge(H,e),l=n(t);return ie(ge(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=ge(X,e))?t:pt(e,{})},Vt=e=>pt(e,{}),Et=(e,t,n)=>{const[,l]=ge(H,e);l(n),It(e,t,n,{},!0)},xt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!k(i)&&!o)return St(e,n,l,s,i);const a=t=>{At(e,n,t,ge(l,t)),Jt(e,n,t,-1),ye(l,t)};k(i)?a(s):Le(l,a),ae(l)&&(Dt(e,n,-1),ae(ye(t,n))&&(Mt(e,-1),ye(X,e),ye(H,e),ye(U,e)))},kt=e=>{const t=ge(q,e);if(!k(t))return Ct(e,t);Ft(e,ge(Y,e)),Ot(e,-1),ye(Y,e)},Mt=(e,t)=>ot(r,e,t),Dt=(e,t,n)=>ot(pe(I,e,he),t,n)&&ye(v,e,pe(v,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&ot(pe(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),ot(pe(pe(m,e,he),t,he),n,l)},At=(e,t,n,l,s)=>pe(pe(pe(V,e,he),t,he),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>ot(E,e,t),Ft=(e,t,n)=>pe(x,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(K(pe(pe(pe(A,e,he),t,he),n,(()=>[])),l),s),Qt=(e,t,n)=>(K(pe(F,e,(()=>[])),t),n),jt=(e,t,n)=>M(ge(ge(ge(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(tn(e,t,n))])),zt=e=>M(ge(x,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(sn(e))])),Nt=e=>ae(A)||ae(ze[e])?0:ce(e?be(A):A,((t,n)=>ce(t,((t,l)=>ce(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Bt=e=>ae(F)||ae(Ne[e])?0:ce(e?we(F):F,((t,n)=>Ke(Ne[e],[n],t))),Wt=(e,t,n)=>{if(!ae(t))return Ke(e,n,(()=>Se(t))),1},$t=e=>{const t=ae(Je[e]),n=ae(Oe[e])&&ae(de[e])&&ae(me[e])&&ae(De[e])&&t&&ae(_[e]),l=ae(Qe[e])&&ae(Ae[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[we(r),Ce(u),we(v),Ce(I),be(m),be(V)]:[r,u,v,I,m,V];if(!n){Wt(_[e],s[0]),ce(s[1],((t,n)=>Wt(de[e],t,[n]))),ce(s[2],((t,n)=>{0!=t&&Ke(me[e],[n],Yt(n))}));const n=ke();ce(s[3],((l,s)=>{Wt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),Me(n,s))})),t||ce(s[5],((t,l)=>{if(!ie(n,l)){const n=ke();ce(t,(e=>ce(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ce(n,(t=>Ke(Je[e],[l,t])))}})),ce(s[4],((t,n)=>ce(t,((t,l)=>Wt(Oe[e],t,[n,l])))))}if(!l){let t;ce(s[5],((n,l)=>{let s;ce(n,((n,o)=>{let r;ce(n,(([n,i],a)=>{i!==n&&(Ke(Qe[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(te[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ae(We[e]),n=ae($e[e])&&ae(Be[e]);if(!t||!n){const l=e?[we(E),we(x)]:[E,x];if(t||Wt(We[e],l[0]),!n){let t;ce(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(Be[e],void 0,zt)}}},Gt=(e,...t)=>(yn((()=>e(...$(t,b)))),Sn),Ht=()=>[Se(V,((e,t)=>-1===ge(r,t)?null:Se(e,((e,n)=>-1===ge(ge(I,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))),oe)),oe),Se(x,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,et,tt),invalidCells:Re(A),changedValues:Se(x,et,tt),invalidValues:Se(F),changedTableIds:Se(r),changedRowIds:Te(I),changedCellIds:Re(m),changedValueIds:Se(E)}),Ut=()=>Re(X),Xt=()=>fe(X),Yt=e=>re(ge(X,b(e))),Zt=e=>fe(ge(X,b(e))),_t=(e,t,n,l=0,s)=>{return $(O(B((o=ge(X,b(e)),r=(e,n)=>[k(t)?n:ge(e,b(t)),n],$([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>fe(ge(ge(X,b(e)),b(t))),tn=(e,t,n)=>ge(ge(ge(X,b(e)),b(t)),b(n)),nn=()=>Se(Y),ln=()=>fe(Y),sn=e=>ge(Y,b(e)),on=e=>Gt((()=>(e=>st(e,it,Pt))(e)?yt(e):0)),rn=e=>Gt((()=>ut(e)?wt(e):0)),an=e=>{try{Lt(lt(e))}catch(e){}return Sn},dn=t=>Gt((()=>{if((e=st(t,(e=>st(e,Ye))))&&(ft(t),!ae(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>st(e,Ye))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>yt({}))),vn=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>M(ge(X,e),(n=>ie(n,t)?Et(e,n,t):0))),e,t),fn=()=>Gt((()=>wt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),yn=(e,t)=>{if(-1!=s){pn();const n=e();return In(t),n}},pn=()=>(-1!=s&&s++,1==s&&Ke(qe,void 0,Ht,Kt),Sn),In=e=>(s>0&&(s--,0==s&&(n=!ae(V),l=!ae(x),s=1,Nt(1),n&&$t(1),Bt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ce(V,((e,t)=>ce(e,((e,n)=>ce(e,(([e],l)=>Ee(Sn,t,n,l,e))))))),ce(x,(([e],t)=>xe(Sn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),s=-1,Nt(0),n&&$t(0),Bt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),s=0,n=l=!1,W([r,u,v,I,m,V,A,E,x,F],ue))),Sn),Sn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>Te(ge(X,b(e))),getTableCellIds:e=>fe(ge(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Se(ge(ge(X,b(e)),b(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ae(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(ge(U,b(e)),b(t)),hasRow:(e,t)=>ie(ge(X,b(e)),b(t)),hasCell:(e,t,n)=>ie(ge(ge(X,b(e)),b(t)),b(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>nt(X),getValuesJson:()=>nt(Y),getJson:()=>nt([X,Y]),getTablesSchemaJson:()=>nt(P),getValuesSchemaJson:()=>nt(N),getSchemaJson:()=>nt([P,N]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?cn:on)(e),(oe(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?pt(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?It(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>yn((()=>{let l;return at(e,l,t)&&(e=b(e),It(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);se(n,((n,s)=>Tt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>M(dt(e,t,n,J(l)?l(tn(e,t,n)):l),(l=>Tt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?se(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>M(ct(e,J(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{se(e[0],((e,t)=>k(e)?vn(t):se(e,((e,n)=>k(e)?hn(t,n):se(e,((e,l)=>Ee(Sn,t,n,l,e))))))),se(e[1],((e,t)=>xe(Sn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{Rt(lt(e))}catch(e){}return Sn},setJson:e=>Gt((()=>{try{const[t,n]=lt(e);Lt(t),Rt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>M(ge(X,e),(s=>M(ge(s,t),(o=>ie(o,n)?xt(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>ie(Y,e)?kt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:yn,startTransaction:pn,finishTransaction:In,forEachTable:e=>ce(X,((t,n)=>e(n,(e=>ce(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,b(e)),t),forEachRow:(e,t)=>ce(ge(X,b(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,b(e)),b(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);z(r,i)||(i=r,o(Sn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),Sn),delListener:e=>(Ue(e),Sn),getListenerStats:()=>({}),createStore:rt,addListener:He,callListeners:Ke};return se({[f]:[0,Z],[g]:[0,_],[h]:[1,te,[Xt]],[h+T]:[1,de,[Xt]],[y]:[1,me,[Xt]],[p]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[T]:[2,Oe,[Xt,Zt]],[S]:[3,Qe,[Xt,Zt,en],e=>Ze(tn(...e))],InvalidCell:[3,ze],[w]:[0,Be],[C]:[0,We],[R]:[1,$e,[ln],e=>Ze(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{Sn[c+s+d]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(Sn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s,o,r=[])=>{let i,a,d,u=0,c=0;pe(qe,r,(()=>0)),pe(Ge,r,(()=>[]));const v=e=>$e(void 0,null,(function*(){return 2!=u&&(u=1,yield h.schedule((()=>$e(void 0,null,(function*(){yield e(),u=0}))))),h})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,d=l(((n,l)=>$e(void 0,null,(function*(){if(l){const t=l();yield v((()=>$e(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>$e(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),h})),stopAutoLoad:()=>(c&&(s(d),d=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return 1!=u&&(u=2,yield h.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();oe(n)&&oe(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(M(i,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return K(ge(Ge,r),...e),yield $e(void 0,null,(function*(){if(!ge(qe,r)){for(ye(qe,r,1);!k(a=X(ge(Ge,r)));)try{yield a()}catch(e){null==o||o(e)}ye(qe,r,0)}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)},e.createIndexes=ze,e.createMetrics=We,e.createQueries=Xe,e.createRelationships=Ye,e.createStore=rt,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),s=t(!0),o=t(0),r=t(t),i="type",a="default",d="Listener",u="Result",c="add",v="Ids",h="Table",f=h+"s",g=h+v,L="Row",y=L+"Count",p=L+v,I="Sorted"+L+v,S="Cell",T=S+v,R="Value",w=R+"s",C=R+v,b=e=>n+e,m=Math.max,V=Math.min,E=isFinite,x=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,n)=>k(e)?null==n?void 0:n():t(e),D=e=>e==l||e==s,J=e=>t(e)==r,A=e=>Array.isArray(e),O=(e,t,n)=>e.slice(t,n),F=e=>e.length,P=()=>{},Q=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),z=(e,t)=>F(e)===F(t)&&j(e,((e,n)=>t[n]===e)),N=(e,t)=>j(e,((n,l)=>0==l||t(e[l-1],n)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),$=(e,t)=>e.map(t),q=e=>H(e,((e,t)=>e+t),0),G=e=>0==F(e),H=(e,t,n)=>e.reduce(t,n),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>x(e,Y)&&e.constructor==Y,ne=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>$(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>F(Z(e)))(e),re=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>k(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ue=e=>e.clear(),ce=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ce(e,((e,n)=>t(n,e))),ye=(e,t,n)=>k(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),pe=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),Ie=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Se=(e,t,n)=>{const l={};return ce(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Te=(e,t,n)=>Se(e,(e=>Se(e,t,n)),oe),Re=(e,t,n)=>Se(e,(e=>Te(e,t,n)),oe),we=(e,t)=>{const n=he();return ce(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>we(e,we),be=e=>we(e,Ce),me=(e,t,n,l,s=0)=>M((n?pe:ge)(e,t[s],s>F(t)-2?n:he),(o=>{if(s>F(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=me(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),Ve=e=>{const n=t(e);return D(n)||n==o&&E(e)?n:void 0},Ee=(e,t,n,l,s)=>k(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),xe=(e,t,n)=>k(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(A(e)||k(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n,l,s)=>{const o=e.hasRow,r=he(),i=he(),a=he(),d=he(),u=he(),c=he(),v=(t,n,...l)=>{const s=pe(c,t,ke);return W(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},h=(t,...n)=>M(ge(c,t),(l=>{W(G(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(c,t)})),f=(e,n)=>{ye(r,e,n),ie(i,e)||(ye(i,e,t()),ye(d,e,he()),ye(u,e,he()),s(a))},g=e=>{ye(r,e),ye(i,e),ye(d,e),ye(u,e),h(e),s(a)};return[()=>e,()=>fe(r),e=>Le(i,e),e=>ie(i,e),e=>ge(r,e),e=>ge(i,e),(e,t)=>ye(i,e,t),f,(t,l,s,r,i)=>{f(t,l);const a=he(),c=he(),g=ge(d,t),L=ge(u,t),y=t=>{const s=n=>e.getCell(l,t,n),d=ge(g,t),u=o(l,t)?n(r(s,t)):void 0;if(d===u||A(d)&&A(u)&&z(d,u)||ye(a,t,[d,u]),!k(i)){const e=ge(L,t),n=o(l,t)?i(s,t):void 0;e!=n&&ye(c,t,n)}},p=e=>{s((()=>{ce(a,(([,e],t)=>ye(g,t,e))),ce(c,((e,t)=>ye(L,t,e)))}),a,c,g,L,e),ue(a),ue(c)};Le(g,y),e.hasTable(l)&&W(e.getRowIds(l),(e=>{ie(g,e)||y(e)})),p(!0),h(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>y(n))),e.addTableListener(l,(()=>p())))},g,e=>l(e,a),()=>Le(c,g),v,h]},Je=(e,s)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=s?s:n,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?X(e):null)?s:n+t++},t=>{Oe.test(t)&&F(e)<1e3&&K(e,t)}]},Pe=e=>{let t;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const u=l(1);return ye(o,u,[s,r,i,a,d]),Me(me(r,null!=i?i:[n],ke),u),u},(e,l,...s)=>W(((e,t=[n])=>{const l=[],s=(e,n)=>n==F(t)?K(l,e):null===t[n]?ce(e,(e=>s(e,n+1))):W([t[n],null],(t=>s(ge(e,t),n+1)));return s(e,0),l})(e,l),(e=>ce(e,(e=>ge(o,e)[0](t,...null!=l?l:[],...s))))),e=>M(ge(o,e),(([,t,l])=>(me(t,null!=l?l:[n],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>M(ge(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var i,a;const d=F(r);d==F(n)?e(t,...r,...s(r)):k(n[d])?W(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},Qe=Ae((e=>{let t,l,s,o=100,r=he(),i=he(),a=1;const d=he(),u=he(),[c,v,h]=Pe((()=>O)),f=he(),g=he(),L=[],y=[],p=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ce(l,((n,l)=>ce(n,((n,s)=>ce(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ce(s,((n,l)=>xe(e,l,n[t])))})),a=1},I=e=>{ye(f,e),ye(g,e),v(u,[e])},S=(e,t)=>W(((e,t)=>e.splice(0,t))(e,null!=t?t:F(e)),I),T=()=>S(L,F(L)-o),R=()=>M(t,(()=>{K(L,t),T(),S(y),t=void 0,s=1})),w=()=>{t=U(L),s=1},C=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){R();const e=pe(r,t,he),i=pe(e,n,he),a=pe(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&w(),x()}})),b=e.addValueListener(null,((e,t,n,l)=>{if(a){R();const e=pe(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&w(),x()}})),m=(e="")=>(k(t)&&(t=n+l++,ye(f,t,[r,i]),J(t,e),r=he(),i=he(),s=1),t),V=()=>{G(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),p(0,t),t=U(L),s=1)},E=()=>{G(y)||(K(L,t),t=X(y),p(1,t),s=1)},x=()=>{s&&(v(d),s=0)},D=e=>{const t=m(e);return x(),t},J=(e,t)=>(A(e)&&ge(g,e)!==t&&(ye(g,e,t),v(u,[e])),O),A=e=>ie(f,e),O={setSize:e=>(o=e,T(),O),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:A,getCheckpoint:e=>ge(g,e),goBackward:()=>(V(),x(),O),goForward:()=>(E(),x(),O),goTo:e=>{const n=Q(L,e)?V:Q(y,e)?E:null;for(;!k(n)&&e!=t;)n();return x(),O},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(h(e),O),clear:()=>(S(L),S(y),k(t)||I(t),t=void 0,l=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return ee(O.clear())})),je=(e,t)=>(null!=e?e:0)<(null!=t?t:0)?-1:1,ze=Ae((e=>{const t=he(),l=he(),[s,o,r]=Pe((()=>I)),[i,a,d,u,c,v,h,,f,g,L,y]=De(e,he,(e=>k(e)?n:A(e)?$(e,b):b(e)),s,o),p=(t,n,l)=>{const s=c(t);ce(l,((t,l)=>n(l,(n=>ce(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},I={setIndexDefinition:(e,n,s,r,i,a=je)=>{const d=k(i)?void 0:([e],[t])=>i(e,t);return f(e,n,((n,s,i,u,c,f)=>{let g=0;const L=ke(),y=ke(),p=v(e);if(ce(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ce(l,(e=>ve(s,e)?ve(l,e):0)),ce(l,(e=>{Me(L,e),M(ge(p,e),(t=>{ve(t,n),ae(t)&&(ye(p,e),g=1)}))})),ce(s,(e=>{Me(L,e),ie(p,e)||(ye(p,e,ke()),g=1),Me(ge(p,e),n),k(r)||Me(y,e)}))})),n(),ae(c)||(f?Le(p,(e=>Me(y,e))):Le(i,(e=>M(ge(u,e),(e=>Me(y,e))))),ce(y,(e=>{const t=(t,n)=>a(ge(c,t),ge(c,n),e),n=[...ge(p,e)];N(n,t)||(ye(p,e,ke(B(n,t))),Me(L,e))}))),(g||f)&&!k(d)){const t=[...p];N(t,d)||(h(e,he(B(t,d))),g=1)}g&&o(t,[e]),ce(L,(t=>o(l,[e,t])))}),Je(s),M(r,Je)),I},delIndexDefinition:e=>(g(e),I),getStore:i,getIndexIds:a,forEachIndex:e=>d(((t,n)=>e(t,(e=>p(t,e,n))))),forEachSlice:(e,t)=>p(e,t,v(e)),hasIndex:u,hasSlice:(e,t)=>ie(v(e),t),getTableId:c,getSliceIds:e=>fe(v(e)),getSliceRowIds:(e,t)=>de(ge(v(e),t)),addIndexIdsListener:L,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,l,[e,t]),delListener:e=>(r(e),I),destroy:y,getListenerStats:()=>({})};return ee(I)})),Ne=he([["avg",[(e,t)=>q(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:V(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Be=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=k(e)),ce(l,(([n,l])=>{o||(e=k(n)?null==i?void 0:i(e,l,t++):k(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=k(e)))})),o?r(de(n),re(n)):e},We=Ae((e=>{const t=he(),[l,s,o]=Pe((()=>y)),[r,i,a,d,u,c,v,,h,f,g,L]=De(e,P,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===n?void 0:1*e),l,s),y={setMetricDefinition:(e,n,l,o,r,i,a)=>{var d;const u=J(l)?[l,r,i,a]:null!=(d=ge(Ne,l))?d:ge(Ne,"sum");return h(e,n,((n,l,o,r,i,a)=>{const d=c(e),h=re(r);a||(a=k(d)),n();let f=Be(d,h,r,l,u,a);E(f)||(f=void 0),f!=d&&(v(e,f),s(t,[e],f,d))}),Je(o,1)),y},delMetricDefinition:e=>(f(e),y),getStore:r,getMetricIds:i,forEachMetric:a,hasMetric:d,getTableId:u,getMetric:c,addMetricIdsListener:g,addMetricListener:(e,n)=>l(n,t,[e]),delListener:e=>(o(e),y),destroy:L,getListenerStats:()=>({})};return ee(y)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=he(),Ge=he();var He=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;const Xe=Ae((e=>{const t=e.createStore,l=t(),s=t(),o=he(),{addListener:r,callListeners:i,delListener:a}=s,[v,f,g,R,w,,,C,,b,m,V,E,x]=De(e,(()=>!0),P,r,i),D=(e,t,...n)=>W(n,(n=>Me(pe(pe(o,t,he),e,ke),n))),A=e=>{M(ge(o,e),(e=>{Le(e,((e,t)=>ce(t,(t=>e.delListener(t))))),ue(e)})),W([s,l],(t=>t.delTable(e)))},Q=(e,t,n)=>D(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),z={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],a=[[null,[o,null,null,[],he()]]],d=[],u=[],c=[];r({select:(e,t)=>{const l=J(e)?[F(i)+n,e]:[k(t)?e:t,n=>n(e,t)];return K(i,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=k(n)||J(t)?null:t,s=k(l)?t:n,o=[e,[e,l,J(s)?s:e=>e(s),[],he()]];return K(a,o),{as:e=>o[0]=e}},where:(e,t,n)=>K(d,J(e)?e:k(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,J(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return K(u,r),{as:e=>r[0]=e}},having:(e,t)=>K(c,J(e)?e:n=>n(e)===t)});const v=he(i);if(ae(v))return z;const h=he(a);Le(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:K(t,e)))));const f=he(u);let g=l;if(ae(f)&&G(c))g=s;else{Q(t,g,s);const e=he();Le(f,((t,[n,l])=>Me(pe(e,n,ke),[t,l])));const n=ke();Le(v,(t=>ie(e,t)?0:Me(n,t)));const l=he(),o=(n,l,o,r)=>M(n,(([i,a,d,u])=>{Le(l,((t,[n])=>{const l=pe(i,t,he),s=ge(l,o),a=r?void 0:n;if(s!==a){const n=ke([[s,a]]),r=re(l);ye(l,o,a),ce(ge(e,t),(([e,t])=>{const s=Be(u[e],r,l,n,t);u[e]=k(Ve(s))?null:s}))}})),ae(a)||!j(c,(e=>e((e=>u[e]))))?s.delRow(t,d):k(d)?n[2]=s.addRow(t,u):s.setRow(t,d,u)}));D(g,t,g.addRowListener(t,null,((s,r,i,a)=>{const d=[],u=[],c=he(),v=g.hasRow(t,i);let h=!v;ce(n,(e=>{const[n,l,s]=a(t,i,e);K(d,l),K(u,s),h||(h=n)})),Le(e,(e=>{const[n,,l]=a(t,i,e);(h||n)&&ye(c,e,[l])})),h&&o(me(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),c,i,1),v&&o(me(l,u,(()=>{const e={};return ce(n,(n=>e[n]=g.getCell(t,i,n))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,i)})),c,i)})))}Q(t,e,g);const L=(n,l,s,r)=>{const i=t=>e.getCell(l,s,t);W(r,(l=>{var s;const[o,,r,a,d]=ge(h,l),u=null==r?void 0:r(i,n),[c,v]=null!=(s=ge(d,n))?s:[];u!=c&&(k(v)||x(t,v),ye(d,n,k(u)?null:[u,...E(t,1,e.addRowListener(o,u,(()=>L(n,o,u,a))))]))})),(n=>{const l=(t,l)=>{var s,r,i;return e.getCell(...k(l)?[o,n,t]:t===o?[o,n,l]:[null==(s=ge(h,t))?void 0:s[0],null==(i=ge(null==(r=ge(h,t))?void 0:r[4],n))?void 0:i[0],l])};g.transaction((()=>j(d,(e=>e(l)))?Le(v,((e,s)=>Ee(g,t,n,e,s(l,n)))):g.delRow(t,n)))})(n)},{3:y}=ge(h,null);return g.transaction((()=>E(t,1,e.addRowListener(o,null,((n,l,s)=>{e.hasRow(o,s)?L(s,o,s,y):(g.delRow(t,s),ce(h,(({4:e})=>M(ge(e,s),(([,n])=>{x(t,n),ye(e,s)})))))}))))),z},delQueryDefinition:e=>(A(e),b(e),z),getStore:v,getQueryIds:f,forEachQuery:g,hasQuery:R,getTableId:w,addQueryIdsListener:e=>m((()=>e(z))),delListener:e=>(a(e),z),destroy:V,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ke.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&He)for(var l of He(e))t.indexOf(l)<0&&Ue.call(e,l)&&(n[l]=e[l]);return n})(s.getListenerStats(),["tables","tableIds","transaction"])};return se({[h]:[1,1],[h+T]:[0,1],[y]:[0,1],[p]:[0,1],[I]:[0,5],[L]:[1,2],[T]:[0,2],[S]:[1,3]},(([e,t],n)=>{W(e?["get","has","forEach"]:["get"],(e=>z[e+u+n]=(...t)=>s[e+n](...t))),z[c+u+n+d]=(...e)=>s[c+n+d](...O(e,0,t),((n,...l)=>e[t](z,...l)),!0)})),ee(z)})),Ye=Ae((e=>{const t=he(),l=he(),s=he(),o=he(),[r,i,a]=Pe((()=>R)),[d,u,c,v,h,f,,,g,L,y,p]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+n),r,i),I=(e,t,n)=>M(f(e),(([l,,s])=>{if(!ie(s,t)){const o=ke();if(h(e)!=T(e))Me(o,t);else{let e=t;for(;!k(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),S=(e,t)=>M(f(e),(([,,e])=>ye(e,t))),T=e=>ge(t,e),R={setRelationshipDefinition:(e,n,r,a)=>(ye(t,e,r),g(e,n,((t,n)=>{const r=ke(),a=ke(),d=ke(),[u,c]=f(e);ce(n,(([t,n],l)=>{k(t)||(Me(a,t),M(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),k(n)||(Me(a,n),ie(c,n)||ye(c,n,ke()),Me(ge(c,n),l)),Me(r,l),ye(u,l,n),Le(ge(o,e),(t=>{ie(I(e,t),l)&&Me(d,t)}))})),t(),ce(r,(t=>i(l,[e,t]))),ce(a,(t=>i(s,[e,t]))),ce(d,(t=>{S(e,t),i(o,[e,t])}))}),Je(a)),R),delRelationshipDefinition:e=>(ye(t,e),L(e),R),getStore:d,getRelationshipIds:u,forEachRelationship:t=>c((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:v,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=f(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=f(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>k(f(e))?[t]:de(I(e,t,!0)),addRelationshipIdsListener:y,addRemoteRowIdListener:(e,t,n)=>r(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),r(n,o,[e,t])),delListener:e=>{var t;return S(...null!=(t=a(e))?t:[]),R},destroy:p,getListenerStats:()=>({})};return ee(R)})),Ze=e=>[e,e],_e=()=>[he(),he()],et=e=>[...e],tt=([e,t])=>e===t,nt=e=>JSON.stringify(e,((e,t)=>x(t,Map)?Y.fromEntries([...t]):t)),lt=JSON.parse,st=(e,t,n)=>k(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),ot=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),rt=()=>{let e,t,n=!1,l=!1,s=0;const r=he(),u=he(),v=he(),I=he(),m=he(),V=he(),E=he(),x=he(),A=he(),F=he(),P=he(),j=he(),N=he(),q=he(),G=ke(),H=he(),U=he(),X=he(),Y=he(),Z=_e(),_=_e(),te=_e(),de=_e(),me=_e(),De=_e(),Je=_e(),Ae=_e(),Oe=_e(),Qe=_e(),ze=_e(),Ne=_e(),Be=_e(),We=_e(),$e=_e(),qe=he(),Ge=_e(),[He,Ke,Ue,Xe]=Pe((()=>Sn)),Ye=e=>{if(!st(e,((e,t)=>Q([i,a],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[a])!=t&&le(e,a),0))},it=(t,n)=>(!e||ie(P,n)||Pt(n))&&st(t,((e,t)=>at(n,t,e)),(()=>Pt(n))),at=(e,t,n,l)=>st(l?n:vt(n,e,t),((l,s)=>M(dt(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Pt(e,t))),dt=(t,n,l,s)=>e?M(ge(ge(P,t),l),(e=>Ve(s)!=e[i]?Pt(t,n,l,s,e[a]):s),(()=>Pt(t,n,l,s))):k(Ve(s))?Pt(t,n,l,s):s,ut=(e,t)=>st(t?e:ht(e),((t,n)=>M(ct(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Qt())),ct=(e,n)=>t?M(ge(N,e),(t=>Ve(n)!=t[i]?Qt(e,n,t[a]):n),(()=>Qt(e,n))):k(Ve(n))?Qt(e,n):n,vt=(e,t,n)=>(M(ge(j,t),(([l,s])=>{ce(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(s,(l=>{ne(e,l)||Pt(t,n,l)}))})),e),ht=e=>(t&&(ce(q,((t,n)=>{ne(e,n)||(e[n]=t)})),ce(G,(t=>{ne(e,t)||Qt(t)}))),e),ft=e=>Ie(P,e,((e,t,n)=>{const l=he(),s=ke();Ie(pe(P,t,he),n,((e,t,n)=>{ye(e,t,n),M(n[a],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),gt=e=>Ie(N,e,((e,t,n)=>{ye(N,t,n),M(n[a],(e=>ye(q,t,e)),(()=>Me(G,t)))}),((e,t)=>{ye(N,t),ye(q,t),ve(G,t)})),Lt=e=>oe(e)?cn():on(e),yt=e=>Ie(X,e,((e,t,n)=>pt(t,n)),((e,t)=>Vt(t))),pt=(e,t)=>Ie(pe(X,e,(()=>(Mt(e,1),ye(H,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>It(e,t,n,l)),((t,n)=>Et(e,t,n))),It=(e,t,n,l,s)=>Ie(pe(t,n,(()=>(Dt(e,n,1),he()))),l,((t,l,s)=>St(e,n,t,l,s)),((l,o)=>xt(e,t,n,l,o,s))),St=(e,t,n,l,s)=>{ie(n,l)||Jt(e,t,l,1);const o=ge(n,l);s!==o&&(At(e,t,l,o,s),ye(n,l,s))},Tt=(e,t,n,l,s)=>M(ge(t,n),(t=>St(e,n,t,l,s)),(()=>It(e,t,n,vt({[l]:s},e,n)))),Rt=e=>oe(e)?fn():rn(e),wt=e=>Ie(Y,e,((e,t,n)=>Ct(t,n)),((e,t)=>kt(t))),Ct=(e,t)=>{ie(Y,e)||Ot(e,1);const n=ge(Y,e);t!==n&&(Ft(e,n,t),ye(Y,e,t))},bt=(e,t)=>{const[n]=ge(H,e),l=n(t);return ie(ge(X,e),l)?bt(e,t):l},mt=e=>{var t;return null!=(t=ge(X,e))?t:pt(e,{})},Vt=e=>pt(e,{}),Et=(e,t,n)=>{const[,l]=ge(H,e);l(n),It(e,t,n,{},!0)},xt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!k(i)&&!o)return St(e,n,l,s,i);const a=t=>{At(e,n,t,ge(l,t)),Jt(e,n,t,-1),ye(l,t)};k(i)?a(s):Le(l,a),ae(l)&&(Dt(e,n,-1),ae(ye(t,n))&&(Mt(e,-1),ye(X,e),ye(H,e),ye(U,e)))},kt=e=>{const t=ge(q,e);if(!k(t))return Ct(e,t);Ft(e,ge(Y,e)),Ot(e,-1),ye(Y,e)},Mt=(e,t)=>ot(r,e,t),Dt=(e,t,n)=>ot(pe(I,e,he),t,n)&&ye(v,e,pe(v,e,(()=>0))+n),Jt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&ot(pe(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),ot(pe(pe(m,e,he),t,he),n,l)},At=(e,t,n,l,s)=>pe(pe(pe(V,e,he),t,he),n,(()=>[l,0]))[1]=s,Ot=(e,t)=>ot(E,e,t),Ft=(e,t,n)=>pe(x,e,(()=>[t,0]))[1]=n,Pt=(e,t,n,l,s)=>(K(pe(pe(pe(A,e,he),t,he),n,(()=>[])),l),s),Qt=(e,t,n)=>(K(pe(F,e,(()=>[])),t),n),jt=(e,t,n)=>M(ge(ge(ge(V,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(tn(e,t,n))])),zt=e=>M(ge(x,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ze(sn(e))])),Nt=e=>ae(A)||ae(ze[e])?0:ce(e?be(A):A,((t,n)=>ce(t,((t,l)=>ce(t,((t,s)=>Ke(ze[e],[n,l,s],t))))))),Bt=e=>ae(F)||ae(Ne[e])?0:ce(e?we(F):F,((t,n)=>Ke(Ne[e],[n],t))),Wt=(e,t,n)=>{if(!ae(t))return Ke(e,n,(()=>Se(t))),1},$t=e=>{const t=ae(Je[e]),n=ae(Oe[e])&&ae(de[e])&&ae(me[e])&&ae(De[e])&&t&&ae(_[e]),l=ae(Qe[e])&&ae(Ae[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[we(r),Ce(u),we(v),Ce(I),be(m),be(V)]:[r,u,v,I,m,V];if(!n){Wt(_[e],s[0]),ce(s[1],((t,n)=>Wt(de[e],t,[n]))),ce(s[2],((t,n)=>{0!=t&&Ke(me[e],[n],Yt(n))}));const n=ke();ce(s[3],((l,s)=>{Wt(De[e],l,[s])&&!t&&(Ke(Je[e],[s,null]),Me(n,s))})),t||ce(s[5],((t,l)=>{if(!ie(n,l)){const n=ke();ce(t,(e=>ce(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ce(n,(t=>Ke(Je[e],[l,t])))}})),ce(s[4],((t,n)=>ce(t,((t,l)=>Wt(Oe[e],t,[n,l])))))}if(!l){let t;ce(s[5],((n,l)=>{let s;ce(n,((n,o)=>{let r;ce(n,(([n,i],a)=>{i!==n&&(Ke(Qe[e],[l,o,a],i,n,jt),t=s=r=1)})),r&&Ke(Ae[e],[l,o],jt)})),s&&Ke(te[e],[l],jt)})),t&&Ke(Z[e],void 0,jt)}}},qt=e=>{const t=ae(We[e]),n=ae($e[e])&&ae(Be[e]);if(!t||!n){const l=e?[we(E),we(x)]:[E,x];if(t||Wt(We[e],l[0]),!n){let t;ce(l[1],(([n,l],s)=>{l!==n&&(Ke($e[e],[s],l,n,zt),t=1)})),t&&Ke(Be[e],void 0,zt)}}},Gt=(e,...t)=>(yn((()=>e(...$(t,b)))),Sn),Ht=()=>[Se(V,((e,t)=>-1===ge(r,t)?null:Se(e,((e,n)=>-1===ge(ge(I,t),n)?null:Se(e,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))),oe)),oe),Se(x,(([,e])=>null!=e?e:null),((e,t)=>tt(t)))],Kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Re(V,et,tt),invalidCells:Re(A),changedValues:Se(x,et,tt),invalidValues:Se(F),changedTableIds:Se(r),changedRowIds:Te(I),changedCellIds:Re(m),changedValueIds:Se(E)}),Ut=()=>Re(X),Xt=()=>fe(X),Yt=e=>re(ge(X,b(e))),Zt=e=>fe(ge(X,b(e))),_t=(e,t,n,l=0,s)=>{return $(O(B((o=ge(X,b(e)),r=(e,n)=>[k(t)?n:ge(e,b(t)),n],$([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,k(s)?s:l+s),(([,e])=>e));var o,r,i},en=(e,t)=>fe(ge(ge(X,b(e)),b(t))),tn=(e,t,n)=>ge(ge(ge(X,b(e)),b(t)),b(n)),nn=()=>Se(Y),ln=()=>fe(Y),sn=e=>ge(Y,b(e)),on=e=>Gt((()=>(e=>st(e,it,Pt))(e)?yt(e):0)),rn=e=>Gt((()=>ut(e)?wt(e):0)),an=e=>{try{Lt(lt(e))}catch(e){}return Sn},dn=t=>Gt((()=>{if((e=st(t,(e=>st(e,Ye))))&&(ft(t),!ae(X))){const e=Ut();cn(),on(e)}})),un=e=>Gt((()=>{if(t=(e=>st(e,Ye))(e)){const n=nn();Ln(),fn(),t=!0,gt(e),rn(n)}})),cn=()=>Gt((()=>yt({}))),vn=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hn=(e,t)=>Gt(((e,t)=>M(ge(X,e),(n=>ie(n,t)?Et(e,n,t):0))),e,t),fn=()=>Gt((()=>wt({}))),gn=()=>Gt((()=>{ft({}),e=!1})),Ln=()=>Gt((()=>{gt({}),t=!1})),yn=(e,t)=>{if(-1!=s){pn();const n=e();return In(t),n}},pn=()=>(-1!=s&&s++,1==s&&Ke(qe,void 0,Ht,Kt),Sn),In=e=>(s>0&&(s--,0==s&&(n=!ae(V),l=!ae(x),s=1,Nt(1),n&&$t(1),Bt(1),l&&qt(1),(null==e?void 0:e(Ht,Kt))&&(ce(V,((e,t)=>ce(e,((e,n)=>ce(e,(([e],l)=>Ee(Sn,t,n,l,e))))))),ce(x,(([e],t)=>xe(Sn,t,e))),n=l=!1),Ke(Ge[0],void 0,Ht,Kt),s=-1,Nt(0),n&&$t(0),Bt(0),l&&qt(0),Ke(Ge[1],void 0,Ht,Kt),s=0,n=l=!1,W([r,u,v,I,m,V,A,E,x,F],ue))),Sn),Sn={getContent:()=>[Ut(),nn()],getTables:Ut,getTableIds:Xt,getTable:e=>Te(ge(X,b(e))),getTableCellIds:e=>fe(ge(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Se(ge(ge(X,b(e)),b(t))),getCellIds:en,getCell:tn,getValues:nn,getValueIds:ln,getValue:sn,hasTables:()=>!ae(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(ge(U,b(e)),b(t)),hasRow:(e,t)=>ie(ge(X,b(e)),b(t)),hasCell:(e,t,n)=>ie(ge(ge(X,b(e)),b(t)),b(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>nt(X),getValuesJson:()=>nt(Y),getJson:()=>nt([X,Y]),getTablesSchemaJson:()=>nt(P),getValuesSchemaJson:()=>nt(N),getSchemaJson:()=>nt([P,N]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?cn:on)(e),(oe(t)?fn:rn)(t)})),setTables:on,setTable:(e,t)=>Gt((e=>it(t,e)?pt(e,t):0),e),setRow:(e,t,n)=>Gt(((e,t)=>at(e,t,n)?It(e,mt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>yn((()=>{let l;return at(e,l,t)&&(e=b(e),It(e,mt(e),l=bt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Gt(((e,t)=>{if(at(e,t,n,1)){const l=mt(e);se(n,((n,s)=>Tt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Gt(((e,t,n)=>M(dt(e,t,n,J(l)?l(tn(e,t,n)):l),(l=>Tt(e,mt(e),t,n,l)))),e,t,n),setValues:rn,setPartialValues:e=>Gt((()=>ut(e,1)?se(e,((e,t)=>Ct(t,e))):0)),setValue:(e,t)=>Gt((e=>M(ct(e,J(t)?t(sn(e)):t),(t=>Ct(e,t)))),e),setTransactionChanges:e=>Gt((()=>{se(e[0],((e,t)=>k(e)?vn(t):se(e,((e,n)=>k(e)?hn(t,n):se(e,((e,l)=>Ee(Sn,t,n,l,e))))))),se(e[1],((e,t)=>xe(Sn,t,e)))})),setTablesJson:an,setValuesJson:e=>{try{Rt(lt(e))}catch(e){}return Sn},setJson:e=>Gt((()=>{try{const[t,n]=lt(e);Lt(t),Rt(n)}catch(t){an(e)}})),setTablesSchema:dn,setValuesSchema:un,setSchema:(e,t)=>Gt((()=>{dn(e),un(t)})),delTables:cn,delTable:vn,delRow:hn,delCell:(e,t,n,l)=>Gt(((e,t,n)=>M(ge(X,e),(s=>M(ge(s,t),(o=>ie(o,n)?xt(e,s,t,o,n,l):0))))),e,t,n),delValues:fn,delValue:e=>Gt((e=>ie(Y,e)?kt(e):0),e),delTablesSchema:gn,delValuesSchema:Ln,delSchema:()=>Gt((()=>{gn(),Ln()})),transaction:yn,startTransaction:pn,finishTransaction:In,forEachTable:e=>ce(X,((t,n)=>e(n,(e=>ce(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,b(e)),t),forEachRow:(e,t)=>ce(ge(X,b(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,b(e)),b(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=_t(e,t,n,l,s);return He((()=>{const r=_t(e,t,n,l,s);z(r,i)||(i=r,o(Sn,e,t,n,l,s,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(Xe(e),Sn),delListener:e=>(Ue(e),Sn),getListenerStats:()=>({}),createStore:rt,addListener:He,callListeners:Ke};return se({[f]:[0,Z],[g]:[0,_],[h]:[1,te,[Xt]],[h+T]:[1,de,[Xt]],[y]:[1,me,[Xt]],[p]:[1,De,[Xt]],[L]:[2,Ae,[Xt,Zt]],[T]:[2,Oe,[Xt,Zt]],[S]:[3,Qe,[Xt,Zt,en],e=>Ze(tn(...e))],InvalidCell:[3,ze],[w]:[0,Be],[C]:[0,We],[R]:[1,$e,[ln],e=>Ze(sn(e[0]))],InvalidValue:[1,Ne]},(([e,t,n,l],s)=>{Sn[c+s+d]=(...s)=>He(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(Sn)};e.createCheckpoints=Qe,e.createCustomPersister=(e,t,n,l,s,o,[r,i]=[],a=[])=>{let d,u,c,v=0,h=0;pe(qe,a,(()=>0)),pe(Ge,a,(()=>[]));const f=e=>$e(void 0,null,(function*(){return 2!=v&&(v=1,yield g.schedule((()=>$e(void 0,null,(function*(){yield e(),v=0}))))),g})),g={load:(n,l)=>$e(void 0,null,(function*(){return yield f((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return g.stopAutoLoad(),yield g.load(n,s),h=1,c=l(((n,l)=>$e(void 0,null,(function*(){if(l){const t=l();yield f((()=>$e(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield f((()=>$e(void 0,null,(function*(){var l;try{e.setContent(null!=(l=null==n?void 0:n())?l:yield t())}catch(e){null==o||o(e)}}))))})))),g})),stopAutoLoad:()=>(h&&(s(c),c=void 0,h=0),g),save:t=>$e(void 0,null,(function*(){return 1!=v&&(v=2,yield g.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){null==o||o(e)}v=0}))))),g})),startAutoSave:()=>$e(void 0,null,(function*(){return yield g.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();oe(n)&&oe(l)||g.save((()=>[n,l]))})),g})),stopAutoSave:()=>(M(d,e.delListener),g),schedule:(...e)=>$e(void 0,null,(function*(){return K(ge(Ge,a),...e),yield $e(void 0,null,(function*(){if(!ge(qe,a)){for(ye(qe,a,1);!k(u=X(ge(Ge,a)));)try{yield u()}catch(e){null==o||o(e)}ye(qe,a,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(g[r]=()=>i),ee(g)},e.createIndexes=ze,e.createMetrics=We,e.createQueries=Xe,e.createRelationships=Ye,e.createStore=rt,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
@@ -1 +1 @@
1
- var e,l;e=this,l=function(e,l,t){"use strict";const n=e=>typeof e,s="",r=n(s),o=n(!0),a=n(0),i=n(n),u="type",d="default",c="Ids",h="Table",m=h+"s",b=h+c,p="Row",g=p+"Count",v=p+c,f="Cell",I=f+c,y="Value",w=y+"s",C=y+c,k="currentTarget",T="value",x=e=>s+e,S=Math.floor,V=isFinite,R=(e,l)=>e instanceof l,O=e=>null==e,q=(e,l,t)=>O(e)?null==t?void 0:t():l(e),P=e=>e==r||e==o,N=e=>n(e)==i,E=e=>Array.isArray(e),L=(e,l,t)=>e.slice(l,t),M=e=>e.length,{PureComponent:j,Fragment:z,createElement:$,useCallback:A,useLayoutEffect:F,useRef:J,useState:D}=l,B=(e,...l)=>O(e)?{}:e(...l),H=(e,l)=>e.forEach(l),Q=(e,l)=>e.map(l),W=e=>0==M(e),U=(e,...l)=>e.push(...l),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),le=(e,l)=>!O(((e,l)=>q(e,(e=>e[l])))(e,l)),te=(e,l)=>(delete e[l],e),ne=(e,l)=>Q(K.entries(e),(([e,t])=>l(t,e))),se=e=>_(e)&&0==(e=>M(X(e)))(e),re=e=>JSON.stringify(e,((e,l)=>R(l,Map)?K.fromEntries([...l]):l)),oe=JSON.parse,ae="tinybaseStoreInspector",ie="TinyBase Store Inspector",ue=["left","top","bottom","right","full"],de="state",ce="sort",he="open",me="position",be=he,pe="editable",ge=(...e)=>re(e),ve=(e,l)=>Q(e.sort(),l),fe=(e,l)=>[!!t.useCell(de,e,pe,l),A((t=>{l.setCell(de,e,pe,(e=>!e)),t.preventDefault()}),[l,e])],Ie="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',we=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Ce='</svg>")',ke=ye+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Te=Q([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>we+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+Ce)),xe=we+"<path d='M20 20l60 60M20 80l60-60' />"+Ce,Se=we+`<path d='${Ie}' />`+Ce,Ve=we+`<path d='${Ie}M20 20l60 60' />`+Ce;var Re=Object.defineProperty,Oe=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,Le=(e,l,t)=>l in e?Re(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Me=(e,l)=>{for(var t in l||(l={}))Ne.call(l,t)&&Le(e,t,l[t]);if(Pe)for(var t of Pe(l))Ee.call(l,t)&&Le(e,t,l[t]);return e},je=(e,l)=>Oe(e,qe(l));const ze="*::-webkit-scrollbar",$e=`#${ae}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,l="")=>e.join(l))(ne(je(Me(je(Me(je(Me({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ze]:"width:0.5rem;height:0.5rem;",[ze+"-track"]:"background:#111",[ze+"-thumb"]:"background:#999;border:1px solid #111",[ze+"-thumb:hover"]:"background:#fff",[ze+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke},ee(Q(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ee(Q(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,l)=>[`main[data-position='${l}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ke,"header>img:nth-of-type(6)":xe}),ee(Q(Te,((e,l)=>[`header>img[data-id='${l}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Se,"details[open]>summary img.done":Ve,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,l)=>e?`& ${l}{${e}}`:"")))}`,Ae=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1,s=t.useSetValueCallback(be,(()=>!0),[],e);return t.useValue(be,e)?null:$("img",{onClick:s,title:ie,"data-position":n})},Fe=({uniqueId:e,summary:l,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!t.useCell(de,e,he,o),i=t.useSetCellCallback(de,e,he,(e=>e[k].open),[],o);return $("details",{open:a,onToggle:i},$("summary",null,l,s?$("img",{onClick:s,className:n?"done":"edit"}):null),r)},Je=e=>{const l=n(e);return P(l)||l==a&&V(e)?l:void 0},De=(e,l,t,n,s)=>O(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Be=(e,l,t)=>O(t)?e.delValue(l):e.setValue(l,t),He=(e,l,t,n)=>e==r?l:e==a?t:n;var Qe=Object.defineProperty,We=Object.defineProperties,Ue=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,Ye=(e,l,t)=>l in e?Qe(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Ze=(e,l)=>{for(var t in l||(l={}))Ke.call(l,t)&&Ye(e,t,l[t]);if(Ge)for(var t of Ge(l))Xe.call(l,t)&&Ye(e,t,l[t]);return e},_e=(e,l)=>We(e,Ue(l)),el=(e,l)=>{var t={};for(var n in e)Ke.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ge)for(var n of Ge(e))l.indexOf(n)<0&&Xe.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:ll,useMemo:tl,useState:nl}=l,sl="editable",rl=(e,l)=>Q(t.useTableCellIds(e,l),(l=>e+"."+l)),ol=(e,l,t)=>{const n=ll(e,l);return t?n:void 0},al=(...e)=>tl((()=>e),e),il=(e,l)=>tl((()=>({store:e,tableId:l})),[e,l]),ul=(e,l)=>tl((()=>({queries:e,queryId:l})),[e,l]),dl=(e,l=!1,t,n=0,s,r,o,a)=>{const[[i,u,d],c]=nl([e,l,n]),h=ll((e=>{c(e),null==a||a(e)}),[a]),m=ol((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=ll((e=>h([i,u,e])),[h,i,u]),p=!0===o?kl:o;return[[i,u,d],m,tl((()=>!1===o?null:$(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},cl=(e,l,t)=>tl((()=>{const s=null!=l?l:e;return ee(ne(E(s)?ee(Q(s,(e=>[e,e]))):s,((e,l)=>{return[l,Ze(Ze({},{label:l,component:t}),(s=e,n(s)==r?{label:e}:e))];var s})))}),[l,t,e]),hl=({className:e,headerRow:l,idColumn:t,params:[n,s,r,o,a,i]})=>$("table",{className:e},i?$("caption",null,i):null,!1===l?null:$("thead",null,$("tr",null,!1===t?null:$(ml,{sort:null!=o?o:[],label:"Id",onClick:a}),ne(n,(({label:e},l)=>$(ml,{key:l,cellId:l,label:e,sort:null!=o?o:[],onClick:a}))))),$("tbody",null,Q(r,(e=>$("tr",{key:e},!1===t?null:$("th",null,e),ne(n,(({component:l,getComponentProps:t},n)=>$("td",{key:n},$(l,_e(Ze(Ze({},B(t,e,n)),s),{rowId:e,cellId:n})))))))))),ml=({cellId:e,sort:[l,t],label:n=(null!=e?e:s),onClick:r})=>$("th",{onClick:ol((()=>null==r?void 0:r(e)),[r,e],r),className:O(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},O(t)||l!=e?null:(t?"↓":"↑")+" ",n),bl=({localRowId:e,params:[n,s,r,o,a,i,u]})=>{const d=t.useRemoteRowId(a,e,i);return $("tr",null,!1===n?null:$(l.Fragment,null,$("th",null,e),$("th",null,d)),ne(s,(({component:l,getComponentProps:t},n)=>{const[s,a]=n.split(".",2),i=s===r?e:s===o?d:null;return O(i)?null:$("td",{key:n},$(l,_e(Ze({},B(t,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},pl=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:s=!0})=>{const[i,u]=nl(),[d,c]=nl(),[h,m]=nl(),[b,p]=nl(),[g,v]=nl();d!==e&&(u(Je(e)),c(e),m(e+""),p(Number(e)||0),v(!!e));const f=ll(((e,t)=>{t(e),c(e),l(e)}),[l]),I=ll((()=>{if(!(null==n?void 0:n())){const e=He(i,a,o,r),t=He(e,h,b,g);u(e),c(t),l(t)}}),[n,l,h,b,g,i]);return $("div",{className:t},s?$("button",{className:i,onClick:I},i):null,He(i,$("input",{key:i,value:h,onChange:ll((e=>f(e[k][T]+"",m)),[f])}),$("input",{key:i,type:"number",value:b,onChange:ll((e=>f(Number(e[k][T]||0),p)),[f])}),$("input",{key:i,type:"checkbox",checked:g,onChange:ll((e=>f(!!e[k].checked,v)),[f])})))},gl=e=>{var l=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=l,b=el(l,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,g,v]=dl(s,r,d,o,a,t.useRowCount(n,i),c,h);return $(hl,_e(Ze({},b),{params:al(cl(t.useTableCellIds(n,i),m,u?wl:t.CellView),il(i,n),t.useSortedRowIds(n,...p,a,i),p,g,v)}))},vl=({store:e,editable:l=!1,valueComponent:n=(l?Cl:t.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>$("table",{className:r},!1===o?null:$("thead",null,$("tr",null,!1===a?null:$("th",null,"Id"),$("th",null,y))),$("tbody",null,Q(t.useValueIds(e),(l=>$("tr",{key:l},!1===a?null:$("th",null,l),$("td",null,$(n,_e(Ze({},B(s,l)),{valueId:l,store:e})))))))),fl=e=>{var l=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=l,i=el(l,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(t.useIndexesOrIndexesById(r),n);return $(hl,_e(Ze({},i),{params:al(cl(t.useTableCellIds(c,d),a,o?wl:t.CellView),il(d,c),t.useSliceRowIds(n,s,u))}))},Il=({relationshipId:e,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(t.useRelationshipsOrRelationshipsById(n),e),m=cl([...rl(c,d),...rl(h,d)],r,s?wl:t.CellView),b=al(i,m,c,h,e,u,d);return $("table",{className:o},!1===a?null:$("thead",null,$("tr",null,!1===i?null:$(l.Fragment,null,$("th",null,c,".Id"),$("th",null,h,".Id")),ne(m,(({label:e},l)=>$("th",{key:l},e))))),$("tbody",null,Q(t.useRowIds(c,d),(e=>$(bl,{key:e,localRowId:e,params:b})))))},yl=e=>{var l=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=l,m=el(l,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,g]=dl(s,r,u,o,a,t.useResultRowCount(n,i),d,h);return $(hl,_e(Ze({},m),{params:al(cl(t.useResultTableCellIds(n,i),c,t.ResultCellView),ul(i,n),t.useResultSortedRowIds(n,...b,a,i),b,p,g)}))},wl=({tableId:e,rowId:l,cellId:n,store:s,className:r,showType:o})=>{var a;return $(pl,{thing:t.useCell(e,l,n,s),onThingChange:t.useSetCellCallback(e,l,n,(e=>e),[],s),className:null!=r?r:sl+f,showType:o,hasSchema:null==(a=t.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},Cl=({valueId:e,store:l,className:n,showType:s})=>{var r;return $(pl,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:null!=n?n:sl+y,showType:s,hasSchema:null==(r=t.useStoreOrStoreById(l))?void 0:r.hasValuesSchema})},kl=({onChange:e,total:t,offset:n=0,limit:s=t,singular:r="row",plural:o=r+"s"})=>{(n>t||n<0)&&(n=0,e(0));const a=ol((()=>e(n-s)),[e,n,s],n>0),i=ol((()=>e(n+s)),[e,n,s],n+s<t);return $(l.Fragment,null,t>s&&$(l.Fragment,null,$("button",{className:"previous",disabled:0==n,onClick:a},"←"),$("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?o:r)},Tl=({indexes:e,indexesId:l,indexId:n,s:s})=>$(Fe,{uniqueId:ge("i",l,n),summary:"Index: "+n,s:s},Q(t.useSliceIds(n,e),(t=>$(xl,{indexes:e,indexesId:l,indexId:n,sliceId:t,s:s,key:t})))),xl=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ge("i",l,t,n),[o,a]=fe(r,s);return $(Fe,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},$(fl,{sliceId:n,indexId:t,indexes:e,editable:o}))},Sl=({indexesId:e,s:l})=>{const n=t.useIndexes(e),s=t.useIndexIds(n);return O(n)?null:$(Fe,{uniqueId:ge("i",e),summary:"Indexes: "+(null!=e?e:d),s:l},W(s)?"No indexes defined":ve(s,(t=>$(Tl,{indexes:n,indexesId:e,indexId:t,s:l,key:t}))))},Vl=({metrics:e,metricId:l})=>$("tr",null,$("th",null,l),$("td",null,null==e?void 0:e.getTableId(l)),$("td",null,t.useMetric(l,e))),Rl=({metricsId:e,s:l})=>{const n=t.useMetrics(e),s=t.useMetricIds(n);return O(n)?null:$(Fe,{uniqueId:ge("m",e),summary:"Metrics: "+(null!=e?e:d),s:l},W(s)?"No metrics defined":$("table",null,$("thead",null,$("th",null,"Metric Id"),$("th",null,"Table Id"),$("th",null,"Metric")),$("tbody",null,Q(s,(e=>$(Vl,{metrics:n,metricId:e,key:e}))))))},Ol=({queries:e,queriesId:l,queryId:n,s:s})=>{var r;const o=ge("q",l,n),[a,i,u]=oe(null!=(r=t.useCell(de,o,ce,s))?r:"[]"),d=t.useSetCellCallback(de,o,ce,re,[],s);return $(Fe,{uniqueId:o,summary:"Query: "+n,s:s},$(yl,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ql=({queriesId:e,s:l})=>{const n=t.useQueries(e),s=t.useQueryIds(n);return O(n)?null:$(Fe,{uniqueId:ge("q",e),summary:"Queries: "+(null!=e?e:d),s:l},W(s)?"No queries defined":ve(s,(t=>$(Ol,{queries:n,queriesId:e,queryId:t,s:l,key:t}))))},Pl=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ge("r",l,t),[r,o]=fe(s,n);return $(Fe,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:o,s:n},$(Il,{relationshipId:t,relationships:e,editable:r}))},Nl=({relationshipsId:e,s:l})=>{const n=t.useRelationships(e),s=t.useRelationshipIds(n);return O(n)?null:$(Fe,{uniqueId:ge("r",e),summary:"Relationships: "+(null!=e?e:d),s:l},W(s)?"No relationships defined":ve(s,(t=>$(Pl,{relationships:n,relationshipsId:e,relationshipId:t,s:l,key:t}))))},El=({tableId:e,store:l,storeId:n,s:s})=>{var r;const o=ge("t",n,e),[a,i,u]=oe(null!=(r=t.useCell(de,o,ce,s))?r:"[]"),d=t.useSetCellCallback(de,o,ce,re,[],s),[c,m]=fe(o,s);return $(Fe,{uniqueId:o,summary:h+": "+e,editable:c,handleEditable:m,s:s},$(gl,{tableId:e,store:l,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},Ll=({store:e,storeId:l,s:n})=>{const s=ge("v",l),[r,o]=fe(s,n);return W(t.useValueIds(e))?null:$(Fe,{uniqueId:s,summary:w,editable:r,handleEditable:o,s:n},$(vl,{store:e,editable:r}))},Ml=({storeId:e,s:l})=>{const n=t.useStore(e),s=t.useTableIds(n);return O(n)?null:$(Fe,{uniqueId:ge("s",e),summary:"Store: "+(null!=e?e:d),s:l},$(Ll,{storeId:e,store:n,s:l}),ve(s,(t=>$(El,{store:n,storeId:e,tableId:t,s:l,key:t}))))},jl=({s:e})=>{const l=J(null),n=J(0),[s,r]=D(!1),{scrollLeft:o,scrollTop:a}=t.useValues(e);F((()=>{const e=l.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(a)+e.clientHeight&&e.scrollTo(o,a)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,o,a]);const i=A((l=>{const{scrollLeft:t,scrollTop:s}=l[k];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=t.useStore(),d=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),p=t.useRelationships(),g=t.useRelationshipsIds(),v=t.useQueries(),f=t.useQueriesIds();return O(u)&&W(d)&&O(c)&&W(h)&&O(m)&&W(b)&&O(p)&&W(g)&&O(v)&&W(f)?$("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):$("article",{ref:l,onScroll:i},$(Ml,{s:e}),Q(d,(l=>$(Ml,{storeId:l,s:e,key:l}))),$(Rl,{s:e}),Q(h,(l=>$(Rl,{metricsId:l,s:e,key:l}))),$(Sl,{s:e}),Q(b,(l=>$(Sl,{indexesId:l,s:e,key:l}))),$(Nl,{s:e}),Q(g,(l=>$(Nl,{relationshipsId:l,s:e,key:l}))),$(ql,{s:e}),Q(f,(l=>$(ql,{queriesId:l,s:e,key:l}))))};class zl extends j{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}render(){return this.state.e?$("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}zl.getDerivedStateFromError=()=>({e:1});const $l=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1,s=t.useSetValueCallback(be,(()=>!1),[],e),r=t.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return $("header",null,$("img",{title:ie}),$("span",null,ie),Q(ue,((e,l)=>l==n?null:$("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),$("img",{onClick:s,title:"Close"}))},Al=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1;return t.useValue(be,e)?$("main",{"data-position":n},$($l,{s:e}),$(zl,null,$(jl,{s:e}))):null},Fl=e=>l=>{return t=(l,t)=>l+e(t),Ul(l).reduce(t,0);var t},Jl=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Dl=Fl(Jl),Bl=Fl(Dl),Hl=Fl(Bl),Ql=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Wl=e=>O(e)||0==Jl(e),Ul=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Gl=e=>e.clear(),Kl=(e,l)=>null==e?void 0:e.forEach(l),Xl=(e,l)=>null==e?void 0:e.delete(l),Yl=e=>new Map(e),Zl=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},_l=(e,l)=>null==e?void 0:e.get(l),et=(e,l)=>Kl(e,((e,t)=>l(t,e))),lt=(e,l,t)=>O(t)?(Xl(e,l),e):null==e?void 0:e.set(l,t),tt=(e,l,t)=>(Ql(e,l)||lt(e,l,t()),_l(e,l)),nt=(e,l,t,n=lt)=>(ne(l,((l,n)=>t(e,n,l))),et(e,(t=>le(l,t)?0:n(e,t))),e),st=(e,l,t)=>{const n={};return Kl(e,((e,s)=>{const r=l?l(e,s):e;!(null==t?void 0:t(r,e))&&(n[s]=r)})),n},rt=(e,l,t)=>st(e,(e=>st(e,l,t)),se),ot=(e,l,t)=>st(e,(e=>rt(e,l,t)),se),at=(e,l)=>{const t=Yl();return Kl(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},it=e=>at(e,at),ut=e=>at(e,it),dt=(e,l,t,n,s=0)=>q((t?tt:_l)(e,l[s],s>M(l)-2?t:Yl),(r=>{if(s>M(l)-2)return(null==n?void 0:n(r))&&lt(e,l[s]),r;const o=dt(r,l,t,n,s+1);return Wl(r)&&lt(e,l[s]),o}));var ct=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const ht=Yl(),mt=Yl();var bt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const pt="storage",gt=globalThis.window,vt=e=>new Set(E(e)||O(e)?e:[e]),ft=(e,l)=>null==e?void 0:e.add(l),It=/^\d+$/,yt=()=>{const e=[];let l=0;return[t=>{var n;return null!=(n=t?G(e):null)?n:s+l++},l=>{It.test(l)&&M(e)<1e3&&U(e,l)}]},wt=e=>[e,e],Ct=(e,l=Dl)=>l(e[0])+l(e[1]),kt=()=>[Yl(),Yl()],Tt=e=>[...e],xt=([e,l])=>e===l,St=(e,l,t)=>O(e)||!_(e)||se(e)||Y(e)?(null==t||t(),!1):(ne(e,((t,n)=>{l(t,n)||te(e,n)})),!se(e)),Vt=(e,l,t)=>lt(e,l,_l(e,l)==-t?void 0:t),Rt=()=>{let e,l,t=!1,n=!1,r=0;const o=Yl(),i=Yl(),c=Yl(),k=Yl(),T=Yl(),S=Yl(),V=Yl(),R=Yl(),E=Yl(),j=Yl(),z=Yl(),$=Yl(),A=Yl(),F=Yl(),J=vt(),D=Yl(),B=Yl(),W=Yl(),G=Yl(),K=kt(),X=kt(),Y=kt(),_=kt(),ee=kt(),ae=kt(),ie=kt(),ue=kt(),de=kt(),ce=kt(),he=kt(),me=kt(),be=kt(),pe=kt(),ge=kt(),ve=Yl(),fe=kt(),[Ie,ye,we,Ce]=(e=>{let l;const[t,n]=yt(),r=Yl();return[(e,n,o,a=[],i=(()=>[]))=>{null!=l||(l=Al);const u=t(1);return lt(r,u,[e,n,o,a,i]),ft(dt(n,null!=o?o:[s],vt),u),u},(e,t,...n)=>H(((e,l=[s])=>{const t=[],n=(e,s)=>s==M(l)?U(t,e):null===l[s]?Kl(e,(e=>n(e,s+1))):H([l[s],null],(l=>n(_l(e,l),s+1)));return n(e,0),t})(e,t),(e=>Kl(e,(e=>_l(r,e)[0](l,...null!=t?t:[],...n))))),e=>q(_l(r,e),(([,l,t])=>(dt(l,null!=t?t:[s],void 0,(l=>(Xl(l,e),Wl(l)?1:0))),lt(r,e),n(e),t))),e=>q(_l(r,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var a,i;const u=M(o);u==M(t)?e(l,...o,...s(o)):O(t[u])?H(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,t[u])};r()}))]})(),ke=e=>{if(!St(e,((e,l)=>[u,d].includes(l))))return!1;const l=e[u];return!(!P(l)&&l!=a||(Je(e[d])!=l&&te(e,d),0))},Te=(l,t)=>(!e||Ql(z,t)||nl(t))&&St(l,((e,l)=>xe(t,l,e)),(()=>nl(t))),xe=(e,l,t,n)=>St(n?t:Oe(t,e,l),((n,s)=>q(Se(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>nl(e,l))),Se=(l,t,n,s)=>e?q(_l(_l(z,l),n),(e=>Je(s)!=e[u]?nl(l,t,n,s,e[d]):s),(()=>nl(l,t,n,s))):O(Je(s))?nl(l,t,n,s):s,Ve=(e,l)=>St(l?e:qe(e),((l,t)=>q(Re(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>sl())),Re=(e,t)=>l?q(_l(A,e),(l=>Je(t)!=l[u]?sl(e,t,l[d]):t),(()=>sl(e,t))):O(Je(t))?sl(e,t):t,Oe=(e,l,t)=>(q(_l($,l),(([n,s])=>{Kl(n,((l,t)=>{le(e,t)||(e[t]=l)})),Kl(s,(n=>{le(e,n)||nl(l,t,n)}))})),e),qe=e=>(l&&(Kl(F,((l,t)=>{le(e,t)||(e[t]=l)})),Kl(J,(l=>{le(e,l)||sl(l)}))),e),Pe=e=>nt(z,e,((e,l,t)=>{const n=Yl(),s=vt();nt(tt(z,l,Yl),t,((e,l,t)=>{lt(e,l,t),q(t[d],(e=>lt(n,l,e)),(()=>ft(s,l)))})),lt($,l,[n,s])}),((e,l)=>{lt(z,l),lt($,l)})),Ne=e=>nt(A,e,((e,l,t)=>{lt(A,l,t),q(t[d],(e=>lt(F,l,e)),(()=>ft(J,l)))}),((e,l)=>{lt(A,l),lt(F,l),Xl(J,l)})),Ee=e=>se(e)?ql():xl(e),Le=e=>nt(W,e,((e,l,t)=>Me(l,t)),((e,l)=>Ue(l))),Me=(e,l)=>nt(tt(W,e,(()=>(Ye(e,1),lt(D,e,yt()),lt(B,e,Yl()),Yl()))),l,((l,t,n)=>je(e,l,t,n)),((l,t)=>Ge(e,l,t))),je=(e,l,t,n,s)=>nt(tt(l,t,(()=>(Ze(e,t,1),Yl()))),n,((l,n,s)=>ze(e,t,l,n,s)),((n,r)=>Ke(e,l,t,n,r,s))),ze=(e,l,t,n,s)=>{Ql(t,n)||_e(e,l,n,1);const r=_l(t,n);s!==r&&(el(e,l,n,r,s),lt(t,n,s))},$e=(e,l,t,n,s)=>q(_l(l,t),(l=>ze(e,t,l,n,s)),(()=>je(e,l,t,Oe({[n]:s},e,t)))),Ae=e=>se(e)?El():Sl(e),Fe=e=>nt(G,e,((e,l,t)=>He(l,t)),((e,l)=>Xe(l))),He=(e,l)=>{Ql(G,e)||ll(e,1);const t=_l(G,e);l!==t&&(tl(e,t,l),lt(G,e,l))},Qe=(e,l)=>{const[t]=_l(D,e),n=t(l);return Ql(_l(W,e),n)?Qe(e,l):n},We=e=>{var l;return null!=(l=_l(W,e))?l:Me(e,{})},Ue=e=>Me(e,{}),Ge=(e,l,t)=>{const[,n]=_l(D,e);n(t),je(e,l,t,{},!0)},Ke=(e,l,t,n,s,r)=>{var o;const a=_l(null==(o=_l($,e))?void 0:o[0],s);if(!O(a)&&!r)return ze(e,t,n,s,a);const i=l=>{el(e,t,l,_l(n,l)),_e(e,t,l,-1),lt(n,l)};O(a)?i(s):et(n,i),Wl(n)&&(Ze(e,t,-1),Wl(lt(l,t))&&(Ye(e,-1),lt(W,e),lt(D,e),lt(B,e)))},Xe=e=>{const l=_l(F,e);if(!O(l))return He(e,l);tl(e,_l(G,e)),ll(e,-1),lt(G,e)},Ye=(e,l)=>Vt(o,e,l),Ze=(e,l,t)=>Vt(tt(k,e,Yl),l,t)&&lt(c,e,tt(c,e,(()=>0))+t),_e=(e,l,t,n)=>{var s;const r=_l(B,e),o=null!=(s=_l(r,t))?s:0;(0==o&&1==n||1==o&&-1==n)&&Vt(tt(i,e,Yl),t,n),lt(r,t,o!=-n?o+n:null),Vt(tt(tt(T,e,Yl),l,Yl),t,n)},el=(e,l,t,n,s)=>tt(tt(tt(S,e,Yl),l,Yl),t,(()=>[n,0]))[1]=s,ll=(e,l)=>Vt(V,e,l),tl=(e,l,t)=>tt(R,e,(()=>[l,0]))[1]=t,nl=(e,l,t,n,s)=>(U(tt(tt(tt(E,e,Yl),l,Yl),t,(()=>[])),n),s),sl=(e,l,t)=>(U(tt(j,e,(()=>[])),l),t),rl=(e,l,t)=>q(_l(_l(_l(S,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(wl(e,l,t))])),ol=e=>q(_l(R,e),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Tl(e))])),al=e=>Wl(E)||Wl(he[e])?0:Kl(e?ut(E):E,((l,t)=>Kl(l,((l,n)=>Kl(l,((l,s)=>ye(he[e],[t,n,s],l))))))),il=e=>Wl(j)||Wl(me[e])?0:Kl(e?at(j):j,((l,t)=>ye(me[e],[t],l))),ul=(e,l,t)=>{if(!Wl(l))return ye(e,t,(()=>st(l))),1},dl=e=>{const l=Wl(ie[e]),t=Wl(de[e])&&Wl(_[e])&&Wl(ee[e])&&Wl(ae[e])&&l&&Wl(X[e]),n=Wl(ce[e])&&Wl(ue[e])&&Wl(Y[e])&&Wl(K[e]);if(!t||!n){const s=e?[at(o),it(i),at(c),it(k),ut(T),ut(S)]:[o,i,c,k,T,S];if(!t){ul(X[e],s[0]),Kl(s[1],((l,t)=>ul(_[e],l,[t]))),Kl(s[2],((l,t)=>{0!=l&&ye(ee[e],[t],vl(t))}));const t=vt();Kl(s[3],((n,s)=>{ul(ae[e],n,[s])&&!l&&(ye(ie[e],[s,null]),ft(t,s))})),l||Kl(s[5],((l,n)=>{if(!Ql(t,n)){const t=vt();Kl(l,(e=>Kl(e,(([l,n],s)=>n!==l?ft(t,s):Xl(e,s))))),Kl(t,(l=>ye(ie[e],[n,l])))}})),Kl(s[4],((l,t)=>Kl(l,((l,n)=>ul(de[e],l,[t,n])))))}if(!n){let l;Kl(s[5],((t,n)=>{let s;Kl(t,((t,r)=>{let o;Kl(t,(([t,a],i)=>{a!==t&&(ye(ce[e],[n,r,i],a,t,rl),l=s=o=1)})),o&&ye(ue[e],[n,r],rl)})),s&&ye(Y[e],[n],rl)})),l&&ye(K[e],void 0,rl)}}},cl=e=>{const l=Wl(pe[e]),t=Wl(ge[e])&&Wl(be[e]);if(!l||!t){const n=e?[at(V),at(R)]:[V,R];if(l||ul(pe[e],n[0]),!t){let l;Kl(n[1],(([t,n],s)=>{n!==t&&(ye(ge[e],[s],n,t,ol),l=1)})),l&&ye(be[e],void 0,ol)}}},hl=(e,...l)=>(jl((()=>e(...Q(l,x)))),Al),ml=()=>[st(S,((e,l)=>-1===_l(o,l)?null:st(e,((e,t)=>-1===_l(_l(k,l),t)?null:st(e,(([,e])=>null!=e?e:null),((e,l)=>xt(l)))),se)),se),st(R,(([,e])=>null!=e?e:null),((e,l)=>xt(l)))],bl=()=>({cellsTouched:t,valuesTouched:n,changedCells:ot(S,Tt,xt),invalidCells:ot(E),changedValues:st(R,Tt,xt),invalidValues:st(j),changedTableIds:st(o),changedRowIds:rt(k),changedCellIds:ot(T),changedValueIds:st(V)}),pl=()=>ot(W),gl=()=>Zl(W),vl=e=>Jl(_l(W,x(e))),fl=e=>Zl(_l(W,x(e))),Il=(e,l,t,n=0,s)=>{return Q(L((o=_l(W,x(e)),a=(e,t)=>[O(l)?t:_l(e,x(l)),t],r=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},Q([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,l])=>a(l,e))).sort(r)),n,O(s)?s:n+s),(([,e])=>e));var r,o,a,i},yl=(e,l)=>Zl(_l(_l(W,x(e)),x(l))),wl=(e,l,t)=>_l(_l(_l(W,x(e)),x(l)),x(t)),Cl=()=>st(G),kl=()=>Zl(G),Tl=e=>_l(G,x(e)),xl=e=>hl((()=>(e=>St(e,Te,nl))(e)?Le(e):0)),Sl=e=>hl((()=>Ve(e)?Fe(e):0)),Vl=e=>{try{Ee(oe(e))}catch(e){}return Al},Rl=l=>hl((()=>{if((e=St(l,(e=>St(e,ke))))&&(Pe(l),!Wl(W))){const e=pl();ql(),xl(e)}})),Ol=e=>hl((()=>{if(l=(e=>St(e,ke))(e)){const t=Cl();Ml(),El(),l=!0,Ne(e),Sl(t)}})),ql=()=>hl((()=>Le({}))),Pl=e=>hl((e=>Ql(W,e)?Ue(e):0),e),Nl=(e,l)=>hl(((e,l)=>q(_l(W,e),(t=>Ql(t,l)?Ge(e,t,l):0))),e,l),El=()=>hl((()=>Fe({}))),Ll=()=>hl((()=>{Pe({}),e=!1})),Ml=()=>hl((()=>{Ne({}),l=!1})),jl=(e,l)=>{if(-1!=r){zl();const t=e();return $l(l),t}},zl=()=>(-1!=r&&r++,1==r&&ye(ve,void 0,ml,bl),Al),$l=e=>(r>0&&(r--,0==r&&(t=!Wl(S),n=!Wl(R),r=1,al(1),t&&dl(1),il(1),n&&cl(1),(null==e?void 0:e(ml,bl))&&(Kl(S,((e,l)=>Kl(e,((e,t)=>Kl(e,(([e],n)=>De(Al,l,t,n,e))))))),Kl(R,(([e],l)=>Be(Al,l,e))),t=n=!1),ye(fe[0],void 0,ml,bl),r=-1,al(0),t&&dl(0),il(0),n&&cl(0),ye(fe[1],void 0,ml,bl),r=0,t=n=!1,H([o,i,c,k,T,S,E,V,R,j],Gl))),Al),Al={getContent:()=>[pl(),Cl()],getTables:pl,getTableIds:gl,getTable:e=>rt(_l(W,x(e))),getTableCellIds:e=>Zl(_l(B,x(e))),getRowCount:vl,getRowIds:fl,getSortedRowIds:Il,getRow:(e,l)=>st(_l(_l(W,x(e)),x(l))),getCellIds:yl,getCell:wl,getValues:Cl,getValueIds:kl,getValue:Tl,hasTables:()=>!Wl(W),hasTable:e=>Ql(W,x(e)),hasTableCell:(e,l)=>Ql(_l(B,x(e)),x(l)),hasRow:(e,l)=>Ql(_l(W,x(e)),x(l)),hasCell:(e,l,t)=>Ql(_l(_l(W,x(e)),x(l)),x(t)),hasValues:()=>!Wl(G),hasValue:e=>Ql(G,x(e)),getTablesJson:()=>re(W),getValuesJson:()=>re(G),getJson:()=>re([W,G]),getTablesSchemaJson:()=>re(z),getValuesSchemaJson:()=>re(A),getSchemaJson:()=>re([z,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>hl((()=>{(se(e)?ql:xl)(e),(se(l)?El:Sl)(l)})),setTables:xl,setTable:(e,l)=>hl((e=>Te(l,e)?Me(e,l):0),e),setRow:(e,l,t)=>hl(((e,l)=>xe(e,l,t)?je(e,We(e),l,t):0),e,l),addRow:(e,l,t=!0)=>jl((()=>{let n;return xe(e,n,l)&&(e=x(e),je(e,We(e),n=Qe(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>hl(((e,l)=>{if(xe(e,l,t,1)){const n=We(e);ne(t,((t,s)=>$e(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>hl(((e,l,t)=>q(Se(e,l,t,N(n)?n(wl(e,l,t)):n),(n=>$e(e,We(e),l,t,n)))),e,l,t),setValues:Sl,setPartialValues:e=>hl((()=>Ve(e,1)?ne(e,((e,l)=>He(l,e))):0)),setValue:(e,l)=>hl((e=>q(Re(e,N(l)?l(Tl(e)):l),(l=>He(e,l)))),e),setTransactionChanges:e=>hl((()=>{ne(e[0],((e,l)=>O(e)?Pl(l):ne(e,((e,t)=>O(e)?Nl(l,t):ne(e,((e,n)=>De(Al,l,t,n,e))))))),ne(e[1],((e,l)=>Be(Al,l,e)))})),setTablesJson:Vl,setValuesJson:e=>{try{Ae(oe(e))}catch(e){}return Al},setJson:e=>hl((()=>{try{const[l,t]=oe(e);Ee(l),Ae(t)}catch(l){Vl(e)}})),setTablesSchema:Rl,setValuesSchema:Ol,setSchema:(e,l)=>hl((()=>{Rl(e),Ol(l)})),delTables:ql,delTable:Pl,delRow:Nl,delCell:(e,l,t,n)=>hl(((e,l,t)=>q(_l(W,e),(s=>q(_l(s,l),(r=>Ql(r,t)?Ke(e,s,l,r,t,n):0))))),e,l,t),delValues:El,delValue:e=>hl((e=>Ql(G,e)?Xe(e):0),e),delTablesSchema:Ll,delValuesSchema:Ml,delSchema:()=>hl((()=>{Ll(),Ml()})),transaction:jl,startTransaction:zl,finishTransaction:$l,forEachTable:e=>Kl(W,((l,t)=>e(t,(e=>Kl(l,((l,t)=>e(t,(e=>et(l,e))))))))),forEachTableCell:(e,l)=>et(_l(B,x(e)),l),forEachRow:(e,l)=>Kl(_l(W,x(e)),((e,t)=>l(t,(l=>et(e,l))))),forEachCell:(e,l,t)=>et(_l(_l(W,x(e)),x(l)),t),forEachValue:e=>et(G,e),addSortedRowIdsListener:(e,l,t,n,s,r,o)=>{let a=Il(e,l,t,n,s);return Ie((()=>{const o=Il(e,l,t,n,s);var i,u,d;u=a,M(i=o)===M(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(a=o,r(Al,e,l,t,n,s,a))}),ie[o?1:0],[e,l],[gl])},addStartTransactionListener:e=>Ie(e,ve),addWillFinishTransactionListener:e=>Ie(e,fe[0]),addDidFinishTransactionListener:e=>Ie(e,fe[1]),callListener:e=>(Ce(e),Al),delListener:e=>(we(e),Al),getListenerStats:()=>({tables:Ct(K),tableIds:Ct(X),tableCellIds:Ct(_),table:Ct(Y),rowCount:Ct(ee),rowIds:Ct(ae),sortedRowIds:Ct(ie),row:Ct(ue,Bl),cellIds:Ct(de,Bl),cell:Ct(ce,Hl),invalidCell:Ct(he,Hl),values:Ct(be),valueIds:Ct(pe),value:Ct(ge),invalidValue:Ct(me),transaction:Dl(ve)+Ct(fe)}),createStore:Rt,addListener:Ie,callListeners:ye};return ne({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[gl]],[h+I]:[1,_,[gl]],[g]:[1,ee,[gl]],[v]:[1,ae,[gl]],[p]:[2,ue,[gl,fl]],[I]:[2,de,[gl,fl]],[f]:[3,ce,[gl,fl,yl],e=>wt(wl(...e))],InvalidCell:[3,he],[w]:[0,be],[C]:[0,pe],[y]:[1,ge,[kl],e=>wt(Tl(e[0]))],InvalidValue:[1,me]},(([e,l,t,n],s)=>{Al["add"+s+"Listener"]=(...s)=>Ie(s[e],l[s[e+1]?1:0],e>0?L(s,0,e):void 0,t,n)})),Z(Al)},Ot=({position:e="right",open:l=!1})=>{const n=t.useCreateStore(Rt),s=ue.indexOf(e);return t.useCreatePersister(n,(e=>{return((e,l,t,n)=>((e,l,t,n,s,r,o=[])=>{let a,i,u,d=0,c=0,h=0,m=0;tt(ht,o,(()=>0)),tt(mt,o,(()=>[]));const b=e=>ct(void 0,null,(function*(){return 2!=d&&(d=1,c++,yield p.schedule((()=>ct(void 0,null,(function*(){yield e(),d=0}))))),p})),p={load:(t,n)=>ct(void 0,null,(function*(){return yield b((()=>ct(void 0,null,(function*(){try{e.setContent(yield l())}catch(l){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>ct(void 0,[...t],(function*(t={},s={}){return p.stopAutoLoad(),yield p.load(t,s),m=1,u=n(((t,n)=>ct(void 0,null,(function*(){if(n){const l=n();yield b((()=>ct(void 0,null,(function*(){return e.setTransactionChanges(l)}))))}else yield b((()=>ct(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield l())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(m&&(s(u),u=void 0,m=0),p),save:l=>ct(void 0,null,(function*(){return 1!=d&&(d=2,h++,yield p.schedule((()=>ct(void 0,null,(function*(){try{yield t(e.getContent,l)}catch(e){null==r||r(e)}d=0}))))),p})),startAutoSave:()=>ct(void 0,null,(function*(){return yield p.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,l)=>{const[t,n]=l();se(t)&&se(n)||p.save((()=>[t,n]))})),p})),stopAutoSave:()=>(q(a,e.delListener),p),schedule:(...e)=>ct(void 0,null,(function*(){return U(_l(mt,o),...e),yield ct(void 0,null,(function*(){if(!_l(ht,o)){for(lt(ht,o,1);!O(i=G(_l(mt,o)));)try{yield i()}catch(e){null==r||r(e)}lt(ht,o,0)}})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return Z(p)})(e,(()=>bt(void 0,null,(function*(){return oe(t.getItem(l))}))),(e=>bt(void 0,null,(function*(){return t.setItem(l,re(e()))}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>oe(n.newValue)))};return gt.addEventListener(pt,n),n}),(e=>gt.removeEventListener(pt,e)),n))(e,ae,sessionStorage,l);var l}),void 0,(e=>{return t=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!l}),yield e.startAutoSave()},new Promise(((e,l)=>{var n=e=>{try{r(t.next(e))}catch(e){l(e)}},s=e=>{try{r(t.throw(e))}catch(e){l(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((t=t.apply(void 0,null)).next())}));var t})),$(z,null,$("aside",{id:ae},$(Ae,{s:n}),$(Al,{s:n})),$("style",null,$e))};var qt=Object.defineProperty,Pt=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Lt=(e,l,t)=>l in e?qt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;e.EditableCellView=wl,e.EditableValueView=Cl,e.RelationshipInHtmlTable=Il,e.ResultSortedTableInHtmlTable=yl,e.ResultTableInHtmlTable=e=>{var l=e,{queryId:n,queries:s,customCells:r}=l,o=el(l,["queryId","queries","customCells"]);return $(hl,_e(Ze({},o),{params:al(cl(t.useResultTableCellIds(n,s),r,t.ResultCellView),ul(s,n),t.useResultRowIds(n,s))}))},e.SliceInHtmlTable=fl,e.SortedTableInHtmlTable=gl,e.SortedTablePaginator=kl,e.StoreInspector=e=>$(Ot,((e,l)=>{for(var t in l||(l={}))Nt.call(l,t)&&Lt(e,t,l[t]);if(Pt)for(var t of Pt(l))Et.call(l,t)&&Lt(e,t,l[t]);return e})({},e)),e.TableInHtmlTable=e=>{var l=e,{tableId:n,store:s,editable:r,customCells:o}=l,a=el(l,["tableId","store","editable","customCells"]);return $(hl,_e(Ze({},a),{params:al(cl(t.useTableCellIds(n,s),o,r?wl:t.CellView),il(s,n),t.useRowIds(n,s))}))},e.ValuesInHtmlTable=vl},"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
1
+ var e,l;e=this,l=function(e,l,t){"use strict";const n=e=>typeof e,s="",r=n(s),o=n(!0),a=n(0),i=n(n),u="type",d="default",c="Ids",h="Table",m=h+"s",b=h+c,p="Row",g=p+"Count",v=p+c,f="Cell",I=f+c,y="Value",w=y+"s",C=y+c,k="currentTarget",T="value",S=e=>s+e,x=Math.floor,V=isFinite,R=(e,l)=>e instanceof l,O=e=>null==e,q=(e,l,t)=>O(e)?null==t?void 0:t():l(e),N=e=>e==r||e==o,P=e=>n(e)==i,E=e=>Array.isArray(e),L=(e,l,t)=>e.slice(l,t),M=e=>e.length,{PureComponent:j,Fragment:z,createElement:$,useCallback:A,useLayoutEffect:F,useRef:J,useState:D}=l,B=(e,...l)=>O(e)?{}:e(...l),H=(e,l)=>e.forEach(l),Q=(e,l)=>e.map(l),W=e=>0==M(e),U=(e,...l)=>e.push(...l),G=e=>e.shift(),K=Object,X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>R(e,K)&&e.constructor==K,ee=(e=[])=>K.fromEntries(e),le=(e,l)=>!O(((e,l)=>q(e,(e=>e[l])))(e,l)),te=(e,l)=>(delete e[l],e),ne=(e,l)=>Q(K.entries(e),(([e,t])=>l(t,e))),se=e=>_(e)&&0==(e=>M(X(e)))(e),re=e=>JSON.stringify(e,((e,l)=>R(l,Map)?K.fromEntries([...l]):l)),oe=JSON.parse,ae="tinybaseStoreInspector",ie="TinyBase Store Inspector",ue=["left","top","bottom","right","full"],de="state",ce="sort",he="open",me="position",be=he,pe="editable",ge=(...e)=>re(e),ve=(e,l)=>Q(e.sort(),l),fe=(e,l)=>[!!t.useCell(de,e,pe,l),A((t=>{l.setCell(de,e,pe,(e=>!e)),t.preventDefault()}),[l,e])],Ie="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',we=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Ce='</svg>")',ke=ye+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Te=Q([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>we+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+Ce)),Se=we+"<path d='M20 20l60 60M20 80l60-60' />"+Ce,xe=we+`<path d='${Ie}' />`+Ce,Ve=we+`<path d='${Ie}M20 20l60 60' />`+Ce;var Re=Object.defineProperty,Oe=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,Le=(e,l,t)=>l in e?Re(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Me=(e,l)=>{for(var t in l||(l={}))Pe.call(l,t)&&Le(e,t,l[t]);if(Ne)for(var t of Ne(l))Ee.call(l,t)&&Le(e,t,l[t]);return e},je=(e,l)=>Oe(e,qe(l));const ze="*::-webkit-scrollbar",$e=`#${ae}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,l="")=>e.join(l))(ne(je(Me(je(Me(je(Me({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ze]:"width:0.5rem;height:0.5rem;",[ze+"-track"]:"background:#111",[ze+"-thumb"]:"background:#999;border:1px solid #111",[ze+"-thumb:hover"]:"background:#fff",[ze+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ke},ee(Q(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ee(Q(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,l)=>[`main[data-position='${l}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ke,"header>img:nth-of-type(6)":Se}),ee(Q(Te,((e,l)=>[`header>img[data-id='${l}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":xe,"details[open]>summary img.done":Ve,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,l)=>e?`& ${l}{${e}}`:"")))}`,Ae=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1,s=t.useSetValueCallback(be,(()=>!0),[],e);return t.useValue(be,e)?null:$("img",{onClick:s,title:ie,"data-position":n})},Fe=({uniqueId:e,summary:l,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!t.useCell(de,e,he,o),i=t.useSetCellCallback(de,e,he,(e=>e[k].open),[],o);return $("details",{open:a,onToggle:i},$("summary",null,l,s?$("img",{onClick:s,className:n?"done":"edit"}):null),r)},Je=e=>{const l=n(e);return N(l)||l==a&&V(e)?l:void 0},De=(e,l,t,n,s)=>O(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Be=(e,l,t)=>O(t)?e.delValue(l):e.setValue(l,t),He=(e,l,t,n)=>e==r?l:e==a?t:n;var Qe=Object.defineProperty,We=Object.defineProperties,Ue=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,Ye=(e,l,t)=>l in e?Qe(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Ze=(e,l)=>{for(var t in l||(l={}))Ke.call(l,t)&&Ye(e,t,l[t]);if(Ge)for(var t of Ge(l))Xe.call(l,t)&&Ye(e,t,l[t]);return e},_e=(e,l)=>We(e,Ue(l)),el=(e,l)=>{var t={};for(var n in e)Ke.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ge)for(var n of Ge(e))l.indexOf(n)<0&&Xe.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:ll,useMemo:tl,useState:nl}=l,sl="editable",rl=(e,l)=>Q(t.useTableCellIds(e,l),(l=>e+"."+l)),ol=(e,l,t)=>{const n=ll(e,l);return t?n:void 0},al=(...e)=>tl((()=>e),e),il=(e,l)=>tl((()=>({store:e,tableId:l})),[e,l]),ul=(e,l)=>tl((()=>({queries:e,queryId:l})),[e,l]),dl=(e,l=!1,t,n=0,s,r,o,a)=>{const[[i,u,d],c]=nl([e,l,n]),h=ll((e=>{c(e),null==a||a(e)}),[a]),m=ol((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=ll((e=>h([i,u,e])),[h,i,u]),p=!0===o?kl:o;return[[i,u,d],m,tl((()=>!1===o?null:$(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},cl=(e,l,t)=>tl((()=>{const s=null!=l?l:e;return ee(ne(E(s)?ee(Q(s,(e=>[e,e]))):s,((e,l)=>{return[l,Ze(Ze({},{label:l,component:t}),(s=e,n(s)==r?{label:e}:e))];var s})))}),[l,t,e]),hl=({className:e,headerRow:l,idColumn:t,params:[n,s,r,o,a,i]})=>$("table",{className:e},i?$("caption",null,i):null,!1===l?null:$("thead",null,$("tr",null,!1===t?null:$(ml,{sort:null!=o?o:[],label:"Id",onClick:a}),ne(n,(({label:e},l)=>$(ml,{key:l,cellId:l,label:e,sort:null!=o?o:[],onClick:a}))))),$("tbody",null,Q(r,(e=>$("tr",{key:e},!1===t?null:$("th",null,e),ne(n,(({component:l,getComponentProps:t},n)=>$("td",{key:n},$(l,_e(Ze(Ze({},B(t,e,n)),s),{rowId:e,cellId:n})))))))))),ml=({cellId:e,sort:[l,t],label:n=(null!=e?e:s),onClick:r})=>$("th",{onClick:ol((()=>null==r?void 0:r(e)),[r,e],r),className:O(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},O(t)||l!=e?null:(t?"↓":"↑")+" ",n),bl=({localRowId:e,params:[n,s,r,o,a,i,u]})=>{const d=t.useRemoteRowId(a,e,i);return $("tr",null,!1===n?null:$(l.Fragment,null,$("th",null,e),$("th",null,d)),ne(s,(({component:l,getComponentProps:t},n)=>{const[s,a]=n.split(".",2),i=s===r?e:s===o?d:null;return O(i)?null:$("td",{key:n},$(l,_e(Ze({},B(t,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},pl=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:s=!0})=>{const[i,u]=nl(),[d,c]=nl(),[h,m]=nl(),[b,p]=nl(),[g,v]=nl();d!==e&&(u(Je(e)),c(e),m(e+""),p(Number(e)||0),v(!!e));const f=ll(((e,t)=>{t(e),c(e),l(e)}),[l]),I=ll((()=>{if(!(null==n?void 0:n())){const e=He(i,a,o,r),t=He(e,h,b,g);u(e),c(t),l(t)}}),[n,l,h,b,g,i]);return $("div",{className:t},s?$("button",{className:i,onClick:I},i):null,He(i,$("input",{key:i,value:h,onChange:ll((e=>f(e[k][T]+"",m)),[f])}),$("input",{key:i,type:"number",value:b,onChange:ll((e=>f(Number(e[k][T]||0),p)),[f])}),$("input",{key:i,type:"checkbox",checked:g,onChange:ll((e=>f(!!e[k].checked,v)),[f])})))},gl=e=>{var l=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=l,b=el(l,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,g,v]=dl(s,r,d,o,a,t.useRowCount(n,i),c,h);return $(hl,_e(Ze({},b),{params:al(cl(t.useTableCellIds(n,i),m,u?wl:t.CellView),il(i,n),t.useSortedRowIds(n,...p,a,i),p,g,v)}))},vl=({store:e,editable:l=!1,valueComponent:n=(l?Cl:t.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>$("table",{className:r},!1===o?null:$("thead",null,$("tr",null,!1===a?null:$("th",null,"Id"),$("th",null,y))),$("tbody",null,Q(t.useValueIds(e),(l=>$("tr",{key:l},!1===a?null:$("th",null,l),$("td",null,$(n,_e(Ze({},B(s,l)),{valueId:l,store:e})))))))),fl=e=>{var l=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=l,i=el(l,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(t.useIndexesOrIndexesById(r),n);return $(hl,_e(Ze({},i),{params:al(cl(t.useTableCellIds(c,d),a,o?wl:t.CellView),il(d,c),t.useSliceRowIds(n,s,u))}))},Il=({relationshipId:e,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(t.useRelationshipsOrRelationshipsById(n),e),m=cl([...rl(c,d),...rl(h,d)],r,s?wl:t.CellView),b=al(i,m,c,h,e,u,d);return $("table",{className:o},!1===a?null:$("thead",null,$("tr",null,!1===i?null:$(l.Fragment,null,$("th",null,c,".Id"),$("th",null,h,".Id")),ne(m,(({label:e},l)=>$("th",{key:l},e))))),$("tbody",null,Q(t.useRowIds(c,d),(e=>$(bl,{key:e,localRowId:e,params:b})))))},yl=e=>{var l=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=l,m=el(l,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,g]=dl(s,r,u,o,a,t.useResultRowCount(n,i),d,h);return $(hl,_e(Ze({},m),{params:al(cl(t.useResultTableCellIds(n,i),c,t.ResultCellView),ul(i,n),t.useResultSortedRowIds(n,...b,a,i),b,p,g)}))},wl=({tableId:e,rowId:l,cellId:n,store:s,className:r,showType:o})=>{var a;return $(pl,{thing:t.useCell(e,l,n,s),onThingChange:t.useSetCellCallback(e,l,n,(e=>e),[],s),className:null!=r?r:sl+f,showType:o,hasSchema:null==(a=t.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},Cl=({valueId:e,store:l,className:n,showType:s})=>{var r;return $(pl,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:null!=n?n:sl+y,showType:s,hasSchema:null==(r=t.useStoreOrStoreById(l))?void 0:r.hasValuesSchema})},kl=({onChange:e,total:t,offset:n=0,limit:s=t,singular:r="row",plural:o=r+"s"})=>{(n>t||n<0)&&(n=0,e(0));const a=ol((()=>e(n-s)),[e,n,s],n>0),i=ol((()=>e(n+s)),[e,n,s],n+s<t);return $(l.Fragment,null,t>s&&$(l.Fragment,null,$("button",{className:"previous",disabled:0==n,onClick:a},"←"),$("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?o:r)},Tl=({indexes:e,indexesId:l,indexId:n,s:s})=>$(Fe,{uniqueId:ge("i",l,n),summary:"Index: "+n,s:s},Q(t.useSliceIds(n,e),(t=>$(Sl,{indexes:e,indexesId:l,indexId:n,sliceId:t,s:s,key:t})))),Sl=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ge("i",l,t,n),[o,a]=fe(r,s);return $(Fe,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},$(fl,{sliceId:n,indexId:t,indexes:e,editable:o}))},xl=({indexesId:e,s:l})=>{const n=t.useIndexes(e),s=t.useIndexIds(n);return O(n)?null:$(Fe,{uniqueId:ge("i",e),summary:"Indexes: "+(null!=e?e:d),s:l},W(s)?"No indexes defined":ve(s,(t=>$(Tl,{indexes:n,indexesId:e,indexId:t,s:l,key:t}))))},Vl=({metrics:e,metricId:l})=>$("tr",null,$("th",null,l),$("td",null,null==e?void 0:e.getTableId(l)),$("td",null,t.useMetric(l,e))),Rl=({metricsId:e,s:l})=>{const n=t.useMetrics(e),s=t.useMetricIds(n);return O(n)?null:$(Fe,{uniqueId:ge("m",e),summary:"Metrics: "+(null!=e?e:d),s:l},W(s)?"No metrics defined":$("table",null,$("thead",null,$("th",null,"Metric Id"),$("th",null,"Table Id"),$("th",null,"Metric")),$("tbody",null,Q(s,(e=>$(Vl,{metrics:n,metricId:e,key:e}))))))},Ol=({queries:e,queriesId:l,queryId:n,s:s})=>{var r;const o=ge("q",l,n),[a,i,u]=oe(null!=(r=t.useCell(de,o,ce,s))?r:"[]"),d=t.useSetCellCallback(de,o,ce,re,[],s);return $(Fe,{uniqueId:o,summary:"Query: "+n,s:s},$(yl,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ql=({queriesId:e,s:l})=>{const n=t.useQueries(e),s=t.useQueryIds(n);return O(n)?null:$(Fe,{uniqueId:ge("q",e),summary:"Queries: "+(null!=e?e:d),s:l},W(s)?"No queries defined":ve(s,(t=>$(Ol,{queries:n,queriesId:e,queryId:t,s:l,key:t}))))},Nl=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ge("r",l,t),[r,o]=fe(s,n);return $(Fe,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:o,s:n},$(Il,{relationshipId:t,relationships:e,editable:r}))},Pl=({relationshipsId:e,s:l})=>{const n=t.useRelationships(e),s=t.useRelationshipIds(n);return O(n)?null:$(Fe,{uniqueId:ge("r",e),summary:"Relationships: "+(null!=e?e:d),s:l},W(s)?"No relationships defined":ve(s,(t=>$(Nl,{relationships:n,relationshipsId:e,relationshipId:t,s:l,key:t}))))},El=({tableId:e,store:l,storeId:n,s:s})=>{var r;const o=ge("t",n,e),[a,i,u]=oe(null!=(r=t.useCell(de,o,ce,s))?r:"[]"),d=t.useSetCellCallback(de,o,ce,re,[],s),[c,m]=fe(o,s);return $(Fe,{uniqueId:o,summary:h+": "+e,editable:c,handleEditable:m,s:s},$(gl,{tableId:e,store:l,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},Ll=({store:e,storeId:l,s:n})=>{const s=ge("v",l),[r,o]=fe(s,n);return W(t.useValueIds(e))?null:$(Fe,{uniqueId:s,summary:w,editable:r,handleEditable:o,s:n},$(vl,{store:e,editable:r}))},Ml=({storeId:e,s:l})=>{const n=t.useStore(e),s=t.useTableIds(n);return O(n)?null:$(Fe,{uniqueId:ge("s",e),summary:"Store: "+(null!=e?e:d),s:l},$(Ll,{storeId:e,store:n,s:l}),ve(s,(t=>$(El,{store:n,storeId:e,tableId:t,s:l,key:t}))))},jl=({s:e})=>{const l=J(null),n=J(0),[s,r]=D(!1),{scrollLeft:o,scrollTop:a}=t.useValues(e);F((()=>{const e=l.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=x(o)+e.clientWidth&&e.scrollHeight>=x(a)+e.clientHeight&&e.scrollTo(o,a)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,o,a]);const i=A((l=>{const{scrollLeft:t,scrollTop:s}=l[k];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=t.useStore(),d=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),p=t.useRelationships(),g=t.useRelationshipsIds(),v=t.useQueries(),f=t.useQueriesIds();return O(u)&&W(d)&&O(c)&&W(h)&&O(m)&&W(b)&&O(p)&&W(g)&&O(v)&&W(f)?$("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):$("article",{ref:l,onScroll:i},$(Ml,{s:e}),Q(d,(l=>$(Ml,{storeId:l,s:e,key:l}))),$(Rl,{s:e}),Q(h,(l=>$(Rl,{metricsId:l,s:e,key:l}))),$(xl,{s:e}),Q(b,(l=>$(xl,{indexesId:l,s:e,key:l}))),$(Pl,{s:e}),Q(g,(l=>$(Pl,{relationshipsId:l,s:e,key:l}))),$(ql,{s:e}),Q(f,(l=>$(ql,{queriesId:l,s:e,key:l}))))};class zl extends j{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}render(){return this.state.e?$("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}zl.getDerivedStateFromError=()=>({e:1});const $l=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1,s=t.useSetValueCallback(be,(()=>!1),[],e),r=t.useSetValueCallback(me,(e=>Number(e[k].dataset.id)),[],e);return $("header",null,$("img",{title:ie}),$("span",null,ie),Q(ue,((e,l)=>l==n?null:$("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),$("img",{onClick:s,title:"Close"}))},Al=({s:e})=>{var l;const n=null!=(l=t.useValue(me,e))?l:1;return t.useValue(be,e)?$("main",{"data-position":n},$($l,{s:e}),$(zl,null,$(jl,{s:e}))):null},Fl=e=>l=>{return t=(l,t)=>l+e(t),Ul(l).reduce(t,0);var t},Jl=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Dl=Fl(Jl),Bl=Fl(Dl),Hl=Fl(Bl),Ql=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Wl=e=>O(e)||0==Jl(e),Ul=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Gl=e=>e.clear(),Kl=(e,l)=>null==e?void 0:e.forEach(l),Xl=(e,l)=>null==e?void 0:e.delete(l),Yl=e=>new Map(e),Zl=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},_l=(e,l)=>null==e?void 0:e.get(l),et=(e,l)=>Kl(e,((e,t)=>l(t,e))),lt=(e,l,t)=>O(t)?(Xl(e,l),e):null==e?void 0:e.set(l,t),tt=(e,l,t)=>(Ql(e,l)||lt(e,l,t()),_l(e,l)),nt=(e,l,t,n=lt)=>(ne(l,((l,n)=>t(e,n,l))),et(e,(t=>le(l,t)?0:n(e,t))),e),st=(e,l,t)=>{const n={};return Kl(e,((e,s)=>{const r=l?l(e,s):e;!(null==t?void 0:t(r,e))&&(n[s]=r)})),n},rt=(e,l,t)=>st(e,(e=>st(e,l,t)),se),ot=(e,l,t)=>st(e,(e=>rt(e,l,t)),se),at=(e,l)=>{const t=Yl();return Kl(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},it=e=>at(e,at),ut=e=>at(e,it),dt=(e,l,t,n,s=0)=>q((t?tt:_l)(e,l[s],s>M(l)-2?t:Yl),(r=>{if(s>M(l)-2)return(null==n?void 0:n(r))&&lt(e,l[s]),r;const o=dt(r,l,t,n,s+1);return Wl(r)&&lt(e,l[s]),o}));var ct=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const ht=Yl(),mt=Yl();var bt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const pt="storage",gt=globalThis.window,vt=e=>new Set(E(e)||O(e)?e:[e]),ft=(e,l)=>null==e?void 0:e.add(l),It=/^\d+$/,yt=()=>{const e=[];let l=0;return[t=>{var n;return null!=(n=t?G(e):null)?n:s+l++},l=>{It.test(l)&&M(e)<1e3&&U(e,l)}]},wt=e=>[e,e],Ct=(e,l=Dl)=>l(e[0])+l(e[1]),kt=()=>[Yl(),Yl()],Tt=e=>[...e],St=([e,l])=>e===l,xt=(e,l,t)=>O(e)||!_(e)||se(e)||Y(e)?(null==t||t(),!1):(ne(e,((t,n)=>{l(t,n)||te(e,n)})),!se(e)),Vt=(e,l,t)=>lt(e,l,_l(e,l)==-t?void 0:t),Rt=()=>{let e,l,t=!1,n=!1,r=0;const o=Yl(),i=Yl(),c=Yl(),k=Yl(),T=Yl(),x=Yl(),V=Yl(),R=Yl(),E=Yl(),j=Yl(),z=Yl(),$=Yl(),A=Yl(),F=Yl(),J=vt(),D=Yl(),B=Yl(),W=Yl(),G=Yl(),K=kt(),X=kt(),Y=kt(),_=kt(),ee=kt(),ae=kt(),ie=kt(),ue=kt(),de=kt(),ce=kt(),he=kt(),me=kt(),be=kt(),pe=kt(),ge=kt(),ve=Yl(),fe=kt(),[Ie,ye,we,Ce]=(e=>{let l;const[t,n]=yt(),r=Yl();return[(e,n,o,a=[],i=(()=>[]))=>{null!=l||(l=Al);const u=t(1);return lt(r,u,[e,n,o,a,i]),ft(dt(n,null!=o?o:[s],vt),u),u},(e,t,...n)=>H(((e,l=[s])=>{const t=[],n=(e,s)=>s==M(l)?U(t,e):null===l[s]?Kl(e,(e=>n(e,s+1))):H([l[s],null],(l=>n(_l(e,l),s+1)));return n(e,0),t})(e,t),(e=>Kl(e,(e=>_l(r,e)[0](l,...null!=t?t:[],...n))))),e=>q(_l(r,e),(([,l,t])=>(dt(l,null!=t?t:[s],void 0,(l=>(Xl(l,e),Wl(l)?1:0))),lt(r,e),n(e),t))),e=>q(_l(r,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var a,i;const u=M(o);u==M(t)?e(l,...o,...s(o)):O(t[u])?H(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,t[u])};r()}))]})(),ke=e=>{if(!xt(e,((e,l)=>[u,d].includes(l))))return!1;const l=e[u];return!(!N(l)&&l!=a||(Je(e[d])!=l&&te(e,d),0))},Te=(l,t)=>(!e||Ql(z,t)||nl(t))&&xt(l,((e,l)=>Se(t,l,e)),(()=>nl(t))),Se=(e,l,t,n)=>xt(n?t:Oe(t,e,l),((n,s)=>q(xe(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>nl(e,l))),xe=(l,t,n,s)=>e?q(_l(_l(z,l),n),(e=>Je(s)!=e[u]?nl(l,t,n,s,e[d]):s),(()=>nl(l,t,n,s))):O(Je(s))?nl(l,t,n,s):s,Ve=(e,l)=>xt(l?e:qe(e),((l,t)=>q(Re(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>sl())),Re=(e,t)=>l?q(_l(A,e),(l=>Je(t)!=l[u]?sl(e,t,l[d]):t),(()=>sl(e,t))):O(Je(t))?sl(e,t):t,Oe=(e,l,t)=>(q(_l($,l),(([n,s])=>{Kl(n,((l,t)=>{le(e,t)||(e[t]=l)})),Kl(s,(n=>{le(e,n)||nl(l,t,n)}))})),e),qe=e=>(l&&(Kl(F,((l,t)=>{le(e,t)||(e[t]=l)})),Kl(J,(l=>{le(e,l)||sl(l)}))),e),Ne=e=>nt(z,e,((e,l,t)=>{const n=Yl(),s=vt();nt(tt(z,l,Yl),t,((e,l,t)=>{lt(e,l,t),q(t[d],(e=>lt(n,l,e)),(()=>ft(s,l)))})),lt($,l,[n,s])}),((e,l)=>{lt(z,l),lt($,l)})),Pe=e=>nt(A,e,((e,l,t)=>{lt(A,l,t),q(t[d],(e=>lt(F,l,e)),(()=>ft(J,l)))}),((e,l)=>{lt(A,l),lt(F,l),Xl(J,l)})),Ee=e=>se(e)?ql():Sl(e),Le=e=>nt(W,e,((e,l,t)=>Me(l,t)),((e,l)=>Ue(l))),Me=(e,l)=>nt(tt(W,e,(()=>(Ye(e,1),lt(D,e,yt()),lt(B,e,Yl()),Yl()))),l,((l,t,n)=>je(e,l,t,n)),((l,t)=>Ge(e,l,t))),je=(e,l,t,n,s)=>nt(tt(l,t,(()=>(Ze(e,t,1),Yl()))),n,((l,n,s)=>ze(e,t,l,n,s)),((n,r)=>Ke(e,l,t,n,r,s))),ze=(e,l,t,n,s)=>{Ql(t,n)||_e(e,l,n,1);const r=_l(t,n);s!==r&&(el(e,l,n,r,s),lt(t,n,s))},$e=(e,l,t,n,s)=>q(_l(l,t),(l=>ze(e,t,l,n,s)),(()=>je(e,l,t,Oe({[n]:s},e,t)))),Ae=e=>se(e)?El():xl(e),Fe=e=>nt(G,e,((e,l,t)=>He(l,t)),((e,l)=>Xe(l))),He=(e,l)=>{Ql(G,e)||ll(e,1);const t=_l(G,e);l!==t&&(tl(e,t,l),lt(G,e,l))},Qe=(e,l)=>{const[t]=_l(D,e),n=t(l);return Ql(_l(W,e),n)?Qe(e,l):n},We=e=>{var l;return null!=(l=_l(W,e))?l:Me(e,{})},Ue=e=>Me(e,{}),Ge=(e,l,t)=>{const[,n]=_l(D,e);n(t),je(e,l,t,{},!0)},Ke=(e,l,t,n,s,r)=>{var o;const a=_l(null==(o=_l($,e))?void 0:o[0],s);if(!O(a)&&!r)return ze(e,t,n,s,a);const i=l=>{el(e,t,l,_l(n,l)),_e(e,t,l,-1),lt(n,l)};O(a)?i(s):et(n,i),Wl(n)&&(Ze(e,t,-1),Wl(lt(l,t))&&(Ye(e,-1),lt(W,e),lt(D,e),lt(B,e)))},Xe=e=>{const l=_l(F,e);if(!O(l))return He(e,l);tl(e,_l(G,e)),ll(e,-1),lt(G,e)},Ye=(e,l)=>Vt(o,e,l),Ze=(e,l,t)=>Vt(tt(k,e,Yl),l,t)&&lt(c,e,tt(c,e,(()=>0))+t),_e=(e,l,t,n)=>{var s;const r=_l(B,e),o=null!=(s=_l(r,t))?s:0;(0==o&&1==n||1==o&&-1==n)&&Vt(tt(i,e,Yl),t,n),lt(r,t,o!=-n?o+n:null),Vt(tt(tt(T,e,Yl),l,Yl),t,n)},el=(e,l,t,n,s)=>tt(tt(tt(x,e,Yl),l,Yl),t,(()=>[n,0]))[1]=s,ll=(e,l)=>Vt(V,e,l),tl=(e,l,t)=>tt(R,e,(()=>[l,0]))[1]=t,nl=(e,l,t,n,s)=>(U(tt(tt(tt(E,e,Yl),l,Yl),t,(()=>[])),n),s),sl=(e,l,t)=>(U(tt(j,e,(()=>[])),l),t),rl=(e,l,t)=>q(_l(_l(_l(x,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(wl(e,l,t))])),ol=e=>q(_l(R,e),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Tl(e))])),al=e=>Wl(E)||Wl(he[e])?0:Kl(e?ut(E):E,((l,t)=>Kl(l,((l,n)=>Kl(l,((l,s)=>ye(he[e],[t,n,s],l))))))),il=e=>Wl(j)||Wl(me[e])?0:Kl(e?at(j):j,((l,t)=>ye(me[e],[t],l))),ul=(e,l,t)=>{if(!Wl(l))return ye(e,t,(()=>st(l))),1},dl=e=>{const l=Wl(ie[e]),t=Wl(de[e])&&Wl(_[e])&&Wl(ee[e])&&Wl(ae[e])&&l&&Wl(X[e]),n=Wl(ce[e])&&Wl(ue[e])&&Wl(Y[e])&&Wl(K[e]);if(!t||!n){const s=e?[at(o),it(i),at(c),it(k),ut(T),ut(x)]:[o,i,c,k,T,x];if(!t){ul(X[e],s[0]),Kl(s[1],((l,t)=>ul(_[e],l,[t]))),Kl(s[2],((l,t)=>{0!=l&&ye(ee[e],[t],vl(t))}));const t=vt();Kl(s[3],((n,s)=>{ul(ae[e],n,[s])&&!l&&(ye(ie[e],[s,null]),ft(t,s))})),l||Kl(s[5],((l,n)=>{if(!Ql(t,n)){const t=vt();Kl(l,(e=>Kl(e,(([l,n],s)=>n!==l?ft(t,s):Xl(e,s))))),Kl(t,(l=>ye(ie[e],[n,l])))}})),Kl(s[4],((l,t)=>Kl(l,((l,n)=>ul(de[e],l,[t,n])))))}if(!n){let l;Kl(s[5],((t,n)=>{let s;Kl(t,((t,r)=>{let o;Kl(t,(([t,a],i)=>{a!==t&&(ye(ce[e],[n,r,i],a,t,rl),l=s=o=1)})),o&&ye(ue[e],[n,r],rl)})),s&&ye(Y[e],[n],rl)})),l&&ye(K[e],void 0,rl)}}},cl=e=>{const l=Wl(pe[e]),t=Wl(ge[e])&&Wl(be[e]);if(!l||!t){const n=e?[at(V),at(R)]:[V,R];if(l||ul(pe[e],n[0]),!t){let l;Kl(n[1],(([t,n],s)=>{n!==t&&(ye(ge[e],[s],n,t,ol),l=1)})),l&&ye(be[e],void 0,ol)}}},hl=(e,...l)=>(jl((()=>e(...Q(l,S)))),Al),ml=()=>[st(x,((e,l)=>-1===_l(o,l)?null:st(e,((e,t)=>-1===_l(_l(k,l),t)?null:st(e,(([,e])=>null!=e?e:null),((e,l)=>St(l)))),se)),se),st(R,(([,e])=>null!=e?e:null),((e,l)=>St(l)))],bl=()=>({cellsTouched:t,valuesTouched:n,changedCells:ot(x,Tt,St),invalidCells:ot(E),changedValues:st(R,Tt,St),invalidValues:st(j),changedTableIds:st(o),changedRowIds:rt(k),changedCellIds:ot(T),changedValueIds:st(V)}),pl=()=>ot(W),gl=()=>Zl(W),vl=e=>Jl(_l(W,S(e))),fl=e=>Zl(_l(W,S(e))),Il=(e,l,t,n=0,s)=>{return Q(L((o=_l(W,S(e)),a=(e,t)=>[O(l)?t:_l(e,S(l)),t],r=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},Q([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,l])=>a(l,e))).sort(r)),n,O(s)?s:n+s),(([,e])=>e));var r,o,a,i},yl=(e,l)=>Zl(_l(_l(W,S(e)),S(l))),wl=(e,l,t)=>_l(_l(_l(W,S(e)),S(l)),S(t)),Cl=()=>st(G),kl=()=>Zl(G),Tl=e=>_l(G,S(e)),Sl=e=>hl((()=>(e=>xt(e,Te,nl))(e)?Le(e):0)),xl=e=>hl((()=>Ve(e)?Fe(e):0)),Vl=e=>{try{Ee(oe(e))}catch(e){}return Al},Rl=l=>hl((()=>{if((e=xt(l,(e=>xt(e,ke))))&&(Ne(l),!Wl(W))){const e=pl();ql(),Sl(e)}})),Ol=e=>hl((()=>{if(l=(e=>xt(e,ke))(e)){const t=Cl();Ml(),El(),l=!0,Pe(e),xl(t)}})),ql=()=>hl((()=>Le({}))),Nl=e=>hl((e=>Ql(W,e)?Ue(e):0),e),Pl=(e,l)=>hl(((e,l)=>q(_l(W,e),(t=>Ql(t,l)?Ge(e,t,l):0))),e,l),El=()=>hl((()=>Fe({}))),Ll=()=>hl((()=>{Ne({}),e=!1})),Ml=()=>hl((()=>{Pe({}),l=!1})),jl=(e,l)=>{if(-1!=r){zl();const t=e();return $l(l),t}},zl=()=>(-1!=r&&r++,1==r&&ye(ve,void 0,ml,bl),Al),$l=e=>(r>0&&(r--,0==r&&(t=!Wl(x),n=!Wl(R),r=1,al(1),t&&dl(1),il(1),n&&cl(1),(null==e?void 0:e(ml,bl))&&(Kl(x,((e,l)=>Kl(e,((e,t)=>Kl(e,(([e],n)=>De(Al,l,t,n,e))))))),Kl(R,(([e],l)=>Be(Al,l,e))),t=n=!1),ye(fe[0],void 0,ml,bl),r=-1,al(0),t&&dl(0),il(0),n&&cl(0),ye(fe[1],void 0,ml,bl),r=0,t=n=!1,H([o,i,c,k,T,x,E,V,R,j],Gl))),Al),Al={getContent:()=>[pl(),Cl()],getTables:pl,getTableIds:gl,getTable:e=>rt(_l(W,S(e))),getTableCellIds:e=>Zl(_l(B,S(e))),getRowCount:vl,getRowIds:fl,getSortedRowIds:Il,getRow:(e,l)=>st(_l(_l(W,S(e)),S(l))),getCellIds:yl,getCell:wl,getValues:Cl,getValueIds:kl,getValue:Tl,hasTables:()=>!Wl(W),hasTable:e=>Ql(W,S(e)),hasTableCell:(e,l)=>Ql(_l(B,S(e)),S(l)),hasRow:(e,l)=>Ql(_l(W,S(e)),S(l)),hasCell:(e,l,t)=>Ql(_l(_l(W,S(e)),S(l)),S(t)),hasValues:()=>!Wl(G),hasValue:e=>Ql(G,S(e)),getTablesJson:()=>re(W),getValuesJson:()=>re(G),getJson:()=>re([W,G]),getTablesSchemaJson:()=>re(z),getValuesSchemaJson:()=>re(A),getSchemaJson:()=>re([z,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>hl((()=>{(se(e)?ql:Sl)(e),(se(l)?El:xl)(l)})),setTables:Sl,setTable:(e,l)=>hl((e=>Te(l,e)?Me(e,l):0),e),setRow:(e,l,t)=>hl(((e,l)=>Se(e,l,t)?je(e,We(e),l,t):0),e,l),addRow:(e,l,t=!0)=>jl((()=>{let n;return Se(e,n,l)&&(e=S(e),je(e,We(e),n=Qe(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>hl(((e,l)=>{if(Se(e,l,t,1)){const n=We(e);ne(t,((t,s)=>$e(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>hl(((e,l,t)=>q(xe(e,l,t,P(n)?n(wl(e,l,t)):n),(n=>$e(e,We(e),l,t,n)))),e,l,t),setValues:xl,setPartialValues:e=>hl((()=>Ve(e,1)?ne(e,((e,l)=>He(l,e))):0)),setValue:(e,l)=>hl((e=>q(Re(e,P(l)?l(Tl(e)):l),(l=>He(e,l)))),e),setTransactionChanges:e=>hl((()=>{ne(e[0],((e,l)=>O(e)?Nl(l):ne(e,((e,t)=>O(e)?Pl(l,t):ne(e,((e,n)=>De(Al,l,t,n,e))))))),ne(e[1],((e,l)=>Be(Al,l,e)))})),setTablesJson:Vl,setValuesJson:e=>{try{Ae(oe(e))}catch(e){}return Al},setJson:e=>hl((()=>{try{const[l,t]=oe(e);Ee(l),Ae(t)}catch(l){Vl(e)}})),setTablesSchema:Rl,setValuesSchema:Ol,setSchema:(e,l)=>hl((()=>{Rl(e),Ol(l)})),delTables:ql,delTable:Nl,delRow:Pl,delCell:(e,l,t,n)=>hl(((e,l,t)=>q(_l(W,e),(s=>q(_l(s,l),(r=>Ql(r,t)?Ke(e,s,l,r,t,n):0))))),e,l,t),delValues:El,delValue:e=>hl((e=>Ql(G,e)?Xe(e):0),e),delTablesSchema:Ll,delValuesSchema:Ml,delSchema:()=>hl((()=>{Ll(),Ml()})),transaction:jl,startTransaction:zl,finishTransaction:$l,forEachTable:e=>Kl(W,((l,t)=>e(t,(e=>Kl(l,((l,t)=>e(t,(e=>et(l,e))))))))),forEachTableCell:(e,l)=>et(_l(B,S(e)),l),forEachRow:(e,l)=>Kl(_l(W,S(e)),((e,t)=>l(t,(l=>et(e,l))))),forEachCell:(e,l,t)=>et(_l(_l(W,S(e)),S(l)),t),forEachValue:e=>et(G,e),addSortedRowIdsListener:(e,l,t,n,s,r,o)=>{let a=Il(e,l,t,n,s);return Ie((()=>{const o=Il(e,l,t,n,s);var i,u,d;u=a,M(i=o)===M(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(a=o,r(Al,e,l,t,n,s,a))}),ie[o?1:0],[e,l],[gl])},addStartTransactionListener:e=>Ie(e,ve),addWillFinishTransactionListener:e=>Ie(e,fe[0]),addDidFinishTransactionListener:e=>Ie(e,fe[1]),callListener:e=>(Ce(e),Al),delListener:e=>(we(e),Al),getListenerStats:()=>({tables:Ct(K),tableIds:Ct(X),tableCellIds:Ct(_),table:Ct(Y),rowCount:Ct(ee),rowIds:Ct(ae),sortedRowIds:Ct(ie),row:Ct(ue,Bl),cellIds:Ct(de,Bl),cell:Ct(ce,Hl),invalidCell:Ct(he,Hl),values:Ct(be),valueIds:Ct(pe),value:Ct(ge),invalidValue:Ct(me),transaction:Dl(ve)+Ct(fe)}),createStore:Rt,addListener:Ie,callListeners:ye};return ne({[m]:[0,K],[b]:[0,X],[h]:[1,Y,[gl]],[h+I]:[1,_,[gl]],[g]:[1,ee,[gl]],[v]:[1,ae,[gl]],[p]:[2,ue,[gl,fl]],[I]:[2,de,[gl,fl]],[f]:[3,ce,[gl,fl,yl],e=>wt(wl(...e))],InvalidCell:[3,he],[w]:[0,be],[C]:[0,pe],[y]:[1,ge,[kl],e=>wt(Tl(e[0]))],InvalidValue:[1,me]},(([e,l,t,n],s)=>{Al["add"+s+"Listener"]=(...s)=>Ie(s[e],l[s[e+1]?1:0],e>0?L(s,0,e):void 0,t,n)})),Z(Al)},Ot=({position:e="right",open:l=!1})=>{const n=t.useCreateStore(Rt),s=ue.indexOf(e);return t.useCreatePersister(n,(e=>{return((e,l,t,n)=>((e,l,t,n,s,r,[o,a]=[],i=[])=>{let u,d,c,h=0,m=0,b=0,p=0;tt(ht,i,(()=>0)),tt(mt,i,(()=>[]));const g=e=>ct(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield v.schedule((()=>ct(void 0,null,(function*(){yield e(),h=0}))))),v})),v={load:(t,n)=>ct(void 0,null,(function*(){return yield g((()=>ct(void 0,null,(function*(){try{e.setContent(yield l())}catch(l){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>ct(void 0,[...t],(function*(t={},s={}){return v.stopAutoLoad(),yield v.load(t,s),p=1,c=n(((t,n)=>ct(void 0,null,(function*(){if(n){const l=n();yield g((()=>ct(void 0,null,(function*(){return e.setTransactionChanges(l)}))))}else yield g((()=>ct(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield l())}catch(e){null==r||r(e)}}))))})))),v})),stopAutoLoad:()=>(p&&(s(c),c=void 0,p=0),v),save:l=>ct(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield v.schedule((()=>ct(void 0,null,(function*(){try{yield t(e.getContent,l)}catch(e){null==r||r(e)}h=0}))))),v})),startAutoSave:()=>ct(void 0,null,(function*(){return yield v.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,l)=>{const[t,n]=l();se(t)&&se(n)||v.save((()=>[t,n]))})),v})),stopAutoSave:()=>(q(u,e.delListener),v),schedule:(...e)=>ct(void 0,null,(function*(){return U(_l(mt,i),...e),yield ct(void 0,null,(function*(){if(!_l(ht,i)){for(lt(ht,i,1);!O(d=G(_l(mt,i)));)try{yield d()}catch(e){null==r||r(e)}lt(ht,i,0)}})),v})),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(v[o]=()=>a),Z(v)})(e,(()=>bt(void 0,null,(function*(){return oe(t.getItem(l))}))),(e=>bt(void 0,null,(function*(){return t.setItem(l,re(e()))}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>oe(n.newValue)))};return gt.addEventListener(pt,n),n}),(e=>gt.removeEventListener(pt,e)),n,["getStorageName",l]))(e,ae,sessionStorage,l);var l}),void 0,(e=>{return t=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!l}),yield e.startAutoSave()},new Promise(((e,l)=>{var n=e=>{try{r(t.next(e))}catch(e){l(e)}},s=e=>{try{r(t.throw(e))}catch(e){l(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((t=t.apply(void 0,null)).next())}));var t})),$(z,null,$("aside",{id:ae},$(Ae,{s:n}),$(Al,{s:n})),$("style",null,$e))};var qt=Object.defineProperty,Nt=Object.getOwnPropertySymbols,Pt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Lt=(e,l,t)=>l in e?qt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;e.EditableCellView=wl,e.EditableValueView=Cl,e.RelationshipInHtmlTable=Il,e.ResultSortedTableInHtmlTable=yl,e.ResultTableInHtmlTable=e=>{var l=e,{queryId:n,queries:s,customCells:r}=l,o=el(l,["queryId","queries","customCells"]);return $(hl,_e(Ze({},o),{params:al(cl(t.useResultTableCellIds(n,s),r,t.ResultCellView),ul(s,n),t.useResultRowIds(n,s))}))},e.SliceInHtmlTable=fl,e.SortedTableInHtmlTable=gl,e.SortedTablePaginator=kl,e.StoreInspector=e=>$(Ot,((e,l)=>{for(var t in l||(l={}))Pt.call(l,t)&&Lt(e,t,l[t]);if(Nt)for(var t of Nt(l))Et.call(l,t)&&Lt(e,t,l[t]);return e})({},e)),e.TableInHtmlTable=e=>{var l=e,{tableId:n,store:s,editable:r,customCells:o}=l,a=el(l,["tableId","store","editable","customCells"]);return $(hl,_e(Ze({},a),{params:al(cl(t.useTableCellIds(n,s),o,r?wl:t.CellView),il(s,n),t.useRowIds(n,s))}))},e.ValuesInHtmlTable=vl},"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "4.3.13",
3
+ "version": "4.3.14",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",
@@ -213,10 +213,10 @@
213
213
  "devDependencies": {
214
214
  "@automerge/automerge": "^2.1.3",
215
215
  "@babel/cli": "^7.23.0",
216
- "@babel/core": "^7.23.0",
217
- "@babel/preset-env": "^7.22.20",
216
+ "@babel/core": "^7.23.2",
217
+ "@babel/preset-env": "^7.23.2",
218
218
  "@babel/preset-react": "^7.22.15",
219
- "@babel/preset-typescript": "^7.23.0",
219
+ "@babel/preset-typescript": "^7.23.2",
220
220
  "@prettier/sync": "^0.3.0",
221
221
  "@rollup/plugin-image": "^3.0.3",
222
222
  "@rollup/plugin-replace": "^5.0.3",
@@ -230,8 +230,8 @@
230
230
  "@types/less": "^3.0.4",
231
231
  "@types/node": "^20.8.4",
232
232
  "@types/puppeteer": "^5.4.7",
233
- "@types/react": "^18.2.27",
234
- "@types/react-dom": "^18.2.12",
233
+ "@types/react": "^18.2.28",
234
+ "@types/react-dom": "^18.2.13",
235
235
  "@types/react-test-renderer": "^18.0.3",
236
236
  "@types/tmp": "^0.2.4",
237
237
  "@typescript-eslint/eslint-plugin": "^6.7.5",
package/readme.md CHANGED
@@ -1,4 +1,4 @@
1
- <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://tinybase.org/guides/releases/#v4-3"><em>NEW!</em> v4.3 release</a> <span id="one-with">&quot;The One With PartyKit&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://tinybase.org/api/persister-browser">storage</a>, <a href="https://tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>, and (<em>new!</em>) <a href="https://tinybase.org/api/persister-partykit-client/">PartyKit</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">4.8kB - 9.2kB</a>, zero dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">Tinybase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/4.3.13" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
1
+ <section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p id="copy">Build blisteringly fast web apps that work both online and offline. Manage your state locally, synchronize it to the cloud when you need to, or even make it collaborative. But, most importantly... have fun building stuff again!</p></section><p><a href="https://tinybase.org/guides/releases/#v4-3"><em>NEW!</em> v4.3 release</a> <span id="one-with">&quot;The One With PartyKit&quot;</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a>, <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-values">schematization</a> to model your app&#x27;s data structures.</li><li><a href="#register-granular-listeners">Flexibly reactive</a> to reconciled updates, so you only spend rendering cycles on things that change.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively - and without SQL.</li><li>Built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, <a href="#model-table-relationships">tabular relationships</a> - and even an <a href="#set-checkpoints-for-an-undo-stack">undo stack</a> for your app state.</li><li>Create <a href="#type-definitions-orm-like-apis">type definitions &amp; ORM-like APIs</a>, from schema or inference. <a href="#an-inspector-for-your-data">Inspect your data</a> (<em>new!</em>) directly in the browser.</li><li>Easily <a href="#persist-to-storage-sqlite-crdts">sync your data</a> to browser <a href="https://tinybase.org/api/persister-browser">storage</a>, <a href="https://tinybase.org/api/persister-indexed-db/">IndexedDB</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence/">SQLite</a>, <a href="https://tinybase.org/guides/schemas-and-persistence/synchronizing-data/">CRDTs</a>, and (<em>new!</em>) <a href="https://tinybase.org/api/persister-partykit-client/">PartyKit</a>.</li><li>Optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and (<em>new!</em>) <a href="#pre-built-reactive-components">pre-built components</a> that let you easily build fully reactive user interfaces.</li><li>Tiny by name, tiny by nature: <a href="#did-we-say-tiny">4.8kB - 9.2kB</a>, zero dependencies. <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</li></ul><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">Tinybase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=GitHub&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&amp;logo=discord&amp;logoColor=%23fff&amp;label=Discord&amp;labelColor=%233131e8&amp;color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&amp;logo=x&amp;logoColor=%23fff&amp;label=Twitter&amp;labelColor=%23333&amp;color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Ideas&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&amp;logo=GitHub&amp;logoColor=%23fff&amp;label=Issues&amp;labelColor=%23d81b60&amp;color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&amp;logo=jest&amp;logoColor=%23fff&amp;color=%23333&amp;labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/4.3.14" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&amp;logo=npm&amp;logoColor=%23fff&amp;labelColor=%23bd0005&amp;color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
2
2
 
3
3
  ```js
4
4
  const store = createStore()
@@ -247,4 +247,4 @@ export const createShop: typeof createShopDecl = () => {
247
247
  };
248
248
  ```
249
249
 
250
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>4.8kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>9.2kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.9kB</em>, the auxiliary <a href="https://tinybase.org/api/tools/"><code>tools</code></a> module is <em>10.5kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">store</a></th><td>4.8kB</td><td>11.4kB</td><td>48.6kB</td><td>220.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>15.2kB</td><td>30.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.8kB</td><td>17.0kB</td><td>35.6kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships/">relationships</a></th><td>1.9kB</td><td>3.7kB</td><td>17.1kB</td><td>44.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/queries/">queries</a></th><td>2.8kB</td><td>5.7kB</td><td>25.6kB</td><td>127.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.1kB</td><td>12.4kB</td><td>33.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters/">persisters</a></th><td>0.7kB</td><td>1.5kB</td><td>5.1kB</td><td>43.4kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>9.2kB</td><td>22.5kB</td><td>97.4kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,880</td><td>1,880</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,034</td><td>2,034</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>811</td><td>811</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>689</td><td>689</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">3,378</td></tr><tr><th class="right">Assertions</th><td colspan="3">15,269</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
250
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>4.8kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>9.2kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.9kB</em>, the auxiliary <a href="https://tinybase.org/api/tools/"><code>tools</code></a> module is <em>10.5kB</em>, and everything is super fast. Life&#x27;s easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">store</a></th><td>4.8kB</td><td>11.4kB</td><td>48.6kB</td><td>220.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>15.2kB</td><td>30.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.8kB</td><td>17.0kB</td><td>35.6kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships/">relationships</a></th><td>1.9kB</td><td>3.7kB</td><td>17.1kB</td><td>44.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/queries/">queries</a></th><td>2.8kB</td><td>5.7kB</td><td>25.6kB</td><td>127.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.1kB</td><td>12.4kB</td><td>33.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters/">persisters</a></th><td>0.8kB</td><td>1.5kB</td><td>5.1kB</td><td>43.4kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>9.2kB</td><td>22.6kB</td><td>97.5kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,882</td><td>1,882</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,037</td><td>2,037</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>812</td><td>812</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>692</td><td>692</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">3,401</td></tr><tr><th class="right">Assertions</th><td colspan="3">15,302</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>