tinybase 8.5.0-beta.0 → 8.5.0-beta.1

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 (131) hide show
  1. package/@types/ui-react-dom-charts/index.d.ts +242 -0
  2. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +296 -0
  3. package/common/index.js +3 -2
  4. package/common/with-schemas/index.js +3 -2
  5. package/index.js +5 -3
  6. package/mergeable-store/index.js +5 -3
  7. package/mergeable-store/with-schemas/index.js +5 -3
  8. package/metrics/index.js +1 -1
  9. package/metrics/with-schemas/index.js +1 -1
  10. package/min/common/index.js +1 -1
  11. package/min/common/index.js.gz +0 -0
  12. package/min/common/with-schemas/index.js +1 -1
  13. package/min/common/with-schemas/index.js.gz +0 -0
  14. package/min/index.js +1 -1
  15. package/min/index.js.gz +0 -0
  16. package/min/mergeable-store/index.js +1 -1
  17. package/min/mergeable-store/index.js.gz +0 -0
  18. package/min/mergeable-store/with-schemas/index.js +1 -1
  19. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  20. package/min/omni/index.js +1 -1
  21. package/min/omni/index.js.gz +0 -0
  22. package/min/omni/with-schemas/index.js +1 -1
  23. package/min/omni/with-schemas/index.js.gz +0 -0
  24. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  25. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  26. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  27. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  28. package/min/persisters/persister-partykit-server/index.js +1 -1
  29. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  30. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  31. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  32. package/min/queries/index.js +1 -1
  33. package/min/queries/index.js.gz +0 -0
  34. package/min/queries/with-schemas/index.js +1 -1
  35. package/min/queries/with-schemas/index.js.gz +0 -0
  36. package/min/synchronizers/index.js +1 -1
  37. package/min/synchronizers/index.js.gz +0 -0
  38. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  39. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  40. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  41. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  42. package/min/synchronizers/synchronizer-local/index.js +1 -1
  43. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  44. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  45. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  46. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  47. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  48. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  49. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  50. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  51. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  52. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  53. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  54. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  55. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  56. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  57. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  58. package/min/synchronizers/with-schemas/index.js +1 -1
  59. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  60. package/min/ui-react-dom/index.js +1 -1
  61. package/min/ui-react-dom/index.js.gz +0 -0
  62. package/min/ui-react-dom/with-schemas/index.js +1 -1
  63. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  64. package/min/ui-react-dom-charts/index.js +1 -0
  65. package/min/ui-react-dom-charts/index.js.gz +0 -0
  66. package/min/ui-react-dom-charts/with-schemas/index.js +1 -0
  67. package/min/ui-react-dom-charts/with-schemas/index.js.gz +0 -0
  68. package/min/ui-react-inspector/index.js +1 -1
  69. package/min/ui-react-inspector/index.js.gz +0 -0
  70. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  71. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  72. package/min/ui-solid-dom/index.js +1 -1
  73. package/min/ui-solid-dom/index.js.gz +0 -0
  74. package/min/ui-solid-dom/with-schemas/index.js +1 -1
  75. package/min/ui-solid-dom/with-schemas/index.js.gz +0 -0
  76. package/min/ui-solid-inspector/index.js +1 -1
  77. package/min/ui-solid-inspector/index.js.gz +0 -0
  78. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  79. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  80. package/min/ui-svelte-dom/index.js +1 -1
  81. package/min/ui-svelte-dom/index.js.gz +0 -0
  82. package/min/ui-svelte-dom/with-schemas/index.js +1 -1
  83. package/min/ui-svelte-dom/with-schemas/index.js.gz +0 -0
  84. package/min/ui-svelte-inspector/index.js +1 -1
  85. package/min/ui-svelte-inspector/index.js.gz +0 -0
  86. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  87. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  88. package/min/with-schemas/index.js +1 -1
  89. package/min/with-schemas/index.js.gz +0 -0
  90. package/omni/index.js +7 -4
  91. package/omni/with-schemas/index.js +7 -4
  92. package/package.json +50 -14
  93. package/persisters/persister-durable-object-sql-storage/index.js +13 -11
  94. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +13 -11
  95. package/persisters/persister-partykit-client/index.js +2 -1
  96. package/persisters/persister-partykit-client/with-schemas/index.js +2 -1
  97. package/persisters/persister-partykit-server/index.js +2 -1
  98. package/persisters/persister-partykit-server/with-schemas/index.js +2 -1
  99. package/queries/index.js +1 -1
  100. package/queries/with-schemas/index.js +1 -1
  101. package/readme.md +18 -14
  102. package/releases.md +91 -58
  103. package/synchronizers/index.js +3 -2
  104. package/synchronizers/synchronizer-broadcast-channel/index.js +3 -2
  105. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -2
  106. package/synchronizers/synchronizer-local/index.js +3 -2
  107. package/synchronizers/synchronizer-local/with-schemas/index.js +3 -2
  108. package/synchronizers/synchronizer-ws-client/index.js +3 -2
  109. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -2
  110. package/synchronizers/synchronizer-ws-server/index.js +3 -2
  111. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -2
  112. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -2
  113. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -2
  114. package/synchronizers/with-schemas/index.js +3 -2
  115. package/ui-react-dom/index.js +10 -7
  116. package/ui-react-dom/with-schemas/index.js +10 -7
  117. package/ui-react-dom-charts/index.js +1229 -0
  118. package/ui-react-dom-charts/with-schemas/index.js +1229 -0
  119. package/ui-react-inspector/index.js +16 -10
  120. package/ui-react-inspector/with-schemas/index.js +16 -10
  121. package/ui-solid-dom/index.js +10 -7
  122. package/ui-solid-dom/with-schemas/index.js +10 -7
  123. package/ui-solid-inspector/index.js +16 -10
  124. package/ui-solid-inspector/with-schemas/index.js +16 -10
  125. package/ui-svelte/index.js +5 -5
  126. package/ui-svelte/with-schemas/index.js +5 -5
  127. package/ui-svelte-dom/index.js +162 -164
  128. package/ui-svelte-dom/with-schemas/index.js +162 -164
  129. package/ui-svelte-inspector/index.js +192 -196
  130. package/ui-svelte-inspector/with-schemas/index.js +192 -196
  131. package/with-schemas/index.js +5 -3
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",R="Listener",I="Result",T="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),B=(e,t)=>e?.match(t),z=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=e=>(t,a,s)=>e(t)?s?.():a(t),K=globalThis,Z=K.window,ee=(e,t,a)=>setInterval(e,1e3*t),te=clearInterval,ae=(e,t=0)=>setTimeout(e,1e3*t),se=Math,ne=se.max,oe=se.min,re=se.floor,ie=isFinite,le=e=>null==e,ce=e=>void 0===e,de=e=>null===e,ue=e=>!0===e,ge=e=>!1===e,we=X(le),he=X(ce),ye=e=>e==g||e==w,fe=e=>l(e)==g,be=e=>l(e)==y,ve=e=>Array.isArray(e),Se=(e,t,a)=>e.slice(t,a),Ce=e=>e.length,pe=()=>{},me=()=>{},Re=e=>new Y(e),Ie=async e=>Y.all(e),Te=K.structuredClone,Le=e=>{throw Error(e)},Ee=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},De=(e,t)=>e.includes(t),Ne=(e,t)=>e.every(t),Me=(e,t)=>Ce(e)===Ce(t)&&Ne(e,(e,a)=>t[a]===e),Oe=(e,t)=>Ne(e,(a,s)=>0==s||t(e[s-1],a)<=0),Ae=(e,t)=>e.sort(t),Pe=(e,t)=>e.forEach(t),ke=(e,t=d)=>e.join(t),_e=(e,t)=>e.map(t),Ve=e=>xe(e,(e,t)=>e+t,0),$e=e=>0==Ce(e),xe=(e,t,a)=>e.reduce(t,a),We=(e,t)=>e.filter(t),He=(e,t)=>e.splice(0,t),Fe=(e,...t)=>e.push(...t),Je=e=>e.pop(),Ue=(e,...t)=>e.unshift(...t),je=e=>e.shift(),Ge=e=>t=>xe(Ke(t),(t,a)=>t+e(a),0),qe=e=>e?.size??0,Be=Ge(qe),ze=Ge(Be),Qe=Ge(ze),Ye=(e,t)=>e?.has(t)??!1,Xe=e=>ce(e)||0==qe(e),Ke=e=>[...e?.values()??[]],Ze=e=>e.clear(),et=(e,t)=>e?.forEach(t),tt=(e,t)=>e?.delete(t),at=Object,st=e=>at.getPrototypeOf(e),nt=at.isFrozen,ot=at.entries,rt=e=>!le(e)&&we(st(e),e=>e==at.prototype||le(st(e)),()=>!0),it=at.keys,lt=at.freeze,ct=(e=[])=>at.fromEntries(e),dt=(...e)=>at.assign({},...e),ut=(e,t)=>he(e,e=>e[t]),gt=(e,t)=>t in e,wt=(e,t)=>(delete e[t],e),ht=(e,t)=>Pe(ot(e),([e,a])=>t(a,e)),yt=(e,t)=>_e(ot(e),([e,a])=>t(a,e)),ft=(e,t)=>ct(yt(e,(e,a)=>[a,t(e,a)])),bt=e=>at.values(e),vt=e=>Ce(it(e)),St=e=>rt(e)&&0==vt(e),Ct=(e,t,a=(e,t)=>e===t)=>{const s=ot(e);return Ce(s)===vt(t)&&Ne(s,([e,s])=>rt(s)?!!rt(t[e])&&Ct(t[e],s,a):a(s,t[e]))},pt=(e,t,a)=>(gt(e,t)||(e[t]=a()),e[t]),mt=(e,t,a,s=0)=>le(e)||!rt(e)||!s&&St(e)||nt(e)?(a?.(),!1):(ht(e,(a,s)=>{t(a,s)||wt(e,s)}),!!s||!St(e)),Rt=Map,It=e=>new Rt(e),Tt=e=>[...e?.keys()??[]],Lt=(e,t)=>e?.get(t),Et=(e,t)=>et(e,(e,a)=>t(a,e)),Dt=(e,t)=>_e([...e?.entries()??[]],([e,a])=>t(a,e)),Nt=(e,t,a)=>ce(a)?(tt(e,t),e):e?.set(t,a),Mt=(e,t,a,s)=>(Ye(e,t)?s?.(Lt(e,t)):Nt(e,t,a()),Lt(e,t)),Ot=(e,t,a,s=Nt)=>(ft(t,(t,s)=>a(e,s,t)),Et(e,a=>gt(t,a)?0:s(e,a)),e),At=(e,t,a,s)=>{const n={};return et(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},Pt=(e,t,a)=>At(e,e=>At(e,t,a),Xe,St),kt=(e,t,a)=>At(e,e=>Pt(e,t,a),Xe,St),_t=(e,t)=>{const a=It();return et(e,(e,s)=>a.set(s,t?.(e)??e)),a},Vt=e=>_t(e,_t),$t=e=>_t(e,Vt),xt=(e,t,a,s,n=0)=>he((a?Mt:Lt)(e,t[n],n>Ce(t)-2?a:It),o=>{if(n>Ce(t)-2)return s?.(o)&&Nt(e,t[n]),o;const r=xt(o,t,a,s,n+1);return Xe(o)&&Nt(e,t[n]),r}),Wt=e=>new Set(ve(e)||ce(e)?e:[e]),Ht=(e,t)=>e?.add(t),Ft=(e,t,a,s,n)=>{const o=e.hasRow,r=It(),i=It(),l=It(),c=It(),d=It(),u=It(),g=t=>he(Lt(u,t),a=>{Pe(Ke(a),t=>{e.delListener(t),tt(a,t)}),Nt(u,t)}),w=(e,a)=>{Nt(r,e,a),Ye(i,e)||(Nt(i,e,t()),Nt(c,e,It()),Nt(d,e,It()),n(l))},h=e=>{Nt(r,e),Nt(i,e),Nt(c,e),Nt(d,e),g(e),n(l)};return[()=>e,()=>Tt(r),e=>Et(i,e),e=>Ye(i,e),e=>Lt(r,e),e=>Lt(i,e),(e,t)=>Nt(i,e,t),w,(t,s,n,r,i)=>{w(t,s);const l=It(),h=It(),y=Lt(c,t),f=Lt(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Lt(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||ve(c)&&ve(d)&&Me(c,d)||Nt(l,t,[c,d]),!ce(i)){const e=Lt(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&Nt(h,t,a)}},v=e=>{n(()=>{et(l,([,e],t)=>Nt(y,t,e)),et(h,(e,t)=>Nt(f,t,e))},l,h,y,f,e),Ze(l),Ze(h)};Et(y,b),e.hasTable(s)&&Pe(e.getRowIds(s),e=>{Ye(y,e)||b(e)}),v(!0),g(t),((e,...t)=>{const a=Mt(u,e,Wt);Pe(t,e=>Ht(a,e))})(t,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},h,e=>s(e,l),()=>Et(u,h)]},Jt=(e,t)=>fe(e)?t=>t(e):e??(()=>t??d),Ut=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},jt=/^\d+$/,Gt=()=>{const e=[];let t=0;return[a=>(a?je(e):null)??d+t++,t=>{jt.test(t)&&Ce(e)<1e3&&Fe(e,t)}]},qt=e=>{let t;const[a,s]=Gt(),n=It();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return Nt(n,c,[s,o,r,i,l]),Ht(xt(o,r??[d],Wt),c),c},(e,a,...s)=>Pe(((e,t=[d])=>{const a=[],s=(e,n)=>n==Ce(t)?Fe(a,e):de(t[n])?et(e,e=>s(e,n+1)):Pe([t[n],null],t=>s(Lt(e,t),n+1));return s(e,0),a})(e,a),e=>et(e,e=>Lt(n,e)[0](t,...a??[],...s))),e=>he(Lt(n,e),([,t,a])=>(xt(t,a??[d],void 0,t=>(tt(t,e),Xe(t)?1:0)),Nt(n,e),s(e),a)),e=>he(Lt(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=Ce(r);i==Ce(a)?e(t,...r,...n(r)):de(a[i])?Pe(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},Bt=Ut(e=>{let t,a,s,n=100,o=It(),r=It(),i=1;const l=It(),c=It(),[u,g,w]=qt(()=>P),h=It(),y=It(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Lt(h,a);et(s,(a,s)=>et(a,(a,n)=>et(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),et(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{Nt(h,e),Nt(y,e),g(c,[e])},C=(e,t)=>Pe(He(e,t??Ce(e)),S),p=()=>C(f,Ce(f)-n),m=()=>he(t,()=>{Fe(f,t),p(),C(b),t=void 0,s=1}),R=()=>{t=Je(f),s=1};let I,T;const L=(e=d)=>(ce(t)&&(t=d+a++,Nt(h,t,[o,r]),O(t,e),o=It(),r=It(),s=1),t),E=()=>{$e(f)||(Ue(b,L()),v(0,t),t=Je(f),s=1)},D=()=>{$e(b)||(Fe(f,t),t=je(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Lt(y,e)!==t&&(Nt(y,e,t),g(c,[e])),P),A=e=>Ye(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Et(y,e),hasCheckpoint:A,getCheckpoint:e=>Lt(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=De(f,e)?E:De(b,e)?D:void 0;for(;!ce(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ce(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>($e(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(I),e.delListener(T)},getListenerStats:()=>({checkpointIds:Be(l),checkpoint:Be(c)}),_registerListeners:()=>{I=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=Mt(o,t,It),i=Mt(e,a,It),l=Mt(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&Xe(Nt(i,s))&&Xe(Nt(e,a))&&Xe(Nt(o,t))&&R(),N()}}),T=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=Mt(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&Xe(Nt(r,t))&&R(),N()}})}};return lt(P.clear())},e=>e._registerListeners()),zt=z("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Qt=It(_e(zt,(e,t)=>[e,t])),Yt=e=>zt[63&e],Xt=(e,t)=>Lt(Qt,e[t])??0,Kt=K.crypto?e=>K.crypto.getRandomValues(e):e=>_e(e,()=>re(256*se.random())),Zt=(e=16)=>xe(Kt(new Uint8Array(e)),(e,t)=>e+Yt(t),d),ea=JSON.stringify,ta=JSON.parse,aa=e=>ea(e,(e,t)=>t instanceof Map?at.fromEntries([...t]):t),sa=e=>ea(e,(e,t)=>ce(t)?"":t),na=e=>oa(ta(e)),oa=e=>""===e?void 0:ve(e)?_e(e,oa):rt(e)?ft(e,oa):e,ra=new K.TextEncoder,ia=e=>{let t=2166136261;return Pe(ra.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},la=(e,t)=>(e^t)>>>0,ca=e=>xe(ot(e),(e,[t,a])=>la(e,da(t,a)^da(t,0)),0),da=(e,t)=>ia(e+":"+t),ua=(e,t)=>ia(aa(e??null)+":"+t),ga=ua,wa=da,ha=ca,ya=da,fa=e=>xe(ot(e),(e,[t,a])=>la(e,da(t,a)),0),ba=da,va=fa,Sa=2**36,Ca=2**30,pa=2**24,ma=2**18,Ra=4096,Ia=e=>{const t=ia(e);return Yt(t/pa)+Yt(t/ma)+Yt(t/Ra)+Yt(t/64)+Yt(t)},Ta=(e,t=Date.now)=>{let a=0,s=-1;const n=he(e,Ia,()=>Zt(5)),o=e=>{const n=a,[o,r]=ce(e)||""==e?[0,0]:i(e);a=ne(n,o,t()),s=a==n?a==o?ne(s,r):s:a==o?r:-1},r=(e,t,a)=>Yt(e/Sa)+Yt(e/Ca)+Yt(e/pa)+Yt(e/ma)+Yt(e/Ra)+Yt(e/64)+Yt(e)+Yt(t/ma)+Yt(t/Ra)+Yt(t/64)+Yt(t)+(ce(a)?n:Ia(a)),i=e=>[Xt(e,0)*Sa+Xt(e,1)*Ca+Xt(e,2)*pa+Xt(e,3)*ma+Xt(e,4)*Ra+64*Xt(e,5)+Xt(e,6),Xt(e,7)*ma+Xt(e,8)*Ra+64*Xt(e,9)+Xt(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},La=(e,t)=>(e??0)<(t??0)?-1:1,Ea=Ut(e=>{const t=It(),a=It(),[s,n,o]=qt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=Ft(e,It,e=>ce(e)?d:ve(e)?_e(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);et(s,(t,s)=>a(s,a=>et(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=La)=>{const c=ce(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Wt(),b=Wt(),v=g(e);if(et(o,([e,t],a)=>{const s=Wt(e),n=Wt(t);et(s,e=>tt(n,e)?tt(s,e):0),et(s,e=>{Ht(f,e),he(Lt(v,e),t=>{tt(t,a),Xe(t)&&(Nt(v,e),y=1)})}),et(n,e=>{Ht(f,e),Ye(v,e)||(Nt(v,e,Wt()),y=1),Ht(Lt(v,e),a),ce(r)||Ht(b,e)})}),s(),Xe(u)||(h?Et(v,e=>Ht(b,e)):Et(i,e=>he(Lt(d,e),e=>Pe(ve(e)?e:[e],e=>Ht(b,e)))),et(b,e=>{const t=(t,a)=>l(Lt(u,t),Lt(u,a),e),a=[...Lt(v,e)];Oe(a,t)||(Nt(v,e,Wt(Ae(a,t))),Ht(f,e))})),(y||h)&&!ce(c)){const t=[...v];Oe(t,c)||(w(e,It(Ae(t,c))),y=1)}y&&n(t,[e]),et(f,t=>n(a,[e,t]))},Jt(o),he(r,Jt)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ye(g(e),t),getTableId:u,getSliceIds:e=>Tt(g(e)),getSliceRowIds:(e,t)=>Ke(Lt(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:Be(t),sliceRowIds:ze(a)})};return lt(S)}),Da=e=>{if(de(e))return"null";if(ve(e))return b;if(rt(e))return f;const t=l(e);return ye(t)||t==h&&ie(e)?t:void 0},Na=e=>ce(e)||!ce(Da(e)),Ma=e=>e==f||e==b,Oa=e=>rt(e)||ve(e)?"�"+ea(e):e,Aa=e=>fe(e)&&"�"==e[0],Pa=(e,t,a)=>!a&&Aa(e)?ta(Se(e,1)):e,ka=([e,t])=>_a(e,t),_a=(e,t)=>t?[e,t]:[e],Va=(e,t,a)=>[e,t,a],$a=e=>e[2],xa=(e,t)=>t>e?(e?ia(e):0)^ia(t):0,Wa=(e,t)=>((e??"")>(t??"")?e:t)??"",Ha=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},Fa=(e=d)=>_a(ct(),e),Ja=(e=d)=>[It(),e,0],Ua=([e,t,a],s)=>[At(e,s),t,a],ja=([e,t],a=ka)=>_a(At(e,a),t),Ga=(e,t)=>ve(e)&&3==Ce(e)&&fe(e[1])&&l(e[2])==h&&ie(e[2])&&t(e[0]),qa=e=>[e,e],Ba=(e,t=Be)=>t(e[0])+t(e[1]),za=()=>[It(),It()],Qa=e=>[...e],Ya=([e,t])=>e===t,Xa=(e,t,a)=>Nt(e,t,Lt(e,t)==-a?void 0:a),Ka=([e,t],[a,s])=>Ct(e,a)&&Ct(t,s),Za=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=It(),c=It(),d=It(),u=It(),g=It(),w=It(),y=It(),f=It(),b=It(),v=It(),m=It(),I=It(),E=It(),k=It(),H=Wt(),F=It(),J=It(),U=It(),G=It(),q=za(),B=za(),z=za(),Q=za(),Y=za(),X=za(),K=za(),Z=za(),ee=za(),te=za(),ae=za(),se=za(),ne=za(),oe=za(),re=za(),ie=za(),le=za(),ue=za(),ge=za(),we=za(),fe=za(),Ce=za(),pe=It(),me=za(),[Re,Ie,Le,Ne]=qt(()=>is),Oe=e=>{const t=i;i=1;const a=e();return i=t,a},ke=(e,t,a,s=Object.is)=>he(t(),t=>e===t||s(e,t)?a(t):Oe(()=>a(t))),Ve=e=>{if(!mt(e,(e,t)=>De([S,C,p],t)))return!1;const t=e[S];if(!ye(t)&&t!=h&&!Ma(t))return!1;const a=e[C];return!(de(a)&&!e[p]||(de(a)||(Da(a)!=t?wt(e,C):e[C]=Oa(a)),0))},$e=ve,xe=(t,a)=>(!e||Ye(m,a)||Xt(a))&&mt(t,(e,t)=>We(a,t,e),()=>Xt(a)),We=(e,t,a,s)=>mt(s?a:je(a,e,t),(s,n)=>he(He(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Xt(e,t)),He=(t,a,s,n)=>e?he(Lt(Lt(m,t),s),e=>de(n)?e[p]?n:Xt(t,a,s,n,e[C]):Da(n)===e[S]?Oa(n):Ma(e[S])&&Aa(n)?n:Xt(t,a,s,n,e[C]),()=>Xt(t,a,s,n)):ce(Da(n))?Xt(t,a,s,n):Oa(n),Je=(e,t)=>mt(t?e:Ge(e),(t,a)=>he(Ue(a,t),t=>(e[a]=t,!0),()=>!1),()=>Kt()),Ue=(e,a)=>t?he(Lt(E,e),t=>de(a)?t[p]?a:Kt(e,a,t[C]):Da(a)===t[S]?Oa(a):Ma(t[S])&&Aa(a)?a:Kt(e,a,t[C]),()=>Kt(e,a)):ce(Da(a))?Kt(e,a):Oa(a),je=(e,t,a)=>(he(Lt(I,t),([s,n])=>{et(s,(t,a)=>{gt(e,a)||(e[a]=t)}),et(n,s=>{gt(e,s)||Xt(t,a,s)})}),e),Ge=e=>(t&&(et(k,(t,a)=>{gt(e,a)||(e[a]=t)}),et(H,t=>{gt(e,t)||Kt(t)})),e),Ke=e=>Ot(m,e,(e,t,a)=>{const s=It(),n=Wt();Ot(Mt(m,t,It),a,(e,t,a)=>{Nt(e,t,a),he(a[C],e=>Nt(s,t,e),()=>Ht(n,t))}),Nt(I,t,[s,n])},(e,t)=>{Nt(m,t),Nt(I,t)}),at=e=>Ot(E,e,(e,t,a)=>{Nt(E,t,a),he(a[C],e=>Nt(k,t,e),()=>Ht(H,t))},(e,t)=>{Nt(E,t),Nt(k,t),tt(H,t)}),st=e=>St(e)?Ja():_a(e),nt=(e,t,a,s,n,o)=>ce(s)?Ga(e,t,a,!0,n):Va(e,t,a,s,n,o),ot=e=>St(e)?es():$a(e),it=(e,t,a)=>ce(t)?ts(e,a):xa(e,t,a),ct=(e,t)=>ke(e,()=>t?e:he(o[1],t=>Oe(()=>t(Te(e))),()=>e),e=>Ot(U,e,(e,t,a)=>dt(t,a),(e,t)=>Rt(t)),Ct),dt=(e,t,a)=>ke(t,()=>a?t:he(o[2],a=>Oe(()=>a(e,Te(t))),()=>t),t=>Ot(Mt(U,e,()=>(Ut(e,1),Nt(F,e,Gt()),Nt(J,e,It()),It())),t,(t,a,s)=>ut(e,t,a,s),(t,a)=>xt(e,t,a)),Ct),ut=(e,t,a,s,n)=>ke(s,()=>n?s:he(o[3],t=>Oe(()=>t(e,a,Te(s))),()=>s),s=>Ot(Mt(t,a,()=>(jt(e,a,1),It())),s,(t,s,n)=>ht(e,a,t,s,n),(s,o)=>Ft(e,t,a,s,o,n)),Ct),ht=(e,t,a,s,n,r)=>ke(n,()=>he(r?void 0:o[4],a=>Oe(()=>a(e,t,s,n)),()=>n),n=>{Ye(a,s)||Bt(e,t,s,1);const o=Lt(a,s);n!==o&&(zt(e,t,s,o,n),Nt(a,s,n))}),yt=(e,t,a,s,n,o)=>he(Lt(t,a),t=>ht(e,a,t,s,n,o),()=>{const r=It();Nt(t,a,r),jt(e,a,1),ft(je({[s]:n},e,a),(t,s)=>ht(e,a,r,s,t,o))}),bt=(e,t)=>ke(e,()=>t?e:he(o[5],t=>Oe(()=>t(Te(e))),()=>e),e=>Ot(G,e,(e,t,a)=>vt(t,a),(e,t)=>Jt(t)),Ct),vt=(e,t,a)=>ke(t,()=>he(a?void 0:o[6],a=>Oe(()=>a(e,t)),()=>t),t=>{Ye(G,e)||Qt(e,1);const a=Lt(G,e);t!==a&&(Yt(e,a,t),Nt(G,e,t))}),pt=e=>Mt(U,e,()=>(Ut(e,1),Nt(F,e,Gt()),Nt(J,e,It()),It())),Rt=e=>Oe(()=>o[8]?.(e))??1?dt(e,{},!0):Lt(U,e),xt=(e,t,a)=>{if(Oe(()=>o[9]?.(e,a))??1){const[,s]=Lt(F,e);s(a),ut(e,t,a,{},!0)}},Ft=(e,t,a,s,n,r,i)=>{const l=Lt(Lt(I,e)?.[0],n);if(!ce(l)&&!r)return ht(e,a,s,n,l);if(i||(Oe(()=>o[10]?.(e,a,n))??1)){const o=t=>{zt(e,a,t,Lt(s,t)),Bt(e,a,t,-1),Nt(s,t)};ce(l)?o(n):Et(s,o),Xe(s)&&(jt(e,a,-1),Xe(Nt(t,a))&&(Ut(e,-1),Nt(U,e),Nt(F,e),Nt(J,e)))}},Jt=(e,t)=>{const a=Lt(k,e);if(!ce(a))return vt(e,a);(t||(Oe(()=>o[12]?.(e))??1))&&(Yt(e,Lt(G,e)),Qt(e,-1),Nt(G,e))},Ut=(e,t)=>Xa(l,e,t),jt=(e,t,a)=>Xa(Mt(u,e,It),t,a)&&Nt(d,e,Mt(d,e,()=>0)+a),Bt=(e,t,a,s)=>{const n=Lt(J,e),o=Lt(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&Xa(Mt(c,e,It),a,s),Nt(n,a,o!=-s?o+s:void 0),Xa(Mt(Mt(g,e,It),t,It),a,s)},zt=(e,t,a,s,n)=>{Mt(Mt(Mt(w,e,It),t,It),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i)},Qt=(e,t)=>Xa(y,e,t),Yt=(e,t,a)=>{Mt(f,e,()=>[t,0])[1]=a,r[4]?.(e,a,i)},Xt=(e,t,a,s,n)=>(Fe(Mt(Mt(Mt(b,e,It),t,It),a,()=>[]),s),n),Kt=(e,t,a)=>(Fe(Mt(v,e,()=>[]),t),a),Zt=(e,t,a)=>he(Lt(Lt(Lt(w,e),t),a),([e,t])=>[!0,Pa(e),Pa(t)],()=>[!1,...qa(va(e,t,a))]),ea=e=>he(Lt(f,e),([e,t])=>[!0,Pa(e),Pa(t)],()=>[!1,...qa(pa(e))]),sa=e=>Xe(b)||Xe(ie[e])?0:et(e?$t(b):b,(t,a)=>et(t,(t,s)=>et(t,(t,n)=>Ie(ie[e],[a,s,n],t)))),na=e=>Xe(v)||Xe(le[e])?0:et(e?_t(v):v,(t,a)=>Ie(le[e],[a],t)),oa=(e,t,a,s)=>{if(!Xe(e))return Ie(t,s,()=>At(e)),Et(e,(e,t)=>Ie(a,[...s??[],e],1==t)),1},ra=e=>{const t=!Xe(q[e]),s=!Xe(te[e]),n=!(Xe(ne[e])&&Xe(oe[e])&&Xe(ee[e])&&Xe(ae[e])&&Xe(X[e])&&Xe(K[e])&&Xe(Z[e])&&!s&&Xe(z[e])&&Xe(Q[e])),o=!(Xe(re[e])&&Xe(se[e])&&Xe(Y[e])&&Xe(B[e]));if(t||n||o){const i=e?[_t(l),Vt(c),_t(d),Vt(u),$t(g),(r=w,_t(r,e=>_t(e,e=>_t(e,Qa))))]:[l,c,d,u,g,w];if(t){const t=ma();t!=a&&Ie(q[e],void 0,t)}if(n){oa(i[0],z[e],Q[e]),et(i[1],(t,a)=>oa(t,X[e],K[e],[a])),et(i[2],(t,a)=>{0!=t&&Ie(Z[e],[a],ha(a))});const t=Wt();et(i[3],(a,n)=>{oa(a,ee[e],ae[e],[n])&&s&&(Ie(te[e],[n,null]),Ht(t,n))}),s&&et(i[5],(a,s)=>{if(!Ye(t,s)){const t=Wt();et(a,e=>et(e,([a,s],n)=>s!==a?Ht(t,n):tt(e,n))),et(t,t=>Ie(te[e],[s,t]))}}),et(i[4],(t,a)=>et(t,(t,s)=>oa(t,ne[e],oe[e],[a,s])))}if(o){let t;et(i[5],(a,s)=>{let n;et(a,(a,o)=>{let r;et(a,([a,i],l)=>{i!==a&&(Ie(re[e],[s,o,l],Pa(i),Pa(a),Zt),t=n=r=1)}),r&&Ie(se[e],[s,o],Zt)}),n&&Ie(Y[e],[s],Zt)}),t&&Ie(B[e],void 0,Zt)}}var r},ia=e=>{const t=!Xe(ue[e]),a=!Xe(we[e])||!Xe(fe[e]),n=!Xe(Ce[e])||!Xe(ge[e]);if(t||a||n){const o=e?[_t(y),_t(f,Qa)]:[y,f];if(t){const t=Na();t!=s&&Ie(ue[e],void 0,t)}if(a&&oa(o[0],we[e],fe[e]),n){let t;et(o[1],([a,s],n)=>{s!==a&&(Ie(Ce[e],[n],Pa(s),Pa(a),ea),t=1)}),t&&Ie(ge[e],void 0,ea)}}},la=(e,...t)=>(ns(()=>e(..._e(t,j))),is),ca=(e,t,a,s,n)=>{let o=fa(e,t,...a);return Re(()=>{const n=fa(e,t,...a);Me(n,o)||(o=n,s(is,e,t,...a,o))},te[n?1:0],[e,t],[ga])},da=(e=!1)=>[At(w,(t,a)=>-1===Lt(l,a)?void 0:At(t,(t,s)=>-1===Lt(Lt(u,a),s)?void 0:At(t,([,t])=>Pa(t,0,e),e=>Ya(e)),Xe,St),Xe,St),At(f,([,t])=>Pa(t,0,e),e=>Ya(e)),1],ua=()=>kt(U,Pa),ga=()=>Tt(U),wa=e=>Tt(Lt(J,j(e))),ha=e=>qe(Lt(U,j(e))),ya=e=>Tt(Lt(U,j(e))),fa=(e,t,a,s=0,n)=>rt(e)?fa(e.tableId,e.cellId,e.descending,e.offset,e.limit):_e(Se(Ae(Dt(Lt(U,j(e)),(e,a)=>[ce(t)?a:Lt(e,j(t)),a]),([e],[t])=>La(e,t)*(a?-1:1)),s,ce(n)?n:s+n),([,e])=>e),ba=(e,t)=>Tt(Lt(Lt(U,j(e)),j(t))),va=(e,t,a)=>Pa(Lt(Lt(Lt(U,j(e)),j(t)),j(a))),Sa=()=>At(G,Pa),Ca=()=>Tt(G),pa=e=>Pa(Lt(G,j(e))),ma=()=>!Xe(U),Ra=e=>Ye(U,j(e)),Ia=(e,t)=>Ye(Lt(J,j(e)),j(t)),Ta=(e,t)=>Ye(Lt(U,j(e)),j(t)),Ea=(e,t,a)=>Ye(Lt(Lt(U,j(e)),j(t)),j(a)),Na=()=>!Xe(G),ka=e=>Ye(G,j(e)),_a=e=>la(()=>(e=>mt(e,xe,Xt))(e)?ct(e):0),Va=(e,t,a,s,n,r)=>la((e,t,a)=>he(He(e,t,a,be(s)?s(va(e,t,a)):s),s=>{const i=pt(e);he(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Lt(i,t),l={...r?At(r):{},[a]:s};he(Oe(()=>o(e,t,Te(l))),a=>((e,t,a,s,n)=>{Ot(Mt(t,a,()=>(jt(e,a,1),It())),s,(t,s,o)=>he(He(e,a,s,o),o=>ht(e,a,t,s,o,n)),(s,n)=>Ft(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>yt(e,i,t,a,s,n))}),e,t,a),$a=e=>la(()=>Je(e)?bt(e):0),xa=(e,t,a)=>la(e=>he(Ue(e,be(t)?t(pa(e)):t),t=>vt(e,t,a)),e),Wa=e=>(Ee(()=>st(ta(e))),is),Ha=t=>la(()=>{if((e=mt(t,e=>mt(e,Ve)))&&(Ke(t),!Xe(U))){const e=ua();Ja(),_a(e)}}),Fa=e=>la(()=>{if(t=(e=>mt(e,Ve))(e)){const a=Sa();ss(),es(),t=!0,at(e),$a(a)}}),Ja=()=>la(()=>Oe(()=>o[7]?.())??1?ct({},!0):0),Ua=e=>la(e=>Ye(U,e)?Rt(e):0,e),ja=(e,t)=>la((e,t)=>he(Lt(U,e),a=>Ye(a,t)?xt(e,a,t):0),e,t),Ga=(e,t,a,s,n)=>la((e,t,a)=>he(Lt(U,e),o=>he(Lt(o,t),r=>Ye(r,a)?Ft(e,o,t,r,a,s,n):0)),e,t,a),es=()=>la(()=>Oe(()=>o[11]?.())??1?bt({},!0):0),ts=(e,t)=>la(e=>Ye(G,e)?Jt(e,t):0,e),as=()=>la(()=>{Ke({}),e=!1}),ss=()=>la(()=>{at({}),t=!1}),ns=(e,t)=>{if(-1!=n){os();const a=e();return rs(t),a}},os=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Ie(pe)),is),rs=e=>(n>0&&(n--,0==n&&(n=1,Oe(()=>{sa(1),Xe(w)||ra(1),na(1),Xe(f)||ia(1)}),e?.(is)&&(et(w,(e,t)=>et(e,(e,a)=>et(e,([e],s)=>nt(t,a,s,e,!0)))),Ze(w),et(f,([e],t)=>it(t,e,!0)),Ze(f)),Ie(me[0],void 0),n=-1,sa(0),Xe(w)||ra(0),na(0),Xe(f)||ia(0),r[1]?.(),Ie(me[1],void 0),r[2]?.(),n=0,a=ma(),s=Na(),Pe([l,c,d,u,g,w,b,y,f,v],Ze))),is),is={getContent:()=>[ua(),Sa()],getTables:ua,getTableIds:ga,getTable:e=>Pt(Lt(U,j(e)),Pa),getTableCellIds:wa,getRowCount:ha,getRowIds:ya,getSortedRowIds:fa,getRow:(e,t)=>At(Lt(Lt(U,j(e)),j(t)),Pa),getCellIds:ba,getCell:va,getValues:Sa,getValueIds:Ca,getValue:pa,hasTables:ma,hasTable:Ra,hasTableCell:Ia,hasRow:Ta,hasCell:Ea,hasValues:Na,hasValue:ka,getTablesJson:()=>aa(U),getValuesJson:()=>aa(G),getJson:()=>aa([U,G]),getTablesSchemaJson:()=>aa(m),getValuesSchemaJson:()=>aa(E),getSchemaJson:()=>aa([m,E]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>la(()=>{const t=be(e)?e():e;$e(t)&&(e=>{ke(e,()=>he(o[0],t=>Oe(()=>t(Te(e))),()=>e),([e,t])=>{(St(e)?Ja:_a)(e),(St(t)?es:$a)(t)},Ka)})(t)}),setTables:_a,setTable:(e,t)=>la(e=>xe(t,e)?dt(e,t):0,e),setRow:(e,t,a)=>la((e,t)=>We(e,t,a)?ut(e,pt(e),t,a):0,e,t),addRow:(e,t,a=!0)=>ns(()=>{let s;return We(e,s,t)&&(e=j(e),ut(e,pt(e),s=((e,t)=>{const[a]=Lt(F,e);let s;do{s=a(t)}while(Ye(Lt(U,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>la((e,t)=>{if(We(e,t,a,1)){const s=pt(e);ft(a,(a,n)=>yt(e,s,t,n,a))}},e,t),setCell:Va,setValues:$a,setPartialValues:e=>la(()=>Je(e,1)?ft(e,(e,t)=>vt(t,e)):0),setValue:xa,applyChanges:e=>la(()=>ke(e,()=>he(o[13],t=>Oe(()=>t(Te(e))),()=>e),e=>{ft(e[0],(e,t)=>ce(e)?Ua(t):ft(e,(e,a)=>ce(e)?ja(t,a):ft(e,(e,s)=>nt(t,a,s,e,void 0,!0)))),ft(e[1],(e,t)=>it(t,e))},Ka)),setTablesJson:Wa,setValuesJson:e=>(Ee(()=>ot(ta(e))),is),setJson:e=>la(()=>Ee(()=>{const[t,a]=ta(e);st(t),ot(a)},()=>Wa(e))),setTablesSchema:Ha,setValuesSchema:Fa,setSchema:(e,t)=>la(()=>{Ha(e),Fa(t)}),delTables:Ja,delTable:Ua,delRow:ja,delCell:Ga,delValues:es,delValue:ts,delTablesSchema:as,delValuesSchema:ss,delSchema:()=>la(()=>{as(),ss()}),transaction:ns,startTransaction:os,getTransactionChanges:()=>da(),getTransactionLog:()=>[!Xe(w),!Xe(f),kt(w,Qa,Ya),kt(b),At(f,Qa,Ya),At(v),At(l),Pt(u),kt(g),At(y)],finishTransaction:rs,forEachTable:e=>et(U,(t,a)=>e(a,e=>et(t,(t,a)=>e(a,e=>Et(t,(t,a)=>e(t,Pa(a))))))),forEachTableCell:(e,t)=>Et(Lt(J,j(e)),t),forEachRow:(e,t)=>et(Lt(U,j(e)),(e,a)=>t(a,t=>Et(e,(e,a)=>t(e,Pa(a))))),forEachCell:(e,t,a)=>Et(Lt(Lt(U,j(e)),j(t)),(e,t)=>a(e,Pa(t))),forEachValue:e=>Et(G,(t,a)=>e(t,Pa(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>rt(e)?ca(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ca(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Re(e,pe),addWillFinishTransactionListener:e=>Re(e,me[0]),addDidFinishTransactionListener:e=>Re(e,me[1]),callListener:e=>(Ne(e),is),delListener:e=>(Le(e),is),getListenerStats:()=>({hasTables:Ba(q),tables:Ba(B),tableIds:Ba(z),hasTable:Ba(Q),table:Ba(Y),tableCellIds:Ba(X),hasTableCell:Ba(K,ze),rowCount:Ba(Z),rowIds:Ba(ee),sortedRowIds:Ba(te),hasRow:Ba(ae,ze),row:Ba(se,ze),cellIds:Ba(ne,ze),hasCell:Ba(oe,Qe),cell:Ba(re,Qe),invalidCell:Ba(ie,Qe),hasValues:Ba(ue),values:Ba(ge),valueIds:Ba(we),hasValue:Ba(fe),value:Ba(Ce),invalidValue:Ba(le),transaction:Be(pe)+Ba(me)}),isMergeable:()=>!1,_:[Za,Re,Ie,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],nt,it,()=>[kt(U),At(G)],()=>da(!0)]};return ft({[L+N]:[0,q,[],()=>[ma()]],[N]:[0,B],[M]:[0,z],[L+D]:[1,Q,[ga],e=>[Ra(...e)]],[D]:[1,Y,[ga]],[D+V]:[1,X,[ga]],[L+D+_]:[2,K,[ga,wa],e=>[Ia(...e)]],[A]:[1,Z,[ga]],[P]:[1,ee,[ga]],[L+O]:[2,ae,[ga,ya],e=>[Ta(...e)]],[O]:[2,se,[ga,ya]],[V]:[2,ne,[ga,ya]],[L+_]:[3,oe,[ga,ya,ba],e=>[Ea(...e)]],[_]:[3,re,[ga,ya,ba],e=>qa(va(...e))],InvalidCell:[3,ie],[L+x]:[0,ue,[],()=>[Na()]],[x]:[0,ge],[W]:[0,we],[L+$]:[1,fe,[Ca],e=>[ka(...e)]],[$]:[1,Ce,[Ca],e=>qa(pa(e[0]))],InvalidValue:[1,le]},([e,t,a,s],n)=>{is[T+n+R]=(...n)=>Re(n[e],t[n[e+1]?1:0],e>0?Se(n,0,e):void 0,a,s)}),lt(is)},es={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ts=(e=d)=>[Ja(e),Ja(e)],as=(e,t)=>{let a=1,s=ts(),n=0,o=0;const r=It(),i=Wt(),[l,c]=Ta(e,t),u=Za(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;ht(o,([e,s=d,n=0],o)=>{const r=Mt(w,o,Ja),[i,l,c]=r;let u=t?n:c,g=s;ht(e,(e,s)=>{const[n,r,l]=h(e,Mt(i,s,Ja),pt(pt(a,o,ct),s,ct),t);u^=t?0:la(r?da(s,r):0,da(s,l)),g=Wa(g,n)}),u^=t?0:xa(l,s),Ha(r,s,u),b^=t?0:la(c?da(o,c):0,da(o,r[2])),v=Wa(v,g)}),b^=t?0:xa(y,r),Ha(u,r,b);const[S]=h(l,g,n,t);return c(Wa(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return ht(n,([e,t=d,n=0],o)=>{const r=Mt(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Ha(r,t,s?n:ua(e,t)),r[0]=e,a[o]=e,g^=s?0:la(da(o,c),da(o,r[2])),u=Wa(u,t))}),g^=s?0:xa(l,o),Ha(t,o,g),[u,c,t[2]]},y=me,f=me,b=(e=!1)=>[Ua(s[0],t=>Ua(t,t=>Ua(t,([t,a,s])=>[Pa(t,0,e),a,s]))),Ua(s[1],([t,a,s])=>[Pa(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?Va:_a,g={};et(r,(e,s)=>he(Lt(a,s),([a,n,o])=>{const r={};et(e,(e,s)=>he(Lt(a,s),([a,n,o])=>{const i={};et(e,e=>{he(Lt(a,e),([a,s,n])=>i[e]=u(t?a:Pa(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return et(i,e=>he(Lt(l,e),([a,s,n])=>w[e]=u(t?a:Pa(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>At(s[0][0],$a),getMergeableTableDiff:e=>{const t=Fa(s[0][1]),a={};return Et(s[0][0],(s,[n,o,r])=>gt(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=ja([n,o],e=>ja(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return ht(e,(e,a)=>he(Lt(s[0][0],a),([s,,n])=>n!=e?Et(s,(e,[,,s])=>pt(t,a,ct)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=Fa(s[0][1]),a={};return ht(e,(e,n)=>Et(Lt(s[0][0],n)?.[0],(s,[o,r,i])=>gt(e,s)?i!==e[s]?pt(a,n,ct)[s]=i:0:pt(t[0],n,Fa)[0][s]=ja([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return ht(e,(e,a)=>he(Lt(s[0][0],a),([s])=>ht(e,(e,n)=>he(Lt(s,n),([s,,o])=>o!==e?Et(s,(e,[,,s])=>pt(pt(t,a,ct),n,ct)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return ht(e,(e,a)=>ht(e,(e,s)=>he(Lt(t,a),([t,o])=>he(Lt(t,s),([t,r])=>Et(t,(t,[i,l,c])=>c!==e[t]?pt(pt(n,a,()=>Fa(o))[0],s,()=>Fa(r))[0][t]=[i,l]:0))))),_a(n,a)},getMergeableValueHashes:()=>At(s[1][0],$a),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=At(t,ka,([,,t],a)=>t==e?.[a]);return _a(n,a)},setMergeableContent:e=>g(()=>(e=>ve(e)&&2==Ce(e)&&Ga(e[0],e=>mt(e,e=>Ga(e,e=>mt(e,e=>Ga(e,e=>mt(e,e=>Ga(e,Na),void 0,1)),void 0,1)),void 0,1))&&Ga(e[1],e=>mt(e,e=>Ga(e,Na),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=ts(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{Ze(r),Ze(i)},(e,t,s,i,c)=>{Ht(Mt(Mt(r,e,It),t,Wt),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n?d:l()]}]}]}],[{}],1]))},(e,t,s)=>{Ht(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n?d:l()]}],1]))}),ft(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+R||"use"==t?(...t)=>(e(...t),p):G(t,T)&&q(t,R)?(...a)=>{const s=es[Se(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),lt(p)},ss=It([["avg",[(e,t)=>Ve(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>ne(...e),(e,t)=>ne(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:ne(t,e)]],["min",[e=>oe(...e),(e,t)=>oe(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:oe(t,e)]],["sum",[e=>Ve(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),ns=(e,t,a,s,n,o=!1)=>{if(Xe(a))return;const[r,i,l,c]=n;return o||=ce(e),et(s,([a,s])=>{o||(e=ce(a)?i?.(e,s,t++):ce(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ce(e))}),o?r(Ke(a),qe(a)):e},os=Ut(e=>{const t=It(),[a,s,n]=qt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=Ft(e,pe,e=>isNaN(e)||ce(e)||ue(e)||ge(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=be(n)?[n,r,i,l]:Lt(ss,n)??Lt(ss,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=qe(r);l||=ce(d),a();let h=ns(d,w,r,n,c,l);ie(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},Jt(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:Be(t)})};return lt(b)}),rs=(e,t,...a)=>xe(e,(e,t)=>ce(e)?e:t(...a,e),t),is=(e,...t)=>Ne(e,e=>e(...t)),ls=Ut(e=>{const t=e=>t=>(Fe(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),R=t(c),I=t(d),T=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=lt({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:R,addWillDelTableCallback:I,addWillDelRowCallback:T,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>rs(a,e),e=>rs(s,e),(e,t)=>rs(n,t,e),(e,t,a)=>rs(o,a,e,t),(e,t,a,s)=>rs(r,s,e,t,a),e=>rs(i,e),(e,t)=>rs(l,t,e),()=>is(c),e=>is(d,e),(e,t)=>is(u,e,t),(e,t,a)=>is(g,e,t,a),()=>is(w),e=>is(h,e),e=>rs(y,e),()=>o.length>0),M}),cs={Idle:0,Loading:1,Saving:2},ds={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},us=It(),gs=It(),ws=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;Mt(us,c,()=>0),Mt(gs,c,()=>[]);const f=It(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!St(e)||!St(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!St(e)||!St(t),t.setContent]:Le("Store type not supported by this Persister"))(r,e,l),[m,R,I]=qt(()=>$),T=e=>{e!=w&&(w=e,R(f,void 0,w))},L=t=>{(b&&ve(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(T(1),h++,await V(async()=>{await Ee(async()=>{const a=await t();ve(a)?L(a):e?p(e):Le("Content is not an array: "+a)},()=>{e&&p(e)}),T(0),await E()})),$),N=async e=>(M(),await D(e),await Ee(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(T(1),h++,L(t??e),T(0),await E()):await D()}),o),$),M=async()=>(u&&(await Ee(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(T(2),y++,await V(async()=>{await Ee(()=>a(v,e),o),T(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ce(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(Fe(Lt(gs,c),...e),await(async()=>{if(!Lt(us,c)){for(Nt(us,c,1);!ce(d=je(Lt(gs,c)));)await Ee(d,o);Nt(us,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ce(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(I(t),e),schedule:V,getStore:()=>e,destroy:()=>(He(Lt(gs,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return lt($)},hs="_",ys="_id",fs="SELECT",bs="WHERE",vs="TABLE",Ss="INSERT",Cs="DELETE",ps="UPDATE",ms="ALTER "+vs,Rs="FROM",Is=Cs+" "+Rs,Ts=fs+"*"+Rs,Ls="pragma_",Es="data_version",Ds="schema_version",Ns="pragma_table_",Ms="CREATE ",Os=Ms+vs,As="OR REPLACE ",Ps="FUNCTION",ks="$tableName",_s=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,Vs=e=>ke(_e(z(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),$s=(...e)=>Vs(ke(e,"_")),xs=(...e)=>ke(_e(e,Vs),u),Ws=(e,t=[1])=>ke(_e(e,()=>"$"+t[0]++),u),Hs=(e,t=v)=>bs+`(${Q(t,ks,Vs(e))})`,Fs="ColumnName",Js="store",Us="json",js=Js+"TableName",Gs=Js+"Id"+Fs,qs=Js+Fs,Bs="autoLoadIntervalSeconds",zs="rowId"+Fs,Qs="tableId",Ys="tableName",Xs="deleteEmptyColumns",Ks="deleteEmptyTable",Zs="condition",en={mode:Us,[Bs]:1},tn={load:0,save:0,[Ys]:c+"_values"},an=(e,t,a,s,n)=>{const o=It();return ft(e,(e,r)=>{const i=Se(bt(dt(t,fe(e)?{[a]:e}:e)),0,vt(t));de(i[0])||s(r,i[0])||(n(r,i[0]),Nt(o,r,i))}),o},sn=e=>{const t=(e=>dt(en,fe(e)?{[js]:e}:e??{}))(e),a=t[Bs];if(t.mode==Us){const e=t[js]??c;return[1,a,[e,t[Gs]??ys,t[qs]??Js],Wt(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=Se(bt(dt(tn,o)),0,vt(tn)),i=r[2],l=Wt(i),d=Wt(i),u=an(s,{[Qs]:null,[zs]:ys,[Zs]:v},Qs,e=>Ye(d,e),e=>Ht(l,e)),g=an(n,{[Ys]:null,[zs]:ys,[Xs]:0,[Ks]:0,[Zs]:null},Ys,(e,t)=>Ye(d,t),(e,t)=>Ht(l,t));return Et(g,(e,t)=>t[4]??=Lt(u,t[0])?.[2]??v),[0,a,[u,g,r],l]},nn=(e,t,a,s,n,o=on,r,i)=>{const l=It();return[async()=>{Ze(l),_e(await a(e,t),({tn:e,cn:t})=>Ht(Mt(l,e,Wt),t))},async(t,a,s)=>((e,t)=>Ye(Lt(l,e),t))(t,a)?ct(We(_e(await e(Ts+Vs(t)+Hs(t,s)),e=>[e[a],i?ft(wt(e,a),i):wt(e,a)]),([e,t])=>!ce(e)&&!St(t))):{},async(t,a,s,i,c,d=!1,g=v)=>{const w=Wt();ft(s??{},e=>_e(it(e??{}),e=>Ht(w,e)));const h=Ke(w);if(!d&&c&&g==v&&$e(h)&&Ye(l,t))return await e("DROP "+vs+Vs(t)),void Nt(l,t);const y=Lt(l,t),f=Wt(Ke(y));if($e(h)||(Ye(l,t)?await Ie(_e([a,...h],async(s,o)=>{tt(f,s)||(await e(ms+Vs(t)+"ADD"+Vs(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+Vs(t)+`(${Vs(a)})`),Ht(y,s))})):(await e(Os+Vs(t)+`(${Vs(a)}${n} PRIMARY KEY${ke(_e(h,e=>u+Vs(e)+n))});`),Nt(l,t,Wt([a,...h])))),await Ie([...!d&&i?_e(Ke(f),async s=>{s!=a&&(await e(ms+Vs(t)+"DROP"+Vs(s)),tt(y,s))}):[]]),d)ce(s)?await e(Is+Vs(t)+Hs(t,g)):await Ie(yt(s,async(s,n)=>{ce(s)?await e(Is+Vs(t)+Hs(t,g)+`AND(${Vs(a)}=$1)`,[n]):$e(h)||await o(e,t,a,it(s),{[n]:r?_e(bt(s),r):bt(s)},y)}));else if($e(h))Ye(l,t)&&await e(Is+Vs(t)+Hs(t,g));else{const n=We(Ke(Lt(l,t)),e=>e!=a),i={},c=[];ft(s??{},(e,t)=>{i[t]=_e(n,t=>r?r(e?.[t]):e?.[t]),Fe(c,t)}),await o(e,t,a,n,i),await e(Is+Vs(t)+Hs(t,g)+`AND${Vs(a)}NOT IN(${Ws(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Ee(async()=>a=await t(),s),await e("END"),a}]},on=async(e,t,a,s,n)=>{const o=[1];await e(Ss+" INTO"+Vs(t)+"("+xs(a,...s)+")VALUES"+ke(yt(n,e=>"($"+o[0]+++","+Ws(e,o)+")"),u)+"ON CONFLICT("+Vs(a)+`)DO ${ps} SET`+ke(_e(s,e=>Vs(e)+"=excluded."+Vs(e)),u),yt(n,(e,t)=>[t,..._e(e,e=>e??null)]).flat())},rn=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=nn(t,d,u,n,h,y),C=ws(e,()=>S(async()=>(await f(),na((await b(i,l))[hs]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[hs]:{[c]:sa(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},ln=(e,t,a,s,n,o,r,[i,l,[c,d,u]],g,w,h,y,f,b,v,S)=>{const[C,p,m,R]=nn(t,g,w,n,f,b,v,S),I=(e,t)=>Ie(Dt(l,async([a,s,n,o,r],i)=>{t&&!gt(e,i)||await m(a,s,e[i],n,o,t,r)})),T=async(e,t)=>d?await m(u,ys,{[hs]:e},!0,!0,t):null,L=ws(e,()=>R(async()=>{await C();const e=await(async()=>ct(We(await Ie(Dt(i,async([e,t,a],s)=>[e,await p(s,t,a)])),e=>!St(e[1]))))(),t=await(async()=>c?(await p(u,ys))[hs]:{})();return St(e)&&ce(t)?void 0:[e,t]}),(e,t)=>R(async()=>{if(await C(),ce(t)){const[t,a]=e();await I(t),await T(a)}else await I(t[0],!0),await T(t[1],!0)}),a,s,n,r,{[y]:()=>h,destroy:async()=>(await L.stopAutoPersisting(),o(),L)},0,h);return L},cn=/^([cd]:)(.+)/,dn=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=_s(a,o),[h,,y,f]=sn(t),b=d+ia(sa(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=$s(c,e,b);return await w(Ms+As+Ps+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(Ms+e+"TRIGGER"+t+a+"EXECUTE "+Ps+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,R=(e,t)=>h?v:2===t?R(e,0)+" OR "+R(e,1):Q(Lt(y[0],e)?.[2]??v,ks,0==t?"NEW":"OLD"),I=(e,t)=>Ie(_e([Ss,Cs,ps],(a,s)=>p(As,$s(c,"d",b,e,a),`AFTER ${a} ON${Vs(e)}FOR EACH ROW WHEN(${R(e,s)})`,t)));return(h?rn:ln)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${bs} command_tag='${Os}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",$s(c,"c",b),`ON ddl_command_end WHEN TAG IN('${Os}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Ie(_e(Ke(f),async e=>(await w(Os+` IF NOT EXISTS${Vs(e)}("_id"text PRIMARY KEY)`),await I(e,a)))),[await s(S,t=>he(B(t,cn),async([,t,s])=>{Ye(f,s)&&("c:"==t&&await I(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${ke(t,",")}CASCADE`)},r,i,l,y,Ke(f),async(e,t)=>await e(fs+` table_name tn,column_name cn FROM information_schema.columns ${bs} table_schema='public'AND table_name IN(${Ws(t)})`,t),u,g,"text",void 0,e=>ea(e),e=>ta(e))},un=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=_s(a,o),[b,v,S,C]=sn(t);return(b?rn:ln)(e,f,e=>{let t;const a=()=>t=ee(()=>Ee(async()=>{const[{d:t,s:a,c:s}]=await f(fs+` ${Es} d,${Ds} s,TOTAL_CHANGES() c FROM ${Ls}${Es} JOIN ${Ls}${Ds}`);t==w&&a==h&&s==y||(le(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,te(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,Ke(C),async(e,t)=>await e(fs+` t.name tn,c.name cn FROM ${Ns}list()t,${Ns}info(t.name)c ${bs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Ws(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>ue(e)?1:ge(e)?0:e,void 0)},gn=(e,t)=>[e[t].t,e[t].v],wn=(e,t,a,s)=>{const n=ce(t)?e:pt(e,t,()=>({}));let o;return ft(a,(e,t)=>{s(n,t,e)&&(o=1)}),ft(n,(e,t)=>{gt(a,t)||(wt(n,t),o=1)}),!ce(t)&&St(n)&&wt(e,t),o},hn=(e,t,a=c,s)=>(t.change(e=>pt(e,a,ct)),ws(e,async()=>{const e=t.doc();return 2==vt(e?.[a])?gn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{St(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=gn(e,t),r=()=>{i=1};let i=1;if(he(s,([e,t])=>{i=0,ft(e,(e,t)=>i?0:ce(e)?wt(n,t):he(n[t],t=>ft(e,(e,a)=>i?0:ce(e)?wt(t,a):he(ut(t,a),t=>ft(e,(e,a)=>ce(e)?wt(t,a):t[a]=e),r)),r)),ft(t,(e,t)=>i?0:ce(e)?wt(o,t):o[t]=e)}),i){const[e,t]=a();wn(n,void 0,e,(e,t,a)=>wn(n,t,a,(e,t,a)=>wn(e,t,a,(e,t,a)=>{if(ut(e,t)!==a)return e[t]=a,1}))),wn(o,void 0,t,(e,t,a)=>{ut(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(gn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),yn="storage",fn=(e,t,a,s)=>ws(e,async()=>na(a.getItem(t)),async e=>a.setItem(t,sa(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Ee(()=>e(na(s.newValue)),e)};return Z.addEventListener(yn,s),s},e=>Z.removeEventListener(yn,e),s,3,{getStorageName:()=>t}),bn=(e,t,a)=>fn(e,t,localStorage,a),vn=(e,t,a)=>fn(e,t,sessionStorage,a),Sn=(e,t,a)=>ws(e,async()=>na(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(sa(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),Cn=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,me,1,t),pn=()=>Va({},d,0),mn=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+Se(sa(t),1,-1);return ws(e,async()=>{const e=pn(),s=pn();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>he((e=>{if(G(e,a)){const t=Se(e,Ce(a),Ce(a)+1);return t==J||t==U?[t,...JSON.parse("["+Se(e,Ce(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?he(r[0],a=>{const s=pt(e[0],a,pn);he(r[1],e=>{const a=pt(s[0],e,pn);he(r[2],e=>a[0][e]=[t,n,o],()=>Ha(a,n,o))},()=>Ha(s,n,o))},()=>Ha(e,n,o)):a==U?he(r[0],e=>s[0][e]=[t,n,o],()=>Ha(s,n,o)):0)),St(e[0])&&St(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=It();Nt(c,n(J),[0,s,o]),ht(a,([e,t,a],s)=>{Nt(c,n(J,s),[0,t,a]),ht(e,([e,t,a],o)=>{Nt(c,n(J,s,o),[0,t,a]),ht(e,(e,t)=>Nt(c,n(J,s,o,t),e))})}),Nt(c,n(U),[0,i,l]),ht(r,(e,t)=>Nt(c,n(U,t),e)),await t.put(At(c))},me,me,s,2,{getStorage:()=>t})},Rn=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>Pe(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,me,1,t,"getElectricClient"),In=(t,a,s,n,o)=>un(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,me,3,a),Tn=(e,r,i)=>ws(e,async()=>na(await o(r,m)),async e=>await n(r,sa(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),Ln=[J,U],En={keyPath:"k"},Dn=async(e,t)=>{const a=yt(t,(t,a)=>Nn(e,"put",{k:a,v:t}));_e(await Nn(e,"getAllKeys"),s=>gt(t,s)?0:Fe(a,Nn(e,"delete",s))),await Ie(a)},Nn=async(e,t,a)=>Re((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),Mn=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Re((n,o)=>{const r=(Z?Z.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&_e(Ln,e=>Ee(()=>r.result.createObjectStore(e,En))),r.onsuccess=()=>Ee(async()=>{const t=r.result.transaction(Ln,"readwrite"),s=await Ie(_e(Ln,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return ws(e,async()=>await n(async e=>ct(_e(await Nn(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Dn(e,t),e(),1),e=>ee(e,a),e=>te(e),s,1,{getDbName:()=>t})},On=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>me,e=>e(),s,n,me,1,t,"getClient"),An="s",Pn="/store",kn=(e,t,a)=>e+t+(fe(a)?a:sa(a)),_n=(e,t,a)=>{const s=Ce(e);return G(t,e)?[t[s],(a?na:String)(Se(t,s+1))]:void 0},Vn=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=Pn,messagePrefix:l=d}={...fe(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:aa(e)}:{},mode:"cors",cache:"no-store"})).json();return ws(e,u,async(e,a)=>{a?t.send(kn(l,An,a)):await u(e())},e=>{const a=t=>he(_n(l,t.data,1),([t,a])=>{t==An&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},$n="hasStore",xn=ct(_e(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),Wn=async(e,t=d)=>!!await e.get(t+$n),Hn=async(e,t=d)=>{const a={},s={};return Et(await e.list(),(e,n)=>he(_n(t,e),([e,t])=>{if(e==J){const[e,s,o]=ta("["+t+"]");pt(pt(a,e,ct),s,ct)[o]=n}else e==U&&(s[t]=n)})),[a,s]},Fn=async(e,t,a)=>e.party.broadcast(kn(e.config.messagePrefix??d,An,t),a),Jn=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+$n]:1},i=[],l=[];await Ie(yt(t[0],async(t,c)=>ce(t)?!a&&await e.canDelTable(c,s)&&Ue(l,Un(o,J,c)):await e.canSetTable(c,a,s)&&await Ie(yt(t,async(t,d)=>ce(t)?!a&&await e.canDelRow(c,d,s)&&Fe(l,Un(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Ie(yt(t,async(t,l)=>{const u=[c,d,l],g=Un(o,J,...u);ce(t)?!a&&await e.canDelCell(...u,s)&&Fe(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Ie(yt(t[1],async(t,l)=>{const c=o+U+l;ce(t)?!a&&await e.canDelValue(l,s)&&Fe(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),$e(l)||Et(await n.list(),e=>Ne(l,t=>!G(e,t)||Fe(i,e)&&0)),await n.delete(i),await n.put(r)},Un=(e,t,...a)=>kn(e,t,Se(aa(a),1,-1)),jn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class Gn{constructor(e){this.party=e,this.config.storePath??=Pn,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=xn}party;config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=Pn,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await Wn(t,s),n=await e.text();return"PUT"==e.method?a?jn(this,205):(await Jn(this,ta(n),!0,e),jn(this,201)):jn(this,200,a?aa(await Hn(t,s)):d)}return jn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await he(_n(a,e,1),async([e,a])=>{e==An&&await Wn(this.party.storage,s)&&(await Jn(this,a,!1,t),Fn(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const qn=async(e,t,a,s,n)=>dn(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Ee(e,n),s,n,me,3,t,"getPglite"),Bn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return dn(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Ee(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},zn=(e,t,a,s,n)=>{let o;return un(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&_e(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,me,1,t,"getPowerSync",Qn)},Qn=async(e,t,a,s,n,o)=>{const r=[1],i=Wt(s),l=o?We([...o],e=>e!=a&&!Ye(i,e)):[];if(!$e(l)){const s=it(n),o=ct(_e(await e(fs+xs(a,...l)+Rs+Vs(t)+bs+Vs(a)+"IN("+Ws(s)+")",s),e=>[e[a],e]));Pe(s,e=>Fe(n[e],..._e(l,t=>o?.[e]?.[t]??null)))}await e(Ss+" "+As+"INTO"+Vs(t)+"("+xs(a,...s,...l)+")VALUES"+ke(yt(n,e=>"($"+r[0]+++","+Ws(e,r)+")"),u),yt(n,(e,t)=>[t,..._e(e,e=>e??null)]).flat())},Yn=(e,t,a="storage",s)=>ws(e,async()=>{const e=t.getString(a),s=ce(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ce(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),Xn=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),me,me,s,n,me,3,t),Kn=e=>e.headers.get("ETag")??"",Zn=e=>""==e?void 0:{"If-None-Match":e},eo=(e,t,a,s=5,n)=>{let o="";return ws(e,async()=>{const e=await fetch(t,{headers:Zn(o)});return o=Kn(e),ta(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:aa(e())}),e=>ee(async()=>{const a=await fetch(t,{method:"HEAD",headers:Zn(o)}),s=Kn(a);s!=o&&(o=s,e())},s),e=>te(e),n,1,{getUrls:()=>[t,a]})},to=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>t.query(e).all(...a),()=>me,e=>e(),s,n,me,3,t),ao=(e,t,a,s,n,o)=>un(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,me,0),n,o,me,3,a),so="change",no=(e,t,a,s,n)=>un(e,a,async(e,a=[])=>await Re((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(so,a),a},e=>t.off(so,e),s,n,me,3,t),oo="delete",ro=e=>[e.get(J),e.get(U)],io=(e,t,a,s)=>{const n=ce(t)?e:e.get(t)??e.set(t,new r);let o;return ft(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{gt(a,t)||(n.delete(t),o=1)}),ce(t)||n.size||e.delete(t),o},lo=(e,t,a=c,s)=>{const n=t.getMap(a);return ws(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=ro(e),o=()=>{i=1};let i=1;if(he(a,([e,t])=>{i=0,ft(e,(e,t)=>i?0:ce(e)?s.delete(t):he(s.get(t),t=>ft(e,(e,a)=>i?0:ce(e)?t.delete(a):he(t.get(a),t=>ft(e,(e,a)=>ce(e)?t.delete(a):t.set(a,e)),o)),o)),ft(t,(e,t)=>i?0:ce(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();io(s,void 0,e,(e,t,a)=>io(s,t,a,(e,t,a)=>io(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),io(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Ce(t)&&$e(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=ro(e),n={},o={};return Pe(t,({path:e,changes:{keys:t}})=>je(e)==J?he(je(e),s=>{const o=pt(n,s,ct),r=a.get(s);he(je(e),e=>{const a=pt(o,e,ct),s=r.get(e);Et(t,(e,{action:t})=>a[e]=t==oo?void 0:s.get(e))},()=>Et(t,(e,{action:t})=>o[e]=t==oo?void 0:r.get(e)?.toJSON()))},()=>Et(t,(e,{action:t})=>n[e]=t==oo?void 0:a.get(e)?.toJSON())):Et(t,(e,{action:t})=>o[e]=t==oo?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},co="_",uo=Ut(e=>{const t=e._[0],a=t(),s=t(),n=t(),o=It(),r=Wt(),i=It(),l=It(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=It(),g=It(),{_:[,w,h],delListener:y}=n,[f,b,v,S,C,p,m,L,,E,N,M]=Ft(e,()=>[],pe,w,h),$=e=>Mt(o,e,t),x=(e,t,...a)=>Pe(a,a=>Ht(Mt(Mt(u,t,It),e,Wt),a)),W=e=>{he(Lt(u,e),e=>{Et(e,(e,t)=>et(t,t=>e.delListener(t))),Ze(e)}),Pe([$(e),a],t=>t.delTable(e))},H=(e,t,a,...s)=>{const n=Mt(Mt(g,t,It),e,Wt);return Pe(s,t=>{Ht(n,t),a&&e.callListener(t)}),s},F=(e,t,a)=>he(Lt(Lt(g,e),t),s=>{t.delListener(a),tt(s,a),Xe(s)&&Nt(Lt(g,e),t)}),J=e=>he(Lt(g,e),e=>{Et(e,(e,t)=>et(t,t=>e.delListener(t))),Ze(e)}),U=(e,t,a)=>x(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),j=(e,t)=>(St(t)?s.delRow:s.setRow)(co,e,{...t}),G=t=>$(t).transaction(()=>he(p(t),([s,,n])=>{const o=C(t),i=n?$(o):e,l=$(t),c=B(t);Ht(r,t),W(t),J(t);const u=[],g=[[void 0,[o,void 0,void 0,[],It(),i]]],w=[],h=[],y=[];s({select:(e,t,a)=>{const s=ue(e)?t:e,n=ue(e)?a:t,o=be(e)?[Ce(u)+d,e]:ce(n)?[e,t=>t(e)]:[n,t=>ue(e)?t(!0,s,n):t(s,n)];return Fe(u,o),{as:e=>o[0]=e}},join:(t,a,s,n)=>{const o=ue(t)?a:t,[r,i]=ue(t)?ce(n)||be(s)?[void 0,s]:[s,n]:ce(s)||be(a)?[void 0,a]:[a,s],l=[o,[o,r,be(i)?i:e=>e(i),[],It(),ue(t)?$(o):e]];return Fe(g,l),{as:e=>l[0]=e}},where:(e,t,a,s)=>Fe(w,be(e)?e:ue(e)?e=>e(!0,t,a)===s:ce(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,be(t)?[t,a,s,n]:Lt(ss,t)??[(e,t)=>t]]];return Fe(h,o),{as:e=>o[0]=e}},having:(e,t)=>Fe(y,be(e)?e:a=>a(e)===t),param:e=>ut(c,e)});const f=It(u);if(Xe(f))return tt(r,t),z;const b=It(g);Et(b,(e,[,t])=>he(Lt(b,t),({3:t})=>ce(e)?0:Fe(t,e)));const v=It(h);let S=a;if(Xe(v)&&$e(y))S=l;else{U(t,S,l);const e=It();Et(v,(t,[a,s])=>Ht(Mt(e,a,Wt),[t,s]));const a=Wt();Et(f,t=>Ye(e,t)?0:Ht(a,t));const s=It(),n=(a,s,n,o)=>he(a,([r,i,c,d])=>{Et(s,(t,[a])=>{const s=Mt(r,t,It),i=Lt(s,n),l=o?void 0:a;if(i!==l){const a=Wt([[i,l]]),o=qe(s);Nt(s,n,l),et(Lt(e,t),([e,t])=>{const n=ns(d[e],o,s,a,t);d[e]=ce(Da(n))?void 0:n})}}),Xe(i)||!Ne(y,e=>e(e=>d[e]))?l.delRow(t,c):ce(c)?a[2]=l.addRow(t,d):l.setRow(t,c,d)});x(S,t,S.addRowListener(t,null,(o,r,i,l)=>{const c=[],d=[],u=It(),g=S.hasRow(t,i);let w=!g;et(a,e=>{const[a,s,n]=l(t,i,e);Fe(c,s),Fe(d,n),w||=a}),Et(e,e=>{const[a,,s]=l(t,i,e);(w||a)&&Nt(u,e,[s])}),w&&n(xt(s,c,void 0,([,e])=>(tt(e,i),Xe(e))),u,i,1),g&&n(xt(s,d,()=>{const e={};return et(a,a=>e[a]=S.getCell(t,i,a)),[It(),Wt(),void 0,e]},([,e])=>{Ht(e,i)}),u,i)}))}U(t,i,S);const p=(e,a,s,n,r)=>{const l=e=>a.getCell(s,n,e);Pe(r,a=>{const[s,,n,o,r,i]=Lt(b,a),c=n?.(l,e),d=Lt(r,e),u=d?.[0];c!=u&&(he(d,([,e,a])=>F(t,e,a)),Nt(r,e,ce(c)?void 0:[c,i,...H(i,t,1,i.addRowListener(s,c,()=>p(e,i,s,c,o)))]))}),(e=>{const a=(t,a,s)=>{const n=ue(t)?a:t,r=ue(t)?s:a;if(ce(r))return i.getCell(o,e,t);if(n===o&&!ue(t))return i.getCell(o,e,r);const l=Lt(b,n);return ce(l)?void 0:l[5].getCell(l[0],Lt(l[4],e)?.[0],r)};S.transaction(()=>Ne(w,e=>e(a))?Et(f,(s,n)=>S._[5](t,e,s,n(a,e))):S.delRow(t,e))})(e)},{3:m}=Lt(b,void 0),R=(e,a,s)=>{i.hasRow(o,s)?p(s,i,o,s,m):(S.delRow(t,s),et(b,({4:e})=>he(Lt(e,s),([,a,n])=>{F(t,a,n),Nt(e,s)})))};return S.transaction(()=>{Pe(i.getRowIds(o),e=>R(0,0,e)),H(i,t,0,i.addRowListener(o,null,R))}),tt(r,t),z})),q=e=>(he(p(e),([,e])=>s.delListener(e)),s.delRow(co,e),W(e),J(e),E(e),z),B=e=>s.getRow(co,e),z={setQueryDefinition:(e,t,a,n,o={})=>{const[r,i,l,c]=ue(t)?[a,n,1,o]:[t,a,0,n??{}];return he(p(e),([,e])=>s.delListener(e)),L(e,r),m(e,[i,s.addRowListener(co,e,()=>G(e)),l]),j(e,c),G(e),z},delQueryDefinition:q,getParamValues:B,getParamValue:(e,t)=>s.getCell(co,e,t),setParamValues:(e,t)=>(S(e)&&j(e,t),z),setParamValue:(e,t,a)=>(S(e)&&s.setCell(co,e,t,a),z),getStore:f,getQueryIds:b,forEachQuery:v,hasQuery:S,getTableId:C,forEachResultTable:e=>v(t=>$(t).hasTable(t)?e(t,e=>z.forEachResultRow(t,e)):0),addQueryIdsListener:e=>N(()=>e(z)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(co,e,(e,a,s)=>t(z,s,B(s))),addParamValueListener:(e,t,a)=>"p"+s.addCellListener(co,e,t,(e,t,s,n,o)=>a(z,s,n,o)),delListener:e=>{const t=Lt(i,e);if("p"==e[0])s.delListener(Se(e,1));else if(ce(t))y(e);else{const[a,s,n]=t;Et(s,(e,[t,a])=>t.delListener(a)),he(n,y),Nt(i,e),y(e),c[a]--}return z},destroy:()=>{Pe(b(),q),M()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-Ce(b()),paramValue:s.getListenerStats().cell})};return ft({[D]:[2,1],[D+V]:[1,1],[A]:[1,1],[P]:[1,1],[k]:[1,5],[O]:[3,2],[V]:[1,2],[_]:[3,3]},([e,t],a)=>{Pe(Se(["get","has","forEach"],0,e),e=>z[e+I+a]=(...t)=>$(t[0])[e+a](...t)),z[T+I+a+R]=(...e)=>((s,n)=>{const o=w(pe,l),r=It(),d=()=>{const s=null==n?b():[n];Pe(s,s=>{return Ye(r,s)?0:Nt(r,s,[$(s),(n=$(s),n[T+a+R](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:Se(e,0,t))(e,t),(a,...s)=>e[t](z,...s),!0))]);var n}),Et(r,(e,[t,a])=>null==n&&S(e)||e==n?0:(t.delListener(a),void Nt(r,e)))};return d(),Nt(i,o,[s,r,null==n?N(d):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+Se(e,1))(a),e[0])}),lt(z)}),go=Ut(e=>{const t=It(),a=It(),s=It(),n=It(),[o,r,i]=qt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=Ft(e,()=>[It(),It(),It(),It()],e=>ce(e)?void 0:e+d,o,r),S=(e,t,a)=>he(h(e),([s,,n])=>{if(!Ye(n,t)){const o=Wt();if(w(e)!=p(e))Ht(o,t);else{let e=t;for(;!ce(e)&&!Ye(o,e);)Ht(o,e),e=Lt(s,e)}if(a)return o;Nt(n,t,o)}return Lt(n,t)}),C=(e,t)=>he(h(e),([,,e])=>Nt(e,t)),p=e=>Lt(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(Nt(t,e,i),y(e,o,(t,o)=>{const i=Wt(),l=Wt(),c=Wt(),[d,u]=h(e);et(o,([t,a],s)=>{ce(t)||(Ht(l,t),he(Lt(u,t),e=>{tt(e,s),Xe(e)&&Nt(u,t)})),ce(a)||(Ht(l,a),Ye(u,a)||Nt(u,a,Wt()),Ht(Lt(u,a),s)),Ht(i,s),Nt(d,s,a),Et(Lt(n,e),t=>{Ye(S(e,t),s)&&Ht(c,t)})}),t(),et(i,t=>r(a,[e,t])),et(l,t=>r(s,[e,t])),et(c,t=>{C(e,t),r(n,[e,t])})},Jt(l)),m),delRelationshipDefinition:e=>(Nt(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Lt(h(e)?.[0],t),getLocalRowIds:(e,t)=>Ke(Lt(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ce(h(e))?[t]:Ke(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:ze(a),localRowIds:ze(s),linkedRowIds:ze(n)})};return lt(m)}),wo={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},ho=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=It(),y=()=>Zt(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Re((o,r)=>{const i=s+"."+Zt(4),l=ae(()=>{tt(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);Nt(h,i,[e,(e,t)=>{clearTimeout(l),tt(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{ht(t,([t,a],s)=>{const n=pt(e[0],s,Fa);ht(t,([e,t],a)=>{const s=pt(n[0],a,Fa);ht(e,([e,t],a)=>s[0][a]=_a(e,t)),s[1]=Wa(s[1],t)}),n[1]=Wa(n[1],a)}),e[1]=Wa(e[1],a)},S=(t=null,a,s=y())=>Ee(async()=>{ce(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=Fa();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!St(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!St(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?Fa():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=ws(e,async()=>{const e=await S();return!e||St(e[0][0])&&St(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?he(Lt(h,a),([e,a])=>de(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):he(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},yo=(e,t,a,s,n)=>{const o=Zt(),r=new BroadcastChannel(t);return ho(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>de(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},fo=It(),bo=(e,t,a,s)=>{const n=Zt();return ho(e,(e,t,a,s)=>ae(()=>de(e)?Et(fo,(e,o)=>e!=n?o(n,t,a,s):0):Lt(fo,e)?.(n,t,a,s)),e=>{Nt(fo,n,e)},()=>{tt(fo,n)},.01,t,a,s)},vo=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(Se(e,0,a),Se(e,a+1))},So=(e,t)=>vo(e,(e,a)=>t(e,...na(a))),Co=(e,...t)=>po(e??d,sa(t)),po=(e,t)=>e+"\n"+t,mo=async(e,t,a=1,s,n,o)=>{const r=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),i=ho(e,(e,...a)=>t.send(Co(e,...a)),e=>r(H,({data:t})=>So(t.toString(m),e)),()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Re(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(i)},a=r("open",()=>t()),s=r(F,t)}else e(i)})},Ro=/\/([^?]*)/,Io="S",To=e=>B(new URL(e.url).pathname,Ro)?.[1]??d,Lo=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,Eo=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Do=()=>Eo(426,null,"Upgrade required");class No extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await he(await this.createPersister(),async e=>{const t=ho(e.getStore(),(e,t,a,s)=>this.#t(Io,Co(e,t,a,s)),e=>this.#e=t=>So(t,e),me,1);await e.load(),await e.startAutoSave(),ae(t.startSync)}))}fetch(e){const t=To(e);return he(Lo(e),e=>{const[a,s]=bt(new WebSocketPair);return $e(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Co(Io,null,1,d)),Eo(101,a)},Do)}webSocketMessage(e,t){he(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==Ce(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){vo(t.toString(),(t,s)=>{const n=po(e,s);this.onMessage(e,t,s),t==d?(e!=Io&&this.#e?.(n),Pe(this.#a(),e=>{e!=a&&e.send(n)})):t==Io?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return _e(this.#a(),e=>this.ctx.getTags(e)[0])}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const Mo=e=>(t,a)=>Lo(t)?a[e].get(a[e].idFromName(To(t))).fetch(t):Do(),Oo=/\/([^?]*)/,Ao=e=>{const t=It();return e.on("connection",(e,a)=>he(B(a.url,Oo),([,s])=>he(a.headers["sec-websocket-key"],async a=>{const n=Mt(t,s,It);Nt(n,a,e),e.on(H,e=>vo(e.toString(m),(e,t)=>{const s=po(a,t);e===d?Et(n,(e,t)=>e!==a?t.send(s):0):Lt(n,e)?.send(s)})),e.on("close",()=>{tt(n,a),Xe(n)&&tt(t,s)})}))),lt({getWebSocketServer:()=>e,destroy:async()=>{Ze(t),e.close()}})},Po=/\/([^?]*)/,ko=(e,t,a)=>{const s=It(),n=It(),o=It(),r=It(),[i,l,c]=qt(()=>w),u=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},g=(e,t,a)=>s=>vo(s,(s,n)=>{const o=po(e,n);s===d?("S"!==e&&a[3]?.(o),Et(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Lt(t,s)?.send(o)});e.on("connection",(e,i)=>he(B(i.url,Po),([,c])=>he(i.headers["sec-websocket-key"],async i=>{const d=Mt(o,c,It),w=Mt(r,c,()=>[0]),h=g(i,d,w);Xe(d)&&(l(s,void 0,c,1),await(async(e,s,n)=>he(await(t?.(s)),t=>{e[0]=1,e[1]=ve(t)?t[0]:t;const s=g("S",n,e);e[2]=ho(e[1].getStore(),(e,t,a,n)=>s(Co(e,t,a,n)),t=>e[3]=e=>So(e,t),me,1,void 0,void 0,a),e[4]=[],e[5]=ve(t)?t[1]:e=>0}))(w,c,d)),Nt(d,i,e),l(n,[c],i,1),e.on(H,e=>{const t=e.toString(m);0==w[0]?h(t):Fe(w[4],t)}),1==w[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(w),Pe(w[4],h),w[4]=[]),e.on("close",async()=>{tt(d,i),l(n,[c],i,-1),Xe(d)&&(await u(w),tt(r,c),tt(o,c),l(s,void 0,c,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const w={getWebSocketServer:()=>e,getPathIds:()=>Tt(o),getClientIds:e=>Tt(Lt(o,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,n,[e]),delListener:e=>(c(e),w),getStats:()=>({paths:qe(o),clients:Be(o)}),destroy:async()=>{Ze(o),await Ie(Dt(r,u)),e.close()}};return lt(w)};export{wo as Message,ds as Persists,cs as Status,Gn as TinyBasePartyKitServer,No as WsServerDurableObject,la as addOrRemoveHash,Fn as broadcastChanges,hn as createAutomergePersister,yo as createBroadcastChannelSynchronizer,Bt as createCheckpoints,Cn as createCrSqliteWasmPersister,ws as createCustomPersister,dn as createCustomPostgreSqlPersister,un as createCustomSqlitePersister,ho as createCustomSynchronizer,mn as createDurableObjectStoragePersister,Rn as createElectricSqlPersister,In as createExpoSqlitePersister,Tn as createFilePersister,Mn as createIndexedDbPersister,Ea as createIndexes,On as createLibSqlPersister,bn as createLocalPersister,bo as createLocalSynchronizer,as as createMergeableStore,os as createMetrics,ls as createMiddleware,Sn as createOpfsPersister,Vn as createPartyKitPersister,qn as createPglitePersister,Bn as createPostgresPersister,zn as createPowerSyncPersister,uo as createQueries,Yn as createReactNativeMmkvPersister,Xn as createReactNativeSqlitePersister,go as createRelationships,eo as createRemotePersister,vn as createSessionPersister,no as createSqlite3Persister,to as createSqliteBunPersister,ao as createSqliteWasmPersister,Za as createStore,ko as createWsServer,Ao as createWsServerSimple,mo as createWsSynchronizer,lo as createYjsPersister,La as defaultSorter,ga as getCellHash,wa as getCellInRowHash,ia as getHash,Ta as getHlcFunctions,ha as getRowHash,ya as getRowInTableHash,fa as getTableHash,ba as getTableInTablesHash,va as getTablesHash,Zt as getUniqueId,ua as getValueHash,da as getValueInValuesHash,ca as getValuesHash,Mo as getWsServerDurableObjectFetch,Wn as hasStoreInStorage,Hn as loadStoreFromStorage,Dn as objectStoreMatch};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",R="Listener",I="Result",T="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),B=(e,t)=>e?.match(t),z=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=Math,K=e=>(t,a,s)=>e(t)?s?.():a(t),Z=globalThis,ee=Z.window,te=String,ae=(e,t,a)=>setInterval(e,1e3*t),se=clearInterval,ne=(e,t=0)=>setTimeout(e,1e3*t),oe=X.max,re=X.min,ie=X.floor,le=X.random,ce=isFinite,de=e=>null==e,ue=e=>void 0===e,ge=e=>null===e,we=e=>!0===e,he=e=>!1===e,ye=K(de),fe=K(ue),be=e=>e==g||e==w,ve=e=>l(e)==g,Se=e=>l(e)==y,Ce=e=>Array.isArray(e),pe=(e,t,a)=>e.slice(t,a),me=e=>e.length,Re=()=>{},Ie=()=>{},Te=e=>new Y(e),Le=async e=>Y.all(e),Ee=Z.structuredClone,De=e=>{throw Error(e)},Ne=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},Me=(e,t)=>e.includes(t),Oe=(e,t)=>e.every(t),Ae=(e,t)=>me(e)===me(t)&&Oe(e,(e,a)=>t[a]===e),Pe=(e,t)=>Oe(e,(a,s)=>0==s||t(e[s-1],a)<=0),ke=(e,t)=>e.sort(t),_e=(e,t)=>e.forEach(t),Ve=(e,t=d)=>e.join(t),$e=(e,t)=>e.map(t),xe=e=>He(e,(e,t)=>e+t,0),We=e=>0==me(e),He=(e,t,a)=>e.reduce(t,a),Fe=(e,t)=>e.filter(t),Je=(e,t)=>e.splice(0,t),Ue=(e,...t)=>e.push(...t),je=e=>e.pop(),Ge=(e,...t)=>e.unshift(...t),qe=e=>e.shift(),Be=e=>t=>He(et(t),(t,a)=>t+e(a),0),ze=e=>e?.size??0,Qe=Be(ze),Ye=Be(Qe),Xe=Be(Ye),Ke=(e,t)=>e?.has(t)??!1,Ze=e=>ue(e)||0==ze(e),et=e=>[...e?.values()??[]],tt=e=>e.clear(),at=(e,t)=>e?.forEach(t),st=(e,t)=>e?.delete(t),nt=Object,ot=e=>nt.getPrototypeOf(e),rt=nt.isFrozen,it=nt.entries,lt=e=>!de(e)&&ye(ot(e),e=>e==nt.prototype||de(ot(e)),()=>!0),ct=nt.keys,dt=nt.freeze,ut=(e=[])=>nt.fromEntries(e),gt=(...e)=>nt.assign({},...e),wt=(e,t)=>fe(e,e=>e[t]),ht=(e,t)=>t in e,yt=(e,t)=>(delete e[t],e),ft=(e,t)=>_e(it(e),([e,a])=>t(a,e)),bt=(e,t)=>$e(it(e),([e,a])=>t(a,e)),vt=(e,t)=>ut(bt(e,(e,a)=>[a,t(e,a)])),St=e=>nt.values(e),Ct=e=>me(ct(e)),pt=e=>lt(e)&&0==Ct(e),mt=(e,t,a=(e,t)=>e===t)=>{const s=it(e);return me(s)===Ct(t)&&Oe(s,([e,s])=>lt(s)?!!lt(t[e])&&mt(t[e],s,a):a(s,t[e]))},Rt=(e,t,a)=>(ht(e,t)||(e[t]=a()),e[t]),It=(e,t,a,s=0)=>de(e)||!lt(e)||!s&&pt(e)||rt(e)?(a?.(),!1):(ft(e,(a,s)=>{t(a,s)||yt(e,s)}),!!s||!pt(e)),Tt=Map,Lt=e=>new Tt(e),Et=e=>[...e?.keys()??[]],Dt=(e,t)=>e?.get(t),Nt=(e,t)=>at(e,(e,a)=>t(a,e)),Mt=(e,t)=>$e([...e?.entries()??[]],([e,a])=>t(a,e)),Ot=(e,t,a)=>ue(a)?(st(e,t),e):e?.set(t,a),At=(e,t,a,s)=>(Ke(e,t)?s?.(Dt(e,t)):Ot(e,t,a()),Dt(e,t)),Pt=(e,t,a,s=Ot)=>(vt(t,(t,s)=>a(e,s,t)),Nt(e,a=>ht(t,a)?0:s(e,a)),e),kt=(e,t,a,s)=>{const n={};return at(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},_t=(e,t,a)=>kt(e,e=>kt(e,t,a),Ze,pt),Vt=(e,t,a)=>kt(e,e=>_t(e,t,a),Ze,pt),$t=(e,t)=>{const a=Lt();return at(e,(e,s)=>a.set(s,t?.(e)??e)),a},xt=e=>$t(e,$t),Wt=e=>$t(e,xt),Ht=(e,t,a,s,n=0)=>fe((a?At:Dt)(e,t[n],n>me(t)-2?a:Lt),o=>{if(n>me(t)-2)return s?.(o)&&Ot(e,t[n]),o;const r=Ht(o,t,a,s,n+1);return Ze(o)&&Ot(e,t[n]),r}),Ft=e=>new Set(Ce(e)||ue(e)?e:[e]),Jt=(e,t)=>e?.add(t),Ut=(e,t,a,s,n)=>{const o=e.hasRow,r=Lt(),i=Lt(),l=Lt(),c=Lt(),d=Lt(),u=Lt(),g=t=>fe(Dt(u,t),a=>{_e(et(a),t=>{e.delListener(t),st(a,t)}),Ot(u,t)}),w=(e,a)=>{Ot(r,e,a),Ke(i,e)||(Ot(i,e,t()),Ot(c,e,Lt()),Ot(d,e,Lt()),n(l))},h=e=>{Ot(r,e),Ot(i,e),Ot(c,e),Ot(d,e),g(e),n(l)};return[()=>e,()=>Et(r),e=>Nt(i,e),e=>Ke(i,e),e=>Dt(r,e),e=>Dt(i,e),(e,t)=>Ot(i,e,t),w,(t,s,n,r,i)=>{w(t,s);const l=Lt(),h=Lt(),y=Dt(c,t),f=Dt(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Dt(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||Ce(c)&&Ce(d)&&Ae(c,d)||Ot(l,t,[c,d]),!ue(i)){const e=Dt(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&Ot(h,t,a)}},v=e=>{n(()=>{at(l,([,e],t)=>Ot(y,t,e)),at(h,(e,t)=>Ot(f,t,e))},l,h,y,f,e),tt(l),tt(h)};Nt(y,b),e.hasTable(s)&&_e(e.getRowIds(s),e=>{Ke(y,e)||b(e)}),v(!0),g(t),((e,...t)=>{const a=At(u,e,Ft);_e(t,e=>Jt(a,e))})(t,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},h,e=>s(e,l),()=>Nt(u,h)]},jt=(e,t)=>ve(e)?t=>t(e):e??(()=>t??d),Gt=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},qt=/^\d+$/,Bt=()=>{const e=[];let t=0;return[a=>(a?qe(e):null)??d+t++,t=>{qt.test(t)&&me(e)<1e3&&Ue(e,t)}]},zt=e=>{let t;const[a,s]=Bt(),n=Lt();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return Ot(n,c,[s,o,r,i,l]),Jt(Ht(o,r??[d],Ft),c),c},(e,a,...s)=>_e(((e,t=[d])=>{const a=[],s=(e,n)=>n==me(t)?Ue(a,e):ge(t[n])?at(e,e=>s(e,n+1)):_e([t[n],null],t=>s(Dt(e,t),n+1));return s(e,0),a})(e,a),e=>at(e,e=>Dt(n,e)[0](t,...a??[],...s))),e=>fe(Dt(n,e),([,t,a])=>(Ht(t,a??[d],void 0,t=>(st(t,e),Ze(t)?1:0)),Ot(n,e),s(e),a)),e=>fe(Dt(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=me(r);i==me(a)?e(t,...r,...n(r)):ge(a[i])?_e(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},Qt=Gt(e=>{let t,a,s,n=100,o=Lt(),r=Lt(),i=1;const l=Lt(),c=Lt(),[u,g,w]=zt(()=>P),h=Lt(),y=Lt(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Dt(h,a);at(s,(a,s)=>at(a,(a,n)=>at(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),at(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{Ot(h,e),Ot(y,e),g(c,[e])},C=(e,t)=>_e(Je(e,t??me(e)),S),p=()=>C(f,me(f)-n),m=()=>fe(t,()=>{Ue(f,t),p(),C(b),t=void 0,s=1}),R=()=>{t=je(f),s=1};let I,T;const L=(e=d)=>(ue(t)&&(t=d+a++,Ot(h,t,[o,r]),O(t,e),o=Lt(),r=Lt(),s=1),t),E=()=>{We(f)||(Ge(b,L()),v(0,t),t=je(f),s=1)},D=()=>{We(b)||(Ue(f,t),t=qe(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Dt(y,e)!==t&&(Ot(y,e,t),g(c,[e])),P),A=e=>Ke(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Nt(y,e),hasCheckpoint:A,getCheckpoint:e=>Dt(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=Me(f,e)?E:Me(b,e)?D:void 0;for(;!ue(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ue(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>(We(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(I),e.delListener(T)},getListenerStats:()=>({checkpointIds:Qe(l),checkpoint:Qe(c)}),_registerListeners:()=>{I=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=At(o,t,Lt),i=At(e,a,Lt),l=At(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&Ze(Ot(i,s))&&Ze(Ot(e,a))&&Ze(Ot(o,t))&&R(),N()}}),T=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=At(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&Ze(Ot(r,t))&&R(),N()}})}};return dt(P.clear())},e=>e._registerListeners()),Yt=z("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Xt=Lt($e(Yt,(e,t)=>[e,t])),Kt=e=>Yt[63&e],Zt=(e,t)=>Dt(Xt,e[t])??0,ea=Z.crypto?e=>Z.crypto.getRandomValues(e):e=>$e(e,()=>ie(256*le())),ta=(e=16)=>He(ea(new Uint8Array(e)),(e,t)=>e+Kt(t),d),aa=JSON.stringify,sa=JSON.parse,na=e=>aa(e,(e,t)=>t instanceof Map?nt.fromEntries([...t]):t),oa=e=>aa(e,(e,t)=>ue(t)?"":t),ra=e=>ia(sa(e)),ia=e=>""===e?void 0:Ce(e)?$e(e,ia):lt(e)?vt(e,ia):e,la=new Z.TextEncoder,ca=e=>{let t=2166136261;return _e(la.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},da=(e,t)=>(e^t)>>>0,ua=e=>He(it(e),(e,[t,a])=>da(e,ga(t,a)^ga(t,0)),0),ga=(e,t)=>ca(e+":"+t),wa=(e,t)=>ca(na(e??null)+":"+t),ha=wa,ya=ga,fa=ua,ba=ga,va=e=>He(it(e),(e,[t,a])=>da(e,ga(t,a)),0),Sa=ga,Ca=va,pa=2**36,ma=2**30,Ra=2**24,Ia=2**18,Ta=4096,La=e=>{const t=ca(e);return Kt(t/Ra)+Kt(t/Ia)+Kt(t/Ta)+Kt(t/64)+Kt(t)},Ea=(e,t=Date.now)=>{let a=0,s=-1;const n=fe(e,La,()=>ta(5)),o=e=>{const n=a,[o,r]=ue(e)||""==e?[0,0]:i(e);a=oe(n,o,t()),s=a==n?a==o?oe(s,r):s:a==o?r:-1},r=(e,t,a)=>Kt(e/pa)+Kt(e/ma)+Kt(e/Ra)+Kt(e/Ia)+Kt(e/Ta)+Kt(e/64)+Kt(e)+Kt(t/Ia)+Kt(t/Ta)+Kt(t/64)+Kt(t)+(ue(a)?n:La(a)),i=e=>[Zt(e,0)*pa+Zt(e,1)*ma+Zt(e,2)*Ra+Zt(e,3)*Ia+Zt(e,4)*Ta+64*Zt(e,5)+Zt(e,6),Zt(e,7)*Ia+Zt(e,8)*Ta+64*Zt(e,9)+Zt(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},Da=(e,t)=>(e??0)<(t??0)?-1:1,Na=Gt(e=>{const t=Lt(),a=Lt(),[s,n,o]=zt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=Ut(e,Lt,e=>ue(e)?d:Ce(e)?$e(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);at(s,(t,s)=>a(s,a=>at(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=Da)=>{const c=ue(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Ft(),b=Ft(),v=g(e);if(at(o,([e,t],a)=>{const s=Ft(e),n=Ft(t);at(s,e=>st(n,e)?st(s,e):0),at(s,e=>{Jt(f,e),fe(Dt(v,e),t=>{st(t,a),Ze(t)&&(Ot(v,e),y=1)})}),at(n,e=>{Jt(f,e),Ke(v,e)||(Ot(v,e,Ft()),y=1),Jt(Dt(v,e),a),ue(r)||Jt(b,e)})}),s(),Ze(u)||(h?Nt(v,e=>Jt(b,e)):Nt(i,e=>fe(Dt(d,e),e=>_e(Ce(e)?e:[e],e=>Jt(b,e)))),at(b,e=>{const t=(t,a)=>l(Dt(u,t),Dt(u,a),e),a=[...Dt(v,e)];Pe(a,t)||(Ot(v,e,Ft(ke(a,t))),Jt(f,e))})),(y||h)&&!ue(c)){const t=[...v];Pe(t,c)||(w(e,Lt(ke(t,c))),y=1)}y&&n(t,[e]),at(f,t=>n(a,[e,t]))},jt(o),fe(r,jt)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ke(g(e),t),getTableId:u,getSliceIds:e=>Et(g(e)),getSliceRowIds:(e,t)=>et(Dt(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:Qe(t),sliceRowIds:Ye(a)})};return dt(S)}),Ma=e=>{if(ge(e))return"null";if(Ce(e))return b;if(lt(e))return f;const t=l(e);return be(t)||t==h&&ce(e)?t:void 0},Oa=e=>ue(e)||!ue(Ma(e)),Aa=e=>e==f||e==b,Pa=e=>lt(e)||Ce(e)?"�"+aa(e):e,ka=e=>ve(e)&&"�"==e[0],_a=(e,t,a)=>!a&&ka(e)?sa(pe(e,1)):e,Va=([e,t])=>$a(e,t),$a=(e,t)=>t?[e,t]:[e],xa=(e,t,a)=>[e,t,a],Wa=e=>e[2],Ha=(e,t)=>t>e?(e?ca(e):0)^ca(t):0,Fa=(e,t)=>((e??"")>(t??"")?e:t)??"",Ja=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},Ua=(e=d)=>$a(ut(),e),ja=(e=d)=>[Lt(),e,0],Ga=([e,t,a],s)=>[kt(e,s),t,a],qa=([e,t],a=Va)=>$a(kt(e,a),t),Ba=(e,t)=>{return Ce(e)&&3==me(e)&&ve(e[1])&&(a=e[2],l(a)==h)&&ce(e[2])&&t(e[0]);var a},za=e=>[e,e],Qa=(e,t=Qe)=>t(e[0])+t(e[1]),Ya=()=>[Lt(),Lt()],Xa=e=>[...e],Ka=([e,t])=>e===t,Za=(e,t,a)=>Ot(e,t,Dt(e,t)==-a?void 0:a),es=([e,t],[a,s])=>mt(e,a)&&mt(t,s),ts=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=Lt(),c=Lt(),d=Lt(),u=Lt(),g=Lt(),w=Lt(),y=Lt(),f=Lt(),b=Lt(),v=Lt(),m=Lt(),I=Lt(),E=Lt(),k=Lt(),H=Ft(),F=Lt(),J=Lt(),U=Lt(),G=Lt(),q=Ya(),B=Ya(),z=Ya(),Q=Ya(),Y=Ya(),X=Ya(),K=Ya(),Z=Ya(),ee=Ya(),te=Ya(),ae=Ya(),se=Ya(),ne=Ya(),oe=Ya(),re=Ya(),ie=Ya(),le=Ya(),ce=Ya(),de=Ya(),we=Ya(),he=Ya(),ye=Ya(),ve=Lt(),me=Ya(),[Re,Ie,Te,Le]=zt(()=>is),De=e=>{const t=i;i=1;const a=e();return i=t,a},Oe=(e,t,a,s=Object.is)=>fe(t(),t=>e===t||s(e,t)?a(t):De(()=>a(t))),Pe=e=>{if(!It(e,(e,t)=>Me([S,C,p],t)))return!1;const t=e[S];if(!be(t)&&t!=h&&!Aa(t))return!1;const a=e[C];return!(ge(a)&&!e[p]||(ge(a)||(Ma(a)!=t?yt(e,C):e[C]=Pa(a)),0))},Ve=Ce,xe=(t,a)=>(!e||Ke(m,a)||Xt(a))&&It(t,(e,t)=>We(a,t,e),()=>Xt(a)),We=(e,t,a,s)=>It(s?a:je(a,e,t),(s,n)=>fe(He(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Xt(e,t)),He=(t,a,s,n)=>e?fe(Dt(Dt(m,t),s),e=>ge(n)?e[p]?n:Xt(t,a,s,n,e[C]):Ma(n)===e[S]?Pa(n):Aa(e[S])&&ka(n)?n:Xt(t,a,s,n,e[C]),()=>Xt(t,a,s,n)):ue(Ma(n))?Xt(t,a,s,n):Pa(n),Fe=(e,t)=>It(t?e:Ge(e),(t,a)=>fe(Je(a,t),t=>(e[a]=t,!0),()=>!1),()=>Kt()),Je=(e,a)=>t?fe(Dt(E,e),t=>ge(a)?t[p]?a:Kt(e,a,t[C]):Ma(a)===t[S]?Pa(a):Aa(t[S])&&ka(a)?a:Kt(e,a,t[C]),()=>Kt(e,a)):ue(Ma(a))?Kt(e,a):Pa(a),je=(e,t,a)=>(fe(Dt(I,t),([s,n])=>{at(s,(t,a)=>{ht(e,a)||(e[a]=t)}),at(n,s=>{ht(e,s)||Xt(t,a,s)})}),e),Ge=e=>(t&&(at(k,(t,a)=>{ht(e,a)||(e[a]=t)}),at(H,t=>{ht(e,t)||Kt(t)})),e),qe=e=>Pt(m,e,(e,t,a)=>{const s=Lt(),n=Ft();Pt(At(m,t,Lt),a,(e,t,a)=>{Ot(e,t,a),fe(a[C],e=>Ot(s,t,e),()=>Jt(n,t))}),Ot(I,t,[s,n])},(e,t)=>{Ot(m,t),Ot(I,t)}),Be=e=>Pt(E,e,(e,t,a)=>{Ot(E,t,a),fe(a[C],e=>Ot(k,t,e),()=>Jt(H,t))},(e,t)=>{Ot(E,t),Ot(k,t),st(H,t)}),et=e=>pt(e)?Ja():Oa(e),nt=(e,t,a,s,n,o)=>ue(s)?Ga(e,t,a,!0,n):Va(e,t,a,s,n,o),ot=e=>pt(e)?qa():$a(e),rt=(e,t,a)=>ue(t)?Ba(e,a):xa(e,t,a),it=(e,t)=>Oe(e,()=>t?e:fe(o[1],t=>De(()=>t(Ee(e))),()=>e),e=>Pt(U,e,(e,t,a)=>ct(t,a),(e,t)=>Ct(t)),mt),ct=(e,t,a)=>Oe(t,()=>a?t:fe(o[2],a=>De(()=>a(e,Ee(t))),()=>t),t=>Pt(At(U,e,()=>(Ut(e,1),Ot(F,e,Bt()),Ot(J,e,Lt()),Lt())),t,(t,a,s)=>ut(e,t,a,s),(t,a)=>Rt(e,t,a)),mt),ut=(e,t,a,s,n)=>Oe(s,()=>n?s:fe(o[3],t=>De(()=>t(e,a,Ee(s))),()=>s),s=>Pt(At(t,a,()=>(jt(e,a,1),Lt())),s,(t,s,n)=>gt(e,a,t,s,n),(s,o)=>Tt(e,t,a,s,o,n)),mt),gt=(e,t,a,s,n,r)=>Oe(n,()=>fe(r?void 0:o[4],a=>De(()=>a(e,t,s,n)),()=>n),n=>{Ke(a,s)||Gt(e,t,s,1);const o=Dt(a,s);n!==o&&(qt(e,t,s,o,n),Ot(a,s,n))}),wt=(e,t,a,s,n,o)=>fe(Dt(t,a),t=>gt(e,a,t,s,n,o),()=>{const r=Lt();Ot(t,a,r),jt(e,a,1),vt(je({[s]:n},e,a),(t,s)=>gt(e,a,r,s,t,o))}),ft=(e,t)=>Oe(e,()=>t?e:fe(o[5],t=>De(()=>t(Ee(e))),()=>e),e=>Pt(G,e,(e,t,a)=>bt(t,a),(e,t)=>Ht(t)),mt),bt=(e,t,a)=>Oe(t,()=>fe(a?void 0:o[6],a=>De(()=>a(e,t)),()=>t),t=>{Ke(G,e)||Qt(e,1);const a=Dt(G,e);t!==a&&(Yt(e,a,t),Ot(G,e,t))}),St=e=>At(U,e,()=>(Ut(e,1),Ot(F,e,Bt()),Ot(J,e,Lt()),Lt())),Ct=e=>De(()=>o[8]?.(e))??1?ct(e,{},!0):Dt(U,e),Rt=(e,t,a)=>{if(De(()=>o[9]?.(e,a))??1){const[,s]=Dt(F,e);s(a),ut(e,t,a,{},!0)}},Tt=(e,t,a,s,n,r,i)=>{const l=Dt(Dt(I,e)?.[0],n);if(!ue(l)&&!r)return gt(e,a,s,n,l);if(i||(De(()=>o[10]?.(e,a,n))??1)){const o=t=>{qt(e,a,t,Dt(s,t)),Gt(e,a,t,-1),Ot(s,t)};ue(l)?o(n):Nt(s,o),Ze(s)&&(jt(e,a,-1),Ze(Ot(t,a))&&(Ut(e,-1),Ot(U,e),Ot(F,e),Ot(J,e)))}},Ht=(e,t)=>{const a=Dt(k,e);if(!ue(a))return bt(e,a);(t||(De(()=>o[12]?.(e))??1))&&(Yt(e,Dt(G,e)),Qt(e,-1),Ot(G,e))},Ut=(e,t)=>Za(l,e,t),jt=(e,t,a)=>Za(At(u,e,Lt),t,a)&&Ot(d,e,At(d,e,()=>0)+a),Gt=(e,t,a,s)=>{const n=Dt(J,e),o=Dt(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&Za(At(c,e,Lt),a,s),Ot(n,a,o!=-s?o+s:void 0),Za(At(At(g,e,Lt),t,Lt),a,s)},qt=(e,t,a,s,n)=>{At(At(At(w,e,Lt),t,Lt),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i)},Qt=(e,t)=>Za(y,e,t),Yt=(e,t,a)=>{At(f,e,()=>[t,0])[1]=a,r[4]?.(e,a,i)},Xt=(e,t,a,s,n)=>(Ue(At(At(At(b,e,Lt),t,Lt),a,()=>[]),s),n),Kt=(e,t,a)=>(Ue(At(v,e,()=>[]),t),a),Zt=(e,t,a)=>fe(Dt(Dt(Dt(w,e),t),a),([e,t])=>[!0,_a(e),_a(t)],()=>[!1,...za(va(e,t,a))]),ea=e=>fe(Dt(f,e),([e,t])=>[!0,_a(e),_a(t)],()=>[!1,...za(pa(e))]),ta=e=>Ze(b)||Ze(ie[e])?0:at(e?Wt(b):b,(t,a)=>at(t,(t,s)=>at(t,(t,n)=>Ie(ie[e],[a,s,n],t)))),aa=e=>Ze(v)||Ze(le[e])?0:at(e?$t(v):v,(t,a)=>Ie(le[e],[a],t)),oa=(e,t,a,s)=>{if(!Ze(e))return Ie(t,s,()=>kt(e)),Nt(e,(e,t)=>Ie(a,[...s??[],e],1==t)),1},ra=e=>{const t=!Ze(q[e]),s=!Ze(te[e]),n=!(Ze(ne[e])&&Ze(oe[e])&&Ze(ee[e])&&Ze(ae[e])&&Ze(X[e])&&Ze(K[e])&&Ze(Z[e])&&!s&&Ze(z[e])&&Ze(Q[e])),o=!(Ze(re[e])&&Ze(se[e])&&Ze(Y[e])&&Ze(B[e]));if(t||n||o){const i=e?[$t(l),xt(c),$t(d),xt(u),Wt(g),(r=w,$t(r,e=>$t(e,e=>$t(e,Xa))))]:[l,c,d,u,g,w];if(t){const t=ma();t!=a&&Ie(q[e],void 0,t)}if(n){oa(i[0],z[e],Q[e]),at(i[1],(t,a)=>oa(t,X[e],K[e],[a])),at(i[2],(t,a)=>{0!=t&&Ie(Z[e],[a],ha(a))});const t=Ft();at(i[3],(a,n)=>{oa(a,ee[e],ae[e],[n])&&s&&(Ie(te[e],[n,null]),Jt(t,n))}),s&&at(i[5],(a,s)=>{if(!Ke(t,s)){const t=Ft();at(a,e=>at(e,([a,s],n)=>s!==a?Jt(t,n):st(e,n))),at(t,t=>Ie(te[e],[s,t]))}}),at(i[4],(t,a)=>at(t,(t,s)=>oa(t,ne[e],oe[e],[a,s])))}if(o){let t;at(i[5],(a,s)=>{let n;at(a,(a,o)=>{let r;at(a,([a,i],l)=>{i!==a&&(Ie(re[e],[s,o,l],_a(i),_a(a),Zt),t=n=r=1)}),r&&Ie(se[e],[s,o],Zt)}),n&&Ie(Y[e],[s],Zt)}),t&&Ie(B[e],void 0,Zt)}}var r},ia=e=>{const t=!Ze(ce[e]),a=!Ze(we[e])||!Ze(he[e]),n=!Ze(ye[e])||!Ze(de[e]);if(t||a||n){const o=e?[$t(y),$t(f,Xa)]:[y,f];if(t){const t=Ea();t!=s&&Ie(ce[e],void 0,t)}if(a&&oa(o[0],we[e],he[e]),n){let t;at(o[1],([a,s],n)=>{s!==a&&(Ie(ye[e],[n],_a(s),_a(a),ea),t=1)}),t&&Ie(de[e],void 0,ea)}}},la=(e,...t)=>(ns(()=>e(...$e(t,j))),is),ca=(e,t,a,s,n)=>{let o=fa(e,t,...a);return Re(()=>{const n=fa(e,t,...a);Ae(n,o)||(o=n,s(is,e,t,...a,o))},te[n?1:0],[e,t],[ga])},da=(e=!1)=>[kt(w,(t,a)=>-1===Dt(l,a)?void 0:kt(t,(t,s)=>-1===Dt(Dt(u,a),s)?void 0:kt(t,([,t])=>_a(t,0,e),e=>Ka(e)),Ze,pt),Ze,pt),kt(f,([,t])=>_a(t,0,e),e=>Ka(e)),1],ua=()=>Vt(U,_a),ga=()=>Et(U),wa=e=>Et(Dt(J,j(e))),ha=e=>ze(Dt(U,j(e))),ya=e=>Et(Dt(U,j(e))),fa=(e,t,a,s=0,n)=>lt(e)?fa(e.tableId,e.cellId,e.descending,e.offset,e.limit):$e(pe(ke(Mt(Dt(U,j(e)),(e,a)=>[ue(t)?a:Dt(e,j(t)),a]),([e],[t])=>Da(e,t)*(a?-1:1)),s,ue(n)?n:s+n),([,e])=>e),ba=(e,t)=>Et(Dt(Dt(U,j(e)),j(t))),va=(e,t,a)=>_a(Dt(Dt(Dt(U,j(e)),j(t)),j(a))),Sa=()=>kt(G,_a),Ca=()=>Et(G),pa=e=>_a(Dt(G,j(e))),ma=()=>!Ze(U),Ra=e=>Ke(U,j(e)),Ia=(e,t)=>Ke(Dt(J,j(e)),j(t)),Ta=(e,t)=>Ke(Dt(U,j(e)),j(t)),La=(e,t,a)=>Ke(Dt(Dt(U,j(e)),j(t)),j(a)),Ea=()=>!Ze(G),Na=e=>Ke(G,j(e)),Oa=e=>la(()=>(e=>It(e,xe,Xt))(e)?it(e):0),Va=(e,t,a,s,n,r)=>la((e,t,a)=>fe(He(e,t,a,Se(s)?s(va(e,t,a)):s),s=>{const i=St(e);fe(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Dt(i,t),l={...r?kt(r):{},[a]:s};fe(De(()=>o(e,t,Ee(l))),a=>((e,t,a,s,n)=>{Pt(At(t,a,()=>(jt(e,a,1),Lt())),s,(t,s,o)=>fe(He(e,a,s,o),o=>gt(e,a,t,s,o,n)),(s,n)=>Tt(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>wt(e,i,t,a,s,n))}),e,t,a),$a=e=>la(()=>Fe(e)?ft(e):0),xa=(e,t,a)=>la(e=>fe(Je(e,Se(t)?t(pa(e)):t),t=>bt(e,t,a)),e),Wa=e=>(Ne(()=>et(sa(e))),is),Ha=t=>la(()=>{if((e=It(t,e=>It(e,Pe)))&&(qe(t),!Ze(U))){const e=ua();Ja(),Oa(e)}}),Fa=e=>la(()=>{if(t=(e=>It(e,Pe))(e)){const a=Sa();ss(),qa(),t=!0,Be(e),$a(a)}}),Ja=()=>la(()=>De(()=>o[7]?.())??1?it({},!0):0),Ua=e=>la(e=>Ke(U,e)?Ct(e):0,e),ja=(e,t)=>la((e,t)=>fe(Dt(U,e),a=>Ke(a,t)?Rt(e,a,t):0),e,t),Ga=(e,t,a,s,n)=>la((e,t,a)=>fe(Dt(U,e),o=>fe(Dt(o,t),r=>Ke(r,a)?Tt(e,o,t,r,a,s,n):0)),e,t,a),qa=()=>la(()=>De(()=>o[11]?.())??1?ft({},!0):0),Ba=(e,t)=>la(e=>Ke(G,e)?Ht(e,t):0,e),as=()=>la(()=>{qe({}),e=!1}),ss=()=>la(()=>{Be({}),t=!1}),ns=(e,t)=>{if(-1!=n){os();const a=e();return rs(t),a}},os=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Ie(ve)),is),rs=e=>(n>0&&(n--,0==n&&(n=1,De(()=>{ta(1),Ze(w)||ra(1),aa(1),Ze(f)||ia(1)}),e?.(is)&&(at(w,(e,t)=>at(e,(e,a)=>at(e,([e],s)=>nt(t,a,s,e,!0)))),tt(w),at(f,([e],t)=>rt(t,e,!0)),tt(f)),Ie(me[0],void 0),n=-1,ta(0),Ze(w)||ra(0),aa(0),Ze(f)||ia(0),r[1]?.(),Ie(me[1],void 0),r[2]?.(),n=0,a=ma(),s=Ea(),_e([l,c,d,u,g,w,b,y,f,v],tt))),is),is={getContent:()=>[ua(),Sa()],getTables:ua,getTableIds:ga,getTable:e=>_t(Dt(U,j(e)),_a),getTableCellIds:wa,getRowCount:ha,getRowIds:ya,getSortedRowIds:fa,getRow:(e,t)=>kt(Dt(Dt(U,j(e)),j(t)),_a),getCellIds:ba,getCell:va,getValues:Sa,getValueIds:Ca,getValue:pa,hasTables:ma,hasTable:Ra,hasTableCell:Ia,hasRow:Ta,hasCell:La,hasValues:Ea,hasValue:Na,getTablesJson:()=>na(U),getValuesJson:()=>na(G),getJson:()=>na([U,G]),getTablesSchemaJson:()=>na(m),getValuesSchemaJson:()=>na(E),getSchemaJson:()=>na([m,E]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>la(()=>{const t=Se(e)?e():e;Ve(t)&&(e=>{Oe(e,()=>fe(o[0],t=>De(()=>t(Ee(e))),()=>e),([e,t])=>{(pt(e)?Ja:Oa)(e),(pt(t)?qa:$a)(t)},es)})(t)}),setTables:Oa,setTable:(e,t)=>la(e=>xe(t,e)?ct(e,t):0,e),setRow:(e,t,a)=>la((e,t)=>We(e,t,a)?ut(e,St(e),t,a):0,e,t),addRow:(e,t,a=!0)=>ns(()=>{let s;return We(e,s,t)&&(e=j(e),ut(e,St(e),s=((e,t)=>{const[a]=Dt(F,e);let s;do{s=a(t)}while(Ke(Dt(U,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>la((e,t)=>{if(We(e,t,a,1)){const s=St(e);vt(a,(a,n)=>wt(e,s,t,n,a))}},e,t),setCell:Va,setValues:$a,setPartialValues:e=>la(()=>Fe(e,1)?vt(e,(e,t)=>bt(t,e)):0),setValue:xa,applyChanges:e=>la(()=>Oe(e,()=>fe(o[13],t=>De(()=>t(Ee(e))),()=>e),e=>{vt(e[0],(e,t)=>ue(e)?Ua(t):vt(e,(e,a)=>ue(e)?ja(t,a):vt(e,(e,s)=>nt(t,a,s,e,void 0,!0)))),vt(e[1],(e,t)=>rt(t,e))},es)),setTablesJson:Wa,setValuesJson:e=>(Ne(()=>ot(sa(e))),is),setJson:e=>la(()=>Ne(()=>{const[t,a]=sa(e);et(t),ot(a)},()=>Wa(e))),setTablesSchema:Ha,setValuesSchema:Fa,setSchema:(e,t)=>la(()=>{Ha(e),Fa(t)}),delTables:Ja,delTable:Ua,delRow:ja,delCell:Ga,delValues:qa,delValue:Ba,delTablesSchema:as,delValuesSchema:ss,delSchema:()=>la(()=>{as(),ss()}),transaction:ns,startTransaction:os,getTransactionChanges:()=>da(),getTransactionLog:()=>[!Ze(w),!Ze(f),Vt(w,Xa,Ka),Vt(b),kt(f,Xa,Ka),kt(v),kt(l),_t(u),Vt(g),kt(y)],finishTransaction:rs,forEachTable:e=>at(U,(t,a)=>e(a,e=>at(t,(t,a)=>e(a,e=>Nt(t,(t,a)=>e(t,_a(a))))))),forEachTableCell:(e,t)=>Nt(Dt(J,j(e)),t),forEachRow:(e,t)=>at(Dt(U,j(e)),(e,a)=>t(a,t=>Nt(e,(e,a)=>t(e,_a(a))))),forEachCell:(e,t,a)=>Nt(Dt(Dt(U,j(e)),j(t)),(e,t)=>a(e,_a(t))),forEachValue:e=>Nt(G,(t,a)=>e(t,_a(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>lt(e)?ca(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ca(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Re(e,ve),addWillFinishTransactionListener:e=>Re(e,me[0]),addDidFinishTransactionListener:e=>Re(e,me[1]),callListener:e=>(Le(e),is),delListener:e=>(Te(e),is),getListenerStats:()=>({hasTables:Qa(q),tables:Qa(B),tableIds:Qa(z),hasTable:Qa(Q),table:Qa(Y),tableCellIds:Qa(X),hasTableCell:Qa(K,Ye),rowCount:Qa(Z),rowIds:Qa(ee),sortedRowIds:Qa(te),hasRow:Qa(ae,Ye),row:Qa(se,Ye),cellIds:Qa(ne,Ye),hasCell:Qa(oe,Xe),cell:Qa(re,Xe),invalidCell:Qa(ie,Xe),hasValues:Qa(ce),values:Qa(de),valueIds:Qa(we),hasValue:Qa(he),value:Qa(ye),invalidValue:Qa(le),transaction:Qe(ve)+Qa(me)}),isMergeable:()=>!1,_:[ts,Re,Ie,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],nt,rt,()=>[Vt(U),kt(G)],()=>da(!0)]};return vt({[L+N]:[0,q,[],()=>[ma()]],[N]:[0,B],[M]:[0,z],[L+D]:[1,Q,[ga],e=>[Ra(...e)]],[D]:[1,Y,[ga]],[D+V]:[1,X,[ga]],[L+D+_]:[2,K,[ga,wa],e=>[Ia(...e)]],[A]:[1,Z,[ga]],[P]:[1,ee,[ga]],[L+O]:[2,ae,[ga,ya],e=>[Ta(...e)]],[O]:[2,se,[ga,ya]],[V]:[2,ne,[ga,ya]],[L+_]:[3,oe,[ga,ya,ba],e=>[La(...e)]],[_]:[3,re,[ga,ya,ba],e=>za(va(...e))],InvalidCell:[3,ie],[L+x]:[0,ce,[],()=>[Ea()]],[x]:[0,de],[W]:[0,we],[L+$]:[1,he,[Ca],e=>[Na(...e)]],[$]:[1,ye,[Ca],e=>za(pa(e[0]))],InvalidValue:[1,le]},([e,t,a,s],n)=>{is[T+n+R]=(...n)=>Re(n[e],t[n[e+1]?1:0],e>0?pe(n,0,e):void 0,a,s)}),dt(is)},as={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ss=(e=d)=>[ja(e),ja(e)],ns=(e,t)=>{let a=1,s=ss(),n=0,o=0;const r=Lt(),i=Ft(),[l,c]=Ea(e,t),u=ts(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;ft(o,([e,s=d,n=0],o)=>{const r=At(w,o,ja),[i,l,c]=r;let u=t?n:c,g=s;ft(e,(e,s)=>{const[n,r,l]=h(e,At(i,s,ja),Rt(Rt(a,o,ut),s,ut),t);u^=t?0:da(r?ga(s,r):0,ga(s,l)),g=Fa(g,n)}),u^=t?0:Ha(l,s),Ja(r,s,u),b^=t?0:da(c?ga(o,c):0,ga(o,r[2])),v=Fa(v,g)}),b^=t?0:Ha(y,r),Ja(u,r,b);const[S]=h(l,g,n,t);return c(Fa(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return ft(n,([e,t=d,n=0],o)=>{const r=At(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Ja(r,t,s?n:wa(e,t)),r[0]=e,a[o]=e,g^=s?0:da(ga(o,c),ga(o,r[2])),u=Fa(u,t))}),g^=s?0:Ha(l,o),Ja(t,o,g),[u,c,t[2]]},y=Ie,f=Ie,b=(e=!1)=>[Ga(s[0],t=>Ga(t,t=>Ga(t,([t,a,s])=>[_a(t,0,e),a,s]))),Ga(s[1],([t,a,s])=>[_a(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?xa:$a,g={};at(r,(e,s)=>fe(Dt(a,s),([a,n,o])=>{const r={};at(e,(e,s)=>fe(Dt(a,s),([a,n,o])=>{const i={};at(e,e=>{fe(Dt(a,e),([a,s,n])=>i[e]=u(t?a:_a(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return at(i,e=>fe(Dt(l,e),([a,s,n])=>w[e]=u(t?a:_a(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>kt(s[0][0],Wa),getMergeableTableDiff:e=>{const t=Ua(s[0][1]),a={};return Nt(s[0][0],(s,[n,o,r])=>ht(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=qa([n,o],e=>qa(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return ft(e,(e,a)=>fe(Dt(s[0][0],a),([s,,n])=>n!=e?Nt(s,(e,[,,s])=>Rt(t,a,ut)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=Ua(s[0][1]),a={};return ft(e,(e,n)=>Nt(Dt(s[0][0],n)?.[0],(s,[o,r,i])=>ht(e,s)?i!==e[s]?Rt(a,n,ut)[s]=i:0:Rt(t[0],n,Ua)[0][s]=qa([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return ft(e,(e,a)=>fe(Dt(s[0][0],a),([s])=>ft(e,(e,n)=>fe(Dt(s,n),([s,,o])=>o!==e?Nt(s,(e,[,,s])=>Rt(Rt(t,a,ut),n,ut)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return ft(e,(e,a)=>ft(e,(e,s)=>fe(Dt(t,a),([t,o])=>fe(Dt(t,s),([t,r])=>Nt(t,(t,[i,l,c])=>c!==e[t]?Rt(Rt(n,a,()=>Ua(o))[0],s,()=>Ua(r))[0][t]=[i,l]:0))))),$a(n,a)},getMergeableValueHashes:()=>kt(s[1][0],Wa),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=kt(t,Va,([,,t],a)=>t==e?.[a]);return $a(n,a)},setMergeableContent:e=>g(()=>(e=>Ce(e)&&2==me(e)&&Ba(e[0],e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,Oa),void 0,1)),void 0,1)),void 0,1))&&Ba(e[1],e=>It(e,e=>Ba(e,Oa),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=ss(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{tt(r),tt(i)},(e,t,s,i,c)=>{Jt(At(At(r,e,Lt),t,Ft),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n?d:l()]}]}]}],[{}],1]))},(e,t,s)=>{Jt(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n?d:l()]}],1]))}),vt(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+R||"use"==t?(...t)=>(e(...t),p):G(t,T)&&q(t,R)?(...a)=>{const s=as[pe(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),dt(p)},os=Lt([["avg",[(e,t)=>xe(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>oe(...e),(e,t)=>oe(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:oe(t,e)]],["min",[e=>re(...e),(e,t)=>re(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:re(t,e)]],["sum",[e=>xe(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),rs=(e,t,a,s,n,o=!1)=>{if(Ze(a))return;const[r,i,l,c]=n;return o||=ue(e),at(s,([a,s])=>{o||(e=ue(a)?i?.(e,s,t++):ue(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ue(e))}),o?r(et(a),ze(a)):e},is=Gt(e=>{const t=Lt(),[a,s,n]=zt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=Ut(e,Re,e=>isNaN(e)||ue(e)||we(e)||he(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=Se(n)?[n,r,i,l]:Dt(os,n)??Dt(os,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=ze(r);l||=ue(d),a();let h=rs(d,w,r,n,c,l);ce(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},jt(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:Qe(t)})};return dt(b)}),ls=(e,t,...a)=>He(e,(e,t)=>ue(e)?e:t(...a,e),t),cs=(e,...t)=>Oe(e,e=>e(...t)),ds=Gt(e=>{const t=e=>t=>(Ue(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),R=t(c),I=t(d),T=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=dt({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:R,addWillDelTableCallback:I,addWillDelRowCallback:T,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>ls(a,e),e=>ls(s,e),(e,t)=>ls(n,t,e),(e,t,a)=>ls(o,a,e,t),(e,t,a,s)=>ls(r,s,e,t,a),e=>ls(i,e),(e,t)=>ls(l,t,e),()=>cs(c),e=>cs(d,e),(e,t)=>cs(u,e,t),(e,t,a)=>cs(g,e,t,a),()=>cs(w),e=>cs(h,e),e=>ls(y,e),()=>o.length>0),M}),us={Idle:0,Loading:1,Saving:2},gs={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ws=Lt(),hs=Lt(),ys=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;At(ws,c,()=>0),At(hs,c,()=>[]);const f=Lt(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!pt(e)||!pt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!pt(e)||!pt(t),t.setContent]:De("Store type not supported by this Persister"))(r,e,l),[m,R,I]=zt(()=>$),T=e=>{e!=w&&(w=e,R(f,void 0,w))},L=t=>{(b&&Ce(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(T(1),h++,await V(async()=>{await Ne(async()=>{const a=await t();Ce(a)?L(a):e?p(e):De("Content is not an array: "+a)},()=>{e&&p(e)}),T(0),await E()})),$),N=async e=>(M(),await D(e),await Ne(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(T(1),h++,L(t??e),T(0),await E()):await D()}),o),$),M=async()=>(u&&(await Ne(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(T(2),y++,await V(async()=>{await Ne(()=>a(v,e),o),T(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ue(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(Ue(Dt(hs,c),...e),await(async()=>{if(!Dt(ws,c)){for(Ot(ws,c,1);!ue(d=qe(Dt(hs,c)));)await Ne(d,o);Ot(ws,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ue(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(I(t),e),schedule:V,getStore:()=>e,destroy:()=>(Je(Dt(hs,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return dt($)},fs="_",bs="_id",vs="SELECT",Ss="WHERE",Cs="TABLE",ps="INSERT",ms="DELETE",Rs="UPDATE",Is="ALTER "+Cs,Ts="FROM",Ls=ms+" "+Ts,Es=vs+"*"+Ts,Ds="pragma_",Ns="data_version",Ms="schema_version",Os="pragma_table_",As="CREATE ",Ps=As+Cs,ks="OR REPLACE ",_s="FUNCTION",Vs="$tableName",$s=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,xs=e=>Ve($e(z(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),Ws=(...e)=>xs(Ve(e,"_")),Hs=(...e)=>Ve($e(e,xs),u),Fs=(e,t=[1])=>Ve($e(e,()=>"$"+t[0]++),u),Js=(e,t=v)=>Ss+`(${Q(t,Vs,xs(e))})`,Us="ColumnName",js="store",Gs="json",qs=js+"TableName",Bs=js+"Id"+Us,zs=js+Us,Qs="autoLoadIntervalSeconds",Ys="rowId"+Us,Xs="tableId",Ks="tableName",Zs="deleteEmptyColumns",en="deleteEmptyTable",tn="condition",an={mode:Gs,[Qs]:1},sn={load:0,save:0,[Ks]:c+"_values"},nn=(e,t,a,s,n)=>{const o=Lt();return vt(e,(e,r)=>{const i=pe(St(gt(t,ve(e)?{[a]:e}:e)),0,Ct(t));ge(i[0])||s(r,i[0])||(n(r,i[0]),Ot(o,r,i))}),o},on=e=>{const t=(e=>gt(an,ve(e)?{[qs]:e}:e??{}))(e),a=t[Qs];if(t.mode==Gs){const e=t[qs]??c;return[1,a,[e,t[Bs]??bs,t[zs]??js],Ft(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=pe(St(gt(sn,o)),0,Ct(sn)),i=r[2],l=Ft(i),d=Ft(i),u=nn(s,{[Xs]:null,[Ys]:bs,[tn]:v},Xs,e=>Ke(d,e),e=>Jt(l,e)),g=nn(n,{[Ks]:null,[Ys]:bs,[Zs]:0,[en]:0,[tn]:null},Ks,(e,t)=>Ke(d,t),(e,t)=>Jt(l,t));return Nt(g,(e,t)=>t[4]??=Dt(u,t[0])?.[2]??v),[0,a,[u,g,r],l]},rn=(e,t,a,s,n,o=ln,r,i)=>{const l=Lt();return[async()=>{tt(l),$e(await a(e,t),({tn:e,cn:t})=>Jt(At(l,e,Ft),t))},async(t,a,s)=>((e,t)=>Ke(Dt(l,e),t))(t,a)?ut(Fe($e(await e(Es+xs(t)+Js(t,s)),e=>[e[a],i?vt(yt(e,a),i):yt(e,a)]),([e,t])=>!ue(e)&&!pt(t))):{},async(t,a,s,i,c,d=!1,g=v)=>{const w=Ft();vt(s??{},e=>$e(ct(e??{}),e=>Jt(w,e)));const h=et(w);if(!d&&c&&g==v&&We(h)&&Ke(l,t))return await e("DROP "+Cs+xs(t)),void Ot(l,t);const y=Dt(l,t),f=Ft(et(y));if(We(h)||(Ke(l,t)?await Le($e([a,...h],async(s,o)=>{st(f,s)||(await e(Is+xs(t)+"ADD"+xs(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+xs(t)+`(${xs(a)})`),Jt(y,s))})):(await e(Ps+xs(t)+`(${xs(a)}${n} PRIMARY KEY${Ve($e(h,e=>u+xs(e)+n))});`),Ot(l,t,Ft([a,...h])))),await Le([...!d&&i?$e(et(f),async s=>{s!=a&&(await e(Is+xs(t)+"DROP"+xs(s)),st(y,s))}):[]]),d)ue(s)?await e(Ls+xs(t)+Js(t,g)):await Le(bt(s,async(s,n)=>{ue(s)?await e(Ls+xs(t)+Js(t,g)+`AND(${xs(a)}=$1)`,[n]):We(h)||await o(e,t,a,ct(s),{[n]:r?$e(St(s),r):St(s)},y)}));else if(We(h))Ke(l,t)&&await e(Ls+xs(t)+Js(t,g));else{const n=Fe(et(Dt(l,t)),e=>e!=a),i={},c=[];vt(s??{},(e,t)=>{i[t]=$e(n,t=>r?r(e?.[t]):e?.[t]),Ue(c,t)}),await o(e,t,a,n,i),await e(Ls+xs(t)+Js(t,g)+`AND${xs(a)}NOT IN(${Fs(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Ne(async()=>a=await t(),s),await e("END"),a}]},ln=async(e,t,a,s,n)=>{const o=[1];await e(ps+" INTO"+xs(t)+"("+Hs(a,...s)+")VALUES"+Ve(bt(n,e=>"($"+o[0]+++","+Fs(e,o)+")"),u)+"ON CONFLICT("+xs(a)+`)DO ${Rs} SET`+Ve($e(s,e=>xs(e)+"=excluded."+xs(e)),u),bt(n,(e,t)=>[t,...$e(e,e=>e??null)]).flat())},cn=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=rn(t,d,u,n,h,y),C=ys(e,()=>S(async()=>(await f(),ra((await b(i,l))[fs]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[fs]:{[c]:oa(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},dn=(e,t,a,s,n,o,r,[i,l,[c,d,u]],g,w,h,y,f,b,v,S)=>{const[C,p,m,R]=rn(t,g,w,n,f,b,v,S),I=(e,t)=>Le(Mt(l,async([a,s,n,o,r],i)=>{t&&!ht(e,i)||await m(a,s,e[i],n,o,t,r)})),T=async(e,t)=>d?await m(u,bs,{[fs]:e},!0,!0,t):null,L=ys(e,()=>R(async()=>{await C();const e=await(async()=>ut(Fe(await Le(Mt(i,async([e,t,a],s)=>[e,await p(s,t,a)])),e=>!pt(e[1]))))(),t=await(async()=>c?(await p(u,bs))[fs]:{})();return pt(e)&&ue(t)?void 0:[e,t]}),(e,t)=>R(async()=>{if(await C(),ue(t)){const[t,a]=e();await I(t),await T(a)}else await I(t[0],!0),await T(t[1],!0)}),a,s,n,r,{[y]:()=>h,destroy:async()=>(await L.stopAutoPersisting(),o(),L)},0,h);return L},un=/^([cd]:)(.+)/,gn=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=$s(a,o),[h,,y,f]=on(t),b=d+ca(oa(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=Ws(c,e,b);return await w(As+ks+_s+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(As+e+"TRIGGER"+t+a+"EXECUTE "+_s+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,R=(e,t)=>h?v:2===t?R(e,0)+" OR "+R(e,1):Q(Dt(y[0],e)?.[2]??v,Vs,0==t?"NEW":"OLD"),I=(e,t)=>Le($e([ps,ms,Rs],(a,s)=>p(ks,Ws(c,"d",b,e,a),`AFTER ${a} ON${xs(e)}FOR EACH ROW WHEN(${R(e,s)})`,t)));return(h?cn:dn)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Ss} command_tag='${Ps}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",Ws(c,"c",b),`ON ddl_command_end WHEN TAG IN('${Ps}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Le($e(et(f),async e=>(await w(Ps+` IF NOT EXISTS${xs(e)}("_id"text PRIMARY KEY)`),await I(e,a)))),[await s(S,t=>fe(B(t,un),async([,t,s])=>{Ke(f,s)&&("c:"==t&&await I(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${Ve(t,",")}CASCADE`)},r,i,l,y,et(f),async(e,t)=>await e(vs+` table_name tn,column_name cn FROM information_schema.columns ${Ss} table_schema='public'AND table_name IN(${Fs(t)})`,t),u,g,"text",void 0,e=>aa(e),e=>sa(e))},wn=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=$s(a,o),[b,v,S,C]=on(t);return(b?cn:dn)(e,f,e=>{let t;const a=()=>t=ae(()=>Ne(async()=>{const[{d:t,s:a,c:s}]=await f(vs+` ${Ns} d,${Ms} s,TOTAL_CHANGES() c FROM ${Ds}${Ns} JOIN ${Ds}${Ms}`);t==w&&a==h&&s==y||(de(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,se(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,et(C),async(e,t)=>await e(vs+` t.name tn,c.name cn FROM ${Os}list()t,${Os}info(t.name)c ${Ss} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Fs(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>we(e)?1:he(e)?0:e,void 0)},hn=(e,t)=>[e[t].t,e[t].v],yn=(e,t,a,s)=>{const n=ue(t)?e:Rt(e,t,()=>({}));let o;return vt(a,(e,t)=>{s(n,t,e)&&(o=1)}),vt(n,(e,t)=>{ht(a,t)||(yt(n,t),o=1)}),!ue(t)&&pt(n)&&yt(e,t),o},fn=(e,t,a=c,s)=>(t.change(e=>Rt(e,a,ut)),ys(e,async()=>{const e=t.doc();return 2==Ct(e?.[a])?hn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{pt(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=hn(e,t),r=()=>{i=1};let i=1;if(fe(s,([e,t])=>{i=0,vt(e,(e,t)=>i?0:ue(e)?yt(n,t):fe(n[t],t=>vt(e,(e,a)=>i?0:ue(e)?yt(t,a):fe(wt(t,a),t=>vt(e,(e,a)=>ue(e)?yt(t,a):t[a]=e),r)),r)),vt(t,(e,t)=>i?0:ue(e)?yt(o,t):o[t]=e)}),i){const[e,t]=a();yn(n,void 0,e,(e,t,a)=>yn(n,t,a,(e,t,a)=>yn(e,t,a,(e,t,a)=>{if(wt(e,t)!==a)return e[t]=a,1}))),yn(o,void 0,t,(e,t,a)=>{wt(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(hn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),bn="storage",vn=(e,t,a,s)=>ys(e,async()=>ra(a.getItem(t)),async e=>a.setItem(t,oa(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Ne(()=>e(ra(s.newValue)),e)};return ee.addEventListener(bn,s),s},e=>ee.removeEventListener(bn,e),s,3,{getStorageName:()=>t}),Sn=(e,t,a)=>vn(e,t,localStorage,a),Cn=(e,t,a)=>vn(e,t,sessionStorage,a),pn=(e,t,a)=>ys(e,async()=>ra(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(oa(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),mn=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,Ie,1,t),Rn=()=>xa({},d,0),In=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+pe(oa(t),1,-1);return ys(e,async()=>{const e=Rn(),s=Rn();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>fe((e=>{if(G(e,a)){const t=pe(e,me(a),me(a)+1);return t==J||t==U?[t,...JSON.parse("["+pe(e,me(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?fe(r[0],a=>{const s=Rt(e[0],a,Rn);fe(r[1],e=>{const a=Rt(s[0],e,Rn);fe(r[2],e=>a[0][e]=[t,n,o],()=>Ja(a,n,o))},()=>Ja(s,n,o))},()=>Ja(e,n,o)):a==U?fe(r[0],e=>s[0][e]=[t,n,o],()=>Ja(s,n,o)):0)),pt(e[0])&&pt(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=Lt();Ot(c,n(J),[0,s,o]),ft(a,([e,t,a],s)=>{Ot(c,n(J,s),[0,t,a]),ft(e,([e,t,a],o)=>{Ot(c,n(J,s,o),[0,t,a]),ft(e,(e,t)=>Ot(c,n(J,s,o,t),e))})}),Ot(c,n(U),[0,i,l]),ft(r,(e,t)=>Ot(c,n(U,t),e)),await t.put(kt(c))},Ie,Ie,s,2,{getStorage:()=>t})},Tn=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>_e(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,Ie,1,t,"getElectricClient"),Ln=(t,a,s,n,o)=>wn(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,Ie,3,a),En=(e,r,i)=>ys(e,async()=>ra(await o(r,m)),async e=>await n(r,oa(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),Dn=[J,U],Nn={keyPath:"k"},Mn=async(e,t)=>{const a=bt(t,(t,a)=>On(e,"put",{k:a,v:t}));$e(await On(e,"getAllKeys"),s=>ht(t,s)?0:Ue(a,On(e,"delete",s))),await Le(a)},On=async(e,t,a)=>Te((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),An=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Te((n,o)=>{const r=(ee?ee.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&$e(Dn,e=>Ne(()=>r.result.createObjectStore(e,Nn))),r.onsuccess=()=>Ne(async()=>{const t=r.result.transaction(Dn,"readwrite"),s=await Le($e(Dn,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return ys(e,async()=>await n(async e=>ut($e(await On(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Mn(e,t),e(),1),e=>ae(e,a),e=>se(e),s,1,{getDbName:()=>t})},Pn=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>Ie,e=>e(),s,n,Ie,1,t,"getClient"),kn="s",_n="/store",Vn=(e,t,a)=>e+t+(ve(a)?a:oa(a)),$n=(e,t,a)=>{const s=me(e);return G(t,e)?[t[s],(a?ra:te)(pe(t,s+1))]:void 0},xn=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=_n,messagePrefix:l=d}={...ve(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:na(e)}:{},mode:"cors",cache:"no-store"})).json();return ys(e,u,async(e,a)=>{a?t.send(Vn(l,kn,a)):await u(e())},e=>{const a=t=>fe($n(l,t.data,1),([t,a])=>{t==kn&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},Wn="hasStore",Hn=ut($e(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),Fn=async(e,t=d)=>!!await e.get(t+Wn),Jn=async(e,t=d)=>{const a={},s={};return Nt(await e.list(),(e,n)=>fe($n(t,e),([e,t])=>{if(e==J){const[e,s,o]=sa("["+t+"]");Rt(Rt(a,e,ut),s,ut)[o]=n}else e==U&&(s[t]=n)})),[a,s]},Un=async(e,t,a)=>e.party.broadcast(Vn(e.config.messagePrefix??d,kn,t),a),jn=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+Wn]:1},i=[],l=[];await Le(bt(t[0],async(t,c)=>ue(t)?!a&&await e.canDelTable(c,s)&&Ge(l,Gn(o,J,c)):await e.canSetTable(c,a,s)&&await Le(bt(t,async(t,d)=>ue(t)?!a&&await e.canDelRow(c,d,s)&&Ue(l,Gn(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Le(bt(t,async(t,l)=>{const u=[c,d,l],g=Gn(o,J,...u);ue(t)?!a&&await e.canDelCell(...u,s)&&Ue(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Le(bt(t[1],async(t,l)=>{const c=o+U+l;ue(t)?!a&&await e.canDelValue(l,s)&&Ue(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),We(l)||Nt(await n.list(),e=>Oe(l,t=>!G(e,t)||Ue(i,e)&&0)),await n.delete(i),await n.put(r)},Gn=(e,t,...a)=>Vn(e,t,pe(na(a),1,-1)),qn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class Bn{constructor(e){this.party=e,this.config.storePath??=_n,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=Hn}party;config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=_n,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await Fn(t,s),n=await e.text();return"PUT"==e.method?a?qn(this,205):(await jn(this,sa(n),!0,e),qn(this,201)):qn(this,200,a?na(await Jn(t,s)):d)}return qn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await fe($n(a,e,1),async([e,a])=>{e==kn&&await Fn(this.party.storage,s)&&(await jn(this,a,!1,t),Un(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const zn=async(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Ne(e,n),s,n,Ie,3,t,"getPglite"),Qn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return gn(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Ne(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},Yn=(e,t,a,s,n)=>{let o;return wn(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&$e(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,Ie,1,t,"getPowerSync",Xn)},Xn=async(e,t,a,s,n,o)=>{const r=[1],i=Ft(s),l=o?Fe([...o],e=>e!=a&&!Ke(i,e)):[];if(!We(l)){const s=ct(n),o=ut($e(await e(vs+Hs(a,...l)+Ts+xs(t)+Ss+xs(a)+"IN("+Fs(s)+")",s),e=>[e[a],e]));_e(s,e=>Ue(n[e],...$e(l,t=>o?.[e]?.[t]??null)))}await e(ps+" "+ks+"INTO"+xs(t)+"("+Hs(a,...s,...l)+")VALUES"+Ve(bt(n,e=>"($"+r[0]+++","+Fs(e,r)+")"),u),bt(n,(e,t)=>[t,...$e(e,e=>e??null)]).flat())},Kn=(e,t,a="storage",s)=>ys(e,async()=>{const e=t.getString(a),s=ue(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ue(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),Zn=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),Ie,Ie,s,n,Ie,3,t),eo=e=>e.headers.get("ETag")??"",to=e=>""==e?void 0:{"If-None-Match":e},ao=(e,t,a,s=5,n)=>{let o="";return ys(e,async()=>{const e=await fetch(t,{headers:to(o)});return o=eo(e),sa(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:na(e())}),e=>ae(async()=>{const a=await fetch(t,{method:"HEAD",headers:to(o)}),s=eo(a);s!=o&&(o=s,e())},s),e=>se(e),n,1,{getUrls:()=>[t,a]})},so=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>t.query(e).all(...a),()=>Ie,e=>e(),s,n,Ie,3,t),no=(e,t,a,s,n,o)=>wn(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,Ie,0),n,o,Ie,3,a),oo="change",ro=(e,t,a,s,n)=>wn(e,a,async(e,a=[])=>await Te((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(oo,a),a},e=>t.off(oo,e),s,n,Ie,3,t),io="delete",lo=e=>[e.get(J),e.get(U)],co=(e,t,a,s)=>{const n=ue(t)?e:e.get(t)??e.set(t,new r);let o;return vt(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{ht(a,t)||(n.delete(t),o=1)}),ue(t)||n.size||e.delete(t),o},uo=(e,t,a=c,s)=>{const n=t.getMap(a);return ys(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=lo(e),o=()=>{i=1};let i=1;if(fe(a,([e,t])=>{i=0,vt(e,(e,t)=>i?0:ue(e)?s.delete(t):fe(s.get(t),t=>vt(e,(e,a)=>i?0:ue(e)?t.delete(a):fe(t.get(a),t=>vt(e,(e,a)=>ue(e)?t.delete(a):t.set(a,e)),o)),o)),vt(t,(e,t)=>i?0:ue(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();co(s,void 0,e,(e,t,a)=>co(s,t,a,(e,t,a)=>co(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),co(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==me(t)&&We(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=lo(e),n={},o={};return _e(t,({path:e,changes:{keys:t}})=>qe(e)==J?fe(qe(e),s=>{const o=Rt(n,s,ut),r=a.get(s);fe(qe(e),e=>{const a=Rt(o,e,ut),s=r.get(e);Nt(t,(e,{action:t})=>a[e]=t==io?void 0:s.get(e))},()=>Nt(t,(e,{action:t})=>o[e]=t==io?void 0:r.get(e)?.toJSON()))},()=>Nt(t,(e,{action:t})=>n[e]=t==io?void 0:a.get(e)?.toJSON())):Nt(t,(e,{action:t})=>o[e]=t==io?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},go="_",wo=Gt(e=>{const t=e._[0],a=t(),s=t(),n=t(),o=Lt(),r=Ft(),i=Lt(),l=Lt(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=Lt(),g=Lt(),{_:[,w,h],delListener:y}=n,[f,b,v,S,C,p,m,L,,E,N,M]=Ut(e,()=>[],Re,w,h),$=e=>At(o,e,t),x=(e,t,...a)=>_e(a,a=>Jt(At(At(u,t,Lt),e,Ft),a)),W=e=>{fe(Dt(u,e),e=>{Nt(e,(e,t)=>at(t,t=>e.delListener(t))),tt(e)}),_e([$(e),a],t=>t.delTable(e))},H=(e,t,a,...s)=>{const n=At(At(g,t,Lt),e,Ft);return _e(s,t=>{Jt(n,t),a&&e.callListener(t)}),s},F=(e,t,a)=>fe(Dt(Dt(g,e),t),s=>{t.delListener(a),st(s,a),Ze(s)&&Ot(Dt(g,e),t)}),J=e=>fe(Dt(g,e),e=>{Nt(e,(e,t)=>at(t,t=>e.delListener(t))),tt(e)}),U=(e,t,a)=>x(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),j=(e,t)=>(pt(t)?s.delRow:s.setRow)(go,e,{...t}),G=t=>$(t).transaction(()=>fe(p(t),([s,,n])=>{const o=C(t),i=n?$(o):e,l=$(t),c=B(t);Jt(r,t),W(t),J(t);const u=[],g=[[void 0,[o,void 0,void 0,[],Lt(),i]]],w=[],h=[],y=[];s({select:(e,t,a)=>{const s=we(e)?t:e,n=we(e)?a:t,o=Se(e)?[me(u)+d,e]:ue(n)?[e,t=>t(e)]:[n,t=>we(e)?t(!0,s,n):t(s,n)];return Ue(u,o),{as:e=>o[0]=e}},join:(t,a,s,n)=>{const o=we(t)?a:t,[r,i]=we(t)?ue(n)||Se(s)?[void 0,s]:[s,n]:ue(s)||Se(a)?[void 0,a]:[a,s],l=[o,[o,r,Se(i)?i:e=>e(i),[],Lt(),we(t)?$(o):e]];return Ue(g,l),{as:e=>l[0]=e}},where:(e,t,a,s)=>Ue(w,Se(e)?e:we(e)?e=>e(!0,t,a)===s:ue(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,Se(t)?[t,a,s,n]:Dt(os,t)??[(e,t)=>t]]];return Ue(h,o),{as:e=>o[0]=e}},having:(e,t)=>Ue(y,Se(e)?e:a=>a(e)===t),param:e=>wt(c,e)});const f=Lt(u);if(Ze(f))return st(r,t),z;const b=Lt(g);Nt(b,(e,[,t])=>fe(Dt(b,t),({3:t})=>ue(e)?0:Ue(t,e)));const v=Lt(h);let S=a;if(Ze(v)&&We(y))S=l;else{U(t,S,l);const e=Lt();Nt(v,(t,[a,s])=>Jt(At(e,a,Ft),[t,s]));const a=Ft();Nt(f,t=>Ke(e,t)?0:Jt(a,t));const s=Lt(),n=(a,s,n,o)=>fe(a,([r,i,c,d])=>{Nt(s,(t,[a])=>{const s=At(r,t,Lt),i=Dt(s,n),l=o?void 0:a;if(i!==l){const a=Ft([[i,l]]),o=ze(s);Ot(s,n,l),at(Dt(e,t),([e,t])=>{const n=rs(d[e],o,s,a,t);d[e]=ue(Ma(n))?void 0:n})}}),Ze(i)||!Oe(y,e=>e(e=>d[e]))?l.delRow(t,c):ue(c)?a[2]=l.addRow(t,d):l.setRow(t,c,d)});x(S,t,S.addRowListener(t,null,(o,r,i,l)=>{const c=[],d=[],u=Lt(),g=S.hasRow(t,i);let w=!g;at(a,e=>{const[a,s,n]=l(t,i,e);Ue(c,s),Ue(d,n),w||=a}),Nt(e,e=>{const[a,,s]=l(t,i,e);(w||a)&&Ot(u,e,[s])}),w&&n(Ht(s,c,void 0,([,e])=>(st(e,i),Ze(e))),u,i,1),g&&n(Ht(s,d,()=>{const e={};return at(a,a=>e[a]=S.getCell(t,i,a)),[Lt(),Ft(),void 0,e]},([,e])=>{Jt(e,i)}),u,i)}))}U(t,i,S);const p=(e,a,s,n,r)=>{const l=e=>a.getCell(s,n,e);_e(r,a=>{const[s,,n,o,r,i]=Dt(b,a),c=n?.(l,e),d=Dt(r,e),u=d?.[0];c!=u&&(fe(d,([,e,a])=>F(t,e,a)),Ot(r,e,ue(c)?void 0:[c,i,...H(i,t,1,i.addRowListener(s,c,()=>p(e,i,s,c,o)))]))}),(e=>{const a=(t,a,s)=>{const n=we(t)?a:t,r=we(t)?s:a;if(ue(r))return i.getCell(o,e,t);if(n===o&&!we(t))return i.getCell(o,e,r);const l=Dt(b,n);return ue(l)?void 0:l[5].getCell(l[0],Dt(l[4],e)?.[0],r)};S.transaction(()=>Oe(w,e=>e(a))?Nt(f,(s,n)=>S._[5](t,e,s,n(a,e))):S.delRow(t,e))})(e)},{3:m}=Dt(b,void 0),R=(e,a,s)=>{i.hasRow(o,s)?p(s,i,o,s,m):(S.delRow(t,s),at(b,({4:e})=>fe(Dt(e,s),([,a,n])=>{F(t,a,n),Ot(e,s)})))};return S.transaction(()=>{_e(i.getRowIds(o),e=>R(0,0,e)),H(i,t,0,i.addRowListener(o,null,R))}),st(r,t),z})),q=e=>(fe(p(e),([,e])=>s.delListener(e)),s.delRow(go,e),W(e),J(e),E(e),z),B=e=>s.getRow(go,e),z={setQueryDefinition:(e,t,a,n,o={})=>{const[r,i,l,c]=we(t)?[a,n,1,o]:[t,a,0,n??{}];return fe(p(e),([,e])=>s.delListener(e)),L(e,r),m(e,[i,s.addRowListener(go,e,()=>G(e)),l]),j(e,c),G(e),z},delQueryDefinition:q,getParamValues:B,getParamValue:(e,t)=>s.getCell(go,e,t),setParamValues:(e,t)=>(S(e)&&j(e,t),z),setParamValue:(e,t,a)=>(S(e)&&s.setCell(go,e,t,a),z),getStore:f,getQueryIds:b,forEachQuery:v,hasQuery:S,getTableId:C,forEachResultTable:e=>v(t=>$(t).hasTable(t)?e(t,e=>z.forEachResultRow(t,e)):0),addQueryIdsListener:e=>N(()=>e(z)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(go,e,(e,a,s)=>t(z,s,B(s))),addParamValueListener:(e,t,a)=>"p"+s.addCellListener(go,e,t,(e,t,s,n,o)=>a(z,s,n,o)),delListener:e=>{const t=Dt(i,e);if("p"==e[0])s.delListener(pe(e,1));else if(ue(t))y(e);else{const[a,s,n]=t;Nt(s,(e,[t,a])=>t.delListener(a)),fe(n,y),Ot(i,e),y(e),c[a]--}return z},destroy:()=>{_e(b(),q),M()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-me(b()),paramValue:s.getListenerStats().cell})};return vt({[D]:[2,1],[D+V]:[1,1],[A]:[1,1],[P]:[1,1],[k]:[1,5],[O]:[3,2],[V]:[1,2],[_]:[3,3]},([e,t],a)=>{_e(pe(["get","has","forEach"],0,e),e=>z[e+I+a]=(...t)=>$(t[0])[e+a](...t)),z[T+I+a+R]=(...e)=>((s,n)=>{const o=w(Re,l),r=Lt(),d=()=>{const s=null==n?b():[n];_e(s,s=>{return Ke(r,s)?0:Ot(r,s,[$(s),(n=$(s),n[T+a+R](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:pe(e,0,t))(e,t),(a,...s)=>e[t](z,...s),!0))]);var n}),Nt(r,(e,[t,a])=>null==n&&S(e)||e==n?0:(t.delListener(a),void Ot(r,e)))};return d(),Ot(i,o,[s,r,null==n?N(d):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+pe(e,1))(a),e[0])}),dt(z)}),ho=Gt(e=>{const t=Lt(),a=Lt(),s=Lt(),n=Lt(),[o,r,i]=zt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=Ut(e,()=>[Lt(),Lt(),Lt(),Lt()],e=>ue(e)?void 0:e+d,o,r),S=(e,t,a)=>fe(h(e),([s,,n])=>{if(!Ke(n,t)){const o=Ft();if(w(e)!=p(e))Jt(o,t);else{let e=t;for(;!ue(e)&&!Ke(o,e);)Jt(o,e),e=Dt(s,e)}if(a)return o;Ot(n,t,o)}return Dt(n,t)}),C=(e,t)=>fe(h(e),([,,e])=>Ot(e,t)),p=e=>Dt(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(Ot(t,e,i),y(e,o,(t,o)=>{const i=Ft(),l=Ft(),c=Ft(),[d,u]=h(e);at(o,([t,a],s)=>{ue(t)||(Jt(l,t),fe(Dt(u,t),e=>{st(e,s),Ze(e)&&Ot(u,t)})),ue(a)||(Jt(l,a),Ke(u,a)||Ot(u,a,Ft()),Jt(Dt(u,a),s)),Jt(i,s),Ot(d,s,a),Nt(Dt(n,e),t=>{Ke(S(e,t),s)&&Jt(c,t)})}),t(),at(i,t=>r(a,[e,t])),at(l,t=>r(s,[e,t])),at(c,t=>{C(e,t),r(n,[e,t])})},jt(l)),m),delRelationshipDefinition:e=>(Ot(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Dt(h(e)?.[0],t),getLocalRowIds:(e,t)=>et(Dt(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ue(h(e))?[t]:et(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:Ye(a),localRowIds:Ye(s),linkedRowIds:Ye(n)})};return dt(m)}),yo={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},fo=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=Lt(),y=()=>ta(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Te((o,r)=>{const i=s+"."+ta(4),l=ne(()=>{st(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);Ot(h,i,[e,(e,t)=>{clearTimeout(l),st(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{ft(t,([t,a],s)=>{const n=Rt(e[0],s,Ua);ft(t,([e,t],a)=>{const s=Rt(n[0],a,Ua);ft(e,([e,t],a)=>s[0][a]=$a(e,t)),s[1]=Fa(s[1],t)}),n[1]=Fa(n[1],a)}),e[1]=Fa(e[1],a)},S=(t=null,a,s=y())=>Ne(async()=>{ue(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=Ua();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!pt(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!pt(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?Ua():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=ys(e,async()=>{const e=await S();return!e||pt(e[0][0])&&pt(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?fe(Dt(h,a),([e,a])=>ge(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):fe(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},bo=(e,t,a,s,n)=>{const o=ta(),r=new BroadcastChannel(t);return fo(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>ge(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},vo=Lt(),So=(e,t,a,s)=>{const n=ta();return fo(e,(e,t,a,s)=>ne(()=>ge(e)?Nt(vo,(e,o)=>e!=n?o(n,t,a,s):0):Dt(vo,e)?.(n,t,a,s)),e=>{Ot(vo,n,e)},()=>{st(vo,n)},.01,t,a,s)},Co=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(pe(e,0,a),pe(e,a+1))},po=(e,t)=>Co(e,(e,a)=>t(e,...ra(a))),mo=(e,...t)=>Ro(e??d,oa(t)),Ro=(e,t)=>e+"\n"+t,Io=async(e,t,a=1,s,n,o)=>{const r=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),i=fo(e,(e,...a)=>t.send(mo(e,...a)),e=>r(H,({data:t})=>po(t.toString(m),e)),()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Te(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(i)},a=r("open",()=>t()),s=r(F,t)}else e(i)})},To=/\/([^?]*)/,Lo="S",Eo=e=>B(new URL(e.url).pathname,To)?.[1]??d,Do=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,No=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Mo=()=>No(426,null,"Upgrade required");class Oo extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await fe(await this.createPersister(),async e=>{const t=fo(e.getStore(),(e,t,a,s)=>this.#t(Lo,mo(e,t,a,s)),e=>this.#e=t=>po(t,e),Ie,1);await e.load(),await e.startAutoSave(),ne(t.startSync)}))}fetch(e){const t=Eo(e);return fe(Do(e),e=>{const[a,s]=St(new WebSocketPair);return We(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(mo(Lo,null,1,d)),No(101,a)},Mo)}webSocketMessage(e,t){fe(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==me(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){Co(t.toString(),(t,s)=>{const n=Ro(e,s);this.onMessage(e,t,s),t==d?(e!=Lo&&this.#e?.(n),_e(this.#a(),e=>{e!=a&&e.send(n)})):t==Lo?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return $e(this.#a(),e=>this.ctx.getTags(e)[0])}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const Ao=e=>(t,a)=>Do(t)?a[e].get(a[e].idFromName(Eo(t))).fetch(t):Mo(),Po=/\/([^?]*)/,ko=e=>{const t=Lt();return e.on("connection",(e,a)=>fe(B(a.url,Po),([,s])=>fe(a.headers["sec-websocket-key"],async a=>{const n=At(t,s,Lt);Ot(n,a,e),e.on(H,e=>Co(e.toString(m),(e,t)=>{const s=Ro(a,t);e===d?Nt(n,(e,t)=>e!==a?t.send(s):0):Dt(n,e)?.send(s)})),e.on("close",()=>{st(n,a),Ze(n)&&st(t,s)})}))),dt({getWebSocketServer:()=>e,destroy:async()=>{tt(t),e.close()}})},_o=/\/([^?]*)/,Vo=(e,t,a)=>{const s=Lt(),n=Lt(),o=Lt(),r=Lt(),[i,l,c]=zt(()=>w),u=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},g=(e,t,a)=>s=>Co(s,(s,n)=>{const o=Ro(e,n);s===d?("S"!==e&&a[3]?.(o),Nt(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Dt(t,s)?.send(o)});e.on("connection",(e,i)=>fe(B(i.url,_o),([,c])=>fe(i.headers["sec-websocket-key"],async i=>{const d=At(o,c,Lt),w=At(r,c,()=>[0]),h=g(i,d,w);Ze(d)&&(l(s,void 0,c,1),await(async(e,s,n)=>fe(await(t?.(s)),t=>{e[0]=1,e[1]=Ce(t)?t[0]:t;const s=g("S",n,e);e[2]=fo(e[1].getStore(),(e,t,a,n)=>s(mo(e,t,a,n)),t=>e[3]=e=>po(e,t),Ie,1,void 0,void 0,a),e[4]=[],e[5]=Ce(t)?t[1]:e=>0}))(w,c,d)),Ot(d,i,e),l(n,[c],i,1),e.on(H,e=>{const t=e.toString(m);0==w[0]?h(t):Ue(w[4],t)}),1==w[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(w),_e(w[4],h),w[4]=[]),e.on("close",async()=>{st(d,i),l(n,[c],i,-1),Ze(d)&&(await u(w),st(r,c),st(o,c),l(s,void 0,c,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const w={getWebSocketServer:()=>e,getPathIds:()=>Et(o),getClientIds:e=>Et(Dt(o,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,n,[e]),delListener:e=>(c(e),w),getStats:()=>({paths:ze(o),clients:Qe(o)}),destroy:async()=>{tt(o),await Le(Mt(r,u)),e.close()}};return dt(w)};export{yo as Message,gs as Persists,us as Status,Bn as TinyBasePartyKitServer,Oo as WsServerDurableObject,da as addOrRemoveHash,Un as broadcastChanges,fn as createAutomergePersister,bo as createBroadcastChannelSynchronizer,Qt as createCheckpoints,mn as createCrSqliteWasmPersister,ys as createCustomPersister,gn as createCustomPostgreSqlPersister,wn as createCustomSqlitePersister,fo as createCustomSynchronizer,In as createDurableObjectStoragePersister,Tn as createElectricSqlPersister,Ln as createExpoSqlitePersister,En as createFilePersister,An as createIndexedDbPersister,Na as createIndexes,Pn as createLibSqlPersister,Sn as createLocalPersister,So as createLocalSynchronizer,ns as createMergeableStore,is as createMetrics,ds as createMiddleware,pn as createOpfsPersister,xn as createPartyKitPersister,zn as createPglitePersister,Qn as createPostgresPersister,Yn as createPowerSyncPersister,wo as createQueries,Kn as createReactNativeMmkvPersister,Zn as createReactNativeSqlitePersister,ho as createRelationships,ao as createRemotePersister,Cn as createSessionPersister,ro as createSqlite3Persister,so as createSqliteBunPersister,no as createSqliteWasmPersister,ts as createStore,Vo as createWsServer,ko as createWsServerSimple,Io as createWsSynchronizer,uo as createYjsPersister,Da as defaultSorter,ha as getCellHash,ya as getCellInRowHash,ca as getHash,Ea as getHlcFunctions,fa as getRowHash,ba as getRowInTableHash,va as getTableHash,Sa as getTableInTablesHash,Ca as getTablesHash,ta as getUniqueId,wa as getValueHash,ga as getValueInValuesHash,ua as getValuesHash,Ao as getWsServerDurableObjectFetch,Fn as hasStoreInStorage,Jn as loadStoreFromStorage,Mn as objectStoreMatch};
Binary file
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",l="t",r=(a,t,e)=>a.replace(t,e),o=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),d=clearInterval,u=a=>null==a,y=a=>void 0===a,E=a=>null===a,w=c(u),N=c(y),T=t=>a(t)==s,_=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),O=a=>a.length,m=()=>{},A=async a=>o.all(a),S=a=>{throw Error(a)},v=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},L=(a,t)=>a.forEach(t),R=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==O(a),I=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),$=a=>a.shift(),b=Object,C=a=>b.getPrototypeOf(a),P=b.entries,D=a=>!u(a)&&w(C(a),a=>a==b.prototype||u(C(a)),()=>!0),U=b.keys,x=b.freeze,X=(a=[])=>b.fromEntries(a),J=(...a)=>b.assign({},...a),M=(a,t)=>t in a,F=(a,t)=>(delete a[t],a),V=(a,t)=>L(P(a),([a,e])=>t(e,a)),B=(a,t)=>f(P(a),([a,e])=>t(e,a)),G=(a,t)=>X(B(a,(a,e)=>[e,t(a,e)])),Y=a=>b.values(a),j=a=>O(U(a)),z=a=>D(a)&&0==j(a),k=(a,t,e)=>(M(a,t)||(a[t]=e()),a[t]),q=JSON.stringify,H=JSON.parse,K=a=>""===a?void 0:_(a)?f(a,K):D(a)?G(a,K):a,Q=(a,t)=>a?.has(t)??!1,W=a=>y(a)||0==(a=>a?.size??0)(a),Z=a=>[...a?.values()??[]],aa=(a,t)=>a?.forEach(t),ta=(a,t)=>a?.delete(t),ea=Map,na=a=>new ea(a),sa=(a,t)=>a?.get(t),ia=(a,t)=>f([...a?.entries()??[]],([a,e])=>t(e,a)),la=(a,t,e)=>y(e)?(ta(a,t),a):a?.set(t,e),ra=(a,t,e,n)=>(Q(a,t)?n?.(sa(a,t)):la(a,t,e()),sa(a,t)),oa=(a,t,e,n,s=0)=>N((e?ra:sa)(a,t[s],s>O(t)-2?e:na),i=>{if(s>O(t)-2)return n?.(i)&&la(a,t[s]),i;const l=oa(i,t,e,n,s+1);return W(i)&&la(a,t[s]),l}),ca=(a,t,e)=>{t>a[1]&&(a[1]=t),a[2]=e>>>0},da=/^\d+$/,ua=a=>new Set(_(a)||y(a)?a:[a]),ya=(a,t)=>a?.add(t),Ea=na(),wa=na(),Na=(a,t,n,s,i,l,r,o={},c=0,d=[])=>{let u,w,T,p=0,m=0,A=0;ra(Ea,d,()=>0),ra(wa,d,()=>[]);const R=na(),[f,g,I,b,C]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!z(a)||!z(t),t.setContent]:S("Store type not supported by this Persister"))(r,a,c),[P,D,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{da.test(t)&&O(a)<1e3&&h(a,t)}]})(),s=na();return[(n,i,l,r=[],o=()=>[])=>{a??=K;const c=t(1);return la(s,c,[n,i,l,r,o]),ya(oa(i,l??[e],ua),c),c},(t,n,...i)=>L(((a,t=[e])=>{const n=[],s=(a,e)=>e==O(t)?h(n,a):E(t[e])?aa(a,a=>s(a,e+1)):L([t[e],null],t=>s(sa(a,t),e+1));return s(a,0),n})(t,n),t=>aa(t,t=>sa(s,t)[0](a,...n??[],...i))),a=>N(sa(s,a),([,t,i])=>(oa(t,i??[e],void 0,t=>(ta(t,a),W(t)?1:0)),la(s,a),n(a),i)),t=>N(sa(s,t),([t,,e=[],n,s])=>{const i=(...l)=>{const r=O(l);r==O(e)?t(a,...l,...s(l)):E(e[r])?L(n[r]?.(...l)??[],a=>i(...l,a)):i(...l,e[r])};i()})]})(),X=a=>{a!=p&&(p=a,D(R,void 0,p))},J=t=>{(f&&_(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},M=async()=>{k()&&a.__?.[0]?.()&&await G()},F=async a=>(2!=p&&(X(1),m++,await H(async()=>{await v(async()=>{const e=await t();_(e)?J(e):a?C(a):S("Content is not an array: "+e)},()=>{a&&C(a)}),X(0),await M()})),K),V=async a=>(B(),await F(a),await v(async()=>w=await s(async(a,t)=>{t||a?2!=p&&(X(1),m++,J(t??a),X(0),await M()):await F()}),l),K),B=async()=>(w&&(await v(()=>i(w),l),w=void 0),K),G=async a=>(1!=p&&(X(2),A++,await H(async()=>{await v(()=>n(g,a),l),X(0)})),K),Y=async()=>(j(),await G(),T=a.addDidFinishTransactionListener(()=>{const a=I();b(a)&&G(a)}),K),j=async()=>(T&&(a.delListener(T),T=void 0),K),k=()=>!y(T),q=async(a=!1)=>{const[t,e]=a?[j,B]:[B,j];return await t(),await e(),K},H=async(...a)=>(h(sa(wa,d),...a),await(async()=>{if(!sa(Ea,d)){for(la(Ea,d,1);!y(u=$(sa(wa,d)));)await v(u,l);la(Ea,d,0)}})(),K),K={load:F,startAutoLoad:V,stopAutoLoad:B,isAutoLoading:()=>!y(w),save:G,startAutoSave:Y,stopAutoSave:j,isAutoSaving:k,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[Y,V]:[V,Y];return await e(a),await n(a),K},stopAutoPersisting:q,getStatus:()=>p,addStatusListener:a=>P(a,R),delListener:t=>(U(t),a),schedule:H,getStore:()=>a,destroy:()=>(sa(wa,d).splice(0,void 0),q()),getStats:()=>({loads:m,saves:A}),...o};return x(K)},Ta="_",_a="_id",pa="SELECT",Oa="WHERE",ma="TABLE",Aa="ALTER "+ma,Sa="FROM",va="DELETE "+Sa,La=pa+"*"+Sa,Ra="pragma_",fa="data_version",ga="schema_version",Ia="pragma_table_",ha="CREATE "+ma,$a=a=>R(f(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ba=(a,t=[1])=>R(f(a,()=>"$"+t[0]++),n),Ca=(a,t=i)=>Oa+`(${r(t,"$tableName",$a(a))})`,Pa="ColumnName",Da="store",Ua="json",xa=Da+"TableName",Xa=Da+"Id"+Pa,Ja=Da+Pa,Ma="autoLoadIntervalSeconds",Fa="rowId"+Pa,Va="tableId",Ba="tableName",Ga="deleteEmptyColumns",Ya="deleteEmptyTable",ja="condition",za={mode:Ua,[Ma]:1},ka={load:0,save:0,[Ba]:t+"_values"},qa=(a,t,e,n,s)=>{const i=na();return G(a,(a,l)=>{const r=p(Y(J(t,T(a)?{[e]:a}:a)),0,j(t));E(r[0])||n(l,r[0])||(s(l,r[0]),la(i,l,r))}),i},Ha=(a,t,e,s,l,r=Ka,o,c)=>{const d=na();return[async()=>{d.clear(),f(await e(a,t),({tn:a,cn:t})=>ya(ra(d,a,ua),t))},async(t,e,n)=>((a,t)=>Q(sa(d,a),t))(t,e)?X(I(f(await a(La+$a(t)+Ca(t,n)),a=>[a[e],c?G(F(a,e),c):F(a,e)]),([a,t])=>!y(a)&&!z(t))):{},async(t,e,s,c,u,E=!1,w=i)=>{const N=ua();G(s??{},a=>f(U(a??{}),a=>ya(N,a)));const T=Z(N);if(!E&&u&&w==i&&g(T)&&Q(d,t))return await a("DROP "+ma+$a(t)),void la(d,t);const _=sa(d,t),p=ua(Z(_));if(g(T)||(Q(d,t)?await A(f([e,...T],async(n,s)=>{ta(p,n)||(await a(Aa+$a(t)+"ADD"+$a(n)+l),0==s&&await a("CREATE UNIQUE INDEX pk ON "+$a(t)+`(${$a(e)})`),ya(_,n))})):(await a(ha+$a(t)+`(${$a(e)}${l} PRIMARY KEY${R(f(T,a=>n+$a(a)+l))});`),la(d,t,ua([e,...T])))),await A([...!E&&c?f(Z(p),async n=>{n!=e&&(await a(Aa+$a(t)+"DROP"+$a(n)),ta(_,n))}):[]]),E)y(s)?await a(va+$a(t)+Ca(t,w)):await A(B(s,async(n,s)=>{y(n)?await a(va+$a(t)+Ca(t,w)+`AND(${$a(e)}=$1)`,[s]):g(T)||await r(a,t,e,U(n),{[s]:o?f(Y(n),o):Y(n)},_)}));else if(g(T))Q(d,t)&&await a(va+$a(t)+Ca(t,w));else{const n=I(Z(sa(d,t)),a=>a!=e),i={},l=[];G(s??{},(a,t)=>{i[t]=f(n,t=>o?o(a?.[t]):a?.[t]),h(l,t)}),await r(a,t,e,n,i),await a(va+$a(t)+Ca(t,w)+`AND${$a(e)}NOT IN(${ba(l)})`,l)}},async t=>{let e;return await a("BEGIN"),await v(async()=>e=await t(),s),await a("END"),e}]},Ka=async(a,t,e,s,i)=>{const l=[1];await a("INSERT INTO"+$a(t)+"("+((...a)=>R(f(a,$a),n))(e,...s)+")VALUES"+R(B(i,a=>"($"+l[0]+++","+ba(a,l)+")"),n)+"ON CONFLICT("+$a(e)+")DO UPDATE SET"+R(f(s,a=>$a(a)+"=excluded."+$a(a)),n),B(i,(a,t)=>[t,...f(a,a=>a??null)]).flat())},Qa=(a,t,e,n,s,i,l,[r,o,c],d,u,E,w,N,T)=>{const[_,p,O,m]=Ha(t,d,u,s,N,T),A=Na(a,()=>m(async()=>{return await _(),a=(await p(r,o))[Ta]?.[c]??"null",K(H(a));var a}),a=>m(async()=>{var t;await _(),await O(r,o,{[Ta]:{[c]:(t=a()??null,q(t,(a,t)=>y(t)?"":t))}},!0,!0)}),e,n,s,l,{[w]:()=>E,destroy:async()=>(await A.stopAutoPersisting(),i(),A)},0,E);return A},Wa=(a,t,e,n,s,i,l,[r,o,[c,d,u]],E,w,N,T,_,p,O,m)=>{const[S,v,L,R]=Ha(t,E,w,s,_,p,O,m),f=(a,t)=>A(ia(o,async([e,n,s,i,l],r)=>{t&&!M(a,r)||await L(e,n,a[r],s,i,t,l)})),g=async(a,t)=>d?await L(u,_a,{[Ta]:a},!0,!0,t):null,h=Na(a,()=>R(async()=>{await S();const a=await(async()=>X(I(await A(ia(r,async([a,t,e],n)=>[a,await v(n,t,e)])),a=>!z(a[1]))))(),t=await(async()=>c?(await v(u,_a))[Ta]:{})();return z(a)&&y(t)?void 0:[a,t]}),(a,t)=>R(async()=>{if(await S(),y(t)){const[t,e]=a();await f(t),await g(e)}else await f(t[0],!0),await g(t[1],!0)}),e,n,s,l,{[T]:()=>N,destroy:async()=>(await h.stopAutoPersisting(),i(),h)},0,N);return h},Za=(a,n,s,l,r,o,c,y,E,w,N="getDb",_)=>{let O,m,A;const S=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,o),[L,R,f,g]=(a=>{const e=(a=>J(za,T(a)?{[xa]:a}:a??{}))(a),n=e[Ma];if(e.mode==Ua){const a=e[xa]??t;return[1,n,[a,e[Xa]??_a,e[Ja]??Da],ua(a)]}const{tables:{load:s={},save:l={}}={},values:r={}}=e,o=p(Y(J(ka,r)),0,j(ka)),c=o[2],d=ua(c),u=ua(c),y=qa(s,{[Va]:null,[Fa]:_a,[ja]:i},Va,a=>Q(u,a),a=>ya(d,a)),E=qa(l,{[Ba]:null,[Fa]:_a,[Ga]:0,[Ya]:0,[ja]:null},Ba,(a,t)=>Q(u,t),(a,t)=>ya(d,t));var w;return w=(a,t)=>t[4]??=sa(y,t[0])?.[2]??i,aa(E,(a,t)=>w(0,a)),[0,n,[y,E,o],d]})(n);return(L?Qa:Wa)(a,S,a=>{let t;const e=()=>t=setInterval(()=>v(async()=>{const[{d:t,s:e,c:n}]=await S(pa+` ${fa} d,${ga} s,TOTAL_CHANGES() c FROM ${Ra}${fa} JOIN ${Ra}${ga}`);t==O&&e==m&&n==A||(u(O)||a(),O=t,m=e,A=n)}),1e3*R),n=()=>{O=m=A=null,d(t)},s=l(t=>{g.has(t)&&(n(),a(),e())});return e(),()=>{n(),r(s)}},a=>a(),c,y,E,f,Z(g),async(a,t)=>await a(pa+` t.name tn,c.name cn FROM ${Ia}list()t,${Ia}info(t.name)c ${Oa} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ba(t)})ORDER BY t.name,c.name`,t),w,N,e,_,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},at=(a,t,n,s,i)=>"object"==typeof n&&"fragmented"===n.mode?et(a,t,n?.storagePrefix??e,i):Za(a,n,async(a,e=[])=>["BEGIN","END"].includes(a)?[]:(a=a.replace(/\$\d+/g,"?"),t.exec(a,...e).toArray()),()=>m,a=>a(),s,i,m,2,t,"getSqlStorage"),tt=()=>[{},e,0],et=(a,t,e="",n)=>{const s=e.replace(/[^a-zA-Z0-9_]/g,"_"),i=s+"tinybase_tables",r=s+"tinybase_values";return t.exec(`\n CREATE TABLE IF NOT EXISTS ${i} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `),Na(a,async()=>{const a=tt(),e=tt(),n=t.exec("SELECT * FROM "+i);for(const t of n.toArray()){const e=t.type+"",n=t.table_id?t.table_id+"":null,s=t.row_id?t.row_id+"":null,i=t.cell_id?t.cell_id+"":null,r=t.value_data+"",o=t.timestamp+"",c=Number(t.hash),[d]=JSON.parse(r);if(e===l)if(n&&s&&i){const t=k(a[0],n,tt);k(t[0],s,tt)[0][i]=[d,o,c]}else if(n&&s){const t=k(a[0],n,tt),e=k(t[0],s,tt);ca(e,o,c)}else if(n){const t=k(a[0],n,tt);ca(t,o,c)}else ca(a,o,c)}const s=t.exec("SELECT * FROM "+r);for(const a of s.toArray()){const t=a.value_id?a.value_id+"":null,n=a.value_data+"",s=a.timestamp+"",i=Number(a.hash),[l]=JSON.parse(n);t?e[0][t]=[l,s,i]:ca(e,s,i)}return[a,e]},async(a,[[e,n,s],[o,c,d]]=a())=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,null,null,null,JSON.stringify([0]),n,s),V(e,([a,e,n],s)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,null,null,JSON.stringify([0]),e,n),V(a,([a,e,n],r)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,null,JSON.stringify([0]),e,n),V(a,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,e,JSON.stringify([a[0]]),a[1],a[2])})})}),t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,null,JSON.stringify([0]),c,d),V(o,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,e,JSON.stringify([a[0]]),a[1],a[2])})},m,m,n,2,{getSqlStorage:()=>t})};export{at as createDurableObjectSqlStoragePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",l="t",r=(a,t,e)=>a.replace(t,e),o=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),d=Number,u=String,y=clearInterval,E=a=>null==a,w=a=>void 0===a,N=a=>null===a,T=c(E),_=c(w),p=t=>a(t)==s,O=a=>Array.isArray(a),S=(a,t,e)=>a.slice(t,e),m=a=>a.length,A=()=>{},v=async a=>o.all(a),L=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},g=(a,t)=>a.forEach(t),f=(a,t="")=>a.join(t),I=(a,t)=>a.map(t),h=a=>0==m(a),$=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),C=a=>a.shift(),P=Object,D=a=>P.getPrototypeOf(a),U=P.entries,x=a=>!E(a)&&T(D(a),a=>a==P.prototype||E(D(a)),()=>!0),X=P.keys,J=P.freeze,M=(a=[])=>P.fromEntries(a),F=(...a)=>P.assign({},...a),V=(a,t)=>t in a,B=(a,t)=>(delete a[t],a),G=(a,t)=>g(U(a),([a,e])=>t(e,a)),Y=(a,t)=>I(U(a),([a,e])=>t(e,a)),j=(a,t)=>M(Y(a,(a,e)=>[e,t(a,e)])),z=a=>P.values(a),k=a=>m(X(a)),q=a=>x(a)&&0==k(a),H=(a,t,e)=>(V(a,t)||(a[t]=e()),a[t]),K=JSON.stringify,Q=JSON.parse,W=a=>""===a?void 0:O(a)?I(a,W):x(a)?j(a,W):a,Z=(a,t)=>a?.has(t)??!1,aa=a=>w(a)||0==(a=>a?.size??0)(a),ta=a=>[...a?.values()??[]],ea=(a,t)=>a?.forEach(t),na=(a,t)=>a?.delete(t),sa=Map,ia=a=>new sa(a),la=(a,t)=>a?.get(t),ra=(a,t)=>I([...a?.entries()??[]],([a,e])=>t(e,a)),oa=(a,t,e)=>w(e)?(na(a,t),a):a?.set(t,e),ca=(a,t,e,n)=>(Z(a,t)?n?.(la(a,t)):oa(a,t,e()),la(a,t)),da=(a,t,e,n,s=0)=>_((e?ca:la)(a,t[s],s>m(t)-2?e:ia),i=>{if(s>m(t)-2)return n?.(i)&&oa(a,t[s]),i;const l=da(i,t,e,n,s+1);return aa(i)&&oa(a,t[s]),l}),ua=(a,t,e)=>{t>a[1]&&(a[1]=t),a[2]=e>>>0},ya=/^\d+$/,Ea=a=>new Set(O(a)||w(a)?a:[a]),wa=(a,t)=>a?.add(t),Na=ia(),Ta=ia(),_a=(a,t,n,s,i,l,r,o={},c=0,d=[])=>{let u,y,E,T=0,p=0,S=0;ca(Na,d,()=>0),ca(Ta,d,()=>[]);const A=ia(),[v,f,I,h,$]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!q(a)||!q(t),t.setContent]:L("Store type not supported by this Persister"))(r,a,c),[P,D,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?C(a):null)??e+t++,t=>{ya.test(t)&&m(a)<1e3&&b(a,t)}]})(),s=ia();return[(n,i,l,r=[],o=()=>[])=>{a??=K;const c=t(1);return oa(s,c,[n,i,l,r,o]),wa(da(i,l??[e],Ea),c),c},(t,n,...i)=>g(((a,t=[e])=>{const n=[],s=(a,e)=>e==m(t)?b(n,a):N(t[e])?ea(a,a=>s(a,e+1)):g([t[e],null],t=>s(la(a,t),e+1));return s(a,0),n})(t,n),t=>ea(t,t=>la(s,t)[0](a,...n??[],...i))),a=>_(la(s,a),([,t,i])=>(da(t,i??[e],void 0,t=>(na(t,a),aa(t)?1:0)),oa(s,a),n(a),i)),t=>_(la(s,t),([t,,e=[],n,s])=>{const i=(...l)=>{const r=m(l);r==m(e)?t(a,...l,...s(l)):N(e[r])?g(n[r]?.(...l)??[],a=>i(...l,a)):i(...l,e[r])};i()})]})(),x=a=>{a!=T&&(T=a,D(A,void 0,T))},X=t=>{(v&&O(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},M=async()=>{z()&&a.__?.[0]?.()&&await G()},F=async a=>(2!=T&&(x(1),p++,await H(async()=>{await R(async()=>{const e=await t();O(e)?X(e):a?$(a):L("Content is not an array: "+e)},()=>{a&&$(a)}),x(0),await M()})),K),V=async a=>(B(),await F(a),await R(async()=>y=await s(async(a,t)=>{t||a?2!=T&&(x(1),p++,X(t??a),x(0),await M()):await F()}),l),K),B=async()=>(y&&(await R(()=>i(y),l),y=void 0),K),G=async a=>(1!=T&&(x(2),S++,await H(async()=>{await R(()=>n(f,a),l),x(0)})),K),Y=async()=>(j(),await G(),E=a.addDidFinishTransactionListener(()=>{const a=I();h(a)&&G(a)}),K),j=async()=>(E&&(a.delListener(E),E=void 0),K),z=()=>!w(E),k=async(a=!1)=>{const[t,e]=a?[j,B]:[B,j];return await t(),await e(),K},H=async(...a)=>(b(la(Ta,d),...a),await(async()=>{if(!la(Na,d)){for(oa(Na,d,1);!w(u=C(la(Ta,d)));)await R(u,l);oa(Na,d,0)}})(),K),K={load:F,startAutoLoad:V,stopAutoLoad:B,isAutoLoading:()=>!w(y),save:G,startAutoSave:Y,stopAutoSave:j,isAutoSaving:z,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[Y,V]:[V,Y];return await e(a),await n(a),K},stopAutoPersisting:k,getStatus:()=>T,addStatusListener:a=>P(a,A),delListener:t=>(U(t),a),schedule:H,getStore:()=>a,destroy:()=>(la(Ta,d).splice(0,void 0),k()),getStats:()=>({loads:p,saves:S}),...o};return J(K)},pa="_",Oa="_id",Sa="SELECT",ma="WHERE",Aa="TABLE",va="ALTER "+Aa,La="FROM",Ra="DELETE "+La,ga=Sa+"*"+La,fa="pragma_",Ia="data_version",ha="schema_version",$a="pragma_table_",ba="CREATE "+Aa,Ca=a=>f(I(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Pa=(a,t=[1])=>f(I(a,()=>"$"+t[0]++),n),Da=(a,t=i)=>ma+`(${r(t,"$tableName",Ca(a))})`,Ua="ColumnName",xa="store",Xa="json",Ja=xa+"TableName",Ma=xa+"Id"+Ua,Fa=xa+Ua,Va="autoLoadIntervalSeconds",Ba="rowId"+Ua,Ga="tableId",Ya="tableName",ja="deleteEmptyColumns",za="deleteEmptyTable",ka="condition",qa={mode:Xa,[Va]:1},Ha={load:0,save:0,[Ya]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=ia();return j(a,(a,l)=>{const r=S(z(F(t,p(a)?{[e]:a}:a)),0,k(t));N(r[0])||n(l,r[0])||(s(l,r[0]),oa(i,l,r))}),i},Qa=(a,t,e,s,l,r=Wa,o,c)=>{const d=ia();return[async()=>{d.clear(),I(await e(a,t),({tn:a,cn:t})=>wa(ca(d,a,Ea),t))},async(t,e,n)=>((a,t)=>Z(la(d,a),t))(t,e)?M($(I(await a(ga+Ca(t)+Da(t,n)),a=>[a[e],c?j(B(a,e),c):B(a,e)]),([a,t])=>!w(a)&&!q(t))):{},async(t,e,s,c,u,y=!1,E=i)=>{const N=Ea();j(s??{},a=>I(X(a??{}),a=>wa(N,a)));const T=ta(N);if(!y&&u&&E==i&&h(T)&&Z(d,t))return await a("DROP "+Aa+Ca(t)),void oa(d,t);const _=la(d,t),p=Ea(ta(_));if(h(T)||(Z(d,t)?await v(I([e,...T],async(n,s)=>{na(p,n)||(await a(va+Ca(t)+"ADD"+Ca(n)+l),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ca(t)+`(${Ca(e)})`),wa(_,n))})):(await a(ba+Ca(t)+`(${Ca(e)}${l} PRIMARY KEY${f(I(T,a=>n+Ca(a)+l))});`),oa(d,t,Ea([e,...T])))),await v([...!y&&c?I(ta(p),async n=>{n!=e&&(await a(va+Ca(t)+"DROP"+Ca(n)),na(_,n))}):[]]),y)w(s)?await a(Ra+Ca(t)+Da(t,E)):await v(Y(s,async(n,s)=>{w(n)?await a(Ra+Ca(t)+Da(t,E)+`AND(${Ca(e)}=$1)`,[s]):h(T)||await r(a,t,e,X(n),{[s]:o?I(z(n),o):z(n)},_)}));else if(h(T))Z(d,t)&&await a(Ra+Ca(t)+Da(t,E));else{const n=$(ta(la(d,t)),a=>a!=e),i={},l=[];j(s??{},(a,t)=>{i[t]=I(n,t=>o?o(a?.[t]):a?.[t]),b(l,t)}),await r(a,t,e,n,i),await a(Ra+Ca(t)+Da(t,E)+`AND${Ca(e)}NOT IN(${Pa(l)})`,l)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},Wa=async(a,t,e,s,i)=>{const l=[1];await a("INSERT INTO"+Ca(t)+"("+((...a)=>f(I(a,Ca),n))(e,...s)+")VALUES"+f(Y(i,a=>"($"+l[0]+++","+Pa(a,l)+")"),n)+"ON CONFLICT("+Ca(e)+")DO UPDATE SET"+f(I(s,a=>Ca(a)+"=excluded."+Ca(a)),n),Y(i,(a,t)=>[t,...I(a,a=>a??null)]).flat())},Za=(a,t,e,n,s,i,l,[r,o,c],d,u,y,E,N,T)=>{const[_,p,O,S]=Qa(t,d,u,s,N,T),m=_a(a,()=>S(async()=>{return await _(),a=(await p(r,o))[pa]?.[c]??"null",W(Q(a));var a}),a=>S(async()=>{var t;await _(),await O(r,o,{[pa]:{[c]:(t=a()??null,K(t,(a,t)=>w(t)?"":t))}},!0,!0)}),e,n,s,l,{[E]:()=>y,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,y);return m},at=(a,t,e,n,s,i,l,[r,o,[c,d,u]],y,E,N,T,_,p,O,S)=>{const[m,A,L,R]=Qa(t,y,E,s,_,p,O,S),g=(a,t)=>v(ra(o,async([e,n,s,i,l],r)=>{t&&!V(a,r)||await L(e,n,a[r],s,i,t,l)})),f=async(a,t)=>d?await L(u,Oa,{[pa]:a},!0,!0,t):null,I=_a(a,()=>R(async()=>{await m();const a=await(async()=>M($(await v(ra(r,async([a,t,e],n)=>[a,await A(n,t,e)])),a=>!q(a[1]))))(),t=await(async()=>c?(await A(u,Oa))[pa]:{})();return q(a)&&w(t)?void 0:[a,t]}),(a,t)=>R(async()=>{if(await m(),w(t)){const[t,e]=a();await g(t),await f(e)}else await g(t[0],!0),await f(t[1],!0)}),e,n,s,l,{[T]:()=>N,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,N);return I},tt=(a,n,s,l,r,o,c,d,u,w,N="getDb",T)=>{let _,O,m;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,o),[v,L,g,f]=(a=>{const e=(a=>F(qa,p(a)?{[Ja]:a}:a??{}))(a),n=e[Va];if(e.mode==Xa){const a=e[Ja]??t;return[1,n,[a,e[Ma]??Oa,e[Fa]??xa],Ea(a)]}const{tables:{load:s={},save:l={}}={},values:r={}}=e,o=S(z(F(Ha,r)),0,k(Ha)),c=o[2],d=Ea(c),u=Ea(c),y=Ka(s,{[Ga]:null,[Ba]:Oa,[ka]:i},Ga,a=>Z(u,a),a=>wa(d,a)),E=Ka(l,{[Ya]:null,[Ba]:Oa,[ja]:0,[za]:0,[ka]:null},Ya,(a,t)=>Z(u,t),(a,t)=>wa(d,t));var w;return w=(a,t)=>t[4]??=la(y,t[0])?.[2]??i,ea(E,(a,t)=>w(0,a)),[0,n,[y,E,o],d]})(n);return(v?Za:at)(a,A,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await A(Sa+` ${Ia} d,${ha} s,TOTAL_CHANGES() c FROM ${fa}${Ia} JOIN ${fa}${ha}`);t==_&&e==O&&n==m||(E(_)||a(),_=t,O=e,m=n)}),1e3*L),n=()=>{_=O=m=null,y(t)},s=l(t=>{f.has(t)&&(n(),a(),e())});return e(),()=>{n(),r(s)}},a=>a(),c,d,u,g,ta(f),async(a,t)=>await a(Sa+` t.name tn,c.name cn FROM ${$a}list()t,${$a}info(t.name)c ${ma} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Pa(t)})ORDER BY t.name,c.name`,t),w,N,e,T,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},et=(a,t,n,s,i)=>"object"==typeof n&&"fragmented"===n.mode?st(a,t,n?.storagePrefix??e,i):tt(a,n,async(a,e=[])=>["BEGIN","END"].includes(a)?[]:(a=a.replace(/\$\d+/g,"?"),t.exec(a,...e).toArray()),()=>A,a=>a(),s,i,A,2,t,"getSqlStorage"),nt=()=>[{},e,0],st=(a,t,e="",n)=>{const s=e.replace(/[^a-zA-Z0-9_]/g,"_"),i=s+"tinybase_tables",r=s+"tinybase_values";return t.exec(`\n CREATE TABLE IF NOT EXISTS ${i} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `),_a(a,async()=>{const a=nt(),e=nt(),n=t.exec("SELECT * FROM "+i);for(const t of n.toArray()){const e=u(t.type),n=t.table_id?u(t.table_id):null,s=t.row_id?u(t.row_id):null,i=t.cell_id?u(t.cell_id):null,r=u(t.value_data),o=u(t.timestamp),c=d(t.hash),[y]=JSON.parse(r);if(e===l)if(n&&s&&i){const t=H(a[0],n,nt);H(t[0],s,nt)[0][i]=[y,o,c]}else if(n&&s){const t=H(a[0],n,nt),e=H(t[0],s,nt);ua(e,o,c)}else if(n){const t=H(a[0],n,nt);ua(t,o,c)}else ua(a,o,c)}const s=t.exec("SELECT * FROM "+r);for(const a of s.toArray()){const t=a.value_id?u(a.value_id):null,n=u(a.value_data),s=u(a.timestamp),i=d(a.hash),[l]=JSON.parse(n);t?e[0][t]=[l,s,i]:ua(e,s,i)}return[a,e]},async(a,[[e,n,s],[o,c,d]]=a())=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,null,null,null,JSON.stringify([0]),n,s),G(e,([a,e,n],s)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,null,null,JSON.stringify([0]),e,n),G(a,([a,e,n],r)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,null,JSON.stringify([0]),e,n),G(a,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,e,JSON.stringify([a[0]]),a[1],a[2])})})}),t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,null,JSON.stringify([0]),c,d),G(o,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,e,JSON.stringify([a[0]]),a[1],a[2])})},A,A,n,2,{getSqlStorage:()=>t})};export{et as createDurableObjectSqlStoragePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",l="t",r=(a,t,e)=>a.replace(t,e),o=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),d=clearInterval,u=a=>null==a,y=a=>void 0===a,E=a=>null===a,w=c(u),N=c(y),T=t=>a(t)==s,_=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),O=a=>a.length,m=()=>{},A=async a=>o.all(a),S=a=>{throw Error(a)},v=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},L=(a,t)=>a.forEach(t),R=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==O(a),I=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),$=a=>a.shift(),b=Object,C=a=>b.getPrototypeOf(a),P=b.entries,D=a=>!u(a)&&w(C(a),a=>a==b.prototype||u(C(a)),()=>!0),U=b.keys,x=b.freeze,X=(a=[])=>b.fromEntries(a),J=(...a)=>b.assign({},...a),M=(a,t)=>t in a,F=(a,t)=>(delete a[t],a),V=(a,t)=>L(P(a),([a,e])=>t(e,a)),B=(a,t)=>f(P(a),([a,e])=>t(e,a)),G=(a,t)=>X(B(a,(a,e)=>[e,t(a,e)])),Y=a=>b.values(a),j=a=>O(U(a)),z=a=>D(a)&&0==j(a),k=(a,t,e)=>(M(a,t)||(a[t]=e()),a[t]),q=JSON.stringify,H=JSON.parse,K=a=>""===a?void 0:_(a)?f(a,K):D(a)?G(a,K):a,Q=(a,t)=>a?.has(t)??!1,W=a=>y(a)||0==(a=>a?.size??0)(a),Z=a=>[...a?.values()??[]],aa=(a,t)=>a?.forEach(t),ta=(a,t)=>a?.delete(t),ea=Map,na=a=>new ea(a),sa=(a,t)=>a?.get(t),ia=(a,t)=>f([...a?.entries()??[]],([a,e])=>t(e,a)),la=(a,t,e)=>y(e)?(ta(a,t),a):a?.set(t,e),ra=(a,t,e,n)=>(Q(a,t)?n?.(sa(a,t)):la(a,t,e()),sa(a,t)),oa=(a,t,e,n,s=0)=>N((e?ra:sa)(a,t[s],s>O(t)-2?e:na),i=>{if(s>O(t)-2)return n?.(i)&&la(a,t[s]),i;const l=oa(i,t,e,n,s+1);return W(i)&&la(a,t[s]),l}),ca=(a,t,e)=>{t>a[1]&&(a[1]=t),a[2]=e>>>0},da=/^\d+$/,ua=a=>new Set(_(a)||y(a)?a:[a]),ya=(a,t)=>a?.add(t),Ea=na(),wa=na(),Na=(a,t,n,s,i,l,r,o={},c=0,d=[])=>{let u,w,T,p=0,m=0,A=0;ra(Ea,d,()=>0),ra(wa,d,()=>[]);const R=na(),[f,g,I,b,C]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!z(a)||!z(t),t.setContent]:S("Store type not supported by this Persister"))(r,a,c),[P,D,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{da.test(t)&&O(a)<1e3&&h(a,t)}]})(),s=na();return[(n,i,l,r=[],o=()=>[])=>{a??=K;const c=t(1);return la(s,c,[n,i,l,r,o]),ya(oa(i,l??[e],ua),c),c},(t,n,...i)=>L(((a,t=[e])=>{const n=[],s=(a,e)=>e==O(t)?h(n,a):E(t[e])?aa(a,a=>s(a,e+1)):L([t[e],null],t=>s(sa(a,t),e+1));return s(a,0),n})(t,n),t=>aa(t,t=>sa(s,t)[0](a,...n??[],...i))),a=>N(sa(s,a),([,t,i])=>(oa(t,i??[e],void 0,t=>(ta(t,a),W(t)?1:0)),la(s,a),n(a),i)),t=>N(sa(s,t),([t,,e=[],n,s])=>{const i=(...l)=>{const r=O(l);r==O(e)?t(a,...l,...s(l)):E(e[r])?L(n[r]?.(...l)??[],a=>i(...l,a)):i(...l,e[r])};i()})]})(),X=a=>{a!=p&&(p=a,D(R,void 0,p))},J=t=>{(f&&_(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},M=async()=>{k()&&a.__?.[0]?.()&&await G()},F=async a=>(2!=p&&(X(1),m++,await H(async()=>{await v(async()=>{const e=await t();_(e)?J(e):a?C(a):S("Content is not an array: "+e)},()=>{a&&C(a)}),X(0),await M()})),K),V=async a=>(B(),await F(a),await v(async()=>w=await s(async(a,t)=>{t||a?2!=p&&(X(1),m++,J(t??a),X(0),await M()):await F()}),l),K),B=async()=>(w&&(await v(()=>i(w),l),w=void 0),K),G=async a=>(1!=p&&(X(2),A++,await H(async()=>{await v(()=>n(g,a),l),X(0)})),K),Y=async()=>(j(),await G(),T=a.addDidFinishTransactionListener(()=>{const a=I();b(a)&&G(a)}),K),j=async()=>(T&&(a.delListener(T),T=void 0),K),k=()=>!y(T),q=async(a=!1)=>{const[t,e]=a?[j,B]:[B,j];return await t(),await e(),K},H=async(...a)=>(h(sa(wa,d),...a),await(async()=>{if(!sa(Ea,d)){for(la(Ea,d,1);!y(u=$(sa(wa,d)));)await v(u,l);la(Ea,d,0)}})(),K),K={load:F,startAutoLoad:V,stopAutoLoad:B,isAutoLoading:()=>!y(w),save:G,startAutoSave:Y,stopAutoSave:j,isAutoSaving:k,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[Y,V]:[V,Y];return await e(a),await n(a),K},stopAutoPersisting:q,getStatus:()=>p,addStatusListener:a=>P(a,R),delListener:t=>(U(t),a),schedule:H,getStore:()=>a,destroy:()=>(sa(wa,d).splice(0,void 0),q()),getStats:()=>({loads:m,saves:A}),...o};return x(K)},Ta="_",_a="_id",pa="SELECT",Oa="WHERE",ma="TABLE",Aa="ALTER "+ma,Sa="FROM",va="DELETE "+Sa,La=pa+"*"+Sa,Ra="pragma_",fa="data_version",ga="schema_version",Ia="pragma_table_",ha="CREATE "+ma,$a=a=>R(f(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ba=(a,t=[1])=>R(f(a,()=>"$"+t[0]++),n),Ca=(a,t=i)=>Oa+`(${r(t,"$tableName",$a(a))})`,Pa="ColumnName",Da="store",Ua="json",xa=Da+"TableName",Xa=Da+"Id"+Pa,Ja=Da+Pa,Ma="autoLoadIntervalSeconds",Fa="rowId"+Pa,Va="tableId",Ba="tableName",Ga="deleteEmptyColumns",Ya="deleteEmptyTable",ja="condition",za={mode:Ua,[Ma]:1},ka={load:0,save:0,[Ba]:t+"_values"},qa=(a,t,e,n,s)=>{const i=na();return G(a,(a,l)=>{const r=p(Y(J(t,T(a)?{[e]:a}:a)),0,j(t));E(r[0])||n(l,r[0])||(s(l,r[0]),la(i,l,r))}),i},Ha=(a,t,e,s,l,r=Ka,o,c)=>{const d=na();return[async()=>{d.clear(),f(await e(a,t),({tn:a,cn:t})=>ya(ra(d,a,ua),t))},async(t,e,n)=>((a,t)=>Q(sa(d,a),t))(t,e)?X(I(f(await a(La+$a(t)+Ca(t,n)),a=>[a[e],c?G(F(a,e),c):F(a,e)]),([a,t])=>!y(a)&&!z(t))):{},async(t,e,s,c,u,E=!1,w=i)=>{const N=ua();G(s??{},a=>f(U(a??{}),a=>ya(N,a)));const T=Z(N);if(!E&&u&&w==i&&g(T)&&Q(d,t))return await a("DROP "+ma+$a(t)),void la(d,t);const _=sa(d,t),p=ua(Z(_));if(g(T)||(Q(d,t)?await A(f([e,...T],async(n,s)=>{ta(p,n)||(await a(Aa+$a(t)+"ADD"+$a(n)+l),0==s&&await a("CREATE UNIQUE INDEX pk ON "+$a(t)+`(${$a(e)})`),ya(_,n))})):(await a(ha+$a(t)+`(${$a(e)}${l} PRIMARY KEY${R(f(T,a=>n+$a(a)+l))});`),la(d,t,ua([e,...T])))),await A([...!E&&c?f(Z(p),async n=>{n!=e&&(await a(Aa+$a(t)+"DROP"+$a(n)),ta(_,n))}):[]]),E)y(s)?await a(va+$a(t)+Ca(t,w)):await A(B(s,async(n,s)=>{y(n)?await a(va+$a(t)+Ca(t,w)+`AND(${$a(e)}=$1)`,[s]):g(T)||await r(a,t,e,U(n),{[s]:o?f(Y(n),o):Y(n)},_)}));else if(g(T))Q(d,t)&&await a(va+$a(t)+Ca(t,w));else{const n=I(Z(sa(d,t)),a=>a!=e),i={},l=[];G(s??{},(a,t)=>{i[t]=f(n,t=>o?o(a?.[t]):a?.[t]),h(l,t)}),await r(a,t,e,n,i),await a(va+$a(t)+Ca(t,w)+`AND${$a(e)}NOT IN(${ba(l)})`,l)}},async t=>{let e;return await a("BEGIN"),await v(async()=>e=await t(),s),await a("END"),e}]},Ka=async(a,t,e,s,i)=>{const l=[1];await a("INSERT INTO"+$a(t)+"("+((...a)=>R(f(a,$a),n))(e,...s)+")VALUES"+R(B(i,a=>"($"+l[0]+++","+ba(a,l)+")"),n)+"ON CONFLICT("+$a(e)+")DO UPDATE SET"+R(f(s,a=>$a(a)+"=excluded."+$a(a)),n),B(i,(a,t)=>[t,...f(a,a=>a??null)]).flat())},Qa=(a,t,e,n,s,i,l,[r,o,c],d,u,E,w,N,T)=>{const[_,p,O,m]=Ha(t,d,u,s,N,T),A=Na(a,()=>m(async()=>{return await _(),a=(await p(r,o))[Ta]?.[c]??"null",K(H(a));var a}),a=>m(async()=>{var t;await _(),await O(r,o,{[Ta]:{[c]:(t=a()??null,q(t,(a,t)=>y(t)?"":t))}},!0,!0)}),e,n,s,l,{[w]:()=>E,destroy:async()=>(await A.stopAutoPersisting(),i(),A)},0,E);return A},Wa=(a,t,e,n,s,i,l,[r,o,[c,d,u]],E,w,N,T,_,p,O,m)=>{const[S,v,L,R]=Ha(t,E,w,s,_,p,O,m),f=(a,t)=>A(ia(o,async([e,n,s,i,l],r)=>{t&&!M(a,r)||await L(e,n,a[r],s,i,t,l)})),g=async(a,t)=>d?await L(u,_a,{[Ta]:a},!0,!0,t):null,h=Na(a,()=>R(async()=>{await S();const a=await(async()=>X(I(await A(ia(r,async([a,t,e],n)=>[a,await v(n,t,e)])),a=>!z(a[1]))))(),t=await(async()=>c?(await v(u,_a))[Ta]:{})();return z(a)&&y(t)?void 0:[a,t]}),(a,t)=>R(async()=>{if(await S(),y(t)){const[t,e]=a();await f(t),await g(e)}else await f(t[0],!0),await g(t[1],!0)}),e,n,s,l,{[T]:()=>N,destroy:async()=>(await h.stopAutoPersisting(),i(),h)},0,N);return h},Za=(a,n,s,l,r,o,c,y,E,w,N="getDb",_)=>{let O,m,A;const S=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,o),[L,R,f,g]=(a=>{const e=(a=>J(za,T(a)?{[xa]:a}:a??{}))(a),n=e[Ma];if(e.mode==Ua){const a=e[xa]??t;return[1,n,[a,e[Xa]??_a,e[Ja]??Da],ua(a)]}const{tables:{load:s={},save:l={}}={},values:r={}}=e,o=p(Y(J(ka,r)),0,j(ka)),c=o[2],d=ua(c),u=ua(c),y=qa(s,{[Va]:null,[Fa]:_a,[ja]:i},Va,a=>Q(u,a),a=>ya(d,a)),E=qa(l,{[Ba]:null,[Fa]:_a,[Ga]:0,[Ya]:0,[ja]:null},Ba,(a,t)=>Q(u,t),(a,t)=>ya(d,t));var w;return w=(a,t)=>t[4]??=sa(y,t[0])?.[2]??i,aa(E,(a,t)=>w(0,a)),[0,n,[y,E,o],d]})(n);return(L?Qa:Wa)(a,S,a=>{let t;const e=()=>t=setInterval(()=>v(async()=>{const[{d:t,s:e,c:n}]=await S(pa+` ${fa} d,${ga} s,TOTAL_CHANGES() c FROM ${Ra}${fa} JOIN ${Ra}${ga}`);t==O&&e==m&&n==A||(u(O)||a(),O=t,m=e,A=n)}),1e3*R),n=()=>{O=m=A=null,d(t)},s=l(t=>{g.has(t)&&(n(),a(),e())});return e(),()=>{n(),r(s)}},a=>a(),c,y,E,f,Z(g),async(a,t)=>await a(pa+` t.name tn,c.name cn FROM ${Ia}list()t,${Ia}info(t.name)c ${Oa} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ba(t)})ORDER BY t.name,c.name`,t),w,N,e,_,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},at=(a,t,n,s,i)=>"object"==typeof n&&"fragmented"===n.mode?et(a,t,n?.storagePrefix??e,i):Za(a,n,async(a,e=[])=>["BEGIN","END"].includes(a)?[]:(a=a.replace(/\$\d+/g,"?"),t.exec(a,...e).toArray()),()=>m,a=>a(),s,i,m,2,t,"getSqlStorage"),tt=()=>[{},e,0],et=(a,t,e="",n)=>{const s=e.replace(/[^a-zA-Z0-9_]/g,"_"),i=s+"tinybase_tables",r=s+"tinybase_values";return t.exec(`\n CREATE TABLE IF NOT EXISTS ${i} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `),Na(a,async()=>{const a=tt(),e=tt(),n=t.exec("SELECT * FROM "+i);for(const t of n.toArray()){const e=t.type+"",n=t.table_id?t.table_id+"":null,s=t.row_id?t.row_id+"":null,i=t.cell_id?t.cell_id+"":null,r=t.value_data+"",o=t.timestamp+"",c=Number(t.hash),[d]=JSON.parse(r);if(e===l)if(n&&s&&i){const t=k(a[0],n,tt);k(t[0],s,tt)[0][i]=[d,o,c]}else if(n&&s){const t=k(a[0],n,tt),e=k(t[0],s,tt);ca(e,o,c)}else if(n){const t=k(a[0],n,tt);ca(t,o,c)}else ca(a,o,c)}const s=t.exec("SELECT * FROM "+r);for(const a of s.toArray()){const t=a.value_id?a.value_id+"":null,n=a.value_data+"",s=a.timestamp+"",i=Number(a.hash),[l]=JSON.parse(n);t?e[0][t]=[l,s,i]:ca(e,s,i)}return[a,e]},async(a,[[e,n,s],[o,c,d]]=a())=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,null,null,null,JSON.stringify([0]),n,s),V(e,([a,e,n],s)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,null,null,JSON.stringify([0]),e,n),V(a,([a,e,n],r)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,null,JSON.stringify([0]),e,n),V(a,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,e,JSON.stringify([a[0]]),a[1],a[2])})})}),t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,null,JSON.stringify([0]),c,d),V(o,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,e,JSON.stringify([a[0]]),a[1],a[2])})},m,m,n,2,{getSqlStorage:()=>t})};export{at as createDurableObjectSqlStoragePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",l="t",r=(a,t,e)=>a.replace(t,e),o=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),d=Number,u=String,y=clearInterval,E=a=>null==a,w=a=>void 0===a,N=a=>null===a,T=c(E),_=c(w),p=t=>a(t)==s,O=a=>Array.isArray(a),S=(a,t,e)=>a.slice(t,e),m=a=>a.length,A=()=>{},v=async a=>o.all(a),L=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},g=(a,t)=>a.forEach(t),f=(a,t="")=>a.join(t),I=(a,t)=>a.map(t),h=a=>0==m(a),$=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),C=a=>a.shift(),P=Object,D=a=>P.getPrototypeOf(a),U=P.entries,x=a=>!E(a)&&T(D(a),a=>a==P.prototype||E(D(a)),()=>!0),X=P.keys,J=P.freeze,M=(a=[])=>P.fromEntries(a),F=(...a)=>P.assign({},...a),V=(a,t)=>t in a,B=(a,t)=>(delete a[t],a),G=(a,t)=>g(U(a),([a,e])=>t(e,a)),Y=(a,t)=>I(U(a),([a,e])=>t(e,a)),j=(a,t)=>M(Y(a,(a,e)=>[e,t(a,e)])),z=a=>P.values(a),k=a=>m(X(a)),q=a=>x(a)&&0==k(a),H=(a,t,e)=>(V(a,t)||(a[t]=e()),a[t]),K=JSON.stringify,Q=JSON.parse,W=a=>""===a?void 0:O(a)?I(a,W):x(a)?j(a,W):a,Z=(a,t)=>a?.has(t)??!1,aa=a=>w(a)||0==(a=>a?.size??0)(a),ta=a=>[...a?.values()??[]],ea=(a,t)=>a?.forEach(t),na=(a,t)=>a?.delete(t),sa=Map,ia=a=>new sa(a),la=(a,t)=>a?.get(t),ra=(a,t)=>I([...a?.entries()??[]],([a,e])=>t(e,a)),oa=(a,t,e)=>w(e)?(na(a,t),a):a?.set(t,e),ca=(a,t,e,n)=>(Z(a,t)?n?.(la(a,t)):oa(a,t,e()),la(a,t)),da=(a,t,e,n,s=0)=>_((e?ca:la)(a,t[s],s>m(t)-2?e:ia),i=>{if(s>m(t)-2)return n?.(i)&&oa(a,t[s]),i;const l=da(i,t,e,n,s+1);return aa(i)&&oa(a,t[s]),l}),ua=(a,t,e)=>{t>a[1]&&(a[1]=t),a[2]=e>>>0},ya=/^\d+$/,Ea=a=>new Set(O(a)||w(a)?a:[a]),wa=(a,t)=>a?.add(t),Na=ia(),Ta=ia(),_a=(a,t,n,s,i,l,r,o={},c=0,d=[])=>{let u,y,E,T=0,p=0,S=0;ca(Na,d,()=>0),ca(Ta,d,()=>[]);const A=ia(),[v,f,I,h,$]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!q(a)||!q(t),t.setContent]:L("Store type not supported by this Persister"))(r,a,c),[P,D,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?C(a):null)??e+t++,t=>{ya.test(t)&&m(a)<1e3&&b(a,t)}]})(),s=ia();return[(n,i,l,r=[],o=()=>[])=>{a??=K;const c=t(1);return oa(s,c,[n,i,l,r,o]),wa(da(i,l??[e],Ea),c),c},(t,n,...i)=>g(((a,t=[e])=>{const n=[],s=(a,e)=>e==m(t)?b(n,a):N(t[e])?ea(a,a=>s(a,e+1)):g([t[e],null],t=>s(la(a,t),e+1));return s(a,0),n})(t,n),t=>ea(t,t=>la(s,t)[0](a,...n??[],...i))),a=>_(la(s,a),([,t,i])=>(da(t,i??[e],void 0,t=>(na(t,a),aa(t)?1:0)),oa(s,a),n(a),i)),t=>_(la(s,t),([t,,e=[],n,s])=>{const i=(...l)=>{const r=m(l);r==m(e)?t(a,...l,...s(l)):N(e[r])?g(n[r]?.(...l)??[],a=>i(...l,a)):i(...l,e[r])};i()})]})(),x=a=>{a!=T&&(T=a,D(A,void 0,T))},X=t=>{(v&&O(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},M=async()=>{z()&&a.__?.[0]?.()&&await G()},F=async a=>(2!=T&&(x(1),p++,await H(async()=>{await R(async()=>{const e=await t();O(e)?X(e):a?$(a):L("Content is not an array: "+e)},()=>{a&&$(a)}),x(0),await M()})),K),V=async a=>(B(),await F(a),await R(async()=>y=await s(async(a,t)=>{t||a?2!=T&&(x(1),p++,X(t??a),x(0),await M()):await F()}),l),K),B=async()=>(y&&(await R(()=>i(y),l),y=void 0),K),G=async a=>(1!=T&&(x(2),S++,await H(async()=>{await R(()=>n(f,a),l),x(0)})),K),Y=async()=>(j(),await G(),E=a.addDidFinishTransactionListener(()=>{const a=I();h(a)&&G(a)}),K),j=async()=>(E&&(a.delListener(E),E=void 0),K),z=()=>!w(E),k=async(a=!1)=>{const[t,e]=a?[j,B]:[B,j];return await t(),await e(),K},H=async(...a)=>(b(la(Ta,d),...a),await(async()=>{if(!la(Na,d)){for(oa(Na,d,1);!w(u=C(la(Ta,d)));)await R(u,l);oa(Na,d,0)}})(),K),K={load:F,startAutoLoad:V,stopAutoLoad:B,isAutoLoading:()=>!w(y),save:G,startAutoSave:Y,stopAutoSave:j,isAutoSaving:z,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[Y,V]:[V,Y];return await e(a),await n(a),K},stopAutoPersisting:k,getStatus:()=>T,addStatusListener:a=>P(a,A),delListener:t=>(U(t),a),schedule:H,getStore:()=>a,destroy:()=>(la(Ta,d).splice(0,void 0),k()),getStats:()=>({loads:p,saves:S}),...o};return J(K)},pa="_",Oa="_id",Sa="SELECT",ma="WHERE",Aa="TABLE",va="ALTER "+Aa,La="FROM",Ra="DELETE "+La,ga=Sa+"*"+La,fa="pragma_",Ia="data_version",ha="schema_version",$a="pragma_table_",ba="CREATE "+Aa,Ca=a=>f(I(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Pa=(a,t=[1])=>f(I(a,()=>"$"+t[0]++),n),Da=(a,t=i)=>ma+`(${r(t,"$tableName",Ca(a))})`,Ua="ColumnName",xa="store",Xa="json",Ja=xa+"TableName",Ma=xa+"Id"+Ua,Fa=xa+Ua,Va="autoLoadIntervalSeconds",Ba="rowId"+Ua,Ga="tableId",Ya="tableName",ja="deleteEmptyColumns",za="deleteEmptyTable",ka="condition",qa={mode:Xa,[Va]:1},Ha={load:0,save:0,[Ya]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=ia();return j(a,(a,l)=>{const r=S(z(F(t,p(a)?{[e]:a}:a)),0,k(t));N(r[0])||n(l,r[0])||(s(l,r[0]),oa(i,l,r))}),i},Qa=(a,t,e,s,l,r=Wa,o,c)=>{const d=ia();return[async()=>{d.clear(),I(await e(a,t),({tn:a,cn:t})=>wa(ca(d,a,Ea),t))},async(t,e,n)=>((a,t)=>Z(la(d,a),t))(t,e)?M($(I(await a(ga+Ca(t)+Da(t,n)),a=>[a[e],c?j(B(a,e),c):B(a,e)]),([a,t])=>!w(a)&&!q(t))):{},async(t,e,s,c,u,y=!1,E=i)=>{const N=Ea();j(s??{},a=>I(X(a??{}),a=>wa(N,a)));const T=ta(N);if(!y&&u&&E==i&&h(T)&&Z(d,t))return await a("DROP "+Aa+Ca(t)),void oa(d,t);const _=la(d,t),p=Ea(ta(_));if(h(T)||(Z(d,t)?await v(I([e,...T],async(n,s)=>{na(p,n)||(await a(va+Ca(t)+"ADD"+Ca(n)+l),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ca(t)+`(${Ca(e)})`),wa(_,n))})):(await a(ba+Ca(t)+`(${Ca(e)}${l} PRIMARY KEY${f(I(T,a=>n+Ca(a)+l))});`),oa(d,t,Ea([e,...T])))),await v([...!y&&c?I(ta(p),async n=>{n!=e&&(await a(va+Ca(t)+"DROP"+Ca(n)),na(_,n))}):[]]),y)w(s)?await a(Ra+Ca(t)+Da(t,E)):await v(Y(s,async(n,s)=>{w(n)?await a(Ra+Ca(t)+Da(t,E)+`AND(${Ca(e)}=$1)`,[s]):h(T)||await r(a,t,e,X(n),{[s]:o?I(z(n),o):z(n)},_)}));else if(h(T))Z(d,t)&&await a(Ra+Ca(t)+Da(t,E));else{const n=$(ta(la(d,t)),a=>a!=e),i={},l=[];j(s??{},(a,t)=>{i[t]=I(n,t=>o?o(a?.[t]):a?.[t]),b(l,t)}),await r(a,t,e,n,i),await a(Ra+Ca(t)+Da(t,E)+`AND${Ca(e)}NOT IN(${Pa(l)})`,l)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},Wa=async(a,t,e,s,i)=>{const l=[1];await a("INSERT INTO"+Ca(t)+"("+((...a)=>f(I(a,Ca),n))(e,...s)+")VALUES"+f(Y(i,a=>"($"+l[0]+++","+Pa(a,l)+")"),n)+"ON CONFLICT("+Ca(e)+")DO UPDATE SET"+f(I(s,a=>Ca(a)+"=excluded."+Ca(a)),n),Y(i,(a,t)=>[t,...I(a,a=>a??null)]).flat())},Za=(a,t,e,n,s,i,l,[r,o,c],d,u,y,E,N,T)=>{const[_,p,O,S]=Qa(t,d,u,s,N,T),m=_a(a,()=>S(async()=>{return await _(),a=(await p(r,o))[pa]?.[c]??"null",W(Q(a));var a}),a=>S(async()=>{var t;await _(),await O(r,o,{[pa]:{[c]:(t=a()??null,K(t,(a,t)=>w(t)?"":t))}},!0,!0)}),e,n,s,l,{[E]:()=>y,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,y);return m},at=(a,t,e,n,s,i,l,[r,o,[c,d,u]],y,E,N,T,_,p,O,S)=>{const[m,A,L,R]=Qa(t,y,E,s,_,p,O,S),g=(a,t)=>v(ra(o,async([e,n,s,i,l],r)=>{t&&!V(a,r)||await L(e,n,a[r],s,i,t,l)})),f=async(a,t)=>d?await L(u,Oa,{[pa]:a},!0,!0,t):null,I=_a(a,()=>R(async()=>{await m();const a=await(async()=>M($(await v(ra(r,async([a,t,e],n)=>[a,await A(n,t,e)])),a=>!q(a[1]))))(),t=await(async()=>c?(await A(u,Oa))[pa]:{})();return q(a)&&w(t)?void 0:[a,t]}),(a,t)=>R(async()=>{if(await m(),w(t)){const[t,e]=a();await g(t),await f(e)}else await g(t[0],!0),await f(t[1],!0)}),e,n,s,l,{[T]:()=>N,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,N);return I},tt=(a,n,s,l,r,o,c,d,u,w,N="getDb",T)=>{let _,O,m;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,o),[v,L,g,f]=(a=>{const e=(a=>F(qa,p(a)?{[Ja]:a}:a??{}))(a),n=e[Va];if(e.mode==Xa){const a=e[Ja]??t;return[1,n,[a,e[Ma]??Oa,e[Fa]??xa],Ea(a)]}const{tables:{load:s={},save:l={}}={},values:r={}}=e,o=S(z(F(Ha,r)),0,k(Ha)),c=o[2],d=Ea(c),u=Ea(c),y=Ka(s,{[Ga]:null,[Ba]:Oa,[ka]:i},Ga,a=>Z(u,a),a=>wa(d,a)),E=Ka(l,{[Ya]:null,[Ba]:Oa,[ja]:0,[za]:0,[ka]:null},Ya,(a,t)=>Z(u,t),(a,t)=>wa(d,t));var w;return w=(a,t)=>t[4]??=la(y,t[0])?.[2]??i,ea(E,(a,t)=>w(0,a)),[0,n,[y,E,o],d]})(n);return(v?Za:at)(a,A,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await A(Sa+` ${Ia} d,${ha} s,TOTAL_CHANGES() c FROM ${fa}${Ia} JOIN ${fa}${ha}`);t==_&&e==O&&n==m||(E(_)||a(),_=t,O=e,m=n)}),1e3*L),n=()=>{_=O=m=null,y(t)},s=l(t=>{f.has(t)&&(n(),a(),e())});return e(),()=>{n(),r(s)}},a=>a(),c,d,u,g,ta(f),async(a,t)=>await a(Sa+` t.name tn,c.name cn FROM ${$a}list()t,${$a}info(t.name)c ${ma} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Pa(t)})ORDER BY t.name,c.name`,t),w,N,e,T,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},et=(a,t,n,s,i)=>"object"==typeof n&&"fragmented"===n.mode?st(a,t,n?.storagePrefix??e,i):tt(a,n,async(a,e=[])=>["BEGIN","END"].includes(a)?[]:(a=a.replace(/\$\d+/g,"?"),t.exec(a,...e).toArray()),()=>A,a=>a(),s,i,A,2,t,"getSqlStorage"),nt=()=>[{},e,0],st=(a,t,e="",n)=>{const s=e.replace(/[^a-zA-Z0-9_]/g,"_"),i=s+"tinybase_tables",r=s+"tinybase_values";return t.exec(`\n CREATE TABLE IF NOT EXISTS ${i} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `),_a(a,async()=>{const a=nt(),e=nt(),n=t.exec("SELECT * FROM "+i);for(const t of n.toArray()){const e=u(t.type),n=t.table_id?u(t.table_id):null,s=t.row_id?u(t.row_id):null,i=t.cell_id?u(t.cell_id):null,r=u(t.value_data),o=u(t.timestamp),c=d(t.hash),[y]=JSON.parse(r);if(e===l)if(n&&s&&i){const t=H(a[0],n,nt);H(t[0],s,nt)[0][i]=[y,o,c]}else if(n&&s){const t=H(a[0],n,nt),e=H(t[0],s,nt);ua(e,o,c)}else if(n){const t=H(a[0],n,nt);ua(t,o,c)}else ua(a,o,c)}const s=t.exec("SELECT * FROM "+r);for(const a of s.toArray()){const t=a.value_id?u(a.value_id):null,n=u(a.value_data),s=u(a.timestamp),i=d(a.hash),[l]=JSON.parse(n);t?e[0][t]=[l,s,i]:ua(e,s,i)}return[a,e]},async(a,[[e,n,s],[o,c,d]]=a())=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,null,null,null,JSON.stringify([0]),n,s),G(e,([a,e,n],s)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,null,null,JSON.stringify([0]),e,n),G(a,([a,e,n],r)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,null,JSON.stringify([0]),e,n),G(a,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${i} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l,s,r,e,JSON.stringify([a[0]]),a[1],a[2])})})}),t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,null,JSON.stringify([0]),c,d),G(o,(a,e)=>{t.exec(`INSERT OR REPLACE INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,e,JSON.stringify([a[0]]),a[1],a[2])})},A,A,n,2,{getSqlStorage:()=>t})};export{et as createDurableObjectSqlStoragePersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>(t,e,s)=>a(t)?s?.():e(t),c=a=>null==a,o=a=>void 0===a,l=r(c),y=r(o),w=(a,t,e)=>a.slice(t,e),g=a=>a.length,h=async a=>i.all(a),f=(a,t)=>a.map(t),u=(a,...t)=>a.push(...t),p=Object,d=a=>p.getPrototypeOf(a),P=p.entries,S=(a=[])=>p.fromEntries(a),m=(a,t)=>f(P(a),([a,e])=>t(e,a)),x=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),D=JSON.stringify,R=JSON.parse,b=a=>D(a,(a,t)=>t instanceof Map?p.fromEntries([...t]):t),v=a=>C(R(a)),C=a=>""===a?void 0:Array.isArray(a)?f(a,C):(a=>!c(a)&&l(d(a),a=>a==p.prototype||c(d(a)),()=>!0))(a)?((a,t)=>S(m(a,(a,e)=>[e,t(a,e)])))(a,C):a,O=(a,t)=>((a,t)=>a?.forEach(t))(a,(a,e)=>t(e,a)),T="/store",A=(t,s,n)=>t+s+(a(n)==e?n:D(n,(a,t)=>o(t)?"":t)),V=(a,t,e)=>{const s=g(a);return n(t,a)?[t[s],(e?v:String)(w(t,s+1))]:void 0},E="hasStore",H=S(f(["Origin","Methods","Headers"],a=>["Access-Control-Allow-"+a,"*"])),M=async(a,e=t)=>!!await a.get(e+E),J=async(a,e=t)=>{const n={},i={};return O(await a.list(),(a,t)=>y(V(e,a),([a,e])=>{if(a==s){const[a,s,i]=R("["+e+"]");x(x(n,a,S),s,S)[i]=t}else"v"==a&&(i[e]=t)})),[n,i]},N=async(a,e,s)=>a.party.broadcast(A(a.config.messagePrefix??t,"s",e),s),U=async(a,e,i,r)=>{const c=a.party.storage,l=a.config.storagePrefix??t,y={[l+E]:1},w=[],f=[];await h(m(e[0],async(t,e)=>o(t)?!i&&await a.canDelTable(e,r)&&((a,...t)=>a.unshift(...t))(f,W(l,s,e)):await a.canSetTable(e,i,r)&&await h(m(t,async(t,n)=>o(t)?!i&&await a.canDelRow(e,n,r)&&u(f,W(l,s,e,n)):await a.canSetRow(e,n,i,r)&&await h(m(t,async(t,g)=>{const h=[e,n,g],f=W(l,s,...h);o(t)?!i&&await a.canDelCell(...h,r)&&u(w,f):await a.canSetCell(...h,t,i,r,await c.get(f))&&(y[f]=t)})))))),await h(m(e[1],async(t,e)=>{const s=l+"v"+e;o(t)?!i&&await a.canDelValue(e,r)&&u(w,s):await a.canSetValue(e,t,i,r,await c.get(s))&&(y[s]=t)})),0!=g(f)&&O(await c.list(),a=>f.every(t=>!n(a,t)||u(w,a)&&0)),await c.delete(w),await c.put(y)},W=(a,t,...e)=>A(a,t,w(b(e),1,-1)),j=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class q{constructor(a){this.party=a,this.config.storePath??=T,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=H}party;config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=T,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await M(e,n),i=await a.text();return"PUT"==a.method?s?j(this,205):(await U(this,R(i),!0,a),j(this,201)):j(this,200,s?b(await J(e,n)):t)}return j(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await y(V(s,a,1),async([a,t])=>{"s"==a&&await M(this.party.storage,n)&&(await U(this,t,!1,e),N(this,t,[e.id]))})}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{q as TinyBasePartyKitServer,N as broadcastChanges,M as hasStoreInStorage,J as loadStoreFromStorage};
1
+ const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>(t,e,s)=>a(t)?s?.():e(t),c=String,o=a=>null==a,l=a=>void 0===a,y=r(o),w=r(l),g=(a,t,e)=>a.slice(t,e),h=a=>a.length,f=async a=>i.all(a),u=(a,t)=>a.map(t),p=(a,...t)=>a.push(...t),d=Object,P=a=>d.getPrototypeOf(a),S=d.entries,m=(a=[])=>d.fromEntries(a),x=(a,t)=>u(S(a),([a,e])=>t(e,a)),D=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),R=JSON.stringify,b=JSON.parse,v=a=>R(a,(a,t)=>t instanceof Map?d.fromEntries([...t]):t),C=a=>O(b(a)),O=a=>""===a?void 0:Array.isArray(a)?u(a,O):(a=>!o(a)&&y(P(a),a=>a==d.prototype||o(P(a)),()=>!0))(a)?((a,t)=>m(x(a,(a,e)=>[e,t(a,e)])))(a,O):a,T=(a,t)=>((a,t)=>a?.forEach(t))(a,(a,e)=>t(e,a)),A="/store",V=(t,s,n)=>t+s+(a(n)==e?n:R(n,(a,t)=>l(t)?"":t)),E=(a,t,e)=>{const s=h(a);return n(t,a)?[t[s],(e?C:c)(g(t,s+1))]:void 0},H="hasStore",M=m(u(["Origin","Methods","Headers"],a=>["Access-Control-Allow-"+a,"*"])),J=async(a,e=t)=>!!await a.get(e+H),N=async(a,e=t)=>{const n={},i={};return T(await a.list(),(a,t)=>w(E(e,a),([a,e])=>{if(a==s){const[a,s,i]=b("["+e+"]");D(D(n,a,m),s,m)[i]=t}else"v"==a&&(i[e]=t)})),[n,i]},U=async(a,e,s)=>a.party.broadcast(V(a.config.messagePrefix??t,"s",e),s),W=async(a,e,i,r)=>{const c=a.party.storage,o=a.config.storagePrefix??t,y={[o+H]:1},w=[],g=[];await f(x(e[0],async(t,e)=>l(t)?!i&&await a.canDelTable(e,r)&&((a,...t)=>a.unshift(...t))(g,j(o,s,e)):await a.canSetTable(e,i,r)&&await f(x(t,async(t,n)=>l(t)?!i&&await a.canDelRow(e,n,r)&&p(g,j(o,s,e,n)):await a.canSetRow(e,n,i,r)&&await f(x(t,async(t,g)=>{const h=[e,n,g],f=j(o,s,...h);l(t)?!i&&await a.canDelCell(...h,r)&&p(w,f):await a.canSetCell(...h,t,i,r,await c.get(f))&&(y[f]=t)})))))),await f(x(e[1],async(t,e)=>{const s=o+"v"+e;l(t)?!i&&await a.canDelValue(e,r)&&p(w,s):await a.canSetValue(e,t,i,r,await c.get(s))&&(y[s]=t)})),0!=h(g)&&T(await c.list(),a=>g.every(t=>!n(a,t)||p(w,a)&&0)),await c.delete(w),await c.put(y)},j=(a,t,...e)=>V(a,t,g(v(e),1,-1)),q=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class L{constructor(a){this.party=a,this.config.storePath??=A,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=M}party;config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=A,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await J(e,n),i=await a.text();return"PUT"==a.method?s?q(this,205):(await W(this,b(i),!0,a),q(this,201)):q(this,200,s?v(await N(e,n)):t)}return q(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await w(E(s,a,1),async([a,t])=>{"s"==a&&await J(this.party.storage,n)&&(await W(this,t,!1,e),U(this,t,[e.id]))})}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{L as TinyBasePartyKitServer,U as broadcastChanges,J as hasStoreInStorage,N as loadStoreFromStorage};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>(t,e,s)=>a(t)?s?.():e(t),c=a=>null==a,o=a=>void 0===a,l=r(c),y=r(o),w=(a,t,e)=>a.slice(t,e),g=a=>a.length,h=async a=>i.all(a),f=(a,t)=>a.map(t),u=(a,...t)=>a.push(...t),p=Object,d=a=>p.getPrototypeOf(a),P=p.entries,S=(a=[])=>p.fromEntries(a),m=(a,t)=>f(P(a),([a,e])=>t(e,a)),x=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),D=JSON.stringify,R=JSON.parse,b=a=>D(a,(a,t)=>t instanceof Map?p.fromEntries([...t]):t),v=a=>C(R(a)),C=a=>""===a?void 0:Array.isArray(a)?f(a,C):(a=>!c(a)&&l(d(a),a=>a==p.prototype||c(d(a)),()=>!0))(a)?((a,t)=>S(m(a,(a,e)=>[e,t(a,e)])))(a,C):a,O=(a,t)=>((a,t)=>a?.forEach(t))(a,(a,e)=>t(e,a)),T="/store",A=(t,s,n)=>t+s+(a(n)==e?n:D(n,(a,t)=>o(t)?"":t)),V=(a,t,e)=>{const s=g(a);return n(t,a)?[t[s],(e?v:String)(w(t,s+1))]:void 0},E="hasStore",H=S(f(["Origin","Methods","Headers"],a=>["Access-Control-Allow-"+a,"*"])),M=async(a,e=t)=>!!await a.get(e+E),J=async(a,e=t)=>{const n={},i={};return O(await a.list(),(a,t)=>y(V(e,a),([a,e])=>{if(a==s){const[a,s,i]=R("["+e+"]");x(x(n,a,S),s,S)[i]=t}else"v"==a&&(i[e]=t)})),[n,i]},N=async(a,e,s)=>a.party.broadcast(A(a.config.messagePrefix??t,"s",e),s),U=async(a,e,i,r)=>{const c=a.party.storage,l=a.config.storagePrefix??t,y={[l+E]:1},w=[],f=[];await h(m(e[0],async(t,e)=>o(t)?!i&&await a.canDelTable(e,r)&&((a,...t)=>a.unshift(...t))(f,W(l,s,e)):await a.canSetTable(e,i,r)&&await h(m(t,async(t,n)=>o(t)?!i&&await a.canDelRow(e,n,r)&&u(f,W(l,s,e,n)):await a.canSetRow(e,n,i,r)&&await h(m(t,async(t,g)=>{const h=[e,n,g],f=W(l,s,...h);o(t)?!i&&await a.canDelCell(...h,r)&&u(w,f):await a.canSetCell(...h,t,i,r,await c.get(f))&&(y[f]=t)})))))),await h(m(e[1],async(t,e)=>{const s=l+"v"+e;o(t)?!i&&await a.canDelValue(e,r)&&u(w,s):await a.canSetValue(e,t,i,r,await c.get(s))&&(y[s]=t)})),0!=g(f)&&O(await c.list(),a=>f.every(t=>!n(a,t)||u(w,a)&&0)),await c.delete(w),await c.put(y)},W=(a,t,...e)=>A(a,t,w(b(e),1,-1)),j=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class q{constructor(a){this.party=a,this.config.storePath??=T,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=H}party;config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=T,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await M(e,n),i=await a.text();return"PUT"==a.method?s?j(this,205):(await U(this,R(i),!0,a),j(this,201)):j(this,200,s?b(await J(e,n)):t)}return j(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await y(V(s,a,1),async([a,t])=>{"s"==a&&await M(this.party.storage,n)&&(await U(this,t,!1,e),N(this,t,[e.id]))})}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{q as TinyBasePartyKitServer,N as broadcastChanges,M as hasStoreInStorage,J as loadStoreFromStorage};
1
+ const a=a=>typeof a,t="",e=a(t),s="t",n=(a,t)=>a.startsWith(t),i=Promise,r=a=>(t,e,s)=>a(t)?s?.():e(t),c=String,o=a=>null==a,l=a=>void 0===a,y=r(o),w=r(l),g=(a,t,e)=>a.slice(t,e),h=a=>a.length,f=async a=>i.all(a),u=(a,t)=>a.map(t),p=(a,...t)=>a.push(...t),d=Object,P=a=>d.getPrototypeOf(a),S=d.entries,m=(a=[])=>d.fromEntries(a),x=(a,t)=>u(S(a),([a,e])=>t(e,a)),D=(a,t,e)=>(((a,t)=>t in a)(a,t)||(a[t]=e()),a[t]),R=JSON.stringify,b=JSON.parse,v=a=>R(a,(a,t)=>t instanceof Map?d.fromEntries([...t]):t),C=a=>O(b(a)),O=a=>""===a?void 0:Array.isArray(a)?u(a,O):(a=>!o(a)&&y(P(a),a=>a==d.prototype||o(P(a)),()=>!0))(a)?((a,t)=>m(x(a,(a,e)=>[e,t(a,e)])))(a,O):a,T=(a,t)=>((a,t)=>a?.forEach(t))(a,(a,e)=>t(e,a)),A="/store",V=(t,s,n)=>t+s+(a(n)==e?n:R(n,(a,t)=>l(t)?"":t)),E=(a,t,e)=>{const s=h(a);return n(t,a)?[t[s],(e?C:c)(g(t,s+1))]:void 0},H="hasStore",M=m(u(["Origin","Methods","Headers"],a=>["Access-Control-Allow-"+a,"*"])),J=async(a,e=t)=>!!await a.get(e+H),N=async(a,e=t)=>{const n={},i={};return T(await a.list(),(a,t)=>w(E(e,a),([a,e])=>{if(a==s){const[a,s,i]=b("["+e+"]");D(D(n,a,m),s,m)[i]=t}else"v"==a&&(i[e]=t)})),[n,i]},U=async(a,e,s)=>a.party.broadcast(V(a.config.messagePrefix??t,"s",e),s),W=async(a,e,i,r)=>{const c=a.party.storage,o=a.config.storagePrefix??t,y={[o+H]:1},w=[],g=[];await f(x(e[0],async(t,e)=>l(t)?!i&&await a.canDelTable(e,r)&&((a,...t)=>a.unshift(...t))(g,j(o,s,e)):await a.canSetTable(e,i,r)&&await f(x(t,async(t,n)=>l(t)?!i&&await a.canDelRow(e,n,r)&&p(g,j(o,s,e,n)):await a.canSetRow(e,n,i,r)&&await f(x(t,async(t,g)=>{const h=[e,n,g],f=j(o,s,...h);l(t)?!i&&await a.canDelCell(...h,r)&&p(w,f):await a.canSetCell(...h,t,i,r,await c.get(f))&&(y[f]=t)})))))),await f(x(e[1],async(t,e)=>{const s=o+"v"+e;l(t)?!i&&await a.canDelValue(e,r)&&p(w,s):await a.canSetValue(e,t,i,r,await c.get(s))&&(y[s]=t)})),0!=h(g)&&T(await c.list(),a=>g.every(t=>!n(a,t)||p(w,a)&&0)),await c.delete(w),await c.put(y)},j=(a,t,...e)=>V(a,t,g(v(e),1,-1)),q=async(a,t,e=null)=>new Response(e,{status:t,headers:a.config.responseHeaders});class L{constructor(a){this.party=a,this.config.storePath??=A,this.config.messagePrefix??=t,this.config.storagePrefix??=t,this.config.responseHeaders??=M}party;config={};async onRequest(a){const{party:{storage:e},config:{storePath:s=A,storagePrefix:n}}=this;if(new URL(a.url).pathname.endsWith(s)){const s=await J(e,n),i=await a.text();return"PUT"==a.method?s?q(this,205):(await W(this,b(i),!0,a),q(this,201)):q(this,200,s?v(await N(e,n)):t)}return q(this,404)}async onMessage(a,e){const{config:{messagePrefix:s=t,storagePrefix:n}}=this;await w(E(s,a,1),async([a,t])=>{"s"==a&&await J(this.party.storage,n)&&(await W(this,t,!1,e),U(this,t,[e.id]))})}async canSetTable(a,t,e){return!0}async canDelTable(a,t){return!0}async canSetRow(a,t,e,s){return!0}async canDelRow(a,t,e){return!0}async canSetCell(a,t,e,s,n,i,r){return!0}async canDelCell(a,t,e,s){return!0}async canSetValue(a,t,e,s,n){return!0}async canDelValue(a,t){return!0}}export{L as TinyBasePartyKitServer,U as broadcastChanges,J as hasStoreInStorage,N as loadStoreFromStorage};
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,v="Sorted"+d+l,w="Cell",L=w+l,f=e=>(t,r,n)=>e(t)?n?.():r(t),g=Math,R=g.max,h=g.min,m=isFinite,p=e=>null==e,y=e=>void 0===e,C=e=>!0===e,b=f(p),T=f(y),I=t=>e(t)==s,V=e=>Array.isArray(e),E=(e,t,r)=>e.slice(t,r),P=e=>e.length,S=()=>{},Q=(e,t)=>e.every(t),_=(e,t)=>e.forEach(t),j=e=>k(e,(e,t)=>e+t,0),k=(e,t,r)=>e.reduce(t,r),x=(e,...t)=>e.push(...t),D=e=>e?.size??0,M=(e,t)=>e?.has(t)??!1,z=e=>y(e)||0==D(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=Object,B=e=>q.getPrototypeOf(e),G=q.entries,H=e=>!p(e)&&b(B(e),e=>e==q.prototype||p(B(e)),()=>!0),J=q.keys,K=q.freeze,N=Map,U=e=>new N(e),X=(e,t)=>e?.get(t),Y=(e,t)=>O(e,(e,r)=>t(r,e)),Z=(e,t,r)=>y(r)?(W(e,t),e):e?.set(t,r),$=(e,t,r,n)=>(M(e,t)?n?.(X(e,t)):Z(e,t,r()),X(e,t)),ee=(e,t,r,n,s=0)=>T((r?$:X)(e,t[s],s>P(t)-2?r:U),o=>{if(s>P(t)-2)return n?.(o)&&Z(e,t[s]),o;const a=ee(o,t,r,n,s+1);return z(o)&&Z(e,t[s]),a}),te=U([["avg",[(e,t)=>j(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>h(...e),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:h(t,e)]],["sum",[e=>j(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),re=e=>new Set(V(e)||y(e)?e:[e]),ne=(e,t)=>e?.add(t),se="_",oe=(()=>{const s=new WeakMap;return l=>(s.has(l)||s.set(l,(s=>{const l=s._[0],f=l(),g=l(),R=l(),h=U(),p=re(),b=U(),j=U(),k={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},B=U(),N=U(),{_:[,oe,ae],delListener:le}=R,[ie,de,ce,ue,ve,we,Le,fe,,ge,Re,he]=((e,t,r,n,s)=>{const o=e.hasRow,a=U(),l=U(),i=U(),d=U(),c=U(),u=U(),v=t=>T(X(u,t),r=>{_(A(r),t=>{e.delListener(t),W(r,t)}),Z(u,t)}),w=(e,t)=>{Z(a,e,t),M(l,e)||(Z(l,e,[]),Z(d,e,U()),Z(c,e,U()),s(i))},L=e=>{Z(a,e),Z(l,e),Z(d,e),Z(c,e),v(e),s(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>Y(l,e),e=>M(l,e),e=>X(a,e),e=>X(l,e),(e,t)=>Z(l,e,t),w,(t,n,s,a,l)=>{w(t,n);const i=U(),L=U(),f=X(d,t),g=X(c,t),R=t=>{const s=r=>e.getCell(n,t,r),d=X(f,t),c=o(n,t)?r(a(s,t)):void 0;var u,v;if(d===c||V(d)&&V(c)&&(v=c,P(u=d)===P(v)&&Q(u,(e,t)=>v[t]===e))||Z(i,t,[d,c]),!y(l)){const e=X(g,t),r=o(n,t)?l(s,t):void 0;e!=r&&Z(L,t,r)}},h=e=>{s(()=>{O(i,([,e],t)=>Z(f,t,e)),O(L,(e,t)=>Z(g,t,e))},i,L,f,g,e),F(i),F(L)};Y(f,R),e.hasTable(n)&&_(e.getRowIds(n),e=>{M(f,e)||R(e)}),h(!0),v(t),((e,...t)=>{const r=$(u,e,re);_(t,e=>ne(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>R(r)),e.addTableListener(n,()=>h()))},L,e=>n(e,i),()=>Y(u,L)]})(s,0,S,oe,ae),me=e=>$(h,e,l),pe=(e,t,...r)=>_(r,r=>ne($($(B,t,U),e,re),r)),ye=e=>{T(X(B,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),_([me(e),f],t=>t.delTable(e))},Ce=(e,t,r,...n)=>{const s=$($(N,t,U),e,re);return _(n,t=>{ne(s,t),r&&e.callListener(t)}),n},be=(e,t,r)=>T(X(X(N,e),t),n=>{t.delListener(r),W(n,r),z(n)&&Z(X(N,e),t)}),Te=e=>T(X(N,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),Ie=(e,t,r)=>pe(t,e,t.addStartTransactionListener(r.startTransaction),t.addDidFinishTransactionListener(()=>r.finishTransaction())),Ve=(e,t)=>{return(H(r=t)&&0==(e=>P(J(e)))(r)?g.delRow:g.setRow)(se,e,{...t});var r},Ee=o=>me(o).transaction(()=>T(we(o),([a,,l])=>{const i=ve(o),d=l?me(i):s,c=me(o),u=Se(o);ne(p,o),ye(o),Te(o);const v=[],w=[[void 0,[i,void 0,void 0,[],U(),d]]],L=[],g=[],R=[];a({select:(e,t,r)=>{const n=C(e)?t:e,s=C(e)?r:t,o=I(e)?[P(v)+"",e]:y(s)?[e,t=>t(e)]:[s,t=>C(e)?t(!0,n,s):t(n,s)];return x(v,o),{as:e=>o[0]=e}},join:(e,t,r,n)=>{const o=C(e)?t:e,[a,l]=C(e)?y(n)||I(r)?[void 0,r]:[r,n]:y(r)||I(t)?[void 0,t]:[t,r],i=[o,[o,a,I(l)?l:e=>e(l),[],U(),C(e)?me(o):s]];return x(w,i),{as:e=>i[0]=e}},where:(e,t,r,n)=>x(L,I(e)?e:C(e)?e=>e(!0,t,r)===n:y(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,I(t)?[t,r,n,s]:X(te,t)??[(e,t)=>t]]];return x(g,o),{as:e=>o[0]=e}},having:(e,t)=>x(R,I(e)?e:r=>r(e)===t),param:e=>{return t=e,T(u,e=>e[t]);var t}});const h=U(v);if(z(h))return W(p,o),Qe;const b=U(w);Y(b,(e,[,t])=>T(X(b,t),({3:t})=>y(e)?0:x(t,e)));const E=U(g);let S=f;if(z(E)&&0==P(R))S=c;else{Ie(o,S,c);const s=U();Y(E,(e,[t,r])=>ne($(s,t,re),[e,r]));const a=re();Y(h,e=>M(s,e)?0:ne(a,e));const l=U(),i=(a,l,i,d)=>T(a,([u,v,w,L])=>{Y(l,(o,[a])=>{const l=$(u,o,U),c=X(l,i),v=d?void 0:a;if(c!==v){const a=re([[c,v]]),d=D(l);Z(l,i,v),O(X(s,o),([s,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(z(r))return;const[a,l,i,d]=s;return o||=y(e),O(n,([r,n])=>{o||(e=y(r)?l?.(e,n,t++):y(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=y(e))}),o?a(A(r),D(r)):e})(L[s],d,l,a,o);L[s]=y((s=>{if(null===s)return"null";if(V(s))return"array";if(H(s))return"object";const o=e(s);return(e=>e==t||e==r)(o)||o==n&&m(s)?o:void 0})(i))?void 0:i})}}),z(v)||!Q(R,e=>e(e=>L[e]))?c.delRow(o,w):y(w)?a[2]=c.addRow(o,L):c.setRow(o,w,L)});pe(S,o,S.addRowListener(o,null,(e,t,r,n)=>{const d=[],c=[],u=U(),v=S.hasRow(o,r);let w=!v;O(a,e=>{const[t,s,a]=n(o,r,e);x(d,s),x(c,a),w||=t}),Y(s,e=>{const[t,,s]=n(o,r,e);(w||t)&&Z(u,e,[s])}),w&&i(ee(l,d,void 0,([,e])=>(W(e,r),z(e))),u,r,1),v&&i(ee(l,c,()=>{const e={};return O(a,t=>e[t]=S.getCell(o,r,t)),[U(),re(),void 0,e]},([,e])=>{ne(e,r)}),u,r)}))}Ie(o,d,S);const j=(e,t,r,n,s)=>{const a=e=>t.getCell(r,n,e);_(s,t=>{const[r,,n,s,l,i]=X(b,t),d=n?.(a,e),c=X(l,e),u=c?.[0];d!=u&&(T(c,([,e,t])=>be(o,e,t)),Z(l,e,y(d)?void 0:[d,i,...Ce(i,o,1,i.addRowListener(r,d,()=>j(e,i,r,d,s)))]))}),(e=>{const t=(t,r,n)=>{const s=C(t)?r:t,o=C(t)?n:r;if(y(o))return d.getCell(i,e,t);if(s===i&&!C(t))return d.getCell(i,e,o);const a=X(b,s);return y(a)?void 0:a[5].getCell(a[0],X(a[4],e)?.[0],o)};S.transaction(()=>Q(L,e=>e(t))?Y(h,(r,n)=>S._[5](o,e,r,n(t,e))):S.delRow(o,e))})(e)},{3:k}=X(b,void 0),F=(e,t,r)=>{d.hasRow(i,r)?j(r,d,i,r,k):(S.delRow(o,r),O(b,({4:e})=>T(X(e,r),([,t,n])=>{be(o,t,n),Z(e,r)})))};return S.transaction(()=>{_(d.getRowIds(i),e=>F(0,0,e)),Ce(d,o,0,d.addRowListener(i,null,F))}),W(p,o),Qe})),Pe=e=>(T(we(e),([,e])=>g.delListener(e)),g.delRow(se,e),ye(e),Te(e),ge(e),Qe),Se=e=>g.getRow(se,e),Qe={setQueryDefinition:(e,t,r,n,s={})=>{const[o,a,l,i]=C(t)?[r,n,1,s]:[t,r,0,n??{}];return T(we(e),([,e])=>g.delListener(e)),fe(e,o),Le(e,[a,g.addRowListener(se,e,()=>Ee(e)),l]),Ve(e,i),Ee(e),Qe},delQueryDefinition:Pe,getParamValues:Se,getParamValue:(e,t)=>g.getCell(se,e,t),setParamValues:(e,t)=>(ue(e)&&Ve(e,t),Qe),setParamValue:(e,t,r)=>(ue(e)&&g.setCell(se,e,t,r),Qe),getStore:ie,getQueryIds:de,forEachQuery:ce,hasQuery:ue,getTableId:ve,forEachResultTable:e=>ce(t=>me(t).hasTable(t)?e(t,e=>Qe.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Re(()=>e(Qe)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(se,e,(e,r,n)=>t(Qe,n,Se(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(se,e,t,(e,t,n,s,o)=>r(Qe,n,s,o)),delListener:e=>{const t=X(b,e);if("p"==e[0])g.delListener(E(e,1));else if(y(t))le(e);else{const[r,n,s]=t;Y(n,(e,[t,r])=>t.delListener(r)),T(s,le),Z(b,e),le(e),k[r]--}return Qe},destroy:()=>{_(de(),Pe),he()},getListenerStats:()=>({...k,paramValues:g.getListenerStats().row-P(de()),paramValue:g.getListenerStats().cell})};return _e=([e,t],r)=>{_(E(["get","has","forEach"],0,e),e=>Qe[e+a+r]=(...t)=>me(t[0])[e+r](...t)),Qe["add"+a+r+o]=(...e)=>((n,s)=>{const a=oe(S,j),l=U(),i=()=>{const n=null==s?de():[s];_(n,n=>{return M(l,n)?0:Z(l,n,[me(n),(s=me(n),s["add"+r+o](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:E(e,0,t))(e,t),(r,...n)=>e[t](Qe,...n),!0))]);var s}),Y(l,(e,[t,r])=>null==s&&ue(e)||e==s?0:(t.delListener(r),void Z(l,e)))};return i(),Z(b,a,[n,l,null==s?Re(i):void 0]),k[n]++,a})((e=>e[0].toLowerCase()+E(e,1))(r),e[0])},((e=[])=>{q.fromEntries(e)})(((e,t)=>((e,t)=>e.map(t))(G(e),([e,r])=>t(r,e)))({[i]:[2,1],[i+L]:[1,1],[c]:[1,1],[u]:[1,1],[v]:[1,5],[d]:[3,2],[L]:[1,2],[w]:[3,3]},(e,t)=>[t,_e(e,t)])),K(Qe);var _e})(l)),s.get(l))})();export{oe as createQueries};
1
+ const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,v="Sorted"+d+l,w="Cell",L=w+l,f=Math,g=e=>(t,r,n)=>e(t)?n?.():r(t),R=f.max,h=f.min,m=isFinite,p=e=>null==e,y=e=>void 0===e,C=e=>!0===e,b=g(p),T=g(y),I=t=>e(t)==s,V=e=>Array.isArray(e),E=(e,t,r)=>e.slice(t,r),P=e=>e.length,S=()=>{},Q=(e,t)=>e.every(t),_=(e,t)=>e.forEach(t),j=e=>k(e,(e,t)=>e+t,0),k=(e,t,r)=>e.reduce(t,r),x=(e,...t)=>e.push(...t),D=e=>e?.size??0,M=(e,t)=>e?.has(t)??!1,z=e=>y(e)||0==D(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=Object,B=e=>q.getPrototypeOf(e),G=q.entries,H=e=>!p(e)&&b(B(e),e=>e==q.prototype||p(B(e)),()=>!0),J=q.keys,K=q.freeze,N=Map,U=e=>new N(e),X=(e,t)=>e?.get(t),Y=(e,t)=>O(e,(e,r)=>t(r,e)),Z=(e,t,r)=>y(r)?(W(e,t),e):e?.set(t,r),$=(e,t,r,n)=>(M(e,t)?n?.(X(e,t)):Z(e,t,r()),X(e,t)),ee=(e,t,r,n,s=0)=>T((r?$:X)(e,t[s],s>P(t)-2?r:U),o=>{if(s>P(t)-2)return n?.(o)&&Z(e,t[s]),o;const a=ee(o,t,r,n,s+1);return z(o)&&Z(e,t[s]),a}),te=U([["avg",[(e,t)=>j(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>h(...e),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:h(t,e)]],["sum",[e=>j(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),re=e=>new Set(V(e)||y(e)?e:[e]),ne=(e,t)=>e?.add(t),se="_",oe=(()=>{const s=new WeakMap;return l=>(s.has(l)||s.set(l,(s=>{const l=s._[0],f=l(),g=l(),R=l(),h=U(),p=re(),b=U(),j=U(),k={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},B=U(),N=U(),{_:[,oe,ae],delListener:le}=R,[ie,de,ce,ue,ve,we,Le,fe,,ge,Re,he]=((e,t,r,n,s)=>{const o=e.hasRow,a=U(),l=U(),i=U(),d=U(),c=U(),u=U(),v=t=>T(X(u,t),r=>{_(A(r),t=>{e.delListener(t),W(r,t)}),Z(u,t)}),w=(e,t)=>{Z(a,e,t),M(l,e)||(Z(l,e,[]),Z(d,e,U()),Z(c,e,U()),s(i))},L=e=>{Z(a,e),Z(l,e),Z(d,e),Z(c,e),v(e),s(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>Y(l,e),e=>M(l,e),e=>X(a,e),e=>X(l,e),(e,t)=>Z(l,e,t),w,(t,n,s,a,l)=>{w(t,n);const i=U(),L=U(),f=X(d,t),g=X(c,t),R=t=>{const s=r=>e.getCell(n,t,r),d=X(f,t),c=o(n,t)?r(a(s,t)):void 0;var u,v;if(d===c||V(d)&&V(c)&&(v=c,P(u=d)===P(v)&&Q(u,(e,t)=>v[t]===e))||Z(i,t,[d,c]),!y(l)){const e=X(g,t),r=o(n,t)?l(s,t):void 0;e!=r&&Z(L,t,r)}},h=e=>{s(()=>{O(i,([,e],t)=>Z(f,t,e)),O(L,(e,t)=>Z(g,t,e))},i,L,f,g,e),F(i),F(L)};Y(f,R),e.hasTable(n)&&_(e.getRowIds(n),e=>{M(f,e)||R(e)}),h(!0),v(t),((e,...t)=>{const r=$(u,e,re);_(t,e=>ne(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>R(r)),e.addTableListener(n,()=>h()))},L,e=>n(e,i),()=>Y(u,L)]})(s,0,S,oe,ae),me=e=>$(h,e,l),pe=(e,t,...r)=>_(r,r=>ne($($(B,t,U),e,re),r)),ye=e=>{T(X(B,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),_([me(e),f],t=>t.delTable(e))},Ce=(e,t,r,...n)=>{const s=$($(N,t,U),e,re);return _(n,t=>{ne(s,t),r&&e.callListener(t)}),n},be=(e,t,r)=>T(X(X(N,e),t),n=>{t.delListener(r),W(n,r),z(n)&&Z(X(N,e),t)}),Te=e=>T(X(N,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),Ie=(e,t,r)=>pe(t,e,t.addStartTransactionListener(r.startTransaction),t.addDidFinishTransactionListener(()=>r.finishTransaction())),Ve=(e,t)=>{return(H(r=t)&&0==(e=>P(J(e)))(r)?g.delRow:g.setRow)(se,e,{...t});var r},Ee=o=>me(o).transaction(()=>T(we(o),([a,,l])=>{const i=ve(o),d=l?me(i):s,c=me(o),u=Se(o);ne(p,o),ye(o),Te(o);const v=[],w=[[void 0,[i,void 0,void 0,[],U(),d]]],L=[],g=[],R=[];a({select:(e,t,r)=>{const n=C(e)?t:e,s=C(e)?r:t,o=I(e)?[P(v)+"",e]:y(s)?[e,t=>t(e)]:[s,t=>C(e)?t(!0,n,s):t(n,s)];return x(v,o),{as:e=>o[0]=e}},join:(e,t,r,n)=>{const o=C(e)?t:e,[a,l]=C(e)?y(n)||I(r)?[void 0,r]:[r,n]:y(r)||I(t)?[void 0,t]:[t,r],i=[o,[o,a,I(l)?l:e=>e(l),[],U(),C(e)?me(o):s]];return x(w,i),{as:e=>i[0]=e}},where:(e,t,r,n)=>x(L,I(e)?e:C(e)?e=>e(!0,t,r)===n:y(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,I(t)?[t,r,n,s]:X(te,t)??[(e,t)=>t]]];return x(g,o),{as:e=>o[0]=e}},having:(e,t)=>x(R,I(e)?e:r=>r(e)===t),param:e=>{return t=e,T(u,e=>e[t]);var t}});const h=U(v);if(z(h))return W(p,o),Qe;const b=U(w);Y(b,(e,[,t])=>T(X(b,t),({3:t})=>y(e)?0:x(t,e)));const E=U(g);let S=f;if(z(E)&&0==P(R))S=c;else{Ie(o,S,c);const s=U();Y(E,(e,[t,r])=>ne($(s,t,re),[e,r]));const a=re();Y(h,e=>M(s,e)?0:ne(a,e));const l=U(),i=(a,l,i,d)=>T(a,([u,v,w,L])=>{Y(l,(o,[a])=>{const l=$(u,o,U),c=X(l,i),v=d?void 0:a;if(c!==v){const a=re([[c,v]]),d=D(l);Z(l,i,v),O(X(s,o),([s,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(z(r))return;const[a,l,i,d]=s;return o||=y(e),O(n,([r,n])=>{o||(e=y(r)?l?.(e,n,t++):y(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=y(e))}),o?a(A(r),D(r)):e})(L[s],d,l,a,o);L[s]=y((s=>{if(null===s)return"null";if(V(s))return"array";if(H(s))return"object";const o=e(s);return(e=>e==t||e==r)(o)||o==n&&m(s)?o:void 0})(i))?void 0:i})}}),z(v)||!Q(R,e=>e(e=>L[e]))?c.delRow(o,w):y(w)?a[2]=c.addRow(o,L):c.setRow(o,w,L)});pe(S,o,S.addRowListener(o,null,(e,t,r,n)=>{const d=[],c=[],u=U(),v=S.hasRow(o,r);let w=!v;O(a,e=>{const[t,s,a]=n(o,r,e);x(d,s),x(c,a),w||=t}),Y(s,e=>{const[t,,s]=n(o,r,e);(w||t)&&Z(u,e,[s])}),w&&i(ee(l,d,void 0,([,e])=>(W(e,r),z(e))),u,r,1),v&&i(ee(l,c,()=>{const e={};return O(a,t=>e[t]=S.getCell(o,r,t)),[U(),re(),void 0,e]},([,e])=>{ne(e,r)}),u,r)}))}Ie(o,d,S);const j=(e,t,r,n,s)=>{const a=e=>t.getCell(r,n,e);_(s,t=>{const[r,,n,s,l,i]=X(b,t),d=n?.(a,e),c=X(l,e),u=c?.[0];d!=u&&(T(c,([,e,t])=>be(o,e,t)),Z(l,e,y(d)?void 0:[d,i,...Ce(i,o,1,i.addRowListener(r,d,()=>j(e,i,r,d,s)))]))}),(e=>{const t=(t,r,n)=>{const s=C(t)?r:t,o=C(t)?n:r;if(y(o))return d.getCell(i,e,t);if(s===i&&!C(t))return d.getCell(i,e,o);const a=X(b,s);return y(a)?void 0:a[5].getCell(a[0],X(a[4],e)?.[0],o)};S.transaction(()=>Q(L,e=>e(t))?Y(h,(r,n)=>S._[5](o,e,r,n(t,e))):S.delRow(o,e))})(e)},{3:k}=X(b,void 0),F=(e,t,r)=>{d.hasRow(i,r)?j(r,d,i,r,k):(S.delRow(o,r),O(b,({4:e})=>T(X(e,r),([,t,n])=>{be(o,t,n),Z(e,r)})))};return S.transaction(()=>{_(d.getRowIds(i),e=>F(0,0,e)),Ce(d,o,0,d.addRowListener(i,null,F))}),W(p,o),Qe})),Pe=e=>(T(we(e),([,e])=>g.delListener(e)),g.delRow(se,e),ye(e),Te(e),ge(e),Qe),Se=e=>g.getRow(se,e),Qe={setQueryDefinition:(e,t,r,n,s={})=>{const[o,a,l,i]=C(t)?[r,n,1,s]:[t,r,0,n??{}];return T(we(e),([,e])=>g.delListener(e)),fe(e,o),Le(e,[a,g.addRowListener(se,e,()=>Ee(e)),l]),Ve(e,i),Ee(e),Qe},delQueryDefinition:Pe,getParamValues:Se,getParamValue:(e,t)=>g.getCell(se,e,t),setParamValues:(e,t)=>(ue(e)&&Ve(e,t),Qe),setParamValue:(e,t,r)=>(ue(e)&&g.setCell(se,e,t,r),Qe),getStore:ie,getQueryIds:de,forEachQuery:ce,hasQuery:ue,getTableId:ve,forEachResultTable:e=>ce(t=>me(t).hasTable(t)?e(t,e=>Qe.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Re(()=>e(Qe)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(se,e,(e,r,n)=>t(Qe,n,Se(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(se,e,t,(e,t,n,s,o)=>r(Qe,n,s,o)),delListener:e=>{const t=X(b,e);if("p"==e[0])g.delListener(E(e,1));else if(y(t))le(e);else{const[r,n,s]=t;Y(n,(e,[t,r])=>t.delListener(r)),T(s,le),Z(b,e),le(e),k[r]--}return Qe},destroy:()=>{_(de(),Pe),he()},getListenerStats:()=>({...k,paramValues:g.getListenerStats().row-P(de()),paramValue:g.getListenerStats().cell})};return _e=([e,t],r)=>{_(E(["get","has","forEach"],0,e),e=>Qe[e+a+r]=(...t)=>me(t[0])[e+r](...t)),Qe["add"+a+r+o]=(...e)=>((n,s)=>{const a=oe(S,j),l=U(),i=()=>{const n=null==s?de():[s];_(n,n=>{return M(l,n)?0:Z(l,n,[me(n),(s=me(n),s["add"+r+o](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:E(e,0,t))(e,t),(r,...n)=>e[t](Qe,...n),!0))]);var s}),Y(l,(e,[t,r])=>null==s&&ue(e)||e==s?0:(t.delListener(r),void Z(l,e)))};return i(),Z(b,a,[n,l,null==s?Re(i):void 0]),k[n]++,a})((e=>e[0].toLowerCase()+E(e,1))(r),e[0])},((e=[])=>{q.fromEntries(e)})(((e,t)=>((e,t)=>e.map(t))(G(e),([e,r])=>t(r,e)))({[i]:[2,1],[i+L]:[1,1],[c]:[1,1],[u]:[1,1],[v]:[1,5],[d]:[3,2],[L]:[1,2],[w]:[3,3]},(e,t)=>[t,_e(e,t)])),K(Qe);var _e})(l)),s.get(l))})();export{oe as createQueries};
Binary file