tinybase 6.2.1 → 6.3.0
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.
- package/@types/omni/index.d.ts +1 -0
- package/@types/omni/with-schemas/index.d.ts +1 -0
- package/@types/persisters/index.d.ts +4 -2
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +348 -0
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +381 -0
- package/@types/persisters/with-schemas/index.d.ts +4 -2
- package/@types/queries/index.d.ts +1 -1
- package/@types/queries/with-schemas/index.d.ts +1 -1
- package/LICENSE +1 -1
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +4 -1
- package/omni/with-schemas/index.js +4 -1
- package/package.json +43 -7
- package/persisters/persister-browser/index.js +4 -1
- package/persisters/persister-browser/with-schemas/index.js +4 -1
- package/persisters/persister-durable-object-sql-storage/index.js +1391 -0
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1391 -0
- package/readme.md +2 -2
- package/ui-react-inspector/index.js +4 -1
- package/ui-react-inspector/with-schemas/index.js +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as n,watch as s}from"fs";import{writeFile as a,readFile as r}from"fs/promises";import{Map as o}from"yjs";import{DurableObject as i}from"cloudflare:workers";import{jsx as l,jsxs as c,Fragment as d}from"react/jsx-runtime";import u from"react";const h=e=>typeof e,g="tinybase",w="",m=",",p=".",I=h(w),b=h(!0),y=h(0),f=h(h),C="true",v="type",S="default",R="utf8",T="Listener",x="Result",L="get",k="add",E="Has",N="Ids",M="Table",P=M+"s",D=M+N,$="Row",O=$+"Count",q=$+N,A="Sorted"+$+N,V="Cell",_=V+N,H="Value",z=H+"s",F=H+N,B="Transaction",U="Partial",W="Finish",J="Status",Q="Metric",j="Slice",G="RemoteRowId",Y="Local",X="Linked",K="Checkpoint",Z="currentTarget",ee="value",te="message",ne="error",se="t",ae="v",re=e=>w+e,oe=(e,t)=>e.startsWith(t),ie=(e,t)=>e.endsWith(t),le=(e,t)=>e?.match(t),ce=(e,t=w,n)=>e.split(t,n),de=(e,t,n)=>e.replace(t,n),ue=Promise,he=globalThis,ge=he.window,we=(e,t,n)=>setInterval(e,1e3*t),me=clearInterval,pe=(e,t=0)=>setTimeout(e,1e3*t),Ie=Math,be=Ie.max,ye=Ie.min,fe=Ie.floor,Ce=isFinite,ve=e=>null==e,Se=(e,t,n)=>ve(e)?n?.():t(e),Re=e=>e==I||e==b,Te=e=>h(e)==I,xe=e=>h(e)==f,Le=e=>Array.isArray(e),ke=(e,t,n)=>e.slice(t,n),Ee=e=>e.length,Ne=()=>{},Me=()=>{},Pe=e=>new ue(e),De=async e=>ue.all(e),$e=e=>{throw Error(e)},Oe=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},qe=(e,t)=>e.includes(t),Ae=(e,t)=>e.every(t),Ve=(e,t)=>Ee(e)===Ee(t)&&Ae(e,((e,n)=>t[n]===e)),_e=(e,t)=>Ae(e,((n,s)=>0==s||t(e[s-1],n)<=0)),He=(e,t)=>e.sort(t),ze=(e,t)=>e.forEach(t),Fe=(e,t=w)=>e.join(t),Be=(e,t)=>e.map(t),Ue=e=>Je(e,((e,t)=>e+t),0),We=e=>0==Ee(e),Je=(e,t,n)=>e.reduce(t,n),Qe=(e,t)=>e.filter(t),je=(e,t)=>e.splice(0,t),Ge=(e,...t)=>e.push(...t),Ye=e=>e.pop(),Xe=(e,...t)=>e.unshift(...t),Ke=e=>e.shift(),Ze=(e,t,n)=>e.with(t,n),et=e=>{const t=h(e);return Re(t)||t==y&&Ce(e)?t:void 0},tt=e=>ve(e)||!ve(et(e)),nt=(e,t,n,s,a)=>ve(a)?e.delCell(t,n,s,!0):e.setCell(t,n,s,a),st=(e,t,n)=>ve(n)?e.delValue(t):e.setValue(t,n),at=(e,t,n,s)=>e==I?t:e==y?n:s,rt=e=>t=>Je(ht(t),((t,n)=>t+e(n)),0),ot=e=>e?.size??0,it=rt(ot),lt=rt(it),ct=rt(lt),dt=(e,t)=>e?.has(t)??!1,ut=e=>ve(e)||0==ot(e),ht=e=>[...e?.values()??[]],gt=e=>e.clear(),wt=(e,t)=>e?.forEach(t),mt=(e,t)=>e?.delete(t),pt=Object,It=e=>pt.getPrototypeOf(e),bt=pt.isFrozen,yt=pt.entries,ft=e=>!ve(e)&&Se(It(e),(e=>e==pt.prototype||ve(It(e))),(()=>!0)),Ct=pt.keys,vt=pt.freeze,St=(e=[])=>pt.fromEntries(e),Rt=(...e)=>pt.assign({},...e),Tt=(e,t)=>Se(e,(e=>e[t])),xt=(e,t)=>t in e,Lt=(e,t)=>(delete e[t],e),kt=(e,t)=>ze(yt(e),(([e,n])=>t(n,e))),Et=(e,t)=>Be(yt(e),(([e,n])=>t(n,e))),Nt=(e,t)=>St(Et(e,((e,n)=>[n,t(e,n)]))),Mt=e=>pt.values(e),Pt=e=>Ee(Ct(e)),Dt=e=>ft(e)&&0==Pt(e),$t=(e,t)=>{const n=yt(e);return Ee(n)===Pt(t)&&Ae(n,(([e,n])=>ft(n)?!!ft(t[e])&&$t(t[e],n):t[e]===n))},Ot=(e,t,n)=>(xt(e,t)||(e[t]=n()),e[t]),qt=(e,t,n,s=0)=>ve(e)||!ft(e)||!s&&Dt(e)||bt(e)?(n?.(),!1):(kt(e,((n,s)=>{t(n,s)||Lt(e,s)})),!!s||!Dt(e)),At=e=>new Map(e),Vt=e=>[...e?.keys()??[]],_t=(e,t)=>e?.get(t),Ht=(e,t)=>wt(e,((e,n)=>t(n,e))),zt=(e,t)=>Be([...e?.entries()??[]],(([e,n])=>t(n,e))),Ft=(e,t,n)=>ve(n)?(mt(e,t),e):e?.set(t,n),Bt=(e,t,n,s)=>(dt(e,t)?s?.(_t(e,t)):Ft(e,t,n()),_t(e,t)),Ut=(e,t,n,s=Ft)=>(Nt(t,((t,s)=>n(e,s,t))),Ht(e,(n=>xt(t,n)?0:s(e,n))),e),Wt=(e,t,n,s)=>{const a={};return wt(e,((e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;s?.(n)||(a[r]=n)}})),a},Jt=(e,t,n)=>Wt(e,(e=>Wt(e,t,n)),ut,Dt),Qt=(e,t,n)=>Wt(e,(e=>Jt(e,t,n)),ut,Dt),jt=(e,t)=>{const n=At();return wt(e,((e,s)=>n.set(s,t?.(e)??e))),n},Gt=e=>jt(e,jt),Yt=e=>jt(e,Gt),Xt=(e,t,n,s,a=0)=>Se((n?Bt:_t)(e,t[a],a>Ee(t)-2?n:At),(r=>{if(a>Ee(t)-2)return s?.(r)&&Ft(e,t[a]),r;const o=Xt(r,t,n,s,a+1);return ut(r)&&Ft(e,t[a]),o})),Kt=e=>new Set(Le(e)||ve(e)?e:[e]),Zt=(e,t)=>e?.add(t),en=(e,t,n,s,a)=>{const r=e.hasRow,o=At(),i=At(),l=At(),c=At(),d=At(),u=At(),h=(t,n,...s)=>{const a=Bt(u,t,Kt);return ze(s,(t=>Zt(a,t)&&n&&e.callListener(t))),s},g=(t,...n)=>Se(_t(u,t),(s=>{ze(We(n)?ht(s):n,(t=>{e.delListener(t),mt(s,t)})),ut(s)&&Ft(u,t)})),w=(e,n)=>{Ft(o,e,n),dt(i,e)||(Ft(i,e,t()),Ft(c,e,At()),Ft(d,e,At()),a(l))},m=e=>{Ft(o,e),Ft(i,e),Ft(c,e),Ft(d,e),g(e),a(l)};return[()=>e,()=>Vt(o),e=>Ht(i,e),e=>dt(i,e),e=>_t(o,e),e=>_t(i,e),(e,t)=>Ft(i,e,t),w,(t,s,a,o,i)=>{w(t,s);const l=At(),u=At(),m=_t(c,t),p=_t(d,t),I=t=>{const a=n=>e.getCell(s,t,n),c=_t(m,t),d=r(s,t)?n(o(a,t)):void 0;if(c===d||Le(c)&&Le(d)&&Ve(c,d)||Ft(l,t,[c,d]),!ve(i)){const e=_t(p,t),n=r(s,t)?i(a,t):void 0;e!=n&&Ft(u,t,n)}},b=e=>{a((()=>{wt(l,(([,e],t)=>Ft(m,t,e))),wt(u,((e,t)=>Ft(p,t,e)))}),l,u,m,p,e),gt(l),gt(u)};Ht(m,I),e.hasTable(s)&&ze(e.getRowIds(s),(e=>{dt(m,e)||I(e)})),b(!0),g(t),h(t,0,e.addRowListener(s,null,((e,t,n)=>I(n))),e.addTableListener(s,(()=>b())))},m,e=>s(e,l),()=>Ht(u,m),h,g]},tn=(e,t)=>Te(e)?t=>t(e):e??(()=>t??w),nn=(e,t)=>{const n=new WeakMap;return s=>{n.has(s)||n.set(s,e(s));const a=n.get(s);return t?.(a),a}},sn=/^\d+$/,an=()=>{const e=[];let t=0;return[n=>(n?Ke(e):null)??w+t++,t=>{sn.test(t)&&Ee(e)<1e3&&Ge(e,t)}]},rn=e=>{let t;const[n,s]=an(),a=At();return[(s,r,o,i=[],l=()=>[])=>{t??=e();const c=n(1);return Ft(a,c,[s,r,o,i,l]),Zt(Xt(r,o??[w],Kt),c),c},(e,n,...s)=>ze(((e,t=[w])=>{const n=[],s=(e,a)=>a==Ee(t)?Ge(n,e):null===t[a]?wt(e,(e=>s(e,a+1))):ze([t[a],null],(t=>s(_t(e,t),a+1)));return s(e,0),n})(e,n),(e=>wt(e,(e=>_t(a,e)[0](t,...n??[],...s))))),e=>Se(_t(a,e),(([,t,n])=>(Xt(t,n??[w],void 0,(t=>(mt(t,e),ut(t)?1:0))),Ft(a,e),s(e),n))),e=>Se(_t(a,e),(([e,,n=[],s,a])=>{const r=(...o)=>{const i=Ee(o);i==Ee(n)?e(t,...o,...a(o)):ve(n[i])?ze(s[i]?.(...o)??[],(e=>r(...o,e))):r(...o,n[i])};r()}))]},on=nn((e=>{let t,n,s,a=100,r=At(),o=At(),i=1;const l=At(),c=At(),[d,u,h]=rn((()=>D)),g=At(),m=At(),p=[],I=[],b=(t,n)=>{i=0,e.transaction((()=>{const[s,a]=_t(g,n);wt(s,((n,s)=>wt(n,((n,a)=>wt(n,((n,r)=>nt(e,s,a,r,n[t]))))))),wt(a,((n,s)=>st(e,s,n[t])))})),i=1},y=e=>{Ft(g,e),Ft(m,e),u(c,[e])},f=(e,t)=>ze(je(e,t??Ee(e)),y),C=()=>f(p,Ee(p)-a),v=()=>Se(t,(()=>{Ge(p,t),C(),f(I),t=void 0,s=1})),S=()=>{t=Ye(p),s=1};let R,T;const x=(e=w)=>(ve(t)&&(t=w+n++,Ft(g,t,[r,o]),M(t,e),r=At(),o=At(),s=1),t),L=()=>{We(p)||(Xe(I,x()),b(0,t),t=Ye(p),s=1)},k=()=>{We(I)||(Ge(p,t),t=Ke(I),b(1,t),s=1)},E=()=>{s&&(u(l),s=0)},N=e=>{const t=x(e);return E(),t},M=(e,t)=>(P(e)&&_t(m,e)!==t&&(Ft(m,e,t),u(c,[e])),D),P=e=>dt(g,e),D={setSize:e=>(a=e,C(),D),addCheckpoint:N,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...I]],forEachCheckpoint:e=>Ht(m,e),hasCheckpoint:P,getCheckpoint:e=>_t(m,e),goBackward:()=>(L(),E(),D),goForward:()=>(k(),E(),D),goTo:e=>{const n=qe(p,e)?L:qe(I,e)?k:null;for(;!ve(n)&&e!=t;)n();return E(),D},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(h(e),D),clear:()=>(f(p),f(I),ve(t)||y(t),t=void 0,n=0,N(),D),clearForward:()=>(We(I)||(f(I),u(l)),D),destroy:()=>{e.delListener(R),e.delListener(T)},getListenerStats:()=>({checkpointIds:it(l),checkpoint:it(c)}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,n,s,a,o)=>{if(i){v();const e=Bt(r,t,At),i=Bt(e,n,At),l=Bt(i,s,(()=>[o,void 0]));l[1]=a,l[0]===a&&ut(Ft(i,s))&&ut(Ft(e,n))&&ut(Ft(r,t))&&S(),E()}})),T=e.addValueListener(null,((e,t,n,s)=>{if(i){v();const e=Bt(o,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&ut(Ft(o,t))&&S(),E()}}))}};return vt(D.clear())}),(e=>e._registerListeners())),ln=ce("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),cn=At(Be(ln,((e,t)=>[e,t]))),dn=e=>ln[63&e],un=(e,t)=>_t(cn,e[t])??0,hn=he.crypto?e=>he.crypto.getRandomValues(e):e=>Be(e,(()=>fe(256*Ie.random()))),gn=(e=16)=>Je(hn(new Uint8Array(e)),((e,t)=>e+dn(t)),""),wn=JSON.stringify,mn=JSON.parse,pn=e=>wn(e,((e,t)=>t instanceof Map?pt.fromEntries([...t]):t)),In=e=>wn(e,((e,t)=>void 0===t?"":t)),bn=e=>mn(e,((e,t)=>""===t?void 0:t)),yn=new he.TextEncoder,fn=e=>{let t=2166136261;return ze(yn.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},Cn=(e,t)=>(e^t)>>>0,vn=e=>Je(yt(e),((e,[t,n])=>Cn(e,Sn(t,n)^Sn(t,0))),0),Sn=(e,t)=>fn(e+":"+t),Rn=(e,t)=>fn(pn(e??null)+":"+t),Tn=Rn,xn=Sn,Ln=vn,kn=Sn,En=e=>Je(yt(e),((e,[t,n])=>Cn(e,Sn(t,n))),0),Nn=Sn,Mn=En,Pn=2**36,Dn=2**30,$n=2**24,On=2**18,qn=4096,An=e=>{const t=fn(e);return dn(t/$n)+dn(t/On)+dn(t/qn)+dn(t/64)+dn(t)},Vn=(e,t=Date.now)=>{let n=0,s=-1;const a=Se(e,An,(()=>gn(5))),r=e=>{const a=n,[r,o]=ve(e)||""==e?[0,0]:i(e);n=be(a,r,t()),s=n==a?n==r?be(s,o):s:n==r?o:-1},o=(e,t,n)=>dn(e/Pn)+dn(e/Dn)+dn(e/$n)+dn(e/On)+dn(e/qn)+dn(e/64)+dn(e)+dn(t/On)+dn(t/qn)+dn(t/64)+dn(t)+(ve(n)?a:An(n)),i=e=>[un(e,0)*Pn+un(e,1)*Dn+un(e,2)*$n+un(e,3)*On+un(e,4)*qn+64*un(e,5)+un(e,6),un(e,7)*On+un(e,8)*qn+64*un(e,9)+un(e,10),e.slice(11)];return[()=>(r(),o(n,++s)),r,o,i,()=>n,()=>s,()=>a]},_n=(e,t)=>(e??0)<(t??0)?-1:1,Hn=nn((e=>{const t=At(),n=At(),[s,a,r]=rn((()=>y)),[o,i,l,c,d,u,h,,g,m,p,I]=en(e,At,(e=>ve(e)?w:Le(e)?Be(e,re):re(e)),s,a),b=(t,n,s)=>{const a=d(t);wt(s,((t,s)=>n(s,(n=>wt(t,(t=>n(t,(n=>e.forEachCell(a,t,n)))))))))},y={setIndexDefinition:(e,s,r,o,i,l=_n)=>{const c=ve(i)?void 0:([e],[t])=>i(e,t);return g(e,s,((s,r,i,d,g,w)=>{let m=0;const p=Kt(),I=Kt(),b=u(e);if(wt(r,(([e,t],n)=>{const s=Kt(e),a=Kt(t);wt(s,(e=>mt(a,e)?mt(s,e):0)),wt(s,(e=>{Zt(p,e),Se(_t(b,e),(t=>{mt(t,n),ut(t)&&(Ft(b,e),m=1)}))})),wt(a,(e=>{Zt(p,e),dt(b,e)||(Ft(b,e,Kt()),m=1),Zt(_t(b,e),n),ve(o)||Zt(I,e)}))})),s(),ut(g)||(w?Ht(b,(e=>Zt(I,e))):Ht(i,(e=>Se(_t(d,e),(e=>ze(Le(e)?e:[e],(e=>Zt(I,e))))))),wt(I,(e=>{const t=(t,n)=>l(_t(g,t),_t(g,n),e),n=[..._t(b,e)];_e(n,t)||(Ft(b,e,Kt(He(n,t))),Zt(p,e))}))),(m||w)&&!ve(c)){const t=[...b];_e(t,c)||(h(e,At(He(t,c))),m=1)}m&&a(t,[e]),wt(p,(t=>a(n,[e,t])))}),tn(r),Se(o,tn)),y},delIndexDefinition:e=>(m(e),y),getStore:o,getIndexIds:i,forEachIndex:e=>l(((t,n)=>e(t,(e=>b(t,e,n))))),forEachSlice:(e,t)=>b(e,t,u(e)),hasIndex:c,hasSlice:(e,t)=>dt(u(e),t),getTableId:d,getSliceIds:e=>Vt(u(e)),getSliceRowIds:(e,t)=>ht(_t(u(e),t)),addIndexIdsListener:p,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,a)=>s(a,n,[e,t]),delListener:e=>(r(e),y),destroy:I,getListenerStats:()=>({sliceIds:it(t),sliceRowIds:lt(n)})};return vt(y)})),zn=([e,t])=>Bn(e,t),Fn=([e,t,n])=>[e,t,n],Bn=(e,t)=>t?[e,t]:[e],Un=(e,t,n)=>[e,t,n],Wn=e=>e[2],Jn=(e,t)=>t>e?(e?fn(e):0)^fn(t):0,Qn=(e,t)=>((e??"")>(t??"")?e:t)??"",jn=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Gn=(e=w)=>Bn(St(),e),Yn=(e=w)=>[At(),e,0],Xn=([e,t,n],s=Fn)=>[Wt(e,s),t,n],Kn=([e,t],n=zn)=>Bn(Wt(e,n),t),Zn=(e,t)=>Le(e)&&3==Ee(e)&&Te(e[1])&&h(e[2])==y&&Ce(e[2])&&t(e[0]),es=e=>[e,e],ts=(e,t=it)=>t(e[0])+t(e[1]),ns=()=>[At(),At()],ss=e=>[...e],as=([e,t])=>e===t,rs=(e,t,n)=>Ft(e,t,_t(e,t)==-n?void 0:n),os=()=>{let e,t,n=!1,s=!1,a=0,r=[];const o=At(),i=At(),l=At(),c=At(),d=At(),u=At(),h=At(),g=At(),w=At(),m=At(),p=At(),I=At(),b=At(),f=At(),C=Kt(),R=At(),x=At(),L=At(),N=At(),A=ns(),B=ns(),U=ns(),W=ns(),J=ns(),Q=ns(),j=ns(),G=ns(),Y=ns(),X=ns(),K=ns(),Z=ns(),ee=ns(),te=ns(),ne=ns(),se=ns(),ae=ns(),oe=ns(),ie=ns(),le=ns(),ce=ns(),de=ns(),ue=At(),he=ns(),[ge,we,me,pe]=rn((()=>qn)),Ie=e=>{if(!qt(e,((e,t)=>qe([v,S],t))))return!1;const t=e[v];return!(!Re(t)&&t!=y||(et(e[S])!=t&&Lt(e,S),0))},be=Le,ye=(t,n)=>(!e||dt(p,n)||yt(n))&&qt(t,((e,t)=>fe(n,t,e)),(()=>yt(n))),fe=(e,t,n,s)=>qt(s?n:Ne(n,e,t),((s,a)=>Se(Ce(e,t,a,s),(e=>(n[a]=e,!0)),(()=>!1))),(()=>yt(e,t))),Ce=(t,n,s,a)=>e?Se(_t(_t(p,t),s),(e=>et(a)!=e[v]?yt(t,n,s,a,e[S]):a),(()=>yt(t,n,s,a))):ve(et(a))?yt(t,n,s,a):a,Te=(e,t)=>qt(t?e:Me(e),((t,n)=>Se(Ee(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Ct())),Ee=(e,n)=>t?Se(_t(b,e),(t=>et(n)!=t[v]?Ct(e,n,t[S]):n),(()=>Ct(e,n))):ve(et(n))?Ct(e,n):n,Ne=(e,t,n)=>(Se(_t(I,t),(([s,a])=>{wt(s,((t,n)=>{xt(e,n)||(e[n]=t)})),wt(a,(s=>{xt(e,s)||yt(t,n,s)}))})),e),Me=e=>(t&&(wt(f,((t,n)=>{xt(e,n)||(e[n]=t)})),wt(C,(t=>{xt(e,t)||Ct(t)}))),e),Pe=e=>Ut(p,e,((e,t,n)=>{const s=At(),a=Kt();Ut(Bt(p,t,At),n,((e,t,n)=>{Ft(e,t,n),Se(n[S],(e=>Ft(s,t,e)),(()=>Zt(a,t)))})),Ft(I,t,[s,a])}),((e,t)=>{Ft(p,t),Ft(I,t)})),De=e=>Ut(b,e,((e,t,n)=>{Ft(b,t,n),Se(n[S],(e=>Ft(f,t,e)),(()=>Zt(C,t)))}),((e,t)=>{Ft(b,t),Ft(f,t),mt(C,t)})),$e=e=>Dt(e)?Ln():vn(e),Ae=e=>Ut(L,e,((e,t,n)=>_e(t,n)),((e,t)=>Xe(t))),_e=(e,t)=>Ut(Bt(L,e,(()=>(at(e,1),Ft(R,e,an()),Ft(x,e,At()),At()))),t,((t,n,s)=>Fe(e,t,n,s)),((t,n)=>Ke(e,t,n))),Fe=(e,t,n,s,a)=>Ut(Bt(t,n,(()=>(rt(e,n,1),At()))),s,((t,s,a)=>Ue(e,n,t,s,a)),((s,r)=>Ze(e,t,n,s,r,a))),Ue=(e,t,n,s,a)=>{dt(n,s)||ht(e,t,s,1);const r=_t(n,s);a!==r&&(pt(e,t,s,r,a),Ft(n,s,a))},We=(e,t,n,s,a)=>Se(_t(t,n),(t=>Ue(e,n,t,s,a)),(()=>Fe(e,t,n,Ne({[s]:a},e,n)))),Je=e=>Dt(e)?Nn():Sn(e),Qe=e=>Ut(N,e,((e,t,n)=>je(t,n)),((e,t)=>tt(t))),je=(e,t)=>{dt(N,e)||It(e,1);const n=_t(N,e);t!==n&&(bt(e,n,t),Ft(N,e,t))},Ye=e=>_t(L,e)??_e(e,{}),Xe=e=>_e(e,{}),Ke=(e,t,n)=>{const[,s]=_t(R,e);s(n),Fe(e,t,n,{},!0)},Ze=(e,t,n,s,a,r)=>{const o=_t(_t(I,e)?.[0],a);if(!ve(o)&&!r)return Ue(e,n,s,a,o);const i=t=>{pt(e,n,t,_t(s,t)),ht(e,n,t,-1),Ft(s,t)};ve(o)?i(a):Ht(s,i),ut(s)&&(rt(e,n,-1),ut(Ft(t,n))&&(at(e,-1),Ft(L,e),Ft(R,e),Ft(x,e)))},tt=e=>{const t=_t(f,e);if(!ve(t))return je(e,t);bt(e,_t(N,e)),It(e,-1),Ft(N,e)},at=(e,t)=>rs(o,e,t),rt=(e,t,n)=>rs(Bt(c,e,At),t,n)&&Ft(l,e,Bt(l,e,(()=>0))+n),ht=(e,t,n,s)=>{const a=_t(x,e),r=_t(a,n)??0;(0==r&&1==s||1==r&&-1==s)&&rs(Bt(i,e,At),n,s),Ft(a,n,r!=-s?r+s:null),rs(Bt(Bt(d,e,At),t,At),n,s)},pt=(e,t,n,s,a)=>{Bt(Bt(Bt(u,e,At),t,At),n,(()=>[s,0]))[1]=a,r[3]?.(e,t,n,a)},It=(e,t)=>rs(h,e,t),bt=(e,t,n)=>{Bt(g,e,(()=>[t,0]))[1]=n,r[4]?.(e,n)},yt=(e,t,n,s,a)=>(Ge(Bt(Bt(Bt(w,e,At),t,At),n,(()=>[])),s),a),Ct=(e,t,n)=>(Ge(Bt(m,e,(()=>[])),t),n),St=(e,t,n)=>Se(_t(_t(_t(u,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...es(cn(e,t,n))])),Rt=e=>Se(_t(g,e),(([e,t])=>[!0,e,t]),(()=>[!1,...es(hn(e))])),Tt=e=>ut(w)||ut(se[e])?0:wt(e?Yt(w):w,((t,n)=>wt(t,((t,s)=>wt(t,((t,a)=>we(se[e],[n,s,a],t))))))),kt=e=>ut(m)||ut(ae[e])?0:wt(e?jt(m):m,((t,n)=>we(ae[e],[n],t))),Et=(e,t,n,s)=>{if(!ut(e))return we(t,s,(()=>Wt(e))),Ht(e,((e,t)=>we(n,[...s??[],e],1==t))),1},Mt=e=>{const t=gn();t!=n&&we(A[e],void 0,t);const s=ut(X[e]),a=ut(ee[e])&&ut(te[e])&&ut(Y[e])&&ut(K[e])&&ut(Q[e])&&ut(j[e])&&ut(G[e])&&s&&ut(U[e])&&ut(W[e]),r=ut(ne[e])&&ut(Z[e])&&ut(J[e])&&ut(B[e]);if(!a||!r){const t=e?[jt(o),Gt(i),jt(l),Gt(c),Yt(d),Yt(u)]:[o,i,l,c,d,u];if(!a){Et(t[0],U[e],W[e]),wt(t[1],((t,n)=>Et(t,Q[e],j[e],[n]))),wt(t[2],((t,n)=>{0!=t&&we(G[e],[n],nn(n))}));const n=Kt();wt(t[3],((t,a)=>{Et(t,Y[e],K[e],[a])&&!s&&(we(X[e],[a,null]),Zt(n,a))})),s||wt(t[5],((t,s)=>{if(!dt(n,s)){const n=Kt();wt(t,(e=>wt(e,(([t,s],a)=>s!==t?Zt(n,a):mt(e,a))))),wt(n,(t=>we(X[e],[s,t])))}})),wt(t[4],((t,n)=>wt(t,((t,s)=>Et(t,ee[e],te[e],[n,s])))))}if(!r){let n;wt(t[5],((t,s)=>{let a;wt(t,((t,r)=>{let o;wt(t,(([t,i],l)=>{i!==t&&(we(ne[e],[s,r,l],i,t,St),n=a=o=1)})),o&&we(Z[e],[s,r],St)})),a&&we(J[e],[s],St)})),n&&we(B[e],void 0,St)}}},Pt=e=>{const t=fn();t!=s&&we(oe[e],void 0,t);const n=ut(le[e])&&ut(ce[e]),a=ut(de[e])&&ut(ie[e]);if(!n||!a){const t=e?[jt(h),jt(g)]:[h,g];if(n||Et(t[0],le[e],ce[e]),!a){let n;wt(t[1],(([t,s],a)=>{s!==t&&(we(de[e],[a],s,t,Rt),n=1)})),n&&we(ie[e],void 0,Rt)}}},$t=(e,...t)=>(Dn((()=>e(...Be(t,re)))),qn),Ot=(e,t,n,s,a)=>{let r=on(e,t,...n);return ge((()=>{const a=on(e,t,...n);Ve(a,r)||(r=a,s(qn,e,t,...n,r))}),X[a?1:0],[e,t],[en])},Xt=()=>Qt(L),en=()=>Vt(L),tn=e=>Vt(_t(x,re(e))),nn=e=>ot(_t(L,re(e))),sn=e=>Vt(_t(L,re(e))),on=(e,t,n,s=0,a)=>ft(e)?on(e.tableId,e.cellId,e.descending,e.offset,e.limit):Be(ke(He(zt(_t(L,re(e)),((e,n)=>[ve(t)?n:_t(e,re(t)),n])),(([e],[t])=>_n(e,t)*(n?-1:1))),s,ve(a)?a:s+a),(([,e])=>e)),ln=(e,t)=>Vt(_t(_t(L,re(e)),re(t))),cn=(e,t,n)=>_t(_t(_t(L,re(e)),re(t)),re(n)),dn=()=>Wt(N),un=()=>Vt(N),hn=e=>_t(N,re(e)),gn=()=>!ut(L),wn=e=>dt(L,re(e)),In=(e,t)=>dt(_t(x,re(e)),re(t)),bn=(e,t)=>dt(_t(L,re(e)),re(t)),yn=(e,t,n)=>dt(_t(_t(L,re(e)),re(t)),re(n)),fn=()=>!ut(N),Cn=e=>dt(N,re(e)),vn=e=>$t((()=>(e=>qt(e,ye,yt))(e)?Ae(e):0)),Sn=e=>$t((()=>Te(e)?Qe(e):0)),Rn=e=>(Oe((()=>$e(mn(e)))),qn),Tn=t=>$t((()=>{if((e=qt(t,(e=>qt(e,Ie))))&&(Pe(t),!ut(L))){const e=Xt();Ln(),vn(e)}})),xn=e=>$t((()=>{if(t=(e=>qt(e,Ie))(e)){const n=dn();Pn(),Nn(),t=!0,De(e),Sn(n)}})),Ln=()=>$t((()=>Ae({}))),kn=e=>$t((e=>dt(L,e)?Xe(e):0),e),En=(e,t)=>$t(((e,t)=>Se(_t(L,e),(n=>dt(n,t)?Ke(e,n,t):0))),e,t),Nn=()=>$t((()=>Qe({}))),Mn=()=>$t((()=>{Pe({}),e=!1})),Pn=()=>$t((()=>{De({}),t=!1})),Dn=(e,t)=>{if(-1!=a){$n();const n=e();return On(t),n}},$n=()=>(-1!=a&&a++,1==a&&(r[0]?.(),we(ue)),qn),On=e=>(a>0&&(a--,0==a&&(a=1,Tt(1),ut(u)||Mt(1),kt(1),ut(g)||Pt(1),e?.(qn)&&(wt(u,((e,t)=>wt(e,((e,n)=>wt(e,(([e],s)=>nt(qn,t,n,s,e))))))),gt(u),wt(g,(([e],t)=>st(qn,t,e))),gt(g)),we(he[0],void 0),a=-1,Tt(0),ut(u)||Mt(0),kt(0),ut(g)||Pt(0),r[1]?.(),we(he[1],void 0),r[2]?.(),a=0,n=gn(),s=fn(),ze([o,i,l,c,d,u,w,h,g,m],gt))),qn),qn={getContent:()=>[Xt(),dn()],getTables:Xt,getTableIds:en,getTable:e=>Jt(_t(L,re(e))),getTableCellIds:tn,getRowCount:nn,getRowIds:sn,getSortedRowIds:on,getRow:(e,t)=>Wt(_t(_t(L,re(e)),re(t))),getCellIds:ln,getCell:cn,getValues:dn,getValueIds:un,getValue:hn,hasTables:gn,hasTable:wn,hasTableCell:In,hasRow:bn,hasCell:yn,hasValues:fn,hasValue:Cn,getTablesJson:()=>pn(L),getValuesJson:()=>pn(N),getJson:()=>pn([L,N]),getTablesSchemaJson:()=>pn(p),getValuesSchemaJson:()=>pn(b),getSchemaJson:()=>pn([p,b]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>$t((()=>{const t=xe(e)?e():e;be(t)&&(([e,t])=>{(Dt(e)?Ln:vn)(e),(Dt(t)?Nn:Sn)(t)})(t)})),setTables:vn,setTable:(e,t)=>$t((e=>ye(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>$t(((e,t)=>fe(e,t,n)?Fe(e,Ye(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Dn((()=>{let s;return fe(e,s,t)&&(e=re(e),Fe(e,Ye(e),s=((e,t)=>{const[n]=_t(R,e);let s;do{s=n(t)}while(dt(_t(L,e),s));return s})(e,n?1:0),t)),s})),setPartialRow:(e,t,n)=>$t(((e,t)=>{if(fe(e,t,n,1)){const s=Ye(e);Nt(n,((n,a)=>We(e,s,t,a,n)))}}),e,t),setCell:(e,t,n,s)=>$t(((e,t,n)=>Se(Ce(e,t,n,xe(s)?s(cn(e,t,n)):s),(s=>We(e,Ye(e),t,n,s)))),e,t,n),setValues:Sn,setPartialValues:e=>$t((()=>Te(e,1)?Nt(e,((e,t)=>je(t,e))):0)),setValue:(e,t)=>$t((e=>Se(Ee(e,xe(t)?t(hn(e)):t),(t=>je(e,t)))),e),applyChanges:e=>$t((()=>{Nt(e[0],((e,t)=>ve(e)?kn(t):Nt(e,((e,n)=>ve(e)?En(t,n):Nt(e,((e,s)=>nt(qn,t,n,s,e))))))),Nt(e[1],((e,t)=>st(qn,t,e)))})),setTablesJson:Rn,setValuesJson:e=>(Oe((()=>Je(mn(e)))),qn),setJson:e=>$t((()=>Oe((()=>{const[t,n]=mn(e);$e(t),Je(n)}),(()=>Rn(e))))),setTablesSchema:Tn,setValuesSchema:xn,setSchema:(e,t)=>$t((()=>{Tn(e),xn(t)})),delTables:Ln,delTable:kn,delRow:En,delCell:(e,t,n,s)=>$t(((e,t,n)=>Se(_t(L,e),(a=>Se(_t(a,t),(r=>dt(r,n)?Ze(e,a,t,r,n,s):0))))),e,t,n),delValues:Nn,delValue:e=>$t((e=>dt(N,e)?tt(e):0),e),delTablesSchema:Mn,delValuesSchema:Pn,delSchema:()=>$t((()=>{Mn(),Pn()})),transaction:Dn,startTransaction:$n,getTransactionChanges:()=>[Wt(u,((e,t)=>-1===_t(o,t)?void 0:Wt(e,((e,n)=>-1===_t(_t(c,t),n)?void 0:Wt(e,(([,e])=>e),(e=>as(e)))),ut,Dt)),ut,Dt),Wt(g,(([,e])=>e),(e=>as(e))),1],getTransactionLog:()=>[!ut(u),!ut(g),Qt(u,ss,as),Qt(w),Wt(g,ss,as),Wt(m),Wt(o),Jt(c),Qt(d),Wt(h)],finishTransaction:On,forEachTable:e=>wt(L,((t,n)=>e(n,(e=>wt(t,((t,n)=>e(n,(e=>Ht(t,e))))))))),forEachTableCell:(e,t)=>Ht(_t(x,re(e)),t),forEachRow:(e,t)=>wt(_t(L,re(e)),((e,n)=>t(n,(t=>Ht(e,t))))),forEachCell:(e,t,n)=>Ht(_t(_t(L,re(e)),re(t)),n),forEachValue:e=>Ht(N,e),addSortedRowIdsListener:(e,t,n,s,a,r,o)=>ft(e)?Ot(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Ot(e,t,[n,s,a],r,o),addStartTransactionListener:e=>ge(e,ue),addWillFinishTransactionListener:e=>ge(e,he[0]),addDidFinishTransactionListener:e=>ge(e,he[1]),callListener:e=>(pe(e),qn),delListener:e=>(me(e),qn),getListenerStats:()=>({hasTables:ts(A),tables:ts(B),tableIds:ts(U),hasTable:ts(W),table:ts(J),tableCellIds:ts(Q),hasTableCell:ts(j,lt),rowCount:ts(G),rowIds:ts(Y),sortedRowIds:ts(X),hasRow:ts(K,lt),row:ts(Z,lt),cellIds:ts(ee,lt),hasCell:ts(te,ct),cell:ts(ne,ct),invalidCell:ts(se,ct),hasValues:ts(oe),values:ts(ie),valueIds:ts(le),hasValue:ts(ce),value:ts(de),invalidValue:ts(ae),transaction:it(ue)+ts(he)}),isMergeable:()=>!1,createStore:os,addListener:ge,callListeners:we,setInternalListeners:(e,t,n,s,a)=>r=[e,t,n,s,a]};return Nt({[E+P]:[0,A,[],()=>[gn()]],[P]:[0,B],[D]:[0,U],[E+M]:[1,W,[en],e=>[wn(...e)]],[M]:[1,J,[en]],[M+_]:[1,Q,[en]],[E+M+V]:[2,j,[en,tn],e=>[In(...e)]],[O]:[1,G,[en]],[q]:[1,Y,[en]],[E+$]:[2,K,[en,sn],e=>[bn(...e)]],[$]:[2,Z,[en,sn]],[_]:[2,ee,[en,sn]],[E+V]:[3,te,[en,sn,ln],e=>[yn(...e)]],[V]:[3,ne,[en,sn,ln],e=>es(cn(...e))],InvalidCell:[3,se],[E+z]:[0,oe,[],()=>[fn()]],[z]:[0,ie],[F]:[0,le],[E+H]:[1,ce,[un],e=>[Cn(...e)]],[H]:[1,de,[un],e=>es(hn(e[0]))],InvalidValue:[1,ae]},(([e,t,n,s],a)=>{qn[k+a+T]=(...a)=>ge(a[e],t[a[e+1]?1:0],e>0?ke(a,0,e):void 0,n,s)})),vt(qn)},is={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},ls=(e=w)=>[Yn(e),Yn(e)],cs=(e,t)=>{let n=1,s=ls(),a=0;const r=At(),o=Kt(),[i,l]=Vn(e,t),c=os(),d=e=>{const t=n;return n=0,e(),n=t,b},u=(e,t=0)=>{const n={},a={},[[r,o=w,i=0],c]=e,[d,u]=s,[g,m,p]=d;let I=t?i:p,b=o;kt(r,(([e,s=w,a=0],r)=>{const o=Bt(g,r,Yn),[i,l,c]=o;let d=t?a:c,u=s;kt(e,((e,s)=>{const[a,o,l]=h(e,Bt(i,s,Yn),Ot(Ot(n,r,St),s,St),t);d^=t?0:Cn(o?Sn(s,o):0,Sn(s,l)),u=Qn(u,a)})),d^=t?0:Jn(l,s),jn(o,s,d),I^=t?0:Cn(c?Sn(r,c):0,Sn(r,o[2])),b=Qn(b,u)})),I^=t?0:Jn(m,o),jn(d,o,I);const[y]=h(c,u,a,t);return l(Qn(b,y)),[n,a,1]},h=(e,t,n,s)=>{const[a,r=w,o=0]=e,[i,l,c]=t;let d=r,u=s?o:c;return kt(a,(([e,t=w,a=0],r)=>{const o=Bt(i,r,(()=>[void 0,w,0])),[,l,c]=o;(!l||t>l)&&(jn(o,t,s?a:Rn(e,t)),o[0]=e,n[r]=e,u^=s?0:Cn(Sn(r,c),Sn(r,o[2])),d=Qn(d,t))})),u^=s?0:Jn(l,r),jn(t,r,u),[d,c,t[2]]},g=Me,m=Me,p=()=>[Xn(s[0],(e=>Xn(e,(e=>Xn(e))))),Xn(s[1])],I=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:p,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>Wt(s[0][0],Wn),getMergeableTableDiff:e=>{const t=Gn(s[0][1]),n={};return Ht(s[0][0],((s,[a,r,o])=>xt(e,s)?o!=e[s]?n[s]=o:0:t[0][s]=Kn([a,r],(e=>Kn(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return kt(e,((e,n)=>Se(_t(s[0][0],n),(([s,,a])=>a!=e?Ht(s,((e,[,,s])=>Ot(t,n,St)[e]=s)):0)))),t},getMergeableRowDiff:e=>{const t=Gn(s[0][1]),n={};return kt(e,((e,a)=>Ht(_t(s[0][0],a)?.[0],((s,[r,o,i])=>xt(e,s)?i!==e[s]?Ot(n,a,St)[s]=i:0:Ot(t[0],a,Gn)[0][s]=Kn([r,o]))))),[t,n]},getMergeableCellHashes:e=>{const t={};return kt(e,((e,n)=>Se(_t(s[0][0],n),(([s])=>kt(e,((e,a)=>Se(_t(s,a),(([s,,r])=>r!==e?Ht(s,((e,[,,s])=>Ot(Ot(t,n,St),a,St)[e]=s)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=s,a={};return kt(e,((e,n)=>kt(e,((e,s)=>Se(_t(t,n),(([t,r])=>Se(_t(t,s),(([t,o])=>Ht(t,((t,[i,l,c])=>c!==e[t]?Ot(Ot(a,n,(()=>Gn(r)))[0],s,(()=>Gn(o)))[0][t]=[i,l]:0)))))))))),Bn(a,n)},getMergeableValueHashes:()=>Wt(s[1][0],Wn),getMergeableValueDiff:e=>{const[,[t,n]]=s,a=Wt(t,zn,(([,,t],n)=>t==e?.[n]));return Bn(a,n)},setMergeableContent:e=>d((()=>(e=>Le(e)&&2==Ee(e)&&Zn(e[0],(e=>qt(e,(e=>Zn(e,(e=>qt(e,(e=>Zn(e,(e=>qt(e,(e=>Zn(e,tt)),void 0,1)))),void 0,1)))),void 0,1)))&&Zn(e[1],(e=>qt(e,(e=>Zn(e,tt)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),s=ls(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:(e=!1)=>{const[[t,n,a],[i,l,c]]=s,d=e?Un:Bn,u={};wt(r,((e,n)=>Se(_t(t,n),(([t,s,a])=>{const r={};wt(e,((e,n)=>Se(_t(t,n),(([t,s,a])=>{const o={};wt(e,(e=>{Se(_t(t,e),(([t,n,s])=>o[e]=d(t,n,s)))})),r[n]=d(o,s,a)})))),u[n]=d(r,s,a)}))));const h={};return wt(o,(e=>Se(_t(i,e),(([t,n,s])=>h[e]=d(t,n,s))))),[d(u,n,a),d(h,l,c),1]},applyMergeableChanges:I,merge:e=>{const t=p(),n=e.getMergeableContent();return e.applyMergeableChanges(t),I(n)}};return c.setInternalListeners(g,m,(()=>{gt(r),gt(o)}),((e,t,s,o)=>{Zt(Bt(Bt(r,e,At),t,Kt),s),n&&u([[{[e]:[{[t]:[{[s]:[o,a?w:i()]}]}]}],[{}],1])}),((e,t)=>{Zt(o,e),n&&u([[{}],[{[e]:[t,a?w:i()]}],1])})),Nt(c,((e,t)=>b[t]=oe(t,"set")||oe(t,"del")||oe(t,"apply")||ie(t,B)||t=="call"+T?(...t)=>(e(...t),b):oe(t,k)&&ie(t,T)?(...n)=>{const s=is[ke(t,3,-8)]??0,a=n[s];return n[s]=(e,...t)=>a(b,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),vt(b)},ds=At([["avg",[(e,t)=>Ue(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>be(...e),(e,t)=>be(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:be(t,e)]],["min",[e=>ye(...e),(e,t)=>ye(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:ye(t,e)]],["sum",[e=>Ue(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),us=(e,t,n,s,a,r=!1)=>{if(ut(n))return;const[o,i,l,c]=a;return r||=ve(e),wt(s,(([n,s])=>{r||(e=ve(n)?i?.(e,s,t++):ve(s)?l?.(e,n,t--):c?.(e,s,n,t),r||=ve(e))})),r?o(ht(n),ot(n)):e},hs=nn((e=>{const t=At(),[n,s,a]=rn((()=>I)),[r,o,i,l,c,d,u,,h,g,m,p]=en(e,Ne,(e=>isNaN(e)||ve(e)||!0===e||!1===e||e===w?void 0:1*e),n,s),I={setMetricDefinition:(e,n,a,r,o,i,l)=>{const c=xe(a)?[a,o,i,l]:_t(ds,a)??_t(ds,"sum");return h(e,n,((n,a,r,o,i,l)=>{const h=d(e),g=ot(o);l||=ve(h),n();let w=us(h,g,o,a,c,l);Ce(w)||(w=void 0),w!=h&&(u(e,w),s(t,[e],w,h))}),tn(r,1)),I},delMetricDefinition:e=>(g(e),I),getStore:r,getMetricIds:o,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:d,addMetricIdsListener:m,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(a(e),I),destroy:p,getListenerStats:()=>({metric:it(t)})};return vt(I)})),gs={Idle:0,Loading:1,Saving:2},ws={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ms=At(),ps=At(),Is=(e,t,n,s,a,r,o,i={},l=0,c=[])=>{let d,u,h,g=0,w=0,m=0;Bt(ms,c,(()=>0)),Bt(ps,c,(()=>[]));const p=At(),[I,b,y,f,C]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!Dt(e)||!Dt(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Dt(e)||!Dt(t),t.setContent]:$e("Store type not supported by this Persister"))(o,e,l),[v,S,R]=rn((()=>O)),T=e=>{e!=g&&(g=e,S(p,void 0,g))},x=t=>{(I&&Le(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=g&&(T(1),w++,await $((async()=>{await Oe((async()=>{const n=await t();Le(n)?x(n):e?C(e):$e("Content is not an array: "+n)}),(()=>{e&&C(e)})),T(0)}))),O),k=async e=>(E(),await L(e),await Oe((async()=>u=await s((async(e,t)=>{t||e?2!=g&&(T(1),w++,x(t??e),T(0)):await L()}))),r),O),E=async()=>(u&&(await Oe((()=>a(u)),r),u=void 0),O),N=async e=>(1!=g&&(T(2),m++,await $((async()=>{await Oe((()=>n(b,e)),r),T(0)}))),O),M=async()=>(P(),await N(),h=e.addDidFinishTransactionListener((()=>{const e=y();f(e)&&N(e)})),O),P=async()=>(h&&(e.delListener(h),h=void 0),O),D=async(e=!1)=>{const[t,n]=e?[P,E]:[E,P];return await t(),await n(),O},$=async(...e)=>(Ge(_t(ps,c),...e),await(async()=>{if(!_t(ms,c)){for(Ft(ms,c,1);!ve(d=Ke(_t(ps,c)));)await Oe(d,r);Ft(ms,c,0)}})(),O),O={load:L,startAutoLoad:k,stopAutoLoad:E,isAutoLoading:()=>!ve(u),save:N,startAutoSave:M,stopAutoSave:P,isAutoSaving:()=>!ve(h),startAutoPersisting:async(e,t=!1)=>{const[n,s]=t?[M,k]:[k,M];return await n(e),await s(e),O},stopAutoPersisting:D,getStatus:()=>g,addStatusListener:e=>v(e,p),delListener:t=>(R(t),e),schedule:$,getStore:()=>e,destroy:()=>(je(_t(ps,c)),D()),getStats:()=>({loads:w,saves:m}),...i};return vt(O)},bs="_",ys="_id",fs="SELECT",Cs="WHERE",vs="TABLE",Ss="INSERT",Rs="DELETE",Ts="UPDATE",xs="ALTER "+vs,Ls="FROM",ks=Rs+" "+Ls,Es=fs+"*"+Ls,Ns="pragma_",Ms="data_version",Ps="schema_version",Ds="pragma_table_",$s="CREATE ",Os=$s+vs,qs="OR REPLACE ",As="FUNCTION",Vs="$tableName",_s=(e,t)=>t?async(n,s)=>(t(n,s),await e(n,s)):e,Hs=e=>Fe(Be(ce(e,p),(e=>`"${de(e,/"/g,'""')}"`)),p),zs=(...e)=>Hs(Fe(e,"_")),Fs=(...e)=>Fe(Be(e,Hs),m),Bs=(e,t=[1])=>Fe(Be(e,(()=>"$"+t[0]++)),m),Us=(e,t=C)=>Cs+`(${de(t,Vs,Hs(e))})`,Ws="ColumnName",Js="store",Qs="json",js=Js+"TableName",Gs=Js+"Id"+Ws,Ys=Js+Ws,Xs="autoLoadIntervalSeconds",Ks="rowId"+Ws,Zs="tableId",ea="tableName",ta="deleteEmptyColumns",na="deleteEmptyTable",sa="condition",aa={mode:Qs,[Xs]:1},ra={load:0,save:0,[ea]:g+"_values"},oa=(e,t,n,s,a)=>{const r=At();return Nt(e,((e,o)=>{const i=ke(Mt(Rt(t,Te(e)?{[n]:e}:e)),0,Pt(t));ve(i[0])||s(o,i[0])||(a(o,i[0]),Ft(r,o,i))})),r},ia=e=>{const t=(e=>Rt(aa,Te(e)?{[js]:e}:e??{}))(e),n=t[Xs];if(t.mode==Qs){const e=t[js]??g;return[1,n,[e,t[Gs]??ys,t[Ys]??Js],Kt(e)]}const{tables:{load:s={},save:a={}}={},values:r={}}=t,o=ke(Mt(Rt(ra,r)),0,Pt(ra)),i=o[2],l=Kt(i),c=Kt(i),d=oa(s,{[Zs]:null,[Ks]:ys,[sa]:C},Zs,(e=>dt(c,e)),(e=>Zt(l,e))),u=oa(a,{[ea]:null,[Ks]:ys,[ta]:0,[na]:0,[sa]:null},ea,((e,t)=>dt(c,t)),((e,t)=>Zt(l,t)));return Ht(u,((e,t)=>t[4]??=_t(d,t[0])?.[2]??C)),[0,n,[d,u,o],l]},la=(e,t,n,s,a,r=ca,o,i)=>{const l=At();return[async()=>{gt(l),Be(await n(e,t),(({tn:e,cn:t})=>Zt(Bt(l,e,Kt),t)))},async(t,n,s)=>((e,t)=>dt(_t(l,e),t))(t,n)?St(Qe(Be(await e(Es+Hs(t)+Us(t,s)),(e=>[e[n],i?Nt(Lt(e,n),i):Lt(e,n)])),(([e,t])=>!ve(e)&&!Dt(t)))):{},async(t,n,s,i,c,d=!1,u=C)=>{const h=Kt();Nt(s??{},(e=>Be(Ct(e??{}),(e=>Zt(h,e)))));const g=ht(h);if(!d&&c&&u==C&&We(g)&&dt(l,t))return await e("DROP "+vs+Hs(t)),void Ft(l,t);const w=_t(l,t),p=Kt(ht(w));if(We(g)||(dt(l,t)?await De(Be([n,...g],(async(s,r)=>{mt(p,s)||(await e(xs+Hs(t)+"ADD"+Hs(s)+a),0==r&&await e("CREATE UNIQUE INDEX pk ON "+Hs(t)+`(${Hs(n)})`),Zt(w,s))}))):(await e(Os+Hs(t)+`(${Hs(n)}${a} PRIMARY KEY${Fe(Be(g,(e=>m+Hs(e)+a)))});`),Ft(l,t,Kt([n,...g])))),await De([...!d&&i?Be(ht(p),(async s=>{s!=n&&(await e(xs+Hs(t)+"DROP"+Hs(s)),mt(w,s))})):[]]),d)ve(s)?await e(ks+Hs(t)+Us(t,u)):await De(Et(s,(async(s,a)=>{ve(s)?await e(ks+Hs(t)+Us(t,u)+`AND(${Hs(n)}=$1)`,[a]):We(g)||await r(e,t,n,Ct(s),{[a]:o?Be(Mt(s),o):Mt(s)},w)})));else if(We(g))dt(l,t)&&await e(ks+Hs(t)+Us(t,u));else{const a=Qe(ht(_t(l,t)),(e=>e!=n)),i={},c=[];Nt(s??{},((e,t)=>{i[t]=Be(a,(t=>o?o(e?.[t]):e?.[t])),Ge(c,t)})),await r(e,t,n,a,i),await e(ks+Hs(t)+Us(t,u)+`AND${Hs(n)}NOT IN(${Bs(c)})`,c)}},async t=>{let n;return await e("BEGIN"),await Oe((async()=>n=await t()),s),await e("END"),n}]},ca=async(e,t,n,s,a)=>{const r=[1];await e(Ss+" INTO"+Hs(t)+"("+Fs(n,...s)+")VALUES"+Fe(Et(a,(e=>"($"+r[0]+++","+Bs(e,r)+")")),m)+"ON CONFLICT("+Hs(n)+`)DO ${Ts} SET`+Fe(Be(s,(e=>Hs(e)+"=excluded."+Hs(e))),m),Et(a,((e,t)=>[t,...Be(e,(e=>e??null))])).flat())},da=(e,t,n,s,a,r,o,[i,l,c],d,u,h,g,w,m)=>{const[p,I,b,y]=la(t,d,u,a,w,m),f=Is(e,(()=>y((async()=>(await p(),bn((await I(i,l))[bs]?.[c]??"null"))))),(e=>y((async()=>{await p(),await b(i,l,{[bs]:{[c]:In(e()??null)}},!0,!0)}))),n,s,a,o,{[g]:()=>h,destroy:async()=>(await f.stopAutoPersisting(),r(),f)},0,h);return f},ua=(e,t,n,s,a,r,o,[i,l,[c,d,u]],h,g,w,m,p,I,b,y)=>{const[f,C,v,S]=la(t,h,g,a,p,I,b,y),R=(e,t)=>De(zt(l,(async([n,s,a,r,o],i)=>{t&&!xt(e,i)||await v(n,s,e[i],a,r,t,o)}))),T=async(e,t)=>d?await v(u,ys,{[bs]:e},!0,!0,t):null,x=Is(e,(()=>S((async()=>{await f();const e=await(async()=>St(Qe(await De(zt(i,(async([e,t,n],s)=>[e,await C(s,t,n)]))),(e=>!Dt(e[1])))))(),t=await(async()=>c?(await C(u,ys))[bs]:{})();return Dt(e)&&ve(t)?void 0:[e,t]}))),((e,t)=>S((async()=>{if(await f(),ve(t)){const[t,n]=e();await R(t),await T(n)}else await R(t[0],!0),await T(t[1],!0)}))),n,s,a,o,{[m]:()=>w,destroy:async()=>(await x.stopAutoPersisting(),r(),x)},0,w);return x},ha=/^([cd]:)(.+)/,ga=(e,t,n,s,a,r,o,i,l,c,d="getDb")=>{const u=_s(n,r),[h,,m,p]=ia(t),I=w+fn(In(m)),b=g+"_"+I,y=async(e,t,n="",s="")=>{const a=zs(g,e,I);return await u($s+qs+As+a+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),a},f=async(e,t,n,s)=>(await u($s+e+"TRIGGER"+t+n+"EXECUTE "+As+s+"()"),t),v=e=>`PERFORM pg_notify('${b}',${e});`,S=(e,t)=>h?C:2===t?S(e,0)+" OR "+S(e,1):de(_t(m[0],e)?.[2]??C,Vs,0==t?"NEW":"OLD"),R=(e,t)=>De(Be([Ss,Rs,Ts],((n,s)=>f(qs,zs(g,"d",I,e,n),`AFTER ${n} ON${Hs(e)}FOR EACH ROW WHEN(${S(e,s)})`,t))));return(h?da:ua)(e,u,(async e=>{const t=await y("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Cs} command_tag='${Os}' LOOP ${v("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await f("EVENT ",zs(g,"c",I),`ON ddl_command_end WHEN TAG IN('${Os}')`,t);const n=await y("d",v("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await De(Be(ht(p),(async e=>(await u(Os+` IF NOT EXISTS${Hs(e)}("_id"text PRIMARY KEY)`),await R(e,n))))),[await s(b,(t=>Se(le(t,ha),(async([,t,s])=>{dt(p,s)&&("c:"==t&&await R(s,n),e())})))),[t,n]]}),(async([e,t])=>{a(e),await u(`DROP FUNCTION IF EXISTS${Fe(t,",")}CASCADE`)}),o,i,l,m,ht(p),(async(e,t)=>await e(fs+` table_name tn,column_name cn FROM information_schema.columns ${Cs} table_schema='public'AND table_name IN(${Bs(t)})`,t)),c,d,"text",void 0,(e=>wn(e)),(e=>mn(e)))},wa=(e,t,n,s,a,r,o,i,l,c,d="getDb",u)=>{let h,g,m;const p=_s(n,r),[I,b,y,f]=ia(t);return(I?da:ua)(e,p,(e=>{let t;const n=()=>t=we((()=>Oe((async()=>{const[{d:t,s:n,c:s}]=await p(fs+` ${Ms} d,${Ps} s,TOTAL_CHANGES() c FROM ${Ns}${Ms} JOIN ${Ns}${Ps}`);t==h&&n==g&&s==m||(null!=h&&e(),h=t,g=n,m=s)}))),b),r=()=>{h=g=m=null,me(t)},o=s((t=>{f.has(t)&&(r(),e(),n())}));return n(),()=>{r(),a(o)}}),(e=>e()),o,i,l,y,ht(f),(async(e,t)=>await e(fs+` t.name tn,c.name cn FROM ${Ds}list()t,${Ds}info(t.name)c ${Cs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Bs(t)})ORDER BY t.name,c.name`,t)),c,d,w,u,(e=>!0===e?1:!1===e?0:e),void 0)},ma=(e,t)=>[e[t].t,e[t].v],pa=(e,t,n,s)=>{const a=ve(t)?e:Ot(e,t,(()=>({})));let r;return Nt(n,((e,t)=>{s(a,t,e)&&(r=1)})),Nt(a,((e,t)=>{xt(n,t)||(Lt(a,t),r=1)})),!ve(t)&&Dt(a)&&Lt(e,t),r},Ia=(e,t,n=g,s)=>(t.change((e=>Ot(e,n,St))),Is(e,(async()=>{const e=await t.doc();return 2==Pt(e?.[n])?ma(e,n):void 0}),(async(e,s)=>t.change((t=>((e,t,n,s)=>{((e,t)=>{Dt(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[a,r]=ma(e,t),o=()=>{i=1};let i=1;if(Se(s,(([e,t])=>{i=0,Nt(e,((e,t)=>i?0:ve(e)?Lt(a,t):Se(a[t],(t=>Nt(e,((e,n)=>i?0:ve(e)?Lt(t,n):Se(Tt(t,n),(t=>Nt(e,((e,n)=>ve(e)?Lt(t,n):t[n]=e))),o)))),o))),Nt(t,((e,t)=>i?0:ve(e)?Lt(r,t):r[t]=e))})),i){const[e,t]=n();pa(a,void 0,e,((e,t,n)=>pa(a,t,n,((e,t,n)=>pa(e,t,n,((e,t,n)=>{if(Tt(e,t)!==n)return e[t]=n,1})))))),pa(r,void 0,t,((e,t,n)=>{Tt(r,t)!==n&&(r[t]=n)}))}})(t,n,e,s)))),(e=>{const s=({doc:t})=>e(ma(t,n));return t.on("change",s),s}),(e=>{t.removeListener("change",e)}),s,1,{getDocHandle:()=>t})),ba="storage",ya=(e,t,n,s)=>Is(e,(async()=>bn(n.getItem(t))),(async e=>n.setItem(t,In(e()))),(e=>{const s=s=>{s.storageArea===n&&s.key===t&&Oe((()=>e(mn(s.newValue))),e)};return ge.addEventListener(ba,s),s}),(e=>ge.removeEventListener(ba,e)),s,3,{getStorageName:()=>t}),fa=(e,t,n)=>ya(e,t,localStorage,n),Ca=(e,t,n)=>ya(e,t,sessionStorage,n),va=(e,t,n,s,a)=>wa(e,n,(async(e,n=[])=>await t.execO(e,n)),(e=>t.onUpdate(((t,n,s)=>e(s)))),(e=>e()),s,a,Me,1,t),Sa=()=>Un({},w,0),Ra=(e,t,n=w,s)=>{const a=(e,...t)=>n+e+ke(In(t),1,-1);return Is(e,(async()=>{const e=Sa(),s=Sa();return(await t.list({prefix:n})).forEach((async([t,a,r],o)=>Se((e=>{if(oe(e,n)){const t=ke(e,n.length,1);return t==se||t==ae?[t,...JSON.parse("["+ke(e,n.length+1)+"]")]:void 0}})(o),(([n,...o])=>n==se?Se(o[0],(n=>{const s=Ot(e[0],n,Sa);Se(o[1],(e=>{const n=Ot(s[0],e,Sa);Se(o[2],(e=>n[0][e]=[t,a,r]),(()=>jn(n,a,r)))}),(()=>jn(s,a,r)))}),(()=>jn(e,a,r))):n==ae?Se(o[0],(e=>s[0][e]=[t,a,r]),(()=>jn(s,a,r))):0)))),[e,s]}),(async(e,[[n,s,r],[o,i,l]]=e())=>{const c=At();Ft(c,a(se),[0,s,r]),kt(n,(([e,t,n],s)=>{Ft(c,a(se,s),[0,t,n]),kt(e,(([e,t,n],r)=>{Ft(c,a(se,s,r),[0,t,n]),kt(e,((e,t)=>Ft(c,a(se,s,r,t),e)))}))})),Ft(c,a(ae),[0,i,l]),kt(o,((e,t)=>Ft(c,a(ae,t),e))),await t.put(Wt(c))}),Me,Me,s,2,{getStorage:()=>t})},Ta=(e,t,n,s,a)=>wa(e,n,(async(e,n=[])=>await t.db.raw({sql:e,args:n})),(e=>t.notifier.subscribeToDataChanges((n=>ze(t.notifier.alias(n),(({tablename:t})=>e(t)))))),(e=>e()),s,a,Me,1,t,"getElectricClient"),xa=(t,n,s,a,r)=>wa(t,s,(async(e,t=[])=>await n.getAllAsync(e,t)),(t=>e((({tableName:e})=>t(e)))),(e=>e.remove()),a,r,Me,3,n),La=(e,o,i)=>Is(e,(async()=>bn(await r(o,R))),(async e=>await a(o,In(e()),R)),(e=>(t(o)||n(o,w,R),s(o,(()=>e())))),(e=>e?.close()),i,3,{getFilePath:()=>o}),ka=[se,ae],Ea={keyPath:"k"},Na=async(e,t)=>{const n=Et(t,((t,n)=>Ma(e,"put",{k:n,v:t})));Be(await Ma(e,"getAllKeys"),(s=>xt(t,s)?0:Ge(n,Ma(e,"delete",s)))),await De(n)},Ma=async(e,t,n)=>Pe(((s,a)=>{const r=e[t](n);r.onsuccess=()=>s(r.result),r.onerror=()=>a(`objectStore.${t} error`)})),Pa=(e,t,n=1,s)=>{const a=async(e,n=[],s=0)=>Pe(((a,r)=>{const o=(ge?ge.indexedDB:indexedDB).open(t,s?2:void 0);o.onupgradeneeded=()=>s&&Be(ka,(e=>Oe((()=>o.result.createObjectStore(e,Ea))))),o.onsuccess=()=>Oe((async()=>{const t=o.result.transaction(ka,"readwrite"),s=await De(Be(ka,((s,a)=>e(t.objectStore(s),n[a]))));o.result.close(),a(s)}),(e=>{o.result.close(),r(e)})),o.onerror=()=>r("indexedDB.open error")}));return Is(e,(async()=>await a((async e=>St(Be(await Ma(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(e=>a(((e,t)=>Na(e,t)),e(),1)),(e=>we(e,n)),(e=>me(e)),s,1,{getDbName:()=>t})},Da=(e,t,n,s,a)=>wa(e,n,(async(e,n=[])=>(await t.execute({sql:e,args:n})).rows),(()=>Me),(e=>e()),s,a,Me,1,t,"getClient"),$a="s",Oa="/store",qa=(e,t,n)=>e+t+(Te(n)?n:pn(n)),Aa=(e,t,n)=>{const s=Ee(e);return oe(t,e)?[t[s],(n?mn:String)(ke(t,s+1))]:void 0},Va=(e,t,n,s)=>{const{host:a,room:r}=t.partySocketOptions,{storeProtocol:o="https",storePath:i=Oa,messagePrefix:l=w}={...Te(n)?{storeProtocol:n}:n},c=o+"://"+a+"/parties/"+t.name+"/"+r+i,d=async e=>await(await fetch(c,{...e?{method:"PUT",body:pn(e)}:{},mode:"cors",cache:"no-store"})).json();return Is(e,d,(async(e,n)=>{n?t.send(qa(l,$a,n)):await d(e())}),(e=>{const n=t=>Se(Aa(l,t.data,1),(([t,n])=>{t==$a&&e(void 0,n)}));return t.addEventListener(te,n),n}),(e=>{t.removeEventListener(te,e)}),s,1,{getConnection:()=>t})},_a="hasStore",Ha=St(Be(["Origin","Methods","Headers"],(e=>["Access-Control-Allow-"+e,"*"]))),za=async(e,t=w)=>!!await e.get(t+_a),Fa=async(e,t=w)=>{const n={},s={};return Ht(await e.list(),((e,a)=>Se(Aa(t,e),(([e,t])=>{if(e==se){const[e,s,r]=mn("["+t+"]");Ot(Ot(n,e,St),s,St)[r]=a}else e==ae&&(s[t]=a)})))),[n,s]},Ba=async(e,t,n)=>e.party.broadcast(qa(e.config.messagePrefix??w,$a,t),n),Ua=async(e,t,n,s)=>{const a=e.party.storage,r=e.config.storagePrefix??w,o={[r+_a]:1},i=[],l=[];await De(Et(t[0],(async(t,c)=>ve(t)?!n&&await e.canDelTable(c,s)&&Xe(l,Wa(r,se,c)):await e.canSetTable(c,n,s)&&await De(Et(t,(async(t,d)=>ve(t)?!n&&await e.canDelRow(c,d,s)&&Ge(l,Wa(r,se,c,d)):await e.canSetRow(c,d,n,s)&&await De(Et(t,(async(t,l)=>{const u=[c,d,l],h=Wa(r,se,...u);ve(t)?!n&&await e.canDelCell(...u,s)&&Ge(i,h):await e.canSetCell(...u,t,n,s,await a.get(h))&&(o[h]=t)}))))))))),await De(Et(t[1],(async(t,l)=>{const c=r+ae+l;ve(t)?!n&&await e.canDelValue(l,s)&&Ge(i,c):await e.canSetValue(l,t,n,s,await a.get(c))&&(o[c]=t)}))),We(l)||Ht(await a.list(),(e=>Ae(l,(t=>!oe(e,t)||Ge(i,e)&&0)))),await a.delete(i),await a.put(o)},Wa=(e,t,...n)=>qa(e,t,ke(pn(n),1,-1)),Ja=async(e,t,n=null)=>new Response(n,{status:t,headers:e.config.responseHeaders});class Qa{constructor(e){this.party=e,this.config.storePath??=Oa,this.config.messagePrefix??=w,this.config.storagePrefix??=w,this.config.responseHeaders??=Ha}config={};async onRequest(e){const{party:{storage:t},config:{storePath:n=Oa,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(n)){const n=await za(t,s),a=await e.text();return"PUT"==e.method?n?Ja(this,205):(await Ua(this,mn(a),!0,e),Ja(this,201)):Ja(this,200,n?pn(await Fa(t,s)):w)}return Ja(this,404)}async onMessage(e,t){const{config:{messagePrefix:n=w,storagePrefix:s}}=this;await Se(Aa(n,e,1),(async([e,n])=>{e==$a&&await za(this.party.storage,s)&&(await Ua(this,n,!1,t),Ba(this,n,[t.id]))}))}async canSetTable(e,t,n){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,n,s){return!0}async canDelRow(e,t,n){return!0}async canSetCell(e,t,n,s,a,r,o){return!0}async canDelCell(e,t,n,s){return!0}async canSetValue(e,t,n,s,a){return!0}async canDelValue(e,t){return!0}}const ja=async(e,t,n,s,a)=>ga(e,n,(async(e,n=[])=>(await t.query(e,n)).rows),((e,n)=>t.listen(e,n)),(e=>Oe(e,a)),s,a,Me,3,t,"getPglite"),Ga=async(e,t,n,s,a)=>{const r=await(t.reserve?.());return ga(e,n,r?.unsafe,(async(e,n)=>t.listen(e,n)),(e=>Oe(e.unlisten,a)),s,a,(()=>r?.release?.()),3,t,"getSql")},Ya=(e,t,n,s,a)=>{let r;return wa(e,n,(async(e,n=[])=>t.execute(e,n).then((e=>e.rows?._array??[]))),(e=>{const n=new AbortController,s=t.onChange({rawTableNames:!0,signal:n.signal});return(async()=>{for await(const e of s)r&&Be(e.changedTables,r)})(),r=e,n}),(e=>{r=void 0,e.abort()}),s,a,Me,1,t,"getPowerSync",Xa)},Xa=async(e,t,n,s,a,r)=>{const o=[1],i=Kt(s),l=r?Qe([...r],(e=>e!=n&&!dt(i,e))):[];if(!We(l)){const s=Ct(a),r=St(Be(await e(fs+Fs(n,...l)+Ls+Hs(t)+Cs+Hs(n)+"IN("+Bs(s)+")",s),(e=>[e[n],e])));ze(s,(e=>Ge(a[e],...Be(l,(t=>r?.[e]?.[t]??null)))))}await e(Ss+" "+qs+"INTO"+Hs(t)+"("+Fs(n,...s,...l)+")VALUES"+Fe(Et(a,(e=>"($"+o[0]+++","+Bs(e,o)+")")),m),Et(a,((e,t)=>[t,...Be(e,(e=>e??null))])).flat())},Ka=e=>e.headers.get("ETag"),Za=(e,t,n,s=5,a)=>{let r;return Is(e,(async()=>{const e=await fetch(t);return r=Ka(e),mn(await e.text())}),(async e=>await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:pn(e())})),(e=>we((async()=>{const n=await fetch(t,{method:"HEAD"}),s=Ka(n);ve(r)||ve(s)||s==r||(r=s,e())}),s)),(e=>me(e)),a,1,{getUrls:()=>[t,n]})},er=(e,t,n,s,a)=>wa(e,n,(async(e,n=[])=>t.query(e).all(...n)),(()=>Me),(e=>e()),s,a,Me,3,t),tr=(e,t,n,s,a,r)=>wa(e,s,(async(e,t=[])=>n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((e=>({...e})))),(e=>t.capi.sqlite3_update_hook(n,((t,n,s,a)=>e(a)),0)),(()=>t.capi.sqlite3_update_hook(n,Me,0)),a,r,Me,3,n),nr="change",sr=(e,t,n,s,a)=>wa(e,n,(async(e,n=[])=>await Pe(((s,a)=>t.all(e,n,((e,t)=>e?a(e):s(t)))))),(e=>{const n=(t,n,s)=>e(s);return t.on(nr,n),n}),(e=>t.off(nr,e)),s,a,Me,3,t),ar="delete",rr=e=>[e.get(se),e.get(ae)],or=(e,t,n,s)=>{const a=ve(t)?e:e.get(t)??e.set(t,new o);let r;return Nt(n,((e,t)=>{s(a,t,e)&&(r=1)})),a.forEach(((e,t)=>{xt(n,t)||(a.delete(t),r=1)})),ve(t)||a.size||e.delete(t),r},ir=(e,t,n=g,s)=>{const a=t.getMap(n);return Is(e,(async()=>a.size?[a.get(se).toJSON(),a.get(ae).toJSON()]:void 0),(async(e,n)=>t.transact((()=>((e,t,n)=>{e.size||(e.set(se,new o),e.set(ae,new o));const[s,a]=rr(e),r=()=>{i=1};let i=1;if(Se(n,(([e,t])=>{i=0,Nt(e,((e,t)=>i?0:ve(e)?s.delete(t):Se(s.get(t),(t=>Nt(e,((e,n)=>i?0:ve(e)?t.delete(n):Se(t.get(n),(t=>Nt(e,((e,n)=>ve(e)?t.delete(n):t.set(n,e)))),r)))),r))),Nt(t,((e,t)=>i?0:ve(e)?a.delete(t):a.set(t,e)))})),i){const[e,n]=t();or(s,void 0,e,((e,t,n)=>or(s,t,n,((e,t,n)=>or(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),or(a,void 0,n,((e,t,n)=>{a.get(t)!==n&&a.set(t,n)}))}})(a,e,n)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==Ee(t)&&We(t[0].path))return[e.get(se).toJSON(),e.get(ae).toJSON(),1];const[n,s]=rr(e),a={},r={};return ze(t,(({path:e,changes:{keys:t}})=>Ke(e)==se?Se(Ke(e),(s=>{const r=Ot(a,s,St),o=n.get(s);Se(Ke(e),(e=>{const n=Ot(r,e,St),s=o.get(e);Ht(t,((e,{action:t})=>n[e]=t==ar?null:s.get(e)))}),(()=>Ht(t,((e,{action:t})=>r[e]=t==ar?null:o.get(e)?.toJSON()))))}),(()=>Ht(t,((e,{action:t})=>a[e]=t==ar?null:n.get(e)?.toJSON())))):Ht(t,((e,{action:t})=>r[e]=t==ar?null:s.get(e))))),[a,r,1]})(a,t));return a.observeDeep(t),t}),(e=>{a.unobserveDeep(e)}),s,1,{getYDoc:()=>t})},lr=nn((e=>{const t=e.createStore,n=t(),s=t(),a=At(),{addListener:r,callListeners:o,delListener:i}=s,[l,c,d,u,h,,,g,,m,p,I,b,y]=en(e,(()=>!0),Ne,r,o),f=(e,t,...n)=>ze(n,(n=>Zt(Bt(Bt(a,t,At),e,Kt),n))),C=e=>{Se(_t(a,e),(e=>{Ht(e,((e,t)=>wt(t,(t=>e.delListener(t))))),gt(e)})),ze([s,n],(t=>t.delTable(e)))},v=(e,t,n)=>f(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),S={setQueryDefinition:(t,a,r)=>{g(t,a),C(t);const o=[],i=[[null,[a,null,null,[],At()]]],l=[],c=[],d=[];r({select:(e,t)=>{const n=xe(e)?[Ee(o)+w,e]:[ve(t)?e:t,n=>n(e,t)];return Ge(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=ve(n)||xe(t)?null:t,a=ve(s)?t:n,r=[e,[e,s,xe(a)?a:e=>e(a),[],At()]];return Ge(i,r),{as:e=>r[0]=e}},where:(e,t,n)=>Ge(l,xe(e)?e:ve(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,a)=>{const r=[e,[e,xe(t)?[t,n,s,a]:_t(ds,t)??[(e,t)=>t]]];return Ge(c,r),{as:e=>r[0]=e}},having:(e,t)=>Ge(d,xe(e)?e:n=>n(e)===t)});const u=At(o);if(ut(u))return S;const h=At(i);Ht(h,((e,[,t])=>Se(_t(h,t),(({3:t})=>ve(e)?0:Ge(t,e)))));const m=At(c);let p=n;if(ut(m)&&We(d))p=s;else{v(t,p,s);const e=At();Ht(m,((t,[n,s])=>Zt(Bt(e,n,Kt),[t,s])));const n=Kt();Ht(u,(t=>dt(e,t)?0:Zt(n,t)));const a=At(),r=(n,a,r,o)=>Se(n,(([i,l,c,u])=>{Ht(a,((t,[n])=>{const s=Bt(i,t,At),a=_t(s,r),l=o?void 0:n;if(a!==l){const n=Kt([[a,l]]),o=ot(s);Ft(s,r,l),wt(_t(e,t),(([e,t])=>{const a=us(u[e],o,s,n,t);u[e]=ve(et(a))?null:a}))}})),ut(l)||!Ae(d,(e=>e((e=>u[e]))))?s.delRow(t,c):ve(c)?n[2]=s.addRow(t,u):s.setRow(t,c,u)}));f(p,t,p.addRowListener(t,null,((s,o,i,l)=>{const c=[],d=[],u=At(),h=p.hasRow(t,i);let g=!h;wt(n,(e=>{const[n,s,a]=l(t,i,e);Ge(c,s),Ge(d,a),g||=n})),Ht(e,(e=>{const[n,,s]=l(t,i,e);(g||n)&&Ft(u,e,[s])})),g&&r(Xt(a,c,void 0,(([,e])=>(mt(e,i),ut(e)))),u,i,1),h&&r(Xt(a,d,(()=>{const e={};return wt(n,(n=>e[n]=p.getCell(t,i,n))),[At(),Kt(),void 0,e]}),(([,e])=>{Zt(e,i)})),u,i)})))}v(t,e,p);const I=(n,s,r,o)=>{const i=t=>e.getCell(s,r,t);ze(o,(s=>{const[a,,r,o,l]=_t(h,s),c=r?.(i,n),[d,u]=_t(l,n)??[];c!=d&&(ve(u)||y(t,u),Ft(l,n,ve(c)?null:[c,...b(t,1,e.addRowListener(a,c,(()=>I(n,a,c,o))))]))})),(n=>{const s=(t,s)=>e.getCell(...ve(s)?[a,n,t]:t===a?[a,n,s]:[_t(h,t)?.[0],_t(_t(h,t)?.[4],n)?.[0],s]);p.transaction((()=>Ae(l,(e=>e(s)))?Ht(u,((e,a)=>nt(p,t,n,e,a(s,n)))):p.delRow(t,n)))})(n)},{3:R}=_t(h,null);return p.transaction((()=>b(t,1,e.addRowListener(a,null,((n,s,r)=>{e.hasRow(a,r)?I(r,a,r,R):(p.delRow(t,r),wt(h,(({4:e})=>Se(_t(e,r),(([,n])=>{y(t,n),Ft(e,r)})))))}))))),S},delQueryDefinition:e=>(C(e),m(e),S),getStore:l,getQueryIds:c,forEachQuery:d,hasQuery:u,getTableId:h,addQueryIdsListener:e=>p((()=>e(S))),delListener:e=>(i(e),S),destroy:I,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...a}=s.getListenerStats();return a}};return Nt({[M]:[1,1],[M+_]:[0,1],[O]:[0,1],[q]:[0,1],[A]:[0,5],[$]:[1,2],[_]:[0,2],[V]:[1,3]},(([e,t],n)=>{ze(e?[L,"has","forEach"]:[L],(e=>S[e+x+n]=(...t)=>s[e+n](...t))),S[k+x+n+T]=(...e)=>s[k+n+T](...ke(e,0,t),((n,...s)=>e[t](S,...s)),!0)})),vt(S)})),cr=nn((e=>{const t=At(),n=At(),s=At(),a=At(),[r,o,i]=rn((()=>v)),[l,c,d,u,h,g,,,m,p,I,b]=en(e,(()=>[At(),At(),At(),At()]),(e=>ve(e)?void 0:e+w),r,o),y=(e,t,n)=>Se(g(e),(([s,,a])=>{if(!dt(a,t)){const r=Kt();if(h(e)!=C(e))Zt(r,t);else{let e=t;for(;!ve(e)&&!dt(r,e);)Zt(r,e),e=_t(s,e)}if(n)return r;Ft(a,t,r)}return _t(a,t)})),f=(e,t)=>Se(g(e),(([,,e])=>Ft(e,t))),C=e=>_t(t,e),v={setRelationshipDefinition:(e,r,i,l)=>(Ft(t,e,i),m(e,r,((t,r)=>{const i=Kt(),l=Kt(),c=Kt(),[d,u]=g(e);wt(r,(([t,n],s)=>{ve(t)||(Zt(l,t),Se(_t(u,t),(e=>{mt(e,s),ut(e)&&Ft(u,t)}))),ve(n)||(Zt(l,n),dt(u,n)||Ft(u,n,Kt()),Zt(_t(u,n),s)),Zt(i,s),Ft(d,s,n),Ht(_t(a,e),(t=>{dt(y(e,t),s)&&Zt(c,t)}))})),t(),wt(i,(t=>o(n,[e,t]))),wt(l,(t=>o(s,[e,t]))),wt(c,(t=>{f(e,t),o(a,[e,t])}))}),tn(l)),v),delRelationshipDefinition:e=>(Ft(t,e),p(e),v),getStore:l,getRelationshipIds:c,forEachRelationship:t=>d((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:u,getLocalTableId:h,getRemoteTableId:C,getRemoteRowId:(e,t)=>_t(g(e)?.[0],t),getLocalRowIds:(e,t)=>ht(_t(g(e)?.[1],t)),getLinkedRowIds:(e,t)=>ve(g(e))?[t]:ht(y(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),r(n,a,[e,t])),delListener:e=>(f(...i(e)??[]),v),destroy:b,getListenerStats:()=>({remoteRowId:lt(n),localRowIds:lt(s),linkedRowIds:lt(a)})};return vt(v)})),dr={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},ur=(e,t,n,s,a,r,o,i,l={})=>{let c,d=0,u=0,h=0;const g=At(),m=()=>gn(11),I=(e,n,s,a)=>{u++,r?.(e,n,s,a),t(e,n,s,a)},b=async(e,t,n,s)=>Pe(((r,o)=>{const i=s+p+gn(4),l=pe((()=>{mt(g,i),o(`No response from ${e??"anyone"} to ${i}, `+t)}),a);Ft(g,i,[e,(e,t)=>{clearTimeout(l),mt(g,i),r([e,t,s])}]),I(e,i,t,n)})),y=(e,[t,n])=>{kt(t,(([t,n],s)=>{const a=Ot(e[0],s,Gn);kt(t,(([e,t],n)=>{const s=Ot(a[0],n,Gn);kt(e,(([e,t],n)=>s[0][n]=Bn(e,t))),s[1]=Qn(s[1],t)})),a[1]=Qn(a[1],n)})),e[1]=Qn(e[1],n)},f=(t=null,n,s=m())=>Oe((async()=>{ve(n)&&([n,t,s]=await b(null,1,w,s));const[a,r]=n,[o,i]=e.getMergeableContentHashes();let l=Gn();if(o!=a){const[n,a]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=n,!Dt(a)){const[n,r]=(await b(t,5,e.getMergeableRowHashes(a),s))[0];if(y(l,n),!Dt(r)){const n=(await b(t,6,e.getMergeableCellHashes(r),s))[0];y(l,n)}}}return[l,i==r?Gn():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]}),i),C=Is(e,(async()=>{const e=await f();return!e||Dt(e[0][0])&&Dt(e[1][0])?void 0:e}),(async(t,n)=>n?I(null,m(),3,n):I(null,m(),2,e.getMergeableContentHashes())),(e=>c=e),(()=>c=void 0),i,2,{startSync:async e=>(d=1,await C.startAutoPersisting(e)),stopSync:async()=>(d=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:u,receives:h}),...l},1);return n(((t,n,s,a)=>{const r=d||C.isAutoLoading();h++,o?.(t,n,s,a),0==s?Se(_t(g,n),(([e,n])=>ve(e)||e==t?n(a,t):0)):2==s&&r?f(t,a,n??void 0).then((e=>{c?.(void 0,e)})).catch(i):3==s&&r?c?.(void 0,a):Se(1==s&&(d||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(a):5==s?e.getMergeableRowDiff(a):6==s?e.getMergeableCellDiff(a):7==s?e.getMergeableValueDiff(a):void 0,(e=>{I(t,n,0,e)}))})),C},hr=(e,t,n,s,a)=>{const r=gn(),o=new BroadcastChannel(t);return ur(e,((e,t,n,s)=>o.postMessage([r,e,t,n,s])),(e=>{o.onmessage=({data:[t,n,s,a,o]})=>ve(n)||n==r?e(t,s,a,o):0}),(()=>{o.close()}),.01,n,s,a,{getChannelName:()=>t})},gr=At(),wr=(e,t,n,s)=>{const a=gn();return ur(e,((e,t,n,s)=>pe((()=>ve(e)?Ht(gr,((e,r)=>e!=a?r(a,t,n,s):0)):_t(gr,e)?.(a,t,n,s)))),(e=>{Ft(gr,a,e)}),(()=>{mt(gr,a)}),.01,t,n,s)},mr=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(ke(e,0,n),ke(e,n+1))},pr=(e,t)=>mr(e,((e,n)=>t(e,...bn(n)))),Ir=(e,...t)=>br(e??w,In(t)),br=(e,t)=>e+"\n"+t,yr=async(e,t,n=1,s,a,r)=>{const o=(e,n)=>(t.addEventListener(e,n),()=>t.removeEventListener(e,n)),i=ur(e,((e,...n)=>t.send(Ir(e,...n))),(e=>o(te,(({data:t})=>pr(t.toString(R),e)))),(()=>{t.close()}),n,s,a,r,{getWebSocket:()=>t});return Pe((e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&r?.(t),n(),s(),e(i)},n=o("open",(()=>t())),s=o(ne,t)}else e(i)}))},fr=/\/([^?]*)/,Cr="S",vr=e=>le(new URL(e.url).pathname,fr)?.[1]??w,Sr=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,Rr=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Tr=()=>Rr(426,null,"Upgrade required");class xr extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile((async()=>await Se(await this.createPersister(),(async e=>{const t=ur(e.getStore(),((e,t,n,s)=>this.#t(Cr,Ir(e,t,n,s))),(e=>this.#e=t=>pr(t,e)),Me,1);await e.load(),await e.startAutoSave(),pe(t.startSync)}))))}fetch(e){const t=vr(e);return Se(Sr(e),(e=>{const[n,s]=Mt(new WebSocketPair);return We(this.#n())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Ir(Cr,null,1,w)),Rr(101,n)}),Tr)}webSocketMessage(e,t){Se(this.ctx.getTags(e)[0],(n=>this.#t(n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==Ee(this.#n())&&this.onPathId(n,-1)}#t(e,t,n){mr(t.toString(),((t,s)=>{const a=br(e,s);this.onMessage(e,t,s),t==w?(e!=Cr&&this.#e?.(a),ze(this.#n(),(e=>{e!=n&&e.send(a)}))):t==Cr?this.#e?.(a):t!=e&&this.#n(t)[0]?.send(a)}))}#n(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#n()[0])?.[1]}getClientIds(){return Be(this.#n(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}const Lr=e=>(t,n)=>Sr(t)?n[e].get(n[e].idFromName(vr(t))).fetch(t):Tr(),kr=/\/([^?]*)/,Er=e=>{const t=At();return e.on("connection",((e,n)=>Se(le(n.url,kr),(([,s])=>Se(n.headers["sec-websocket-key"],(async n=>{const a=Bt(t,s,At);Ft(a,n,e),e.on(te,(e=>mr(e.toString(R),((e,t)=>{const s=br(n,t);e===w?Ht(a,((e,t)=>e!==n?t.send(s):0)):_t(a,e)?.send(s)})))),e.on("close",(()=>{mt(a,n),ut(a)&&mt(t,s)}))})))))),vt({getWebSocketServer:()=>e,destroy:async()=>{gt(t),e.close()}})},Nr=/\/([^?]*)/,Mr=(e,t,n)=>{const s=At(),a=At(),r=At(),o=At(),[i,l,c]=rn((()=>h)),d=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},u=(e,t,n)=>s=>mr(s,((s,a)=>{const r=br(e,a);s===w?("S"!==e&&n[3]?.(r),Ht(t,((t,n)=>t!==e?n.send(r):0))):"S"===s?n[3]?.(r):_t(t,s)?.send(r)}));e.on("connection",((e,i)=>Se(le(i.url,Nr),(([,c])=>Se(i.headers["sec-websocket-key"],(async i=>{const h=Bt(r,c,At),g=Bt(o,c,(()=>[0])),w=u(i,h,g);ut(h)&&(l(s,void 0,c,1),await(async(e,s,a)=>Se(await(t?.(s)),(t=>{e[0]=1,e[1]=Le(t)?t[0]:t;const s=u("S",a,e);e[2]=ur(e[1].getStore(),((e,t,n,a)=>s(Ir(e,t,n,a))),(t=>e[3]=e=>pr(e,t)),Me,1,void 0,void 0,n),e[4]=[],e[5]=Le(t)?t[1]:e=>0})))(g,c,h)),Ft(h,i,e),l(a,[c],i,1),e.on(te,(e=>{const t=e.toString(R);0==g[0]?w(t):Ge(g[4],t)})),1==g[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})(g),ze(g[4],w),g[4]=[]),e.on("close",(async()=>{mt(h,i),l(a,[c],i,-1),ut(h)&&(await d(g),mt(o,c),mt(r,c),l(s,void 0,c,-1))})),n&&e.on(ne,n)})))))),n&&e.on(ne,n);const h={getWebSocketServer:()=>e,getPathIds:()=>Vt(r),getClientIds:e=>Vt(_t(r,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,a,[e]),delListener:e=>(c(e),h),getStats:()=>({paths:ot(r),clients:it(r)}),destroy:async()=>{gt(r),await De(zt(o,d)),e.close()}};return vt(h)},{PureComponent:Pr,createContext:Dr,useCallback:$r,useContext:Or,useEffect:qr,useLayoutEffect:Ar,useMemo:Vr,useRef:_r,useState:Hr,useSyncExternalStore:zr}=u,Fr=(e,...t)=>ve(e)?{}:e(...t),Br=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],Ur=(e,t)=>[e,e?.getStore(),e?.getTableId(t)];var Wr=(e=>(e[e.Store=0]="Store",e[e.Metrics=1]="Metrics",e[e.Indexes=2]="Indexes",e[e.Relationships=3]="Relationships",e[e.Queries=4]="Queries",e[e.Checkpoints=5]="Checkpoints",e[e.Persister=6]="Persister",e[e.Synchronizer=7]="Synchronizer",e))(Wr||{});const Jr=g+"_uirc",Qr=he[Jr]?he[Jr]:he[Jr]=Dr([]),jr=(e,t)=>{const n=Or(Qr);return ve(e)?n[2*t]:Te(e)?Tt(n[2*t+1],e):e},Gr=(e,t)=>{const n=jr(e,t);return ve(e)||Te(e)?n:e},Yr=(e,t,n)=>{const{16:s,17:a}=Or(Qr);qr((()=>(s?.(n,e,t),()=>a?.(n,e))),[s,e,t,n,a])},Xr=e=>Ct(Or(Qr)[2*e+1]??{}),Kr=[],Zr=[{},[],[Kr,void 0,Kr],void 0,!1,0],eo=[$t,Ve,([e,t,n],[s,a,r])=>t===a&&Ve(e,s)&&Ve(n,r)],to=(e,t)=>e===t,no=(e,t,n=Kr)=>{const[,s]=Hr(),[a,r]=Hr();return qr((()=>{const n=e?t(e):void 0;return r(n),s([]),n?.destroy}),[e,...n]),a},so=(e,t,...n)=>{const s=e?.[k+t+T]?.(...n);return()=>e?.delListener?.(s)},ao=(e,t,n,s=Kr)=>{const a=_r(Zr[n]),r=$r((()=>{const r=t?.[(4==n?"has":L)+e]?.(...s)??Zr[n];return(eo[n]??to)(r,a.current)?a.current:a.current=r}),[t,n,e,...s]),o=$r((a=>so(t,(4==n?E:w)+e,...s,a)),[t,n,e,...s]);return zr(o,r,r)},ro=(e,t,n,s=Kr,a=Kr,...r)=>Ar((()=>so(t,e,...a,n,...r)),[t,e,...a,...s,...r]),oo=(e,t,n,s=Kr,a=Ne,r=Kr,...o)=>{const i=Io(e);return $r((e=>Se(i,(s=>Se(n(e,s),(n=>a(s["set"+t](...io(o,s,e),n),n)))))),[i,t,...s,...r,...lo(o)])},io=(e,t,n)=>Be(e,(e=>xe(e)?e(n,t):e)),lo=e=>Qe(e,(e=>!xe(e))),co=(e,t,n=Ne,s=Kr,...a)=>{const r=Io(e);return $r((e=>n(r?.["del"+t](...io(a,r,e)))),[r,t,...s,...lo(a)])},uo=(e,t,n)=>{const s=Tl(e);return $r((()=>s?.[t](n)),[s,t,n])},ho=(e,t,n,s,a,r,o,i,l)=>ro(A,Io(l),r,o,[e,t,n,s,a],i),go=(e,t=Kr)=>Vr(e,t),wo=()=>Xr(Wr.Store),mo=e=>jr(e,Wr.Store),po=()=>{return e=Wr.Store,{...Or(Qr)[2*e+1]};var e},Io=e=>Gr(e,Wr.Store),bo=(e,t)=>Yr(e,t,Wr.Store),yo=(e,t=Kr)=>Vr(e,t),fo=e=>ao(P,Io(e),4,[]),Co=e=>ao(P,Io(e),0),vo=e=>ao(D,Io(e),1),So=(e,t)=>ao(M,Io(t),4,[e]),Ro=(e,t)=>ao(M,Io(t),0,[e]),To=(e,t)=>ao(M+_,Io(t),1,[e]),xo=(e,t,n)=>ao(M+V,Io(n),4,[e,t]),Lo=(e,t)=>ao(O,Io(t),5,[e]),ko=(e,t)=>ao(q,Io(t),1,[e]),Eo=(e,t,n,s,a,r)=>((e,t,n,s,a,r)=>ao(A,Io(r),1,[e,t,n,s,a]))(...ft(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,s,a,r]),No=(e,t,n)=>ao($,Io(n),4,[e,t]),Mo=(e,t,n)=>ao($,Io(n),0,[e,t]),Po=(e,t,n)=>ao(_,Io(n),1,[e,t]),Do=(e,t,n,s)=>ao(V,Io(s),4,[e,t,n]),$o=(e,t,n,s)=>ao(V,Io(s),3,[e,t,n]),Oo=e=>ao(z,Io(e),4,[]),qo=e=>ao(z,Io(e),0),Ao=e=>ao(F,Io(e),1),Vo=(e,t)=>ao(H,Io(t),4,[e]),_o=(e,t)=>ao(H,Io(t),3,[e]),Ho=(e,t,n,s,a)=>oo(n,P,e,t,s,a),zo=(e,t,n,s,a,r)=>oo(s,M,t,n,a,r,e),Fo=(e,t,n,s,a,r,o)=>oo(a,$,n,s,r,o,e,t),Bo=(e,t,n=Kr,s,a=Ne,r=Kr,o=!0)=>{const i=Io(s);return $r((n=>Se(i,(s=>Se(t(n,s),(t=>a(s.addRow(xe(e)?e(n,s):e,t,o),s,t)))))),[i,e,...n,...r,o])},Uo=(e,t,n,s,a,r,o)=>oo(a,U+$,n,s,r,o,e,t),Wo=(e,t,n,s,a,r,o,i)=>oo(r,V,s,a,o,i,e,t,n),Jo=(e,t,n,s,a)=>oo(n,z,e,t,s,a),Qo=(e,t,n,s,a)=>oo(n,U+z,e,t,s,a),jo=(e,t,n,s,a,r)=>oo(s,H,t,n,a,r,e),Go=(e,t,n)=>co(e,P,t,n),Yo=(e,t,n,s)=>co(t,M,n,s,e),Xo=(e,t,n,s,a)=>co(n,$,s,a,e,t),Ko=(e,t,n,s,a,r,o)=>co(a,V,r,o,e,t,n,s),Zo=(e,t,n)=>co(e,z,t,n),ei=(e,t,n,s)=>co(t,H,n,s,e),ti=(e,t,n,s)=>ro(E+P,Io(s),e,t,[],n),ni=(e,t,n,s)=>ro(P,Io(s),e,t,Kr,n),si=(e,t,n,s)=>ro(D,Io(s),e,t,Kr,n),ai=(e,t,n,s,a)=>ro(E+M,Io(a),t,n,[e],s),ri=(e,t,n,s,a)=>ro(M,Io(a),t,n,[e],s),oi=(e,t,n,s,a)=>ro(M+_,Io(a),t,n,[e],s),ii=(e,t,n,s,a,r)=>ro(E+M+V,Io(r),n,s,[e,t],a),li=(e,t,n,s,a)=>ro(O,Io(a),t,n,[e],s),ci=(e,t,n,s,a)=>ro(q,Io(a),t,n,[e],s),di=(e,t,n,s,a,r,o,i,l)=>ho(...ft(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t,n,s,a]:[e,t,n,s,a,r,o,i,l]),ui=(e,t,n,s,a,r)=>ro(E+$,Io(r),n,s,[e,t],a),hi=(e,t,n,s,a,r)=>ro($,Io(r),n,s,[e,t],a),gi=(e,t,n,s,a,r)=>ro(_,Io(r),n,s,[e,t],a),wi=(e,t,n,s,a,r,o)=>ro(E+V,Io(o),s,a,[e,t,n],r),mi=(e,t,n,s,a,r,o)=>ro(V,Io(o),s,a,[e,t,n],r),pi=(e,t,n,s)=>ro(E+z,Io(s),e,t,[],n),Ii=(e,t,n,s)=>ro(z,Io(s),e,t,Kr,n),bi=(e,t,n,s)=>ro(F,Io(s),e,t,Kr,n),yi=(e,t,n,s,a)=>ro(E+H,Io(a),t,n,[e],s),fi=(e,t,n,s,a)=>ro(H,Io(a),t,n,[e],s),Ci=(e,t,n)=>ro("Start"+B,Io(n),e,t),vi=(e,t,n)=>ro("Will"+W+B,Io(n),e,t),Si=(e,t,n)=>ro("Did"+W+B,Io(n),e,t),Ri=(e,t,n)=>no(e,t,n),Ti=()=>Xr(Wr.Metrics),xi=e=>jr(e,Wr.Metrics),Li=e=>Gr(e,Wr.Metrics),ki=(e,t)=>Yr(e,t,Wr.Metrics),Ei=e=>ao(Q+N,Li(e),1),Ni=(e,t)=>ao(Q,Li(t),3,[e]),Mi=(e,t,n,s)=>ro(Q,Li(s),t,n,[e]),Pi=(e,t,n)=>no(e,t,n),Di=()=>Xr(Wr.Indexes),$i=e=>jr(e,Wr.Indexes),Oi=e=>Gr(e,Wr.Indexes),qi=(e,t)=>Yr(e,t,Wr.Indexes),Ai=(e,t)=>ao(j+N,Oi(t),1,[e]),Vi=e=>ao("Index"+N,Oi(e),1),_i=(e,t,n)=>ao(j+q,Oi(n),1,[e,t]),Hi=(e,t,n,s)=>ro(j+N,Oi(s),t,n,[e]),zi=(e,t,n,s,a)=>ro(j+q,Oi(a),n,s,[e,t]),Fi=(e,t,n)=>no(e,t,n),Bi=()=>Xr(Wr.Relationships),Ui=e=>jr(e,Wr.Relationships),Wi=e=>Gr(e,Wr.Relationships),Ji=(e,t)=>Yr(e,t,Wr.Relationships),Qi=e=>ao("Relationship"+N,Wi(e),1),ji=(e,t,n)=>ao(G,Wi(n),3,[e,t]),Gi=(e,t,n)=>ao(Y+q,Wi(n),1,[e,t]),Yi=(e,t,n)=>ao(X+q,Wi(n),1,[e,t]),Xi=(e,t,n,s,a)=>ro(G,Wi(a),n,s,[e,t]),Ki=(e,t,n,s,a)=>ro(Y+q,Wi(a),n,s,[e,t]),Zi=(e,t,n,s,a)=>ro(X+q,Wi(a),n,s,[e,t]),el=(e,t,n)=>no(e,t,n),tl=()=>Xr(Wr.Queries),nl=e=>jr(e,Wr.Queries),sl=e=>Gr(e,Wr.Queries),al=(e,t)=>Yr(e,t,Wr.Queries),rl=e=>ao("Query"+N,sl(e),1),ol=(e,t)=>ao(x+M,sl(t),0,[e]),il=(e,t)=>ao(x+M+_,sl(t),1,[e]),ll=(e,t)=>ao(x+O,sl(t),5,[e]),cl=(e,t)=>ao(x+q,sl(t),1,[e]),dl=(e,t,n,s=0,a,r)=>ao(x+A,sl(r),1,[e,t,n,s,a]),ul=(e,t,n)=>ao(x+$,sl(n),0,[e,t]),hl=(e,t,n)=>ao(x+_,sl(n),1,[e,t]),gl=(e,t,n,s)=>ao(x+V,sl(s),3,[e,t,n]),wl=(e,t,n,s)=>ro(x+M,sl(s),t,n,[e]),ml=(e,t,n,s)=>ro(x+M+_,sl(s),t,n,[e]),pl=(e,t,n,s)=>ro(x+O,sl(s),t,n,[e]),Il=(e,t,n,s)=>ro(x+q,sl(s),t,n,[e]),bl=(e,t,n,s,a,r,o,i)=>ro(x+A,sl(i),r,o,[e,t,n,s,a]),yl=(e,t,n,s,a)=>ro(x+$,sl(a),n,s,[e,t]),fl=(e,t,n,s,a)=>ro(x+_,sl(a),n,s,[e,t]),Cl=(e,t,n,s,a,r)=>ro(x+V,sl(r),s,a,[e,t,n]),vl=(e,t,n)=>no(e,t,n),Sl=()=>Xr(Wr.Checkpoints),Rl=e=>jr(e,Wr.Checkpoints),Tl=e=>Gr(e,Wr.Checkpoints),xl=(e,t)=>Yr(e,t,Wr.Checkpoints),Ll=e=>ao(K+N,Tl(e),2),kl=(e,t)=>ao(K,Tl(t),3,[e]),El=(e=Ne,t=Kr,n,s=Ne,a=Kr)=>{const r=Tl(n);return $r((t=>Se(r,(n=>{const a=e(t);s(n.addCheckpoint(a),n,a)}))),[r,...t,...a])},Nl=e=>uo(e,"goBackward"),Ml=e=>uo(e,"goForward"),Pl=(e,t=Kr,n,s=Ne,a=Kr)=>{const r=Tl(n);return $r((t=>Se(r,(n=>Se(e(t),(e=>s(n.goTo(e),e)))))),[r,...t,...a])},Dl=e=>{const t=Tl(e),[n,s]=Ll(t);return[!We(n),Nl(t),s,Se(s,(e=>t?.getCheckpoint(e)))??w]},$l=e=>{const t=Tl(e),[,,[n]]=Ll(t);return[!ve(n),Ml(t),n,Se(n,(e=>t?.getCheckpoint(e)))??w]},Ol=(e,t,n)=>ro(K+N,Tl(n),e,t),ql=(e,t,n,s)=>ro(K,Tl(s),t,n,[e]),Al=(e,t,n=Kr,s,a=Kr,r,o=Kr)=>{const[,i]=Hr(),[l,c]=Hr();return qr((()=>{(async()=>{const n=e?await t(e):void 0;c(n),n&&s&&(async()=>{await s(n),i([])})()})()}),[e,...n,...a]),qr((()=>()=>{l&&(l.destroy(),r?.(l))}),[l,...o]),l},Vl=()=>Xr(Wr.Persister),_l=e=>jr(e,Wr.Persister),Hl=e=>Gr(e,Wr.Persister),zl=(e,t)=>Yr(e,t,Wr.Persister),Fl=e=>ao(J,Hl(e),5,[]),Bl=(e,t,n)=>ro(J,Hl(n),e,t,[]),Ul=(e,t,n=Kr,s,a=Kr)=>{const[r,o]=Hr();return qr((()=>{(async()=>{const n=e?await t(e):void 0;o(n)})()}),[e,...n]),qr((()=>()=>{r&&(r.destroy(),s?.(r))}),[r,...a]),r},Wl=()=>Xr(Wr.Synchronizer),Jl=e=>jr(e,Wr.Synchronizer),Ql=e=>Gr(e,Wr.Synchronizer),jl=(e,t)=>Yr(e,t,Wr.Synchronizer),Gl=e=>ao(J,Ql(e),5,[]),Yl=(e,t,n)=>ro(J,Ql(n),e,t,[]),Xl=(e,t,n,s,a)=>[n??t[2*e],{...t[2*e+1],...s,...a[e]}],Kl=({tableId:e,store:t,rowComponent:n=rc,getRowComponentProps:s,customCellIds:a,separator:r,debugIds:o},i)=>sc(Be(i,(r=>l(n,{...Fr(s,r),tableId:e,rowId:r,customCellIds:a,store:t,debugIds:o},r))),r,o,e),Zl=({queryId:e,queries:t,resultRowComponent:n=bc,getResultRowComponentProps:s,separator:a,debugIds:r},o)=>sc(Be(o,(a=>l(n,{...Fr(s,a),queryId:e,rowId:a,queries:t,debugIds:r},a))),a,r,e),ec=({relationshipId:e,relationships:t,rowComponent:n=rc,getRowComponentProps:s,separator:a,debugIds:r},o,i)=>{const[c,d,u]=Br(Wi(t),e),h=o(e,i,c);return sc(Be(h,(e=>l(n,{...Fr(s,e),tableId:u,rowId:e,store:d,debugIds:r},e))),a,r,i)},tc=e=>({checkpoints:t,checkpointComponent:n=Cc,getCheckpointComponentProps:s,separator:a,debugIds:r})=>{const o=Tl(t);return sc(Be(e(Ll(o)),(e=>l(n,{...Fr(s,e),checkpoints:o,checkpointId:e,debugIds:r},e))),a)},nc=({store:e,storesById:t,metrics:n,metricsById:s,indexes:a,indexesById:r,relationships:o,relationshipsById:i,queries:c,queriesById:d,checkpoints:u,checkpointsById:h,persister:g,persistersById:w,synchronizer:m,synchronizersById:p,children:I})=>{const b=Or(Qr),[y,f]=Hr((()=>Be([,,,,,,,,].fill(0),((e,t)=>({}))))),C=$r(((e,t,n)=>f((s=>Tt(s[e],t)==n?s:Ze(s,e,{...s[e],[t]:n})))),[]),v=$r(((e,t)=>f((n=>xt(n[e],t)?Ze(n,e,Lt(n[e],t)):n))),[]);return l(Qr.Provider,{value:Vr((()=>[...Xl(0,b,e,t,y),...Xl(1,b,n,s,y),...Xl(2,b,a,r,y),...Xl(3,b,o,i,y),...Xl(4,b,c,d,y),...Xl(5,b,u,h,y),...Xl(6,b,g,w,y),...Xl(7,b,m,p,y),C,v]),[y,e,t,n,s,a,r,o,i,c,d,u,h,g,w,m,p,b,C,v]),children:I})},sc=(e,t,n,s)=>{const a=ve(t)||!Le(e)?e:Be(e,((e,n)=>n>0?[t,e]:e));return n?[s,":{",a,"}"]:a},ac=({tableId:e,rowId:t,cellId:n,store:s,debugIds:a})=>sc(w+($o(e,t,n,s)??w),void 0,a,n),rc=({tableId:e,rowId:t,store:n,cellComponent:s=ac,getCellComponentProps:a,customCellIds:r,separator:o,debugIds:i})=>sc(Be(((e,t,n,s)=>{const a=Po(t,n,s);return e??a})(r,e,t,n),(r=>l(s,{...Fr(a,r),tableId:e,rowId:t,cellId:r,store:n,debugIds:i},r))),o,i,t),oc=e=>Kl(e,ko(e.tableId,e.store)),ic=({cellId:e,descending:t,offset:n,limit:s,...a})=>Kl(a,Eo(a.tableId,e,t,n,s,a.store)),lc=({store:e,tableComponent:t=oc,getTableComponentProps:n,separator:s,debugIds:a})=>sc(Be(vo(e),(s=>l(t,{...Fr(n,s),tableId:s,store:e,debugIds:a},s))),s),cc=({valueId:e,store:t,debugIds:n})=>sc(w+(_o(e,t)??w),void 0,n,e),dc=({store:e,valueComponent:t=cc,getValueComponentProps:n,separator:s,debugIds:a})=>sc(Be(Ao(e),(s=>l(t,{...Fr(n,s),valueId:s,store:e,debugIds:a},s))),s),uc=({metricId:e,metrics:t,debugIds:n})=>sc(Ni(e,t)??w,void 0,n,e),hc=({indexId:e,sliceId:t,indexes:n,rowComponent:s=rc,getRowComponentProps:a,separator:r,debugIds:o})=>{const[i,c,d]=Ur(Oi(n),e),u=_i(e,t,i);return sc(Be(u,(e=>l(s,{...Fr(a,e),tableId:d,rowId:e,store:c,debugIds:o},e))),r,o,t)},gc=({indexId:e,indexes:t,sliceComponent:n=hc,getSliceComponentProps:s,separator:a,debugIds:r})=>sc(Be(Ai(e,t),(a=>l(n,{...Fr(s,a),indexId:e,sliceId:a,indexes:t,debugIds:r},a))),a,r,e),wc=({relationshipId:e,localRowId:t,relationships:n,rowComponent:s=rc,getRowComponentProps:a,debugIds:r})=>{const[o,i,,c]=Br(Wi(n),e),d=ji(e,t,o);return sc(ve(c)||ve(d)?null:l(s,{...Fr(a,d),tableId:c,rowId:d,store:i,debugIds:r},d),void 0,r,t)},mc=e=>ec(e,Gi,e.remoteRowId),pc=e=>ec(e,Yi,e.firstRowId),Ic=({queryId:e,rowId:t,cellId:n,queries:s,debugIds:a})=>sc(w+(gl(e,t,n,s)??w),void 0,a,n),bc=({queryId:e,rowId:t,queries:n,resultCellComponent:s=Ic,getResultCellComponentProps:a,separator:r,debugIds:o})=>sc(Be(hl(e,t,n),(r=>l(s,{...Fr(a,r),queryId:e,rowId:t,cellId:r,queries:n,debugIds:o},r))),r,o,t),yc=e=>Zl(e,cl(e.queryId,e.queries)),fc=({cellId:e,descending:t,offset:n,limit:s,...a})=>Zl(a,dl(a.queryId,e,t,n,s,a.queries)),Cc=({checkpoints:e,checkpointId:t,debugIds:n})=>sc(kl(t,e)??w,void 0,n,t),vc=tc((e=>e[0])),Sc=tc((e=>ve(e[1])?[]:[e[1]])),Rc=tc((e=>e[2])),Tc="editable",xc=(e,t)=>Be(To(e,t),(t=>e+p+t)),Lc=(e,t,n)=>{const s=$r(e,t);return n?s:void 0},kc=(...e)=>Vr((()=>e),e),Ec=(e,t)=>Vr((()=>({store:e,tableId:t})),[e,t]),Nc=(e,t)=>Vr((()=>({queries:e,queryId:t})),[e,t]),Mc=(e,t=!1,n,s=0,a,r,o,i)=>{const[[c,d,u],h]=Hr([e,t,s]),g=$r((e=>{h(e),i?.(e)}),[i]),w=Lc((e=>g([e,e==c&&!d,u])),[g,c,d,u],n),m=$r((e=>g([c,d,e])),[g,c,d]),p=!0===o?Jc:o;return[[c,d,u],w,Vr((()=>!1===o?null:l(p,{offset:u,limit:a,total:r,onChange:m})),[o,p,u,a,r,m])]},Pc=(e,t,n)=>Vr((()=>{const s=t??e;return Nt(Le(s)?St(Be(s,(e=>[e,e]))):s,((e,t)=>({label:t,component:n,...Te(e)?{label:e}:e})))}),[t,n,e]),Dc=({className:e,headerRow:t,idColumn:n,params:[s,a,r,o,i,d]})=>c("table",{className:e,children:[d?l("caption",{children:d}):null,!1===t?null:l("thead",{children:c("tr",{children:[!1===n?null:l($c,{sort:o??[],label:"Id",onClick:i}),Et(s,(({label:e},t)=>l($c,{cellId:t,label:e,sort:o??[],onClick:i},t)))]})}),l("tbody",{children:Be(r,(e=>c("tr",{children:[!1===n?null:l("th",{children:e}),Et(s,(({component:t,getComponentProps:n},s)=>l("td",{children:l(t,{...Fr(n,e,s),...a,rowId:e,cellId:s})},s)))]},e)))})]}),$c=({cellId:e,sort:[t,n],label:s=e??w,onClick:a})=>c("th",{onClick:Lc((()=>a?.(e)),[a,e],a),className:ve(n)||t!=e?void 0:`sorted ${n?"de":"a"}scending`,children:[ve(n)||t!=e?null:(n?"↓":"↑")+" ",s]}),Oc=({localRowId:e,params:[t,n,s,a,r,o,i]})=>{const u=ji(r,e,o);return c("tr",{children:[!1===t?null:c(d,{children:[l("th",{children:e}),l("th",{children:u})]}),Et(n,(({component:t,getComponentProps:n},r)=>{const[o,c]=ce(r,p,2),d=o===s?e:o===a?u:null;return ve(d)?null:l("td",{children:l(t,{...Fr(n,d,c),store:i,tableId:o,rowId:d,cellId:c})},r)}))]})},qc=({thing:e,onThingChange:t,className:n,hasSchema:s,showType:a=!0})=>{const[r,o]=Hr(),[i,d]=Hr(),[u,h]=Hr(),[g,w]=Hr(),[m,p]=Hr();i!==e&&(o(et(e)),d(e),h(e+""),w(Number(e)||0),p(!!e));const f=$r(((e,n)=>{n(e),d(e),t(e)}),[t]),C=$r((()=>{if(!s?.()){const e=at(r,y,b,I),n=at(e,u,g,m);o(e),d(n),t(n)}}),[s,t,u,g,m,r]);return c("div",{className:n,children:[a?l("button",{className:r,onClick:C,children:r}):null,at(r,l("input",{value:u,onChange:$r((e=>f(e[Z][ee]+"",h)),[f])},r),l("input",{type:"number",value:g,onChange:$r((e=>f(Number(e[Z][ee]||0),w)),[f])},r),l("input",{type:"checkbox",checked:m,onChange:$r((e=>f(!!e[Z].checked,p)),[f])},r))]})},Ac=({tableId:e,store:t,editable:n,customCells:s,...a})=>l(Dc,{...a,params:kc(Pc(To(e,t),s,n?Uc:ac),Ec(t,e),ko(e,t))}),Vc=({tableId:e,cellId:t,descending:n,offset:s,limit:a,store:r,editable:o,sortOnClick:i,paginator:c=!1,onChange:d,customCells:u,...h})=>{const[g,w,m]=Mc(t,n,i,s,a,Lo(e,r),c,d);return l(Dc,{...h,params:kc(Pc(To(e,r),u,o?Uc:ac),Ec(r,e),Eo(e,...g,a,r),g,w,m)})},_c=({store:e,editable:t=!1,valueComponent:n=(t?Wc:cc),getValueComponentProps:s,className:a,headerRow:r,idColumn:o})=>c("table",{className:a,children:[!1===r?null:l("thead",{children:c("tr",{children:[!1===o?null:l("th",{children:"Id"}),l("th",{children:H})]})}),l("tbody",{children:Be(Ao(e),(t=>c("tr",{children:[!1===o?null:l("th",{children:t}),l("td",{children:l(n,{...Fr(s,t),valueId:t,store:e})})]},t)))})]}),Hc=({indexId:e,sliceId:t,indexes:n,editable:s,customCells:a,...r})=>{const[o,i,c]=Ur(Oi(n),e);return l(Dc,{...r,params:kc(Pc(To(c,i),a,s?Uc:ac),Ec(i,c),_i(e,t,o))})},zc=({relationshipId:e,relationships:t,editable:n,customCells:s,className:a,headerRow:r,idColumn:o=!0})=>{const[i,u,h,g]=Br(Wi(t),e),w=Pc([...xc(h,u),...xc(g,u)],s,n?Uc:ac),m=kc(o,w,h,g,e,i,u);return c("table",{className:a,children:[!1===r?null:l("thead",{children:c("tr",{children:[!1===o?null:c(d,{children:[c("th",{children:[h,".Id"]}),c("th",{children:[g,".Id"]})]}),Et(w,(({label:e},t)=>l("th",{children:e},t)))]})}),l("tbody",{children:Be(ko(h,u),(e=>l(Oc,{localRowId:e,params:m},e)))})]})},Fc=({queryId:e,queries:t,customCells:n,...s})=>l(Dc,{...s,params:kc(Pc(il(e,t),n,Ic),Nc(t,e),cl(e,t))}),Bc=({queryId:e,cellId:t,descending:n,offset:s,limit:a,queries:r,sortOnClick:o,paginator:i=!1,customCells:c,onChange:d,...u})=>{const[h,g,w]=Mc(t,n,o,s,a,ll(e,r),i,d);return l(Dc,{...u,params:kc(Pc(il(e,r),c,Ic),Nc(r,e),dl(e,...h,a,r),h,g,w)})},Uc=({tableId:e,rowId:t,cellId:n,store:s,className:a,showType:r})=>l(qc,{thing:$o(e,t,n,s),onThingChange:Wo(e,t,n,(e=>e),[],s),className:a??Tc+V,showType:r,hasSchema:Io(s)?.hasTablesSchema}),Wc=({valueId:e,store:t,className:n,showType:s})=>l(qc,{thing:_o(e,t),onThingChange:jo(e,(e=>e),[],t),className:n??Tc+H,showType:s,hasSchema:Io(t)?.hasValuesSchema}),Jc=({onChange:e,total:t,offset:n=0,limit:s=t,singular:a="row",plural:r=a+"s"})=>{(n>t||n<0)&&(n=0,e(0));const o=Lc((()=>e(n-s)),[e,n,s],n>0),i=Lc((()=>e(n+s)),[e,n,s],n+s<t);return c(d,{children:[t>s&&c(d,{children:[l("button",{className:"previous",disabled:0==n,onClick:o,children:"←"}),l("button",{className:"next",disabled:n+s>=t,onClick:i,children:"→"}),n+1," to ",ye(t,n+s)," of "]}),t," ",1!=t?r:a]})},Qc="tinybaseInspector",jc="TinyBase Inspector",Gc=["left","top","bottom","right","full"],Yc="state",Xc="sort",Kc="open",Zc="position",ed=Kc,td="editable",nd=(...e)=>pn(e),sd=(e,t)=>Be(He([...e]),t),ad=(e,t)=>[!!$o(Yc,e,td,t),$r((n=>{t.setCell(Yc,e,td,(e=>!e)),n.preventDefault()}),[t,e])],rd=({s:e})=>{const t=_o(Zc,e)??1,n=jo(ed,(()=>!0),[],e);return _o(ed,e)?null:l("img",{onClick:n,title:jc,"data-position":t})},od=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:a,s:r})=>{const o=!!$o(Yc,e,Kc,r),i=Wo(Yc,e,Kc,(e=>e[Z].open),[],r);return c("details",{open:o,onToggle:i,children:[c("summary",{children:[t,s?l("img",{onClick:s,className:n?"done":"edit"}):null]}),a]})},id=({indexes:e,indexesId:t,indexId:n,s:s})=>l(od,{uniqueId:nd("i",t,n),summary:"Index: "+n,s:s,children:Be(Ai(n,e),(a=>l(ld,{indexes:e,indexesId:t,indexId:n,sliceId:a,s:s},a)))}),ld=({indexes:e,indexesId:t,indexId:n,sliceId:s,s:a})=>{const r=nd("i",t,n,s),[o,i]=ad(r,a);return l(od,{uniqueId:r,summary:"Slice: "+s,editable:o,handleEditable:i,s:a,children:l(Hc,{sliceId:s,indexId:n,indexes:e,editable:o})})},cd=({indexesId:e,s:t})=>{const n=$i(e),s=Vi(n);return ve(n)?null:l(od,{uniqueId:nd("i",e),summary:"Indexes: "+(e??S),s:t,children:We(s)?"No indexes defined":sd(s,(s=>l(id,{indexes:n,indexesId:e,indexId:s,s:t},s)))})},dd=({metrics:e,metricId:t})=>c("tr",{children:[l("th",{children:t}),l("td",{children:e?.getTableId(t)}),l("td",{children:Ni(t,e)})]}),ud=({metricsId:e,s:t})=>{const n=xi(e),s=Ei(n);return ve(n)?null:l(od,{uniqueId:nd("m",e),summary:"Metrics: "+(e??S),s:t,children:We(s)?"No metrics defined":c("table",{children:[c("thead",{children:[l("th",{children:"Metric Id"}),l("th",{children:"Table Id"}),l("th",{children:"Metric"})]}),l("tbody",{children:Be(s,(e=>l(dd,{metrics:n,metricId:e},e)))})]})})},hd=({queries:e,queriesId:t,queryId:n,s:s})=>{const a=nd("q",t,n),[r,o,i]=mn($o(Yc,a,Xc,s)??"[]"),c=Wo(Yc,a,Xc,pn,[],s);return l(od,{uniqueId:a,summary:"Query: "+n,s:s,children:l(Bc,{queryId:n,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:c})})},gd=({queriesId:e,s:t})=>{const n=nl(e),s=rl(n);return ve(n)?null:l(od,{uniqueId:nd("q",e),summary:"Queries: "+(e??S),s:t,children:We(s)?"No queries defined":sd(s,(s=>l(hd,{queries:n,queriesId:e,queryId:s,s:t},s)))})},wd=({relationships:e,relationshipsId:t,relationshipId:n,s:s})=>{const a=nd("r",t,n),[r,o]=ad(a,s);return l(od,{uniqueId:a,summary:"Relationship: "+n,editable:r,handleEditable:o,s:s,children:l(zc,{relationshipId:n,relationships:e,editable:r})})},md=({relationshipsId:e,s:t})=>{const n=Ui(e),s=Qi(n);return ve(n)?null:l(od,{uniqueId:nd("r",e),summary:"Relationships: "+(e??S),s:t,children:We(s)?"No relationships defined":sd(s,(s=>l(wd,{relationships:n,relationshipsId:e,relationshipId:s,s:t},s)))})},pd=({tableId:e,store:t,storeId:n,s:s})=>{const a=nd("t",n,e),[r,o,i]=mn($o(Yc,a,Xc,s)??"[]"),c=Wo(Yc,a,Xc,pn,[],s),[d,u]=ad(a,s);return l(od,{uniqueId:a,summary:M+": "+e,editable:d,handleEditable:u,s:s,children:l(Vc,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:c,editable:d})})},Id=({store:e,storeId:t,s:n})=>{const s=nd("v",t),[a,r]=ad(s,n);return We(Ao(e))?null:l(od,{uniqueId:s,summary:z,editable:a,handleEditable:r,s:n,children:l(_c,{store:e,editable:a})})},bd=({storeId:e,s:t})=>{const n=mo(e),s=vo(n);return ve(n)?null:c(od,{uniqueId:nd("s",e),summary:(n.isMergeable()?"Mergeable":"")+"Store: "+(e??S),s:t,children:[l(Id,{storeId:e,store:n,s:t}),sd(s,(s=>l(pd,{store:n,storeId:e,tableId:s,s:t},s)))]})},yd=({s:e})=>{const t=_r(null),n=_r(0),[s,a]=Hr(!1),{scrollLeft:r,scrollTop:o}=qo(e);Ar((()=>{const e=t.current;if(e&&!s){const t=new MutationObserver((()=>{e.scrollWidth>=fe(r)+e.clientWidth&&e.scrollHeight>=fe(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[s,r,o]);const i=$r((t=>{const{scrollLeft:s,scrollTop:r}=t[Z];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{a(!0),e.setPartialValues({scrollLeft:s,scrollTop:r})}))}),[e]),d=mo(),u=wo(),h=xi(),g=Ti(),w=$i(),m=Di(),p=Ui(),I=Bi(),b=nl(),y=tl();return ve(d)&&We(u)&&ve(h)&&We(g)&&ve(w)&&We(m)&&ve(p)&&We(I)&&ve(b)&&We(y)?l("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):c("article",{ref:t,onScroll:i,children:[l(bd,{s:e}),Be(u,(t=>l(bd,{storeId:t,s:e},t))),l(ud,{s:e}),Be(g,(t=>l(ud,{metricsId:t,s:e},t))),l(cd,{s:e}),Be(m,(t=>l(cd,{indexesId:t,s:e},t))),l(md,{s:e}),Be(I,(t=>l(md,{relationshipsId:t,s:e},t))),l(gd,{s:e}),Be(y,(t=>l(gd,{queriesId:t,s:e},t)))]})};class fd extends Pr{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?l("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const Cd=({s:e})=>{const t=_o(Zc,e)??1,n=jo(ed,(()=>!1),[],e),s=jo(Zc,(e=>Number(e[Z].dataset.id)),[],e);return c("header",{children:[l("img",{title:jc}),l("span",{children:jc}),Be(Gc,((e,n)=>n==t?null:l("img",{onClick:s,"data-id":n,title:"Dock to "+e},n))),l("img",{onClick:n,title:"Close"})]})},vd=({s:e})=>{const t=_o(Zc,e)??1;return _o(ed,e)?c("main",{"data-position":t,children:[l(Cd,{s:e}),l(fd,{children:l(yd,{s:e})})]}):null},Sd="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Rd='content:url("',Td=Rd+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",xd='</svg>")',Ld=Rd+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",kd=Be([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,n,s])=>Td+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${n}' height='${s}' fill='white'/>`+xd)),Ed=Td+"<path d='M20 20l60 60M20 80l60-60' />"+xd,Nd=Td+`<path d='${Sd}' />`+xd,Md=Td+`<path d='${Sd}M20 20l60 60' />`+xd,Pd="*::-webkit-scrollbar",Dd=Fe(Et({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Pd]:"width:0.5rem;height:0.5rem;",[Pd+"-track"]:"background:#111",[Pd+"-thumb"]:"background:#999;border:1px solid #111",[Pd+"-thumb:hover"]:"background:#fff",[Pd+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Ld,...St(Be(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...St(Be(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Ld,"header>img:nth-of-type(6)":Ed,...St(Be(kd,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Nd,"details[open]>summary img.done":Md,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${Qc} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${Qc} ${t}{${e}}`:""))),$d=({position:e="right",open:t=!1})=>{const n=go(os),s=Gc.indexOf(e);return Al(n,(e=>Ca(e,Qc)),void 0,(async e=>{await e.load([{},{position:-1==s?1:s,open:!!t}]),await e.startAutoSave()})),c(d,{children:[c("aside",{id:Qc,children:[l(rd,{s:n}),l(vd,{s:n})]}),l("style",{children:Dd})]})};export{vc as BackwardCheckpointsView,ac as CellView,Cc as CheckpointView,Sc as CurrentCheckpointView,Uc as EditableCellView,Wc as EditableValueView,Rc as ForwardCheckpointsView,gc as IndexView,$d as Inspector,pc as LinkedRowsView,mc as LocalRowsView,dr as Message,uc as MetricView,ws as Persists,nc as Provider,zc as RelationshipInHtmlTable,wc as RemoteRowView,Ic as ResultCellView,bc as ResultRowView,Bc as ResultSortedTableInHtmlTable,fc as ResultSortedTableView,Fc as ResultTableInHtmlTable,yc as ResultTableView,rc as RowView,Hc as SliceInHtmlTable,hc as SliceView,Vc as SortedTableInHtmlTable,Jc as SortedTablePaginator,ic as SortedTableView,gs as Status,Ac as TableInHtmlTable,oc as TableView,lc as TablesView,Qa as TinyBasePartyKitServer,cc as ValueView,_c as ValuesInHtmlTable,dc as ValuesView,xr as WsServerDurableObject,Cn as addOrRemoveHash,Ba as broadcastChanges,Ia as createAutomergePersister,hr as createBroadcastChannelSynchronizer,on as createCheckpoints,va as createCrSqliteWasmPersister,Is as createCustomPersister,ga as createCustomPostgreSqlPersister,wa as createCustomSqlitePersister,ur as createCustomSynchronizer,Ra as createDurableObjectStoragePersister,Ta as createElectricSqlPersister,xa as createExpoSqlitePersister,La as createFilePersister,Pa as createIndexedDbPersister,Hn as createIndexes,Da as createLibSqlPersister,fa as createLocalPersister,wr as createLocalSynchronizer,cs as createMergeableStore,hs as createMetrics,Va as createPartyKitPersister,ja as createPglitePersister,Ga as createPostgresPersister,Ya as createPowerSyncPersister,lr as createQueries,cr as createRelationships,Za as createRemotePersister,Ca as createSessionPersister,sr as createSqlite3Persister,er as createSqliteBunPersister,tr as createSqliteWasmPersister,os as createStore,Mr as createWsServer,Er as createWsServerSimple,yr as createWsSynchronizer,ir as createYjsPersister,_n as defaultSorter,Tn as getCellHash,xn as getCellInRowHash,fn as getHash,Vn as getHlcFunctions,Ln as getRowHash,kn as getRowInTableHash,En as getTableHash,Nn as getTableInTablesHash,Mn as getTablesHash,gn as getUniqueId,Rn as getValueHash,Sn as getValueInValuesHash,vn as getValuesHash,Lr as getWsServerDurableObjectFetch,za as hasStoreInStorage,Fa as loadStoreFromStorage,Na as objectStoreMatch,Bo as useAddRowCallback,$o as useCell,Po as useCellIds,gi as useCellIdsListener,mi as useCellListener,kl as useCheckpoint,Ll as useCheckpointIds,Ol as useCheckpointIdsListener,ql as useCheckpointListener,Rl as useCheckpoints,Sl as useCheckpointsIds,Tl as useCheckpointsOrCheckpointsById,vl as useCreateCheckpoints,Pi as useCreateIndexes,yo as useCreateMergeableStore,Ri as useCreateMetrics,Al as useCreatePersister,el as useCreateQueries,Fi as useCreateRelationships,go as useCreateStore,Ul as useCreateSynchronizer,Ko as useDelCellCallback,Xo as useDelRowCallback,Yo as useDelTableCallback,Go as useDelTablesCallback,ei as useDelValueCallback,Zo as useDelValuesCallback,Si as useDidFinishTransactionListener,Nl as useGoBackwardCallback,Ml as useGoForwardCallback,Pl as useGoToCallback,Do as useHasCell,wi as useHasCellListener,No as useHasRow,ui as useHasRowListener,So as useHasTable,xo as useHasTableCell,ii as useHasTableCellListener,ai as useHasTableListener,fo as useHasTables,ti as useHasTablesListener,Vo as useHasValue,yi as useHasValueListener,Oo as useHasValues,pi as useHasValuesListener,Vi as useIndexIds,$i as useIndexes,Di as useIndexesIds,Oi as useIndexesOrIndexesById,Yi as useLinkedRowIds,Zi as useLinkedRowIdsListener,Gi as useLocalRowIds,Ki as useLocalRowIdsListener,Ni as useMetric,Ei as useMetricIds,Mi as useMetricListener,xi as useMetrics,Ti as useMetricsIds,Li as useMetricsOrMetricsById,_l as usePersister,Vl as usePersisterIds,Hl as usePersisterOrPersisterById,Fl as usePersisterStatus,Bl as usePersisterStatusListener,xl as useProvideCheckpoints,qi as useProvideIndexes,ki as useProvideMetrics,zl as useProvidePersister,al as useProvideQueries,Ji as useProvideRelationships,bo as useProvideStore,jl as useProvideSynchronizer,nl as useQueries,tl as useQueriesIds,sl as useQueriesOrQueriesById,rl as useQueryIds,$l as useRedoInformation,Qi as useRelationshipIds,Ui as useRelationships,Bi as useRelationshipsIds,Wi as useRelationshipsOrRelationshipsById,ji as useRemoteRowId,Xi as useRemoteRowIdListener,gl as useResultCell,hl as useResultCellIds,fl as useResultCellIdsListener,Cl as useResultCellListener,ul as useResultRow,ll as useResultRowCount,pl as useResultRowCountListener,cl as useResultRowIds,Il as useResultRowIdsListener,yl as useResultRowListener,dl as useResultSortedRowIds,bl as useResultSortedRowIdsListener,ol as useResultTable,il as useResultTableCellIds,ml as useResultTableCellIdsListener,wl as useResultTableListener,Mo as useRow,Lo as useRowCount,li as useRowCountListener,ko as useRowIds,ci as useRowIdsListener,hi as useRowListener,Wo as useSetCellCallback,El as useSetCheckpointCallback,Uo as useSetPartialRowCallback,Qo as useSetPartialValuesCallback,Fo as useSetRowCallback,zo as useSetTableCallback,Ho as useSetTablesCallback,jo as useSetValueCallback,Jo as useSetValuesCallback,Ai as useSliceIds,Hi as useSliceIdsListener,_i as useSliceRowIds,zi as useSliceRowIdsListener,Eo as useSortedRowIds,di as useSortedRowIdsListener,ho as useSortedRowIdsListenerImpl,Ci as useStartTransactionListener,mo as useStore,wo as useStoreIds,Io as useStoreOrStoreById,po as useStores,Jl as useSynchronizer,Wl as useSynchronizerIds,Ql as useSynchronizerOrSynchronizerById,Gl as useSynchronizerStatus,Yl as useSynchronizerStatusListener,Ro as useTable,To as useTableCellIds,oi as useTableCellIdsListener,vo as useTableIds,si as useTableIdsListener,ri as useTableListener,Co as useTables,ni as useTablesListener,Dl as useUndoInformation,_o as useValue,Ao as useValueIds,bi as useValueIdsListener,fi as useValueListener,qo as useValues,Ii as useValuesListener,vi as useWillFinishTransactionListener};
|
|
1
|
+
import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as n,watch as s}from"fs";import{writeFile as a,readFile as r}from"fs/promises";import{Map as o}from"yjs";import{DurableObject as i}from"cloudflare:workers";import{jsx as l,jsxs as c,Fragment as d}from"react/jsx-runtime";import u from"react";const h=e=>typeof e,g="tinybase",w="",m=",",p=".",I=h(w),b=h(!0),y=h(0),f=h(h),C="true",v="type",S="default",R="utf8",T="Listener",x="Result",L="get",k="add",E="Has",N="Ids",M="Table",P=M+"s",D=M+N,$="Row",O=$+"Count",q=$+N,A="Sorted"+$+N,V="Cell",_=V+N,H="Value",z=H+"s",F=H+N,B="Transaction",U="Partial",W="Finish",J="Status",Q="Metric",j="Slice",G="RemoteRowId",Y="Local",X="Linked",K="Checkpoint",Z="currentTarget",ee="value",te="message",ne="error",se="t",ae="v",re=e=>w+e,oe=(e,t)=>e.startsWith(t),ie=(e,t)=>e.endsWith(t),le=(e,t)=>e?.match(t),ce=(e,t=w,n)=>e.split(t,n),de=(e,t,n)=>e.replace(t,n),ue=Promise,he=globalThis,ge=he.window,we=(e,t,n)=>setInterval(e,1e3*t),me=clearInterval,pe=(e,t=0)=>setTimeout(e,1e3*t),Ie=Math,be=Ie.max,ye=Ie.min,fe=Ie.floor,Ce=isFinite,ve=e=>null==e,Se=(e,t,n)=>ve(e)?n?.():t(e),Re=e=>e==I||e==b,Te=e=>h(e)==I,xe=e=>h(e)==f,Le=e=>Array.isArray(e),ke=(e,t,n)=>e.slice(t,n),Ee=e=>e.length,Ne=()=>{},Me=()=>{},Pe=e=>new ue(e),De=async e=>ue.all(e),$e=e=>{throw Error(e)},Oe=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},qe=(e,t)=>e.includes(t),Ae=(e,t)=>e.every(t),Ve=(e,t)=>Ee(e)===Ee(t)&&Ae(e,(e,n)=>t[n]===e),_e=(e,t)=>Ae(e,(n,s)=>0==s||t(e[s-1],n)<=0),He=(e,t)=>e.sort(t),ze=(e,t)=>e.forEach(t),Fe=(e,t=w)=>e.join(t),Be=(e,t)=>e.map(t),Ue=e=>Je(e,(e,t)=>e+t,0),We=e=>0==Ee(e),Je=(e,t,n)=>e.reduce(t,n),Qe=(e,t)=>e.filter(t),je=(e,t)=>e.splice(0,t),Ge=(e,...t)=>e.push(...t),Ye=e=>e.pop(),Xe=(e,...t)=>e.unshift(...t),Ke=e=>e.shift(),Ze=(e,t,n)=>e.with(t,n),et=e=>{const t=h(e);return Re(t)||t==y&&Ce(e)?t:void 0},tt=e=>ve(e)||!ve(et(e)),nt=(e,t,n,s,a)=>ve(a)?e.delCell(t,n,s,!0):e.setCell(t,n,s,a),st=(e,t,n)=>ve(n)?e.delValue(t):e.setValue(t,n),at=(e,t,n,s)=>e==I?t:e==y?n:s,rt=e=>t=>Je(ht(t),(t,n)=>t+e(n),0),ot=e=>e?.size??0,it=rt(ot),lt=rt(it),ct=rt(lt),dt=(e,t)=>e?.has(t)??!1,ut=e=>ve(e)||0==ot(e),ht=e=>[...e?.values()??[]],gt=e=>e.clear(),wt=(e,t)=>e?.forEach(t),mt=(e,t)=>e?.delete(t),pt=Object,It=e=>pt.getPrototypeOf(e),bt=pt.isFrozen,yt=pt.entries,ft=e=>!ve(e)&&Se(It(e),e=>e==pt.prototype||ve(It(e)),()=>!0),Ct=pt.keys,vt=pt.freeze,St=(e=[])=>pt.fromEntries(e),Rt=(...e)=>pt.assign({},...e),Tt=(e,t)=>Se(e,e=>e[t]),xt=(e,t)=>t in e,Lt=(e,t)=>(delete e[t],e),kt=(e,t)=>ze(yt(e),([e,n])=>t(n,e)),Et=(e,t)=>Be(yt(e),([e,n])=>t(n,e)),Nt=(e,t)=>St(Et(e,(e,n)=>[n,t(e,n)])),Mt=e=>pt.values(e),Pt=e=>Ee(Ct(e)),Dt=e=>ft(e)&&0==Pt(e),$t=(e,t)=>{const n=yt(e);return Ee(n)===Pt(t)&&Ae(n,([e,n])=>ft(n)?!!ft(t[e])&&$t(t[e],n):t[e]===n)},Ot=(e,t,n)=>(xt(e,t)||(e[t]=n()),e[t]),qt=(e,t,n,s=0)=>ve(e)||!ft(e)||!s&&Dt(e)||bt(e)?(n?.(),!1):(kt(e,(n,s)=>{t(n,s)||Lt(e,s)}),!!s||!Dt(e)),At=e=>new Map(e),Vt=e=>[...e?.keys()??[]],_t=(e,t)=>e?.get(t),Ht=(e,t)=>wt(e,(e,n)=>t(n,e)),zt=(e,t)=>Be([...e?.entries()??[]],([e,n])=>t(n,e)),Ft=(e,t,n)=>ve(n)?(mt(e,t),e):e?.set(t,n),Bt=(e,t,n,s)=>(dt(e,t)?s?.(_t(e,t)):Ft(e,t,n()),_t(e,t)),Ut=(e,t,n,s=Ft)=>(Nt(t,(t,s)=>n(e,s,t)),Ht(e,n=>xt(t,n)?0:s(e,n)),e),Wt=(e,t,n,s)=>{const a={};return wt(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;s?.(n)||(a[r]=n)}}),a},Jt=(e,t,n)=>Wt(e,e=>Wt(e,t,n),ut,Dt),Qt=(e,t,n)=>Wt(e,e=>Jt(e,t,n),ut,Dt),jt=(e,t)=>{const n=At();return wt(e,(e,s)=>n.set(s,t?.(e)??e)),n},Gt=e=>jt(e,jt),Yt=e=>jt(e,Gt),Xt=(e,t,n,s,a=0)=>Se((n?Bt:_t)(e,t[a],a>Ee(t)-2?n:At),r=>{if(a>Ee(t)-2)return s?.(r)&&Ft(e,t[a]),r;const o=Xt(r,t,n,s,a+1);return ut(r)&&Ft(e,t[a]),o}),Kt=e=>new Set(Le(e)||ve(e)?e:[e]),Zt=(e,t)=>e?.add(t),en=(e,t,n,s,a)=>{const r=e.hasRow,o=At(),i=At(),l=At(),c=At(),d=At(),u=At(),h=(t,n,...s)=>{const a=Bt(u,t,Kt);return ze(s,t=>Zt(a,t)&&n&&e.callListener(t)),s},g=(t,...n)=>Se(_t(u,t),s=>{ze(We(n)?ht(s):n,t=>{e.delListener(t),mt(s,t)}),ut(s)&&Ft(u,t)}),w=(e,n)=>{Ft(o,e,n),dt(i,e)||(Ft(i,e,t()),Ft(c,e,At()),Ft(d,e,At()),a(l))},m=e=>{Ft(o,e),Ft(i,e),Ft(c,e),Ft(d,e),g(e),a(l)};return[()=>e,()=>Vt(o),e=>Ht(i,e),e=>dt(i,e),e=>_t(o,e),e=>_t(i,e),(e,t)=>Ft(i,e,t),w,(t,s,a,o,i)=>{w(t,s);const l=At(),u=At(),m=_t(c,t),p=_t(d,t),I=t=>{const a=n=>e.getCell(s,t,n),c=_t(m,t),d=r(s,t)?n(o(a,t)):void 0;if(c===d||Le(c)&&Le(d)&&Ve(c,d)||Ft(l,t,[c,d]),!ve(i)){const e=_t(p,t),n=r(s,t)?i(a,t):void 0;e!=n&&Ft(u,t,n)}},b=e=>{a(()=>{wt(l,([,e],t)=>Ft(m,t,e)),wt(u,(e,t)=>Ft(p,t,e))},l,u,m,p,e),gt(l),gt(u)};Ht(m,I),e.hasTable(s)&&ze(e.getRowIds(s),e=>{dt(m,e)||I(e)}),b(!0),g(t),h(t,0,e.addRowListener(s,null,(e,t,n)=>I(n)),e.addTableListener(s,()=>b()))},m,e=>s(e,l),()=>Ht(u,m),h,g]},tn=(e,t)=>Te(e)?t=>t(e):e??(()=>t??w),nn=(e,t)=>{const n=new WeakMap;return s=>{n.has(s)||n.set(s,e(s));const a=n.get(s);return t?.(a),a}},sn=/^\d+$/,an=()=>{const e=[];let t=0;return[n=>(n?Ke(e):null)??w+t++,t=>{sn.test(t)&&Ee(e)<1e3&&Ge(e,t)}]},rn=e=>{let t;const[n,s]=an(),a=At();return[(s,r,o,i=[],l=()=>[])=>{t??=e();const c=n(1);return Ft(a,c,[s,r,o,i,l]),Zt(Xt(r,o??[w],Kt),c),c},(e,n,...s)=>ze(((e,t=[w])=>{const n=[],s=(e,a)=>a==Ee(t)?Ge(n,e):null===t[a]?wt(e,e=>s(e,a+1)):ze([t[a],null],t=>s(_t(e,t),a+1));return s(e,0),n})(e,n),e=>wt(e,e=>_t(a,e)[0](t,...n??[],...s))),e=>Se(_t(a,e),([,t,n])=>(Xt(t,n??[w],void 0,t=>(mt(t,e),ut(t)?1:0)),Ft(a,e),s(e),n)),e=>Se(_t(a,e),([e,,n=[],s,a])=>{const r=(...o)=>{const i=Ee(o);i==Ee(n)?e(t,...o,...a(o)):ve(n[i])?ze(s[i]?.(...o)??[],e=>r(...o,e)):r(...o,n[i])};r()})]},on=nn(e=>{let t,n,s,a=100,r=At(),o=At(),i=1;const l=At(),c=At(),[d,u,h]=rn(()=>D),g=At(),m=At(),p=[],I=[],b=(t,n)=>{i=0,e.transaction(()=>{const[s,a]=_t(g,n);wt(s,(n,s)=>wt(n,(n,a)=>wt(n,(n,r)=>nt(e,s,a,r,n[t])))),wt(a,(n,s)=>st(e,s,n[t]))}),i=1},y=e=>{Ft(g,e),Ft(m,e),u(c,[e])},f=(e,t)=>ze(je(e,t??Ee(e)),y),C=()=>f(p,Ee(p)-a),v=()=>Se(t,()=>{Ge(p,t),C(),f(I),t=void 0,s=1}),S=()=>{t=Ye(p),s=1};let R,T;const x=(e=w)=>(ve(t)&&(t=w+n++,Ft(g,t,[r,o]),M(t,e),r=At(),o=At(),s=1),t),L=()=>{We(p)||(Xe(I,x()),b(0,t),t=Ye(p),s=1)},k=()=>{We(I)||(Ge(p,t),t=Ke(I),b(1,t),s=1)},E=()=>{s&&(u(l),s=0)},N=e=>{const t=x(e);return E(),t},M=(e,t)=>(P(e)&&_t(m,e)!==t&&(Ft(m,e,t),u(c,[e])),D),P=e=>dt(g,e),D={setSize:e=>(a=e,C(),D),addCheckpoint:N,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...I]],forEachCheckpoint:e=>Ht(m,e),hasCheckpoint:P,getCheckpoint:e=>_t(m,e),goBackward:()=>(L(),E(),D),goForward:()=>(k(),E(),D),goTo:e=>{const n=qe(p,e)?L:qe(I,e)?k:null;for(;!ve(n)&&e!=t;)n();return E(),D},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(h(e),D),clear:()=>(f(p),f(I),ve(t)||y(t),t=void 0,n=0,N(),D),clearForward:()=>(We(I)||(f(I),u(l)),D),destroy:()=>{e.delListener(R),e.delListener(T)},getListenerStats:()=>({checkpointIds:it(l),checkpoint:it(c)}),_registerListeners:()=>{R=e.addCellListener(null,null,null,(e,t,n,s,a,o)=>{if(i){v();const e=Bt(r,t,At),i=Bt(e,n,At),l=Bt(i,s,()=>[o,void 0]);l[1]=a,l[0]===a&&ut(Ft(i,s))&&ut(Ft(e,n))&&ut(Ft(r,t))&&S(),E()}}),T=e.addValueListener(null,(e,t,n,s)=>{if(i){v();const e=Bt(o,t,()=>[s,void 0]);e[1]=n,e[0]===n&&ut(Ft(o,t))&&S(),E()}})}};return vt(D.clear())},e=>e._registerListeners()),ln=ce("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),cn=At(Be(ln,(e,t)=>[e,t])),dn=e=>ln[63&e],un=(e,t)=>_t(cn,e[t])??0,hn=he.crypto?e=>he.crypto.getRandomValues(e):e=>Be(e,()=>fe(256*Ie.random())),gn=(e=16)=>Je(hn(new Uint8Array(e)),(e,t)=>e+dn(t),""),wn=JSON.stringify,mn=JSON.parse,pn=e=>wn(e,(e,t)=>t instanceof Map?pt.fromEntries([...t]):t),In=e=>wn(e,(e,t)=>void 0===t?"":t),bn=e=>mn(e,(e,t)=>""===t?void 0:t),yn=new he.TextEncoder,fn=e=>{let t=2166136261;return ze(yn.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Cn=(e,t)=>(e^t)>>>0,vn=e=>Je(yt(e),(e,[t,n])=>Cn(e,Sn(t,n)^Sn(t,0)),0),Sn=(e,t)=>fn(e+":"+t),Rn=(e,t)=>fn(pn(e??null)+":"+t),Tn=Rn,xn=Sn,Ln=vn,kn=Sn,En=e=>Je(yt(e),(e,[t,n])=>Cn(e,Sn(t,n)),0),Nn=Sn,Mn=En,Pn=2**36,Dn=2**30,$n=2**24,On=2**18,qn=4096,An=e=>{const t=fn(e);return dn(t/$n)+dn(t/On)+dn(t/qn)+dn(t/64)+dn(t)},Vn=(e,t=Date.now)=>{let n=0,s=-1;const a=Se(e,An,()=>gn(5)),r=e=>{const a=n,[r,o]=ve(e)||""==e?[0,0]:i(e);n=be(a,r,t()),s=n==a?n==r?be(s,o):s:n==r?o:-1},o=(e,t,n)=>dn(e/Pn)+dn(e/Dn)+dn(e/$n)+dn(e/On)+dn(e/qn)+dn(e/64)+dn(e)+dn(t/On)+dn(t/qn)+dn(t/64)+dn(t)+(ve(n)?a:An(n)),i=e=>[un(e,0)*Pn+un(e,1)*Dn+un(e,2)*$n+un(e,3)*On+un(e,4)*qn+64*un(e,5)+un(e,6),un(e,7)*On+un(e,8)*qn+64*un(e,9)+un(e,10),e.slice(11)];return[()=>(r(),o(n,++s)),r,o,i,()=>n,()=>s,()=>a]},_n=(e,t)=>(e??0)<(t??0)?-1:1,Hn=nn(e=>{const t=At(),n=At(),[s,a,r]=rn(()=>y),[o,i,l,c,d,u,h,,g,m,p,I]=en(e,At,e=>ve(e)?w:Le(e)?Be(e,re):re(e),s,a),b=(t,n,s)=>{const a=d(t);wt(s,(t,s)=>n(s,n=>wt(t,t=>n(t,n=>e.forEachCell(a,t,n)))))},y={setIndexDefinition:(e,s,r,o,i,l=_n)=>{const c=ve(i)?void 0:([e],[t])=>i(e,t);return g(e,s,(s,r,i,d,g,w)=>{let m=0;const p=Kt(),I=Kt(),b=u(e);if(wt(r,([e,t],n)=>{const s=Kt(e),a=Kt(t);wt(s,e=>mt(a,e)?mt(s,e):0),wt(s,e=>{Zt(p,e),Se(_t(b,e),t=>{mt(t,n),ut(t)&&(Ft(b,e),m=1)})}),wt(a,e=>{Zt(p,e),dt(b,e)||(Ft(b,e,Kt()),m=1),Zt(_t(b,e),n),ve(o)||Zt(I,e)})}),s(),ut(g)||(w?Ht(b,e=>Zt(I,e)):Ht(i,e=>Se(_t(d,e),e=>ze(Le(e)?e:[e],e=>Zt(I,e)))),wt(I,e=>{const t=(t,n)=>l(_t(g,t),_t(g,n),e),n=[..._t(b,e)];_e(n,t)||(Ft(b,e,Kt(He(n,t))),Zt(p,e))})),(m||w)&&!ve(c)){const t=[...b];_e(t,c)||(h(e,At(He(t,c))),m=1)}m&&a(t,[e]),wt(p,t=>a(n,[e,t]))},tn(r),Se(o,tn)),y},delIndexDefinition:e=>(m(e),y),getStore:o,getIndexIds:i,forEachIndex:e=>l((t,n)=>e(t,e=>b(t,e,n))),forEachSlice:(e,t)=>b(e,t,u(e)),hasIndex:c,hasSlice:(e,t)=>dt(u(e),t),getTableId:d,getSliceIds:e=>Vt(u(e)),getSliceRowIds:(e,t)=>ht(_t(u(e),t)),addIndexIdsListener:p,addSliceIdsListener:(e,n)=>s(n,t,[e]),addSliceRowIdsListener:(e,t,a)=>s(a,n,[e,t]),delListener:e=>(r(e),y),destroy:I,getListenerStats:()=>({sliceIds:it(t),sliceRowIds:lt(n)})};return vt(y)}),zn=([e,t])=>Bn(e,t),Fn=([e,t,n])=>[e,t,n],Bn=(e,t)=>t?[e,t]:[e],Un=(e,t,n)=>[e,t,n],Wn=e=>e[2],Jn=(e,t)=>t>e?(e?fn(e):0)^fn(t):0,Qn=(e,t)=>((e??"")>(t??"")?e:t)??"",jn=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Gn=(e=w)=>Bn(St(),e),Yn=(e=w)=>[At(),e,0],Xn=([e,t,n],s=Fn)=>[Wt(e,s),t,n],Kn=([e,t],n=zn)=>Bn(Wt(e,n),t),Zn=(e,t)=>Le(e)&&3==Ee(e)&&Te(e[1])&&h(e[2])==y&&Ce(e[2])&&t(e[0]),es=e=>[e,e],ts=(e,t=it)=>t(e[0])+t(e[1]),ns=()=>[At(),At()],ss=e=>[...e],as=([e,t])=>e===t,rs=(e,t,n)=>Ft(e,t,_t(e,t)==-n?void 0:n),os=()=>{let e,t,n=!1,s=!1,a=0,r=[];const o=At(),i=At(),l=At(),c=At(),d=At(),u=At(),h=At(),g=At(),w=At(),m=At(),p=At(),I=At(),b=At(),f=At(),C=Kt(),R=At(),x=At(),L=At(),N=At(),A=ns(),B=ns(),U=ns(),W=ns(),J=ns(),Q=ns(),j=ns(),G=ns(),Y=ns(),X=ns(),K=ns(),Z=ns(),ee=ns(),te=ns(),ne=ns(),se=ns(),ae=ns(),oe=ns(),ie=ns(),le=ns(),ce=ns(),de=ns(),ue=At(),he=ns(),[ge,we,me,pe]=rn(()=>qn),Ie=e=>{if(!qt(e,(e,t)=>qe([v,S],t)))return!1;const t=e[v];return!(!Re(t)&&t!=y||(et(e[S])!=t&&Lt(e,S),0))},be=Le,ye=(t,n)=>(!e||dt(p,n)||yt(n))&&qt(t,(e,t)=>fe(n,t,e),()=>yt(n)),fe=(e,t,n,s)=>qt(s?n:Ne(n,e,t),(s,a)=>Se(Ce(e,t,a,s),e=>(n[a]=e,!0),()=>!1),()=>yt(e,t)),Ce=(t,n,s,a)=>e?Se(_t(_t(p,t),s),e=>et(a)!=e[v]?yt(t,n,s,a,e[S]):a,()=>yt(t,n,s,a)):ve(et(a))?yt(t,n,s,a):a,Te=(e,t)=>qt(t?e:Me(e),(t,n)=>Se(Ee(n,t),t=>(e[n]=t,!0),()=>!1),()=>Ct()),Ee=(e,n)=>t?Se(_t(b,e),t=>et(n)!=t[v]?Ct(e,n,t[S]):n,()=>Ct(e,n)):ve(et(n))?Ct(e,n):n,Ne=(e,t,n)=>(Se(_t(I,t),([s,a])=>{wt(s,(t,n)=>{xt(e,n)||(e[n]=t)}),wt(a,s=>{xt(e,s)||yt(t,n,s)})}),e),Me=e=>(t&&(wt(f,(t,n)=>{xt(e,n)||(e[n]=t)}),wt(C,t=>{xt(e,t)||Ct(t)})),e),Pe=e=>Ut(p,e,(e,t,n)=>{const s=At(),a=Kt();Ut(Bt(p,t,At),n,(e,t,n)=>{Ft(e,t,n),Se(n[S],e=>Ft(s,t,e),()=>Zt(a,t))}),Ft(I,t,[s,a])},(e,t)=>{Ft(p,t),Ft(I,t)}),De=e=>Ut(b,e,(e,t,n)=>{Ft(b,t,n),Se(n[S],e=>Ft(f,t,e),()=>Zt(C,t))},(e,t)=>{Ft(b,t),Ft(f,t),mt(C,t)}),$e=e=>Dt(e)?Ln():vn(e),Ae=e=>Ut(L,e,(e,t,n)=>_e(t,n),(e,t)=>Xe(t)),_e=(e,t)=>Ut(Bt(L,e,()=>(at(e,1),Ft(R,e,an()),Ft(x,e,At()),At())),t,(t,n,s)=>Fe(e,t,n,s),(t,n)=>Ke(e,t,n)),Fe=(e,t,n,s,a)=>Ut(Bt(t,n,()=>(rt(e,n,1),At())),s,(t,s,a)=>Ue(e,n,t,s,a),(s,r)=>Ze(e,t,n,s,r,a)),Ue=(e,t,n,s,a)=>{dt(n,s)||ht(e,t,s,1);const r=_t(n,s);a!==r&&(pt(e,t,s,r,a),Ft(n,s,a))},We=(e,t,n,s,a)=>Se(_t(t,n),t=>Ue(e,n,t,s,a),()=>Fe(e,t,n,Ne({[s]:a},e,n))),Je=e=>Dt(e)?Nn():Sn(e),Qe=e=>Ut(N,e,(e,t,n)=>je(t,n),(e,t)=>tt(t)),je=(e,t)=>{dt(N,e)||It(e,1);const n=_t(N,e);t!==n&&(bt(e,n,t),Ft(N,e,t))},Ye=e=>_t(L,e)??_e(e,{}),Xe=e=>_e(e,{}),Ke=(e,t,n)=>{const[,s]=_t(R,e);s(n),Fe(e,t,n,{},!0)},Ze=(e,t,n,s,a,r)=>{const o=_t(_t(I,e)?.[0],a);if(!ve(o)&&!r)return Ue(e,n,s,a,o);const i=t=>{pt(e,n,t,_t(s,t)),ht(e,n,t,-1),Ft(s,t)};ve(o)?i(a):Ht(s,i),ut(s)&&(rt(e,n,-1),ut(Ft(t,n))&&(at(e,-1),Ft(L,e),Ft(R,e),Ft(x,e)))},tt=e=>{const t=_t(f,e);if(!ve(t))return je(e,t);bt(e,_t(N,e)),It(e,-1),Ft(N,e)},at=(e,t)=>rs(o,e,t),rt=(e,t,n)=>rs(Bt(c,e,At),t,n)&&Ft(l,e,Bt(l,e,()=>0)+n),ht=(e,t,n,s)=>{const a=_t(x,e),r=_t(a,n)??0;(0==r&&1==s||1==r&&-1==s)&&rs(Bt(i,e,At),n,s),Ft(a,n,r!=-s?r+s:null),rs(Bt(Bt(d,e,At),t,At),n,s)},pt=(e,t,n,s,a)=>{Bt(Bt(Bt(u,e,At),t,At),n,()=>[s,0])[1]=a,r[3]?.(e,t,n,a)},It=(e,t)=>rs(h,e,t),bt=(e,t,n)=>{Bt(g,e,()=>[t,0])[1]=n,r[4]?.(e,n)},yt=(e,t,n,s,a)=>(Ge(Bt(Bt(Bt(w,e,At),t,At),n,()=>[]),s),a),Ct=(e,t,n)=>(Ge(Bt(m,e,()=>[]),t),n),St=(e,t,n)=>Se(_t(_t(_t(u,e),t),n),([e,t])=>[!0,e,t],()=>[!1,...es(cn(e,t,n))]),Rt=e=>Se(_t(g,e),([e,t])=>[!0,e,t],()=>[!1,...es(hn(e))]),Tt=e=>ut(w)||ut(se[e])?0:wt(e?Yt(w):w,(t,n)=>wt(t,(t,s)=>wt(t,(t,a)=>we(se[e],[n,s,a],t)))),kt=e=>ut(m)||ut(ae[e])?0:wt(e?jt(m):m,(t,n)=>we(ae[e],[n],t)),Et=(e,t,n,s)=>{if(!ut(e))return we(t,s,()=>Wt(e)),Ht(e,(e,t)=>we(n,[...s??[],e],1==t)),1},Mt=e=>{const t=gn();t!=n&&we(A[e],void 0,t);const s=ut(X[e]),a=ut(ee[e])&&ut(te[e])&&ut(Y[e])&&ut(K[e])&&ut(Q[e])&&ut(j[e])&&ut(G[e])&&s&&ut(U[e])&&ut(W[e]),r=ut(ne[e])&&ut(Z[e])&&ut(J[e])&&ut(B[e]);if(!a||!r){const t=e?[jt(o),Gt(i),jt(l),Gt(c),Yt(d),Yt(u)]:[o,i,l,c,d,u];if(!a){Et(t[0],U[e],W[e]),wt(t[1],(t,n)=>Et(t,Q[e],j[e],[n])),wt(t[2],(t,n)=>{0!=t&&we(G[e],[n],nn(n))});const n=Kt();wt(t[3],(t,a)=>{Et(t,Y[e],K[e],[a])&&!s&&(we(X[e],[a,null]),Zt(n,a))}),s||wt(t[5],(t,s)=>{if(!dt(n,s)){const n=Kt();wt(t,e=>wt(e,([t,s],a)=>s!==t?Zt(n,a):mt(e,a))),wt(n,t=>we(X[e],[s,t]))}}),wt(t[4],(t,n)=>wt(t,(t,s)=>Et(t,ee[e],te[e],[n,s])))}if(!r){let n;wt(t[5],(t,s)=>{let a;wt(t,(t,r)=>{let o;wt(t,([t,i],l)=>{i!==t&&(we(ne[e],[s,r,l],i,t,St),n=a=o=1)}),o&&we(Z[e],[s,r],St)}),a&&we(J[e],[s],St)}),n&&we(B[e],void 0,St)}}},Pt=e=>{const t=fn();t!=s&&we(oe[e],void 0,t);const n=ut(le[e])&&ut(ce[e]),a=ut(de[e])&&ut(ie[e]);if(!n||!a){const t=e?[jt(h),jt(g)]:[h,g];if(n||Et(t[0],le[e],ce[e]),!a){let n;wt(t[1],([t,s],a)=>{s!==t&&(we(de[e],[a],s,t,Rt),n=1)}),n&&we(ie[e],void 0,Rt)}}},$t=(e,...t)=>(Dn(()=>e(...Be(t,re))),qn),Ot=(e,t,n,s,a)=>{let r=on(e,t,...n);return ge(()=>{const a=on(e,t,...n);Ve(a,r)||(r=a,s(qn,e,t,...n,r))},X[a?1:0],[e,t],[en])},Xt=()=>Qt(L),en=()=>Vt(L),tn=e=>Vt(_t(x,re(e))),nn=e=>ot(_t(L,re(e))),sn=e=>Vt(_t(L,re(e))),on=(e,t,n,s=0,a)=>ft(e)?on(e.tableId,e.cellId,e.descending,e.offset,e.limit):Be(ke(He(zt(_t(L,re(e)),(e,n)=>[ve(t)?n:_t(e,re(t)),n]),([e],[t])=>_n(e,t)*(n?-1:1)),s,ve(a)?a:s+a),([,e])=>e),ln=(e,t)=>Vt(_t(_t(L,re(e)),re(t))),cn=(e,t,n)=>_t(_t(_t(L,re(e)),re(t)),re(n)),dn=()=>Wt(N),un=()=>Vt(N),hn=e=>_t(N,re(e)),gn=()=>!ut(L),wn=e=>dt(L,re(e)),In=(e,t)=>dt(_t(x,re(e)),re(t)),bn=(e,t)=>dt(_t(L,re(e)),re(t)),yn=(e,t,n)=>dt(_t(_t(L,re(e)),re(t)),re(n)),fn=()=>!ut(N),Cn=e=>dt(N,re(e)),vn=e=>$t(()=>(e=>qt(e,ye,yt))(e)?Ae(e):0),Sn=e=>$t(()=>Te(e)?Qe(e):0),Rn=e=>(Oe(()=>$e(mn(e))),qn),Tn=t=>$t(()=>{if((e=qt(t,e=>qt(e,Ie)))&&(Pe(t),!ut(L))){const e=Xt();Ln(),vn(e)}}),xn=e=>$t(()=>{if(t=(e=>qt(e,Ie))(e)){const n=dn();Pn(),Nn(),t=!0,De(e),Sn(n)}}),Ln=()=>$t(()=>Ae({})),kn=e=>$t(e=>dt(L,e)?Xe(e):0,e),En=(e,t)=>$t((e,t)=>Se(_t(L,e),n=>dt(n,t)?Ke(e,n,t):0),e,t),Nn=()=>$t(()=>Qe({})),Mn=()=>$t(()=>{Pe({}),e=!1}),Pn=()=>$t(()=>{De({}),t=!1}),Dn=(e,t)=>{if(-1!=a){$n();const n=e();return On(t),n}},$n=()=>(-1!=a&&a++,1==a&&(r[0]?.(),we(ue)),qn),On=e=>(a>0&&(a--,0==a&&(a=1,Tt(1),ut(u)||Mt(1),kt(1),ut(g)||Pt(1),e?.(qn)&&(wt(u,(e,t)=>wt(e,(e,n)=>wt(e,([e],s)=>nt(qn,t,n,s,e)))),gt(u),wt(g,([e],t)=>st(qn,t,e)),gt(g)),we(he[0],void 0),a=-1,Tt(0),ut(u)||Mt(0),kt(0),ut(g)||Pt(0),r[1]?.(),we(he[1],void 0),r[2]?.(),a=0,n=gn(),s=fn(),ze([o,i,l,c,d,u,w,h,g,m],gt))),qn),qn={getContent:()=>[Xt(),dn()],getTables:Xt,getTableIds:en,getTable:e=>Jt(_t(L,re(e))),getTableCellIds:tn,getRowCount:nn,getRowIds:sn,getSortedRowIds:on,getRow:(e,t)=>Wt(_t(_t(L,re(e)),re(t))),getCellIds:ln,getCell:cn,getValues:dn,getValueIds:un,getValue:hn,hasTables:gn,hasTable:wn,hasTableCell:In,hasRow:bn,hasCell:yn,hasValues:fn,hasValue:Cn,getTablesJson:()=>pn(L),getValuesJson:()=>pn(N),getJson:()=>pn([L,N]),getTablesSchemaJson:()=>pn(p),getValuesSchemaJson:()=>pn(b),getSchemaJson:()=>pn([p,b]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>$t(()=>{const t=xe(e)?e():e;be(t)&&(([e,t])=>{(Dt(e)?Ln:vn)(e),(Dt(t)?Nn:Sn)(t)})(t)}),setTables:vn,setTable:(e,t)=>$t(e=>ye(t,e)?_e(e,t):0,e),setRow:(e,t,n)=>$t((e,t)=>fe(e,t,n)?Fe(e,Ye(e),t,n):0,e,t),addRow:(e,t,n=!0)=>Dn(()=>{let s;return fe(e,s,t)&&(e=re(e),Fe(e,Ye(e),s=((e,t)=>{const[n]=_t(R,e);let s;do{s=n(t)}while(dt(_t(L,e),s));return s})(e,n?1:0),t)),s}),setPartialRow:(e,t,n)=>$t((e,t)=>{if(fe(e,t,n,1)){const s=Ye(e);Nt(n,(n,a)=>We(e,s,t,a,n))}},e,t),setCell:(e,t,n,s)=>$t((e,t,n)=>Se(Ce(e,t,n,xe(s)?s(cn(e,t,n)):s),s=>We(e,Ye(e),t,n,s)),e,t,n),setValues:Sn,setPartialValues:e=>$t(()=>Te(e,1)?Nt(e,(e,t)=>je(t,e)):0),setValue:(e,t)=>$t(e=>Se(Ee(e,xe(t)?t(hn(e)):t),t=>je(e,t)),e),applyChanges:e=>$t(()=>{Nt(e[0],(e,t)=>ve(e)?kn(t):Nt(e,(e,n)=>ve(e)?En(t,n):Nt(e,(e,s)=>nt(qn,t,n,s,e)))),Nt(e[1],(e,t)=>st(qn,t,e))}),setTablesJson:Rn,setValuesJson:e=>(Oe(()=>Je(mn(e))),qn),setJson:e=>$t(()=>Oe(()=>{const[t,n]=mn(e);$e(t),Je(n)},()=>Rn(e))),setTablesSchema:Tn,setValuesSchema:xn,setSchema:(e,t)=>$t(()=>{Tn(e),xn(t)}),delTables:Ln,delTable:kn,delRow:En,delCell:(e,t,n,s)=>$t((e,t,n)=>Se(_t(L,e),a=>Se(_t(a,t),r=>dt(r,n)?Ze(e,a,t,r,n,s):0)),e,t,n),delValues:Nn,delValue:e=>$t(e=>dt(N,e)?tt(e):0,e),delTablesSchema:Mn,delValuesSchema:Pn,delSchema:()=>$t(()=>{Mn(),Pn()}),transaction:Dn,startTransaction:$n,getTransactionChanges:()=>[Wt(u,(e,t)=>-1===_t(o,t)?void 0:Wt(e,(e,n)=>-1===_t(_t(c,t),n)?void 0:Wt(e,([,e])=>e,e=>as(e)),ut,Dt),ut,Dt),Wt(g,([,e])=>e,e=>as(e)),1],getTransactionLog:()=>[!ut(u),!ut(g),Qt(u,ss,as),Qt(w),Wt(g,ss,as),Wt(m),Wt(o),Jt(c),Qt(d),Wt(h)],finishTransaction:On,forEachTable:e=>wt(L,(t,n)=>e(n,e=>wt(t,(t,n)=>e(n,e=>Ht(t,e))))),forEachTableCell:(e,t)=>Ht(_t(x,re(e)),t),forEachRow:(e,t)=>wt(_t(L,re(e)),(e,n)=>t(n,t=>Ht(e,t))),forEachCell:(e,t,n)=>Ht(_t(_t(L,re(e)),re(t)),n),forEachValue:e=>Ht(N,e),addSortedRowIdsListener:(e,t,n,s,a,r,o)=>ft(e)?Ot(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Ot(e,t,[n,s,a],r,o),addStartTransactionListener:e=>ge(e,ue),addWillFinishTransactionListener:e=>ge(e,he[0]),addDidFinishTransactionListener:e=>ge(e,he[1]),callListener:e=>(pe(e),qn),delListener:e=>(me(e),qn),getListenerStats:()=>({hasTables:ts(A),tables:ts(B),tableIds:ts(U),hasTable:ts(W),table:ts(J),tableCellIds:ts(Q),hasTableCell:ts(j,lt),rowCount:ts(G),rowIds:ts(Y),sortedRowIds:ts(X),hasRow:ts(K,lt),row:ts(Z,lt),cellIds:ts(ee,lt),hasCell:ts(te,ct),cell:ts(ne,ct),invalidCell:ts(se,ct),hasValues:ts(oe),values:ts(ie),valueIds:ts(le),hasValue:ts(ce),value:ts(de),invalidValue:ts(ae),transaction:it(ue)+ts(he)}),isMergeable:()=>!1,createStore:os,addListener:ge,callListeners:we,setInternalListeners:(e,t,n,s,a)=>r=[e,t,n,s,a]};return Nt({[E+P]:[0,A,[],()=>[gn()]],[P]:[0,B],[D]:[0,U],[E+M]:[1,W,[en],e=>[wn(...e)]],[M]:[1,J,[en]],[M+_]:[1,Q,[en]],[E+M+V]:[2,j,[en,tn],e=>[In(...e)]],[O]:[1,G,[en]],[q]:[1,Y,[en]],[E+$]:[2,K,[en,sn],e=>[bn(...e)]],[$]:[2,Z,[en,sn]],[_]:[2,ee,[en,sn]],[E+V]:[3,te,[en,sn,ln],e=>[yn(...e)]],[V]:[3,ne,[en,sn,ln],e=>es(cn(...e))],InvalidCell:[3,se],[E+z]:[0,oe,[],()=>[fn()]],[z]:[0,ie],[F]:[0,le],[E+H]:[1,ce,[un],e=>[Cn(...e)]],[H]:[1,de,[un],e=>es(hn(e[0]))],InvalidValue:[1,ae]},([e,t,n,s],a)=>{qn[k+a+T]=(...a)=>ge(a[e],t[a[e+1]?1:0],e>0?ke(a,0,e):void 0,n,s)}),vt(qn)},is={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},ls=(e=w)=>[Yn(e),Yn(e)],cs=(e,t)=>{let n=1,s=ls(),a=0;const r=At(),o=Kt(),[i,l]=Vn(e,t),c=os(),d=e=>{const t=n;return n=0,e(),n=t,b},u=(e,t=0)=>{const n={},a={},[[r,o=w,i=0],c]=e,[d,u]=s,[g,m,p]=d;let I=t?i:p,b=o;kt(r,([e,s=w,a=0],r)=>{const o=Bt(g,r,Yn),[i,l,c]=o;let d=t?a:c,u=s;kt(e,(e,s)=>{const[a,o,l]=h(e,Bt(i,s,Yn),Ot(Ot(n,r,St),s,St),t);d^=t?0:Cn(o?Sn(s,o):0,Sn(s,l)),u=Qn(u,a)}),d^=t?0:Jn(l,s),jn(o,s,d),I^=t?0:Cn(c?Sn(r,c):0,Sn(r,o[2])),b=Qn(b,u)}),I^=t?0:Jn(m,o),jn(d,o,I);const[y]=h(c,u,a,t);return l(Qn(b,y)),[n,a,1]},h=(e,t,n,s)=>{const[a,r=w,o=0]=e,[i,l,c]=t;let d=r,u=s?o:c;return kt(a,([e,t=w,a=0],r)=>{const o=Bt(i,r,()=>[void 0,w,0]),[,l,c]=o;(!l||t>l)&&(jn(o,t,s?a:Rn(e,t)),o[0]=e,n[r]=e,u^=s?0:Cn(Sn(r,c),Sn(r,o[2])),d=Qn(d,t))}),u^=s?0:Jn(l,r),jn(t,r,u),[d,c,t[2]]},g=Me,m=Me,p=()=>[Xn(s[0],e=>Xn(e,e=>Xn(e))),Xn(s[1])],I=e=>d(()=>c.applyChanges(u(e))),b={getMergeableContent:p,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>Wt(s[0][0],Wn),getMergeableTableDiff:e=>{const t=Gn(s[0][1]),n={};return Ht(s[0][0],(s,[a,r,o])=>xt(e,s)?o!=e[s]?n[s]=o:0:t[0][s]=Kn([a,r],e=>Kn(e))),[t,n]},getMergeableRowHashes:e=>{const t={};return kt(e,(e,n)=>Se(_t(s[0][0],n),([s,,a])=>a!=e?Ht(s,(e,[,,s])=>Ot(t,n,St)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=Gn(s[0][1]),n={};return kt(e,(e,a)=>Ht(_t(s[0][0],a)?.[0],(s,[r,o,i])=>xt(e,s)?i!==e[s]?Ot(n,a,St)[s]=i:0:Ot(t[0],a,Gn)[0][s]=Kn([r,o]))),[t,n]},getMergeableCellHashes:e=>{const t={};return kt(e,(e,n)=>Se(_t(s[0][0],n),([s])=>kt(e,(e,a)=>Se(_t(s,a),([s,,r])=>r!==e?Ht(s,(e,[,,s])=>Ot(Ot(t,n,St),a,St)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,n]]=s,a={};return kt(e,(e,n)=>kt(e,(e,s)=>Se(_t(t,n),([t,r])=>Se(_t(t,s),([t,o])=>Ht(t,(t,[i,l,c])=>c!==e[t]?Ot(Ot(a,n,()=>Gn(r))[0],s,()=>Gn(o))[0][t]=[i,l]:0))))),Bn(a,n)},getMergeableValueHashes:()=>Wt(s[1][0],Wn),getMergeableValueDiff:e=>{const[,[t,n]]=s,a=Wt(t,zn,([,,t],n)=>t==e?.[n]);return Bn(a,n)},setMergeableContent:e=>d(()=>(e=>Le(e)&&2==Ee(e)&&Zn(e[0],e=>qt(e,e=>Zn(e,e=>qt(e,e=>Zn(e,e=>qt(e,e=>Zn(e,tt),void 0,1)),void 0,1)),void 0,1))&&Zn(e[1],e=>qt(e,e=>Zn(e,tt),void 0,1)))(e)?c.transaction(()=>{c.delTables().delValues(),s=ls(),c.applyChanges(u(e,1))}):0),setDefaultContent:e=>(c.transaction(()=>{a=1,c.setContent(e),a=0}),b),getTransactionMergeableChanges:(e=!1)=>{const[[t,n,a],[i,l,c]]=s,d=e?Un:Bn,u={};wt(r,(e,n)=>Se(_t(t,n),([t,s,a])=>{const r={};wt(e,(e,n)=>Se(_t(t,n),([t,s,a])=>{const o={};wt(e,e=>{Se(_t(t,e),([t,n,s])=>o[e]=d(t,n,s))}),r[n]=d(o,s,a)})),u[n]=d(r,s,a)}));const h={};return wt(o,e=>Se(_t(i,e),([t,n,s])=>h[e]=d(t,n,s))),[d(u,n,a),d(h,l,c),1]},applyMergeableChanges:I,merge:e=>{const t=p(),n=e.getMergeableContent();return e.applyMergeableChanges(t),I(n)}};return c.setInternalListeners(g,m,()=>{gt(r),gt(o)},(e,t,s,o)=>{Zt(Bt(Bt(r,e,At),t,Kt),s),n&&u([[{[e]:[{[t]:[{[s]:[o,a?w:i()]}]}]}],[{}],1])},(e,t)=>{Zt(o,e),n&&u([[{}],[{[e]:[t,a?w:i()]}],1])}),Nt(c,(e,t)=>b[t]=oe(t,"set")||oe(t,"del")||oe(t,"apply")||ie(t,B)||t=="call"+T?(...t)=>(e(...t),b):oe(t,k)&&ie(t,T)?(...n)=>{const s=is[ke(t,3,-8)]??0,a=n[s];return n[s]=(e,...t)=>a(b,...t),e(...n)}:"isMergeable"==t?()=>!0:e),vt(b)},ds=At([["avg",[(e,t)=>Ue(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>be(...e),(e,t)=>be(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:be(t,e)]],["min",[e=>ye(...e),(e,t)=>ye(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:ye(t,e)]],["sum",[e=>Ue(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),us=(e,t,n,s,a,r=!1)=>{if(ut(n))return;const[o,i,l,c]=a;return r||=ve(e),wt(s,([n,s])=>{r||(e=ve(n)?i?.(e,s,t++):ve(s)?l?.(e,n,t--):c?.(e,s,n,t),r||=ve(e))}),r?o(ht(n),ot(n)):e},hs=nn(e=>{const t=At(),[n,s,a]=rn(()=>I),[r,o,i,l,c,d,u,,h,g,m,p]=en(e,Ne,e=>isNaN(e)||ve(e)||!0===e||!1===e||e===w?void 0:1*e,n,s),I={setMetricDefinition:(e,n,a,r,o,i,l)=>{const c=xe(a)?[a,o,i,l]:_t(ds,a)??_t(ds,"sum");return h(e,n,(n,a,r,o,i,l)=>{const h=d(e),g=ot(o);l||=ve(h),n();let w=us(h,g,o,a,c,l);Ce(w)||(w=void 0),w!=h&&(u(e,w),s(t,[e],w,h))},tn(r,1)),I},delMetricDefinition:e=>(g(e),I),getStore:r,getMetricIds:o,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:d,addMetricIdsListener:m,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(a(e),I),destroy:p,getListenerStats:()=>({metric:it(t)})};return vt(I)}),gs={Idle:0,Loading:1,Saving:2},ws={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ms=At(),ps=At(),Is=(e,t,n,s,a,r,o,i={},l=0,c=[])=>{let d,u,h,g=0,w=0,m=0;Bt(ms,c,()=>0),Bt(ps,c,()=>[]);const p=At(),[I,b,y,f,C]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!Dt(e)||!Dt(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!Dt(e)||!Dt(t),t.setContent]:$e("Store type not supported by this Persister"))(o,e,l),[v,S,R]=rn(()=>O),T=e=>{e!=g&&(g=e,S(p,void 0,g))},x=t=>{(I&&Le(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},L=async e=>(2!=g&&(T(1),w++,await $(async()=>{await Oe(async()=>{const n=await t();Le(n)?x(n):e?C(e):$e("Content is not an array: "+n)},()=>{e&&C(e)}),T(0)})),O),k=async e=>(E(),await L(e),await Oe(async()=>u=await s(async(e,t)=>{t||e?2!=g&&(T(1),w++,x(t??e),T(0)):await L()}),r),O),E=async()=>(u&&(await Oe(()=>a(u),r),u=void 0),O),N=async e=>(1!=g&&(T(2),m++,await $(async()=>{await Oe(()=>n(b,e),r),T(0)})),O),M=async()=>(P(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=y();f(e)&&N(e)}),O),P=async()=>(h&&(e.delListener(h),h=void 0),O),D=async(e=!1)=>{const[t,n]=e?[P,E]:[E,P];return await t(),await n(),O},$=async(...e)=>(Ge(_t(ps,c),...e),await(async()=>{if(!_t(ms,c)){for(Ft(ms,c,1);!ve(d=Ke(_t(ps,c)));)await Oe(d,r);Ft(ms,c,0)}})(),O),O={load:L,startAutoLoad:k,stopAutoLoad:E,isAutoLoading:()=>!ve(u),save:N,startAutoSave:M,stopAutoSave:P,isAutoSaving:()=>!ve(h),startAutoPersisting:async(e,t=!1)=>{const[n,s]=t?[M,k]:[k,M];return await n(e),await s(e),O},stopAutoPersisting:D,getStatus:()=>g,addStatusListener:e=>v(e,p),delListener:t=>(R(t),e),schedule:$,getStore:()=>e,destroy:()=>(je(_t(ps,c)),D()),getStats:()=>({loads:w,saves:m}),...i};return vt(O)},bs="_",ys="_id",fs="SELECT",Cs="WHERE",vs="TABLE",Ss="INSERT",Rs="DELETE",Ts="UPDATE",xs="ALTER "+vs,Ls="FROM",ks=Rs+" "+Ls,Es=fs+"*"+Ls,Ns="pragma_",Ms="data_version",Ps="schema_version",Ds="pragma_table_",$s="CREATE ",Os=$s+vs,qs="OR REPLACE ",As="FUNCTION",Vs="$tableName",_s=(e,t)=>t?async(n,s)=>(t(n,s),await e(n,s)):e,Hs=e=>Fe(Be(ce(e,p),e=>`"${de(e,/"/g,'""')}"`),p),zs=(...e)=>Hs(Fe(e,"_")),Fs=(...e)=>Fe(Be(e,Hs),m),Bs=(e,t=[1])=>Fe(Be(e,()=>"$"+t[0]++),m),Us=(e,t=C)=>Cs+`(${de(t,Vs,Hs(e))})`,Ws="ColumnName",Js="store",Qs="json",js=Js+"TableName",Gs=Js+"Id"+Ws,Ys=Js+Ws,Xs="autoLoadIntervalSeconds",Ks="rowId"+Ws,Zs="tableId",ea="tableName",ta="deleteEmptyColumns",na="deleteEmptyTable",sa="condition",aa={mode:Qs,[Xs]:1},ra={load:0,save:0,[ea]:g+"_values"},oa=(e,t,n,s,a)=>{const r=At();return Nt(e,(e,o)=>{const i=ke(Mt(Rt(t,Te(e)?{[n]:e}:e)),0,Pt(t));ve(i[0])||s(o,i[0])||(a(o,i[0]),Ft(r,o,i))}),r},ia=e=>{const t=(e=>Rt(aa,Te(e)?{[js]:e}:e??{}))(e),n=t[Xs];if(t.mode==Qs){const e=t[js]??g;return[1,n,[e,t[Gs]??ys,t[Ys]??Js],Kt(e)]}const{tables:{load:s={},save:a={}}={},values:r={}}=t,o=ke(Mt(Rt(ra,r)),0,Pt(ra)),i=o[2],l=Kt(i),c=Kt(i),d=oa(s,{[Zs]:null,[Ks]:ys,[sa]:C},Zs,e=>dt(c,e),e=>Zt(l,e)),u=oa(a,{[ea]:null,[Ks]:ys,[ta]:0,[na]:0,[sa]:null},ea,(e,t)=>dt(c,t),(e,t)=>Zt(l,t));return Ht(u,(e,t)=>t[4]??=_t(d,t[0])?.[2]??C),[0,n,[d,u,o],l]},la=(e,t,n,s,a,r=ca,o,i)=>{const l=At();return[async()=>{gt(l),Be(await n(e,t),({tn:e,cn:t})=>Zt(Bt(l,e,Kt),t))},async(t,n,s)=>((e,t)=>dt(_t(l,e),t))(t,n)?St(Qe(Be(await e(Es+Hs(t)+Us(t,s)),e=>[e[n],i?Nt(Lt(e,n),i):Lt(e,n)]),([e,t])=>!ve(e)&&!Dt(t))):{},async(t,n,s,i,c,d=!1,u=C)=>{const h=Kt();Nt(s??{},e=>Be(Ct(e??{}),e=>Zt(h,e)));const g=ht(h);if(!d&&c&&u==C&&We(g)&&dt(l,t))return await e("DROP "+vs+Hs(t)),void Ft(l,t);const w=_t(l,t),p=Kt(ht(w));if(We(g)||(dt(l,t)?await De(Be([n,...g],async(s,r)=>{mt(p,s)||(await e(xs+Hs(t)+"ADD"+Hs(s)+a),0==r&&await e("CREATE UNIQUE INDEX pk ON "+Hs(t)+`(${Hs(n)})`),Zt(w,s))})):(await e(Os+Hs(t)+`(${Hs(n)}${a} PRIMARY KEY${Fe(Be(g,e=>m+Hs(e)+a))});`),Ft(l,t,Kt([n,...g])))),await De([...!d&&i?Be(ht(p),async s=>{s!=n&&(await e(xs+Hs(t)+"DROP"+Hs(s)),mt(w,s))}):[]]),d)ve(s)?await e(ks+Hs(t)+Us(t,u)):await De(Et(s,async(s,a)=>{ve(s)?await e(ks+Hs(t)+Us(t,u)+`AND(${Hs(n)}=$1)`,[a]):We(g)||await r(e,t,n,Ct(s),{[a]:o?Be(Mt(s),o):Mt(s)},w)}));else if(We(g))dt(l,t)&&await e(ks+Hs(t)+Us(t,u));else{const a=Qe(ht(_t(l,t)),e=>e!=n),i={},c=[];Nt(s??{},(e,t)=>{i[t]=Be(a,t=>o?o(e?.[t]):e?.[t]),Ge(c,t)}),await r(e,t,n,a,i),await e(ks+Hs(t)+Us(t,u)+`AND${Hs(n)}NOT IN(${Bs(c)})`,c)}},async t=>{let n;return await e("BEGIN"),await Oe(async()=>n=await t(),s),await e("END"),n}]},ca=async(e,t,n,s,a)=>{const r=[1];await e(Ss+" INTO"+Hs(t)+"("+Fs(n,...s)+")VALUES"+Fe(Et(a,e=>"($"+r[0]+++","+Bs(e,r)+")"),m)+"ON CONFLICT("+Hs(n)+`)DO ${Ts} SET`+Fe(Be(s,e=>Hs(e)+"=excluded."+Hs(e)),m),Et(a,(e,t)=>[t,...Be(e,e=>e??null)]).flat())},da=(e,t,n,s,a,r,o,[i,l,c],d,u,h,g,w,m)=>{const[p,I,b,y]=la(t,d,u,a,w,m),f=Is(e,()=>y(async()=>(await p(),bn((await I(i,l))[bs]?.[c]??"null"))),e=>y(async()=>{await p(),await b(i,l,{[bs]:{[c]:In(e()??null)}},!0,!0)}),n,s,a,o,{[g]:()=>h,destroy:async()=>(await f.stopAutoPersisting(),r(),f)},0,h);return f},ua=(e,t,n,s,a,r,o,[i,l,[c,d,u]],h,g,w,m,p,I,b,y)=>{const[f,C,v,S]=la(t,h,g,a,p,I,b,y),R=(e,t)=>De(zt(l,async([n,s,a,r,o],i)=>{t&&!xt(e,i)||await v(n,s,e[i],a,r,t,o)})),T=async(e,t)=>d?await v(u,ys,{[bs]:e},!0,!0,t):null,x=Is(e,()=>S(async()=>{await f();const e=await(async()=>St(Qe(await De(zt(i,async([e,t,n],s)=>[e,await C(s,t,n)])),e=>!Dt(e[1]))))(),t=await(async()=>c?(await C(u,ys))[bs]:{})();return Dt(e)&&ve(t)?void 0:[e,t]}),(e,t)=>S(async()=>{if(await f(),ve(t)){const[t,n]=e();await R(t),await T(n)}else await R(t[0],!0),await T(t[1],!0)}),n,s,a,o,{[m]:()=>w,destroy:async()=>(await x.stopAutoPersisting(),r(),x)},0,w);return x},ha=/^([cd]:)(.+)/,ga=(e,t,n,s,a,r,o,i,l,c,d="getDb")=>{const u=_s(n,r),[h,,m,p]=ia(t),I=w+fn(In(m)),b=g+"_"+I,y=async(e,t,n="",s="")=>{const a=zs(g,e,I);return await u($s+qs+As+a+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),a},f=async(e,t,n,s)=>(await u($s+e+"TRIGGER"+t+n+"EXECUTE "+As+s+"()"),t),v=e=>`PERFORM pg_notify('${b}',${e});`,S=(e,t)=>h?C:2===t?S(e,0)+" OR "+S(e,1):de(_t(m[0],e)?.[2]??C,Vs,0==t?"NEW":"OLD"),R=(e,t)=>De(Be([Ss,Rs,Ts],(n,s)=>f(qs,zs(g,"d",I,e,n),`AFTER ${n} ON${Hs(e)}FOR EACH ROW WHEN(${S(e,s)})`,t)));return(h?da:ua)(e,u,async e=>{const t=await y("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Cs} command_tag='${Os}' LOOP ${v("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await f("EVENT ",zs(g,"c",I),`ON ddl_command_end WHEN TAG IN('${Os}')`,t);const n=await y("d",v("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await De(Be(ht(p),async e=>(await u(Os+` IF NOT EXISTS${Hs(e)}("_id"text PRIMARY KEY)`),await R(e,n)))),[await s(b,t=>Se(le(t,ha),async([,t,s])=>{dt(p,s)&&("c:"==t&&await R(s,n),e())})),[t,n]]},async([e,t])=>{a(e),await u(`DROP FUNCTION IF EXISTS${Fe(t,",")}CASCADE`)},o,i,l,m,ht(p),async(e,t)=>await e(fs+` table_name tn,column_name cn FROM information_schema.columns ${Cs} table_schema='public'AND table_name IN(${Bs(t)})`,t),c,d,"text",void 0,e=>wn(e),e=>mn(e))},wa=(e,t,n,s,a,r,o,i,l,c,d="getDb",u)=>{let h,g,m;const p=_s(n,r),[I,b,y,f]=ia(t);return(I?da:ua)(e,p,e=>{let t;const n=()=>t=we(()=>Oe(async()=>{const[{d:t,s:n,c:s}]=await p(fs+` ${Ms} d,${Ps} s,TOTAL_CHANGES() c FROM ${Ns}${Ms} JOIN ${Ns}${Ps}`);t==h&&n==g&&s==m||(null!=h&&e(),h=t,g=n,m=s)}),b),r=()=>{h=g=m=null,me(t)},o=s(t=>{f.has(t)&&(r(),e(),n())});return n(),()=>{r(),a(o)}},e=>e(),o,i,l,y,ht(f),async(e,t)=>await e(fs+` t.name tn,c.name cn FROM ${Ds}list()t,${Ds}info(t.name)c ${Cs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Bs(t)})ORDER BY t.name,c.name`,t),c,d,w,u,e=>!0===e?1:!1===e?0:e,void 0)},ma=(e,t)=>[e[t].t,e[t].v],pa=(e,t,n,s)=>{const a=ve(t)?e:Ot(e,t,()=>({}));let r;return Nt(n,(e,t)=>{s(a,t,e)&&(r=1)}),Nt(a,(e,t)=>{xt(n,t)||(Lt(a,t),r=1)}),!ve(t)&&Dt(a)&&Lt(e,t),r},Ia=(e,t,n=g,s)=>(t.change(e=>Ot(e,n,St)),Is(e,async()=>{const e=await t.doc();return 2==Pt(e?.[n])?ma(e,n):void 0},async(e,s)=>t.change(t=>((e,t,n,s)=>{((e,t)=>{Dt(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[a,r]=ma(e,t),o=()=>{i=1};let i=1;if(Se(s,([e,t])=>{i=0,Nt(e,(e,t)=>i?0:ve(e)?Lt(a,t):Se(a[t],t=>Nt(e,(e,n)=>i?0:ve(e)?Lt(t,n):Se(Tt(t,n),t=>Nt(e,(e,n)=>ve(e)?Lt(t,n):t[n]=e),o)),o)),Nt(t,(e,t)=>i?0:ve(e)?Lt(r,t):r[t]=e)}),i){const[e,t]=n();pa(a,void 0,e,(e,t,n)=>pa(a,t,n,(e,t,n)=>pa(e,t,n,(e,t,n)=>{if(Tt(e,t)!==n)return e[t]=n,1}))),pa(r,void 0,t,(e,t,n)=>{Tt(r,t)!==n&&(r[t]=n)})}})(t,n,e,s)),e=>{const s=({doc:t})=>e(ma(t,n));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),ba="storage",ya=(e,t,n,s)=>Is(e,async()=>bn(n.getItem(t)),async e=>n.setItem(t,In(e())),e=>{const s=s=>{s.storageArea===n&&s.key===t&&Oe(()=>e(bn(s.newValue)),e)};return ge.addEventListener(ba,s),s},e=>ge.removeEventListener(ba,e),s,3,{getStorageName:()=>t}),fa=(e,t,n)=>ya(e,t,localStorage,n),Ca=(e,t,n)=>ya(e,t,sessionStorage,n),va=(e,t,n,s,a)=>wa(e,n,async(e,n=[])=>await t.execO(e,n),e=>t.onUpdate((t,n,s)=>e(s)),e=>e(),s,a,Me,1,t),Sa=()=>Un({},w,0),Ra=(e,t,n=w,s)=>{const a=(e,...t)=>n+e+ke(In(t),1,-1);return Is(e,async()=>{const e=Sa(),s=Sa();return(await t.list({prefix:n})).forEach(async([t,a,r],o)=>Se((e=>{if(oe(e,n)){const t=ke(e,n.length,1);return t==se||t==ae?[t,...JSON.parse("["+ke(e,n.length+1)+"]")]:void 0}})(o),([n,...o])=>n==se?Se(o[0],n=>{const s=Ot(e[0],n,Sa);Se(o[1],e=>{const n=Ot(s[0],e,Sa);Se(o[2],e=>n[0][e]=[t,a,r],()=>jn(n,a,r))},()=>jn(s,a,r))},()=>jn(e,a,r)):n==ae?Se(o[0],e=>s[0][e]=[t,a,r],()=>jn(s,a,r)):0)),[e,s]},async(e,[[n,s,r],[o,i,l]]=e())=>{const c=At();Ft(c,a(se),[0,s,r]),kt(n,([e,t,n],s)=>{Ft(c,a(se,s),[0,t,n]),kt(e,([e,t,n],r)=>{Ft(c,a(se,s,r),[0,t,n]),kt(e,(e,t)=>Ft(c,a(se,s,r,t),e))})}),Ft(c,a(ae),[0,i,l]),kt(o,(e,t)=>Ft(c,a(ae,t),e)),await t.put(Wt(c))},Me,Me,s,2,{getStorage:()=>t})},Ta=(e,t,n,s,a)=>wa(e,n,async(e,n=[])=>await t.db.raw({sql:e,args:n}),e=>t.notifier.subscribeToDataChanges(n=>ze(t.notifier.alias(n),({tablename:t})=>e(t))),e=>e(),s,a,Me,1,t,"getElectricClient"),xa=(t,n,s,a,r)=>wa(t,s,async(e,t=[])=>await n.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),a,r,Me,3,n),La=(e,o,i)=>Is(e,async()=>bn(await r(o,R)),async e=>await a(o,In(e()),R),e=>(t(o)||n(o,w,R),s(o,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>o}),ka=[se,ae],Ea={keyPath:"k"},Na=async(e,t)=>{const n=Et(t,(t,n)=>Ma(e,"put",{k:n,v:t}));Be(await Ma(e,"getAllKeys"),s=>xt(t,s)?0:Ge(n,Ma(e,"delete",s))),await De(n)},Ma=async(e,t,n)=>Pe((s,a)=>{const r=e[t](n);r.onsuccess=()=>s(r.result),r.onerror=()=>a(`objectStore.${t} error`)}),Pa=(e,t,n=1,s)=>{const a=async(e,n=[],s=0)=>Pe((a,r)=>{const o=(ge?ge.indexedDB:indexedDB).open(t,s?2:void 0);o.onupgradeneeded=()=>s&&Be(ka,e=>Oe(()=>o.result.createObjectStore(e,Ea))),o.onsuccess=()=>Oe(async()=>{const t=o.result.transaction(ka,"readwrite"),s=await De(Be(ka,(s,a)=>e(t.objectStore(s),n[a])));o.result.close(),a(s)},e=>{o.result.close(),r(e)}),o.onerror=()=>r("indexedDB.open error")});return Is(e,async()=>await a(async e=>St(Be(await Ma(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>a((e,t)=>Na(e,t),e(),1),e=>we(e,n),e=>me(e),s,1,{getDbName:()=>t})},Da=(e,t,n,s,a)=>wa(e,n,async(e,n=[])=>(await t.execute({sql:e,args:n})).rows,()=>Me,e=>e(),s,a,Me,1,t,"getClient"),$a="s",Oa="/store",qa=(e,t,n)=>e+t+(Te(n)?n:pn(n)),Aa=(e,t,n)=>{const s=Ee(e);return oe(t,e)?[t[s],(n?mn:String)(ke(t,s+1))]:void 0},Va=(e,t,n,s)=>{const{host:a,room:r}=t.partySocketOptions,{storeProtocol:o="https",storePath:i=Oa,messagePrefix:l=w}={...Te(n)?{storeProtocol:n}:n},c=o+"://"+a+"/parties/"+t.name+"/"+r+i,d=async e=>await(await fetch(c,{...e?{method:"PUT",body:pn(e)}:{},mode:"cors",cache:"no-store"})).json();return Is(e,d,async(e,n)=>{n?t.send(qa(l,$a,n)):await d(e())},e=>{const n=t=>Se(Aa(l,t.data,1),([t,n])=>{t==$a&&e(void 0,n)});return t.addEventListener(te,n),n},e=>{t.removeEventListener(te,e)},s,1,{getConnection:()=>t})},_a="hasStore",Ha=St(Be(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),za=async(e,t=w)=>!!await e.get(t+_a),Fa=async(e,t=w)=>{const n={},s={};return Ht(await e.list(),(e,a)=>Se(Aa(t,e),([e,t])=>{if(e==se){const[e,s,r]=mn("["+t+"]");Ot(Ot(n,e,St),s,St)[r]=a}else e==ae&&(s[t]=a)})),[n,s]},Ba=async(e,t,n)=>e.party.broadcast(qa(e.config.messagePrefix??w,$a,t),n),Ua=async(e,t,n,s)=>{const a=e.party.storage,r=e.config.storagePrefix??w,o={[r+_a]:1},i=[],l=[];await De(Et(t[0],async(t,c)=>ve(t)?!n&&await e.canDelTable(c,s)&&Xe(l,Wa(r,se,c)):await e.canSetTable(c,n,s)&&await De(Et(t,async(t,d)=>ve(t)?!n&&await e.canDelRow(c,d,s)&&Ge(l,Wa(r,se,c,d)):await e.canSetRow(c,d,n,s)&&await De(Et(t,async(t,l)=>{const u=[c,d,l],h=Wa(r,se,...u);ve(t)?!n&&await e.canDelCell(...u,s)&&Ge(i,h):await e.canSetCell(...u,t,n,s,await a.get(h))&&(o[h]=t)})))))),await De(Et(t[1],async(t,l)=>{const c=r+ae+l;ve(t)?!n&&await e.canDelValue(l,s)&&Ge(i,c):await e.canSetValue(l,t,n,s,await a.get(c))&&(o[c]=t)})),We(l)||Ht(await a.list(),e=>Ae(l,t=>!oe(e,t)||Ge(i,e)&&0)),await a.delete(i),await a.put(o)},Wa=(e,t,...n)=>qa(e,t,ke(pn(n),1,-1)),Ja=async(e,t,n=null)=>new Response(n,{status:t,headers:e.config.responseHeaders});class Qa{constructor(e){this.party=e,this.config.storePath??=Oa,this.config.messagePrefix??=w,this.config.storagePrefix??=w,this.config.responseHeaders??=Ha}config={};async onRequest(e){const{party:{storage:t},config:{storePath:n=Oa,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(n)){const n=await za(t,s),a=await e.text();return"PUT"==e.method?n?Ja(this,205):(await Ua(this,mn(a),!0,e),Ja(this,201)):Ja(this,200,n?pn(await Fa(t,s)):w)}return Ja(this,404)}async onMessage(e,t){const{config:{messagePrefix:n=w,storagePrefix:s}}=this;await Se(Aa(n,e,1),async([e,n])=>{e==$a&&await za(this.party.storage,s)&&(await Ua(this,n,!1,t),Ba(this,n,[t.id]))})}async canSetTable(e,t,n){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,n,s){return!0}async canDelRow(e,t,n){return!0}async canSetCell(e,t,n,s,a,r,o){return!0}async canDelCell(e,t,n,s){return!0}async canSetValue(e,t,n,s,a){return!0}async canDelValue(e,t){return!0}}const ja=async(e,t,n,s,a)=>ga(e,n,async(e,n=[])=>(await t.query(e,n)).rows,(e,n)=>t.listen(e,n),e=>Oe(e,a),s,a,Me,3,t,"getPglite"),Ga=async(e,t,n,s,a)=>{const r=await(t.reserve?.());return ga(e,n,r?.unsafe,async(e,n)=>t.listen(e,n),e=>Oe(e.unlisten,a),s,a,()=>r?.release?.(),3,t,"getSql")},Ya=(e,t,n,s,a)=>{let r;return wa(e,n,async(e,n=[])=>t.execute(e,n).then(e=>e.rows?._array??[]),e=>{const n=new AbortController,s=t.onChange({rawTableNames:!0,signal:n.signal});return(async()=>{for await(const e of s)r&&Be(e.changedTables,r)})(),r=e,n},e=>{r=void 0,e.abort()},s,a,Me,1,t,"getPowerSync",Xa)},Xa=async(e,t,n,s,a,r)=>{const o=[1],i=Kt(s),l=r?Qe([...r],e=>e!=n&&!dt(i,e)):[];if(!We(l)){const s=Ct(a),r=St(Be(await e(fs+Fs(n,...l)+Ls+Hs(t)+Cs+Hs(n)+"IN("+Bs(s)+")",s),e=>[e[n],e]));ze(s,e=>Ge(a[e],...Be(l,t=>r?.[e]?.[t]??null)))}await e(Ss+" "+qs+"INTO"+Hs(t)+"("+Fs(n,...s,...l)+")VALUES"+Fe(Et(a,e=>"($"+o[0]+++","+Bs(e,o)+")"),m),Et(a,(e,t)=>[t,...Be(e,e=>e??null)]).flat())},Ka=e=>e.headers.get("ETag"),Za=(e,t,n,s=5,a)=>{let r;return Is(e,async()=>{const e=await fetch(t);return r=Ka(e),mn(await e.text())},async e=>await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:pn(e())}),e=>we(async()=>{const n=await fetch(t,{method:"HEAD"}),s=Ka(n);ve(r)||ve(s)||s==r||(r=s,e())},s),e=>me(e),a,1,{getUrls:()=>[t,n]})},er=(e,t,n,s,a)=>wa(e,n,async(e,n=[])=>t.query(e).all(...n),()=>Me,e=>e(),s,a,Me,3,t),tr=(e,t,n,s,a,r)=>wa(e,s,async(e,t=[])=>n.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(n,(t,n,s,a)=>e(a),0),()=>t.capi.sqlite3_update_hook(n,Me,0),a,r,Me,3,n),nr="change",sr=(e,t,n,s,a)=>wa(e,n,async(e,n=[])=>await Pe((s,a)=>t.all(e,n,(e,t)=>e?a(e):s(t))),e=>{const n=(t,n,s)=>e(s);return t.on(nr,n),n},e=>t.off(nr,e),s,a,Me,3,t),ar="delete",rr=e=>[e.get(se),e.get(ae)],or=(e,t,n,s)=>{const a=ve(t)?e:e.get(t)??e.set(t,new o);let r;return Nt(n,(e,t)=>{s(a,t,e)&&(r=1)}),a.forEach((e,t)=>{xt(n,t)||(a.delete(t),r=1)}),ve(t)||a.size||e.delete(t),r},ir=(e,t,n=g,s)=>{const a=t.getMap(n);return Is(e,async()=>a.size?[a.get(se).toJSON(),a.get(ae).toJSON()]:void 0,async(e,n)=>t.transact(()=>((e,t,n)=>{e.size||(e.set(se,new o),e.set(ae,new o));const[s,a]=rr(e),r=()=>{i=1};let i=1;if(Se(n,([e,t])=>{i=0,Nt(e,(e,t)=>i?0:ve(e)?s.delete(t):Se(s.get(t),t=>Nt(e,(e,n)=>i?0:ve(e)?t.delete(n):Se(t.get(n),t=>Nt(e,(e,n)=>ve(e)?t.delete(n):t.set(n,e)),r)),r)),Nt(t,(e,t)=>i?0:ve(e)?a.delete(t):a.set(t,e))}),i){const[e,n]=t();or(s,void 0,e,(e,t,n)=>or(s,t,n,(e,t,n)=>or(e,t,n,(e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1}))),or(a,void 0,n,(e,t,n)=>{a.get(t)!==n&&a.set(t,n)})}})(a,e,n)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Ee(t)&&We(t[0].path))return[e.get(se).toJSON(),e.get(ae).toJSON(),1];const[n,s]=rr(e),a={},r={};return ze(t,({path:e,changes:{keys:t}})=>Ke(e)==se?Se(Ke(e),s=>{const r=Ot(a,s,St),o=n.get(s);Se(Ke(e),e=>{const n=Ot(r,e,St),s=o.get(e);Ht(t,(e,{action:t})=>n[e]=t==ar?null:s.get(e))},()=>Ht(t,(e,{action:t})=>r[e]=t==ar?null:o.get(e)?.toJSON()))},()=>Ht(t,(e,{action:t})=>a[e]=t==ar?null:n.get(e)?.toJSON())):Ht(t,(e,{action:t})=>r[e]=t==ar?null:s.get(e))),[a,r,1]})(a,t));return a.observeDeep(t),t},e=>{a.unobserveDeep(e)},s,1,{getYDoc:()=>t})},lr=nn(e=>{const t=e.createStore,n=t(),s=t(),a=At(),{addListener:r,callListeners:o,delListener:i}=s,[l,c,d,u,h,,,g,,m,p,I,b,y]=en(e,()=>!0,Ne,r,o),f=(e,t,...n)=>ze(n,n=>Zt(Bt(Bt(a,t,At),e,Kt),n)),C=e=>{Se(_t(a,e),e=>{Ht(e,(e,t)=>wt(t,t=>e.delListener(t))),gt(e)}),ze([s,n],t=>t.delTable(e))},v=(e,t,n)=>f(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener(()=>n.finishTransaction())),S={setQueryDefinition:(t,a,r)=>{g(t,a),C(t);const o=[],i=[[null,[a,null,null,[],At()]]],l=[],c=[],d=[];r({select:(e,t)=>{const n=xe(e)?[Ee(o)+w,e]:[ve(t)?e:t,n=>n(e,t)];return Ge(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=ve(n)||xe(t)?null:t,a=ve(s)?t:n,r=[e,[e,s,xe(a)?a:e=>e(a),[],At()]];return Ge(i,r),{as:e=>r[0]=e}},where:(e,t,n)=>Ge(l,xe(e)?e:ve(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,a)=>{const r=[e,[e,xe(t)?[t,n,s,a]:_t(ds,t)??[(e,t)=>t]]];return Ge(c,r),{as:e=>r[0]=e}},having:(e,t)=>Ge(d,xe(e)?e:n=>n(e)===t)});const u=At(o);if(ut(u))return S;const h=At(i);Ht(h,(e,[,t])=>Se(_t(h,t),({3:t})=>ve(e)?0:Ge(t,e)));const m=At(c);let p=n;if(ut(m)&&We(d))p=s;else{v(t,p,s);const e=At();Ht(m,(t,[n,s])=>Zt(Bt(e,n,Kt),[t,s]));const n=Kt();Ht(u,t=>dt(e,t)?0:Zt(n,t));const a=At(),r=(n,a,r,o)=>Se(n,([i,l,c,u])=>{Ht(a,(t,[n])=>{const s=Bt(i,t,At),a=_t(s,r),l=o?void 0:n;if(a!==l){const n=Kt([[a,l]]),o=ot(s);Ft(s,r,l),wt(_t(e,t),([e,t])=>{const a=us(u[e],o,s,n,t);u[e]=ve(et(a))?null:a})}}),ut(l)||!Ae(d,e=>e(e=>u[e]))?s.delRow(t,c):ve(c)?n[2]=s.addRow(t,u):s.setRow(t,c,u)});f(p,t,p.addRowListener(t,null,(s,o,i,l)=>{const c=[],d=[],u=At(),h=p.hasRow(t,i);let g=!h;wt(n,e=>{const[n,s,a]=l(t,i,e);Ge(c,s),Ge(d,a),g||=n}),Ht(e,e=>{const[n,,s]=l(t,i,e);(g||n)&&Ft(u,e,[s])}),g&&r(Xt(a,c,void 0,([,e])=>(mt(e,i),ut(e))),u,i,1),h&&r(Xt(a,d,()=>{const e={};return wt(n,n=>e[n]=p.getCell(t,i,n)),[At(),Kt(),void 0,e]},([,e])=>{Zt(e,i)}),u,i)}))}v(t,e,p);const I=(n,s,r,o)=>{const i=t=>e.getCell(s,r,t);ze(o,s=>{const[a,,r,o,l]=_t(h,s),c=r?.(i,n),[d,u]=_t(l,n)??[];c!=d&&(ve(u)||y(t,u),Ft(l,n,ve(c)?null:[c,...b(t,1,e.addRowListener(a,c,()=>I(n,a,c,o)))]))}),(n=>{const s=(t,s)=>e.getCell(...ve(s)?[a,n,t]:t===a?[a,n,s]:[_t(h,t)?.[0],_t(_t(h,t)?.[4],n)?.[0],s]);p.transaction(()=>Ae(l,e=>e(s))?Ht(u,(e,a)=>nt(p,t,n,e,a(s,n))):p.delRow(t,n))})(n)},{3:R}=_t(h,null);return p.transaction(()=>b(t,1,e.addRowListener(a,null,(n,s,r)=>{e.hasRow(a,r)?I(r,a,r,R):(p.delRow(t,r),wt(h,({4:e})=>Se(_t(e,r),([,n])=>{y(t,n),Ft(e,r)})))}))),S},delQueryDefinition:e=>(C(e),m(e),S),getStore:l,getQueryIds:c,forEachQuery:d,hasQuery:u,getTableId:h,addQueryIdsListener:e=>p(()=>e(S)),delListener:e=>(i(e),S),destroy:I,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...a}=s.getListenerStats();return a}};return Nt({[M]:[1,1],[M+_]:[0,1],[O]:[0,1],[q]:[0,1],[A]:[0,5],[$]:[1,2],[_]:[0,2],[V]:[1,3]},([e,t],n)=>{ze(e?[L,"has","forEach"]:[L],e=>S[e+x+n]=(...t)=>s[e+n](...t)),S[k+x+n+T]=(...e)=>s[k+n+T](...ke(e,0,t),(n,...s)=>e[t](S,...s),!0)}),vt(S)}),cr=nn(e=>{const t=At(),n=At(),s=At(),a=At(),[r,o,i]=rn(()=>v),[l,c,d,u,h,g,,,m,p,I,b]=en(e,()=>[At(),At(),At(),At()],e=>ve(e)?void 0:e+w,r,o),y=(e,t,n)=>Se(g(e),([s,,a])=>{if(!dt(a,t)){const r=Kt();if(h(e)!=C(e))Zt(r,t);else{let e=t;for(;!ve(e)&&!dt(r,e);)Zt(r,e),e=_t(s,e)}if(n)return r;Ft(a,t,r)}return _t(a,t)}),f=(e,t)=>Se(g(e),([,,e])=>Ft(e,t)),C=e=>_t(t,e),v={setRelationshipDefinition:(e,r,i,l)=>(Ft(t,e,i),m(e,r,(t,r)=>{const i=Kt(),l=Kt(),c=Kt(),[d,u]=g(e);wt(r,([t,n],s)=>{ve(t)||(Zt(l,t),Se(_t(u,t),e=>{mt(e,s),ut(e)&&Ft(u,t)})),ve(n)||(Zt(l,n),dt(u,n)||Ft(u,n,Kt()),Zt(_t(u,n),s)),Zt(i,s),Ft(d,s,n),Ht(_t(a,e),t=>{dt(y(e,t),s)&&Zt(c,t)})}),t(),wt(i,t=>o(n,[e,t])),wt(l,t=>o(s,[e,t])),wt(c,t=>{f(e,t),o(a,[e,t])})},tn(l)),v),delRelationshipDefinition:e=>(Ft(t,e),p(e),v),getStore:l,getRelationshipIds:c,forEachRelationship:t=>d(n=>t(n,t=>e.forEachRow(h(n),t))),hasRelationship:u,getLocalTableId:h,getRemoteTableId:C,getRemoteRowId:(e,t)=>_t(g(e)?.[0],t),getLocalRowIds:(e,t)=>ht(_t(g(e)?.[1],t)),getLinkedRowIds:(e,t)=>ve(g(e))?[t]:ht(y(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),r(n,a,[e,t])),delListener:e=>(f(...i(e)??[]),v),destroy:b,getListenerStats:()=>({remoteRowId:lt(n),localRowIds:lt(s),linkedRowIds:lt(a)})};return vt(v)}),dr={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},ur=(e,t,n,s,a,r,o,i,l={})=>{let c,d=0,u=0,h=0;const g=At(),m=()=>gn(11),I=(e,n,s,a)=>{u++,r?.(e,n,s,a),t(e,n,s,a)},b=async(e,t,n,s)=>Pe((r,o)=>{const i=s+p+gn(4),l=pe(()=>{mt(g,i),o(`No response from ${e??"anyone"} to ${i}, `+t)},a);Ft(g,i,[e,(e,t)=>{clearTimeout(l),mt(g,i),r([e,t,s])}]),I(e,i,t,n)}),y=(e,[t,n])=>{kt(t,([t,n],s)=>{const a=Ot(e[0],s,Gn);kt(t,([e,t],n)=>{const s=Ot(a[0],n,Gn);kt(e,([e,t],n)=>s[0][n]=Bn(e,t)),s[1]=Qn(s[1],t)}),a[1]=Qn(a[1],n)}),e[1]=Qn(e[1],n)},f=(t=null,n,s=m())=>Oe(async()=>{ve(n)&&([n,t,s]=await b(null,1,w,s));const[a,r]=n,[o,i]=e.getMergeableContentHashes();let l=Gn();if(o!=a){const[n,a]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=n,!Dt(a)){const[n,r]=(await b(t,5,e.getMergeableRowHashes(a),s))[0];if(y(l,n),!Dt(r)){const n=(await b(t,6,e.getMergeableCellHashes(r),s))[0];y(l,n)}}}return[l,i==r?Gn():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=Is(e,async()=>{const e=await f();return!e||Dt(e[0][0])&&Dt(e[1][0])?void 0:e},async(t,n)=>n?I(null,m(),3,n):I(null,m(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(d=1,await C.startAutoPersisting(e)),stopSync:async()=>(d=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:u,receives:h}),...l},1);return n((t,n,s,a)=>{const r=d||C.isAutoLoading();h++,o?.(t,n,s,a),0==s?Se(_t(g,n),([e,n])=>ve(e)||e==t?n(a,t):0):2==s&&r?f(t,a,n??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&r?c?.(void 0,a):Se(1==s&&(d||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(a):5==s?e.getMergeableRowDiff(a):6==s?e.getMergeableCellDiff(a):7==s?e.getMergeableValueDiff(a):void 0,e=>{I(t,n,0,e)})}),C},hr=(e,t,n,s,a)=>{const r=gn(),o=new BroadcastChannel(t);return ur(e,(e,t,n,s)=>o.postMessage([r,e,t,n,s]),e=>{o.onmessage=({data:[t,n,s,a,o]})=>ve(n)||n==r?e(t,s,a,o):0},()=>{o.close()},.01,n,s,a,{getChannelName:()=>t})},gr=At(),wr=(e,t,n,s)=>{const a=gn();return ur(e,(e,t,n,s)=>pe(()=>ve(e)?Ht(gr,(e,r)=>e!=a?r(a,t,n,s):0):_t(gr,e)?.(a,t,n,s)),e=>{Ft(gr,a,e)},()=>{mt(gr,a)},.01,t,n,s)},mr=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(ke(e,0,n),ke(e,n+1))},pr=(e,t)=>mr(e,(e,n)=>t(e,...bn(n))),Ir=(e,...t)=>br(e??w,In(t)),br=(e,t)=>e+"\n"+t,yr=async(e,t,n=1,s,a,r)=>{const o=(e,n)=>(t.addEventListener(e,n),()=>t.removeEventListener(e,n)),i=ur(e,(e,...n)=>t.send(Ir(e,...n)),e=>o(te,({data:t})=>pr(t.toString(R),e)),()=>{t.close()},n,s,a,r,{getWebSocket:()=>t});return Pe(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&r?.(t),n(),s(),e(i)},n=o("open",()=>t()),s=o(ne,t)}else e(i)})},fr=/\/([^?]*)/,Cr="S",vr=e=>le(new URL(e.url).pathname,fr)?.[1]??w,Sr=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,Rr=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Tr=()=>Rr(426,null,"Upgrade required");class xr extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await Se(await this.createPersister(),async e=>{const t=ur(e.getStore(),(e,t,n,s)=>this.#t(Cr,Ir(e,t,n,s)),e=>this.#e=t=>pr(t,e),Me,1);await e.load(),await e.startAutoSave(),pe(t.startSync)}))}fetch(e){const t=vr(e);return Se(Sr(e),e=>{const[n,s]=Mt(new WebSocketPair);return We(this.#n())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Ir(Cr,null,1,w)),Rr(101,n)},Tr)}webSocketMessage(e,t){Se(this.ctx.getTags(e)[0],n=>this.#t(n,t.toString(),e))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==Ee(this.#n())&&this.onPathId(n,-1)}#t(e,t,n){mr(t.toString(),(t,s)=>{const a=br(e,s);this.onMessage(e,t,s),t==w?(e!=Cr&&this.#e?.(a),ze(this.#n(),e=>{e!=n&&e.send(a)})):t==Cr?this.#e?.(a):t!=e&&this.#n(t)[0]?.send(a)})}#n(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#n()[0])?.[1]}getClientIds(){return Be(this.#n(),e=>this.ctx.getTags(e)[0])}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}const Lr=e=>(t,n)=>Sr(t)?n[e].get(n[e].idFromName(vr(t))).fetch(t):Tr(),kr=/\/([^?]*)/,Er=e=>{const t=At();return e.on("connection",(e,n)=>Se(le(n.url,kr),([,s])=>Se(n.headers["sec-websocket-key"],async n=>{const a=Bt(t,s,At);Ft(a,n,e),e.on(te,e=>mr(e.toString(R),(e,t)=>{const s=br(n,t);e===w?Ht(a,(e,t)=>e!==n?t.send(s):0):_t(a,e)?.send(s)})),e.on("close",()=>{mt(a,n),ut(a)&&mt(t,s)})}))),vt({getWebSocketServer:()=>e,destroy:async()=>{gt(t),e.close()}})},Nr=/\/([^?]*)/,Mr=(e,t,n)=>{const s=At(),a=At(),r=At(),o=At(),[i,l,c]=rn(()=>h),d=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},u=(e,t,n)=>s=>mr(s,(s,a)=>{const r=br(e,a);s===w?("S"!==e&&n[3]?.(r),Ht(t,(t,n)=>t!==e?n.send(r):0)):"S"===s?n[3]?.(r):_t(t,s)?.send(r)});e.on("connection",(e,i)=>Se(le(i.url,Nr),([,c])=>Se(i.headers["sec-websocket-key"],async i=>{const h=Bt(r,c,At),g=Bt(o,c,()=>[0]),w=u(i,h,g);ut(h)&&(l(s,void 0,c,1),await(async(e,s,a)=>Se(await(t?.(s)),t=>{e[0]=1,e[1]=Le(t)?t[0]:t;const s=u("S",a,e);e[2]=ur(e[1].getStore(),(e,t,n,a)=>s(Ir(e,t,n,a)),t=>e[3]=e=>pr(e,t),Me,1,void 0,void 0,n),e[4]=[],e[5]=Le(t)?t[1]:e=>0}))(g,c,h)),Ft(h,i,e),l(a,[c],i,1),e.on(te,e=>{const t=e.toString(R);0==g[0]?w(t):Ge(g[4],t)}),1==g[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})(g),ze(g[4],w),g[4]=[]),e.on("close",async()=>{mt(h,i),l(a,[c],i,-1),ut(h)&&(await d(g),mt(o,c),mt(r,c),l(s,void 0,c,-1))}),n&&e.on(ne,n)}))),n&&e.on(ne,n);const h={getWebSocketServer:()=>e,getPathIds:()=>Vt(r),getClientIds:e=>Vt(_t(r,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,a,[e]),delListener:e=>(c(e),h),getStats:()=>({paths:ot(r),clients:it(r)}),destroy:async()=>{gt(r),await De(zt(o,d)),e.close()}};return vt(h)},{PureComponent:Pr,createContext:Dr,useCallback:$r,useContext:Or,useEffect:qr,useLayoutEffect:Ar,useMemo:Vr,useRef:_r,useState:Hr,useSyncExternalStore:zr}=u,Fr=(e,...t)=>ve(e)?{}:e(...t),Br=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],Ur=(e,t)=>[e,e?.getStore(),e?.getTableId(t)];var Wr=(e=>(e[e.Store=0]="Store",e[e.Metrics=1]="Metrics",e[e.Indexes=2]="Indexes",e[e.Relationships=3]="Relationships",e[e.Queries=4]="Queries",e[e.Checkpoints=5]="Checkpoints",e[e.Persister=6]="Persister",e[e.Synchronizer=7]="Synchronizer",e))(Wr||{});const Jr=g+"_uirc",Qr=he[Jr]?he[Jr]:he[Jr]=Dr([]),jr=(e,t)=>{const n=Or(Qr);return ve(e)?n[2*t]:Te(e)?Tt(n[2*t+1],e):e},Gr=(e,t)=>{const n=jr(e,t);return ve(e)||Te(e)?n:e},Yr=(e,t,n)=>{const{16:s,17:a}=Or(Qr);qr(()=>(s?.(n,e,t),()=>a?.(n,e)),[s,e,t,n,a])},Xr=e=>Ct(Or(Qr)[2*e+1]??{}),Kr=[],Zr=[{},[],[Kr,void 0,Kr],void 0,!1,0],eo=[$t,Ve,([e,t,n],[s,a,r])=>t===a&&Ve(e,s)&&Ve(n,r)],to=(e,t)=>e===t,no=(e,t,n=Kr)=>{const[,s]=Hr(),[a,r]=Hr();return qr(()=>{const n=e?t(e):void 0;return r(n),s([]),n?.destroy},[e,...n]),a},so=(e,t,...n)=>{const s=e?.[k+t+T]?.(...n);return()=>e?.delListener?.(s)},ao=(e,t,n,s=Kr)=>{const a=_r(Zr[n]),r=$r(()=>{const r=t?.[(4==n?"has":L)+e]?.(...s)??Zr[n];return(eo[n]??to)(r,a.current)?a.current:a.current=r},[t,n,e,...s]),o=$r(a=>so(t,(4==n?E:w)+e,...s,a),[t,n,e,...s]);return zr(o,r,r)},ro=(e,t,n,s=Kr,a=Kr,...r)=>Ar(()=>so(t,e,...a,n,...r),[t,e,...a,...s,...r]),oo=(e,t,n,s=Kr,a=Ne,r=Kr,...o)=>{const i=Io(e);return $r(e=>Se(i,s=>Se(n(e,s),n=>a(s["set"+t](...io(o,s,e),n),n))),[i,t,...s,...r,...lo(o)])},io=(e,t,n)=>Be(e,e=>xe(e)?e(n,t):e),lo=e=>Qe(e,e=>!xe(e)),co=(e,t,n=Ne,s=Kr,...a)=>{const r=Io(e);return $r(e=>n(r?.["del"+t](...io(a,r,e))),[r,t,...s,...lo(a)])},uo=(e,t,n)=>{const s=Tl(e);return $r(()=>s?.[t](n),[s,t,n])},ho=(e,t,n,s,a,r,o,i,l)=>ro(A,Io(l),r,o,[e,t,n,s,a],i),go=(e,t=Kr)=>Vr(e,t),wo=()=>Xr(Wr.Store),mo=e=>jr(e,Wr.Store),po=()=>{return e=Wr.Store,{...Or(Qr)[2*e+1]};var e},Io=e=>Gr(e,Wr.Store),bo=(e,t)=>Yr(e,t,Wr.Store),yo=(e,t=Kr)=>Vr(e,t),fo=e=>ao(P,Io(e),4,[]),Co=e=>ao(P,Io(e),0),vo=e=>ao(D,Io(e),1),So=(e,t)=>ao(M,Io(t),4,[e]),Ro=(e,t)=>ao(M,Io(t),0,[e]),To=(e,t)=>ao(M+_,Io(t),1,[e]),xo=(e,t,n)=>ao(M+V,Io(n),4,[e,t]),Lo=(e,t)=>ao(O,Io(t),5,[e]),ko=(e,t)=>ao(q,Io(t),1,[e]),Eo=(e,t,n,s,a,r)=>((e,t,n,s,a,r)=>ao(A,Io(r),1,[e,t,n,s,a]))(...ft(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,s,a,r]),No=(e,t,n)=>ao($,Io(n),4,[e,t]),Mo=(e,t,n)=>ao($,Io(n),0,[e,t]),Po=(e,t,n)=>ao(_,Io(n),1,[e,t]),Do=(e,t,n,s)=>ao(V,Io(s),4,[e,t,n]),$o=(e,t,n,s)=>ao(V,Io(s),3,[e,t,n]),Oo=e=>ao(z,Io(e),4,[]),qo=e=>ao(z,Io(e),0),Ao=e=>ao(F,Io(e),1),Vo=(e,t)=>ao(H,Io(t),4,[e]),_o=(e,t)=>ao(H,Io(t),3,[e]),Ho=(e,t,n,s,a)=>oo(n,P,e,t,s,a),zo=(e,t,n,s,a,r)=>oo(s,M,t,n,a,r,e),Fo=(e,t,n,s,a,r,o)=>oo(a,$,n,s,r,o,e,t),Bo=(e,t,n=Kr,s,a=Ne,r=Kr,o=!0)=>{const i=Io(s);return $r(n=>Se(i,s=>Se(t(n,s),t=>a(s.addRow(xe(e)?e(n,s):e,t,o),s,t))),[i,e,...n,...r,o])},Uo=(e,t,n,s,a,r,o)=>oo(a,U+$,n,s,r,o,e,t),Wo=(e,t,n,s,a,r,o,i)=>oo(r,V,s,a,o,i,e,t,n),Jo=(e,t,n,s,a)=>oo(n,z,e,t,s,a),Qo=(e,t,n,s,a)=>oo(n,U+z,e,t,s,a),jo=(e,t,n,s,a,r)=>oo(s,H,t,n,a,r,e),Go=(e,t,n)=>co(e,P,t,n),Yo=(e,t,n,s)=>co(t,M,n,s,e),Xo=(e,t,n,s,a)=>co(n,$,s,a,e,t),Ko=(e,t,n,s,a,r,o)=>co(a,V,r,o,e,t,n,s),Zo=(e,t,n)=>co(e,z,t,n),ei=(e,t,n,s)=>co(t,H,n,s,e),ti=(e,t,n,s)=>ro(E+P,Io(s),e,t,[],n),ni=(e,t,n,s)=>ro(P,Io(s),e,t,Kr,n),si=(e,t,n,s)=>ro(D,Io(s),e,t,Kr,n),ai=(e,t,n,s,a)=>ro(E+M,Io(a),t,n,[e],s),ri=(e,t,n,s,a)=>ro(M,Io(a),t,n,[e],s),oi=(e,t,n,s,a)=>ro(M+_,Io(a),t,n,[e],s),ii=(e,t,n,s,a,r)=>ro(E+M+V,Io(r),n,s,[e,t],a),li=(e,t,n,s,a)=>ro(O,Io(a),t,n,[e],s),ci=(e,t,n,s,a)=>ro(q,Io(a),t,n,[e],s),di=(e,t,n,s,a,r,o,i,l)=>ho(...ft(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t,n,s,a]:[e,t,n,s,a,r,o,i,l]),ui=(e,t,n,s,a,r)=>ro(E+$,Io(r),n,s,[e,t],a),hi=(e,t,n,s,a,r)=>ro($,Io(r),n,s,[e,t],a),gi=(e,t,n,s,a,r)=>ro(_,Io(r),n,s,[e,t],a),wi=(e,t,n,s,a,r,o)=>ro(E+V,Io(o),s,a,[e,t,n],r),mi=(e,t,n,s,a,r,o)=>ro(V,Io(o),s,a,[e,t,n],r),pi=(e,t,n,s)=>ro(E+z,Io(s),e,t,[],n),Ii=(e,t,n,s)=>ro(z,Io(s),e,t,Kr,n),bi=(e,t,n,s)=>ro(F,Io(s),e,t,Kr,n),yi=(e,t,n,s,a)=>ro(E+H,Io(a),t,n,[e],s),fi=(e,t,n,s,a)=>ro(H,Io(a),t,n,[e],s),Ci=(e,t,n)=>ro("Start"+B,Io(n),e,t),vi=(e,t,n)=>ro("Will"+W+B,Io(n),e,t),Si=(e,t,n)=>ro("Did"+W+B,Io(n),e,t),Ri=(e,t,n)=>no(e,t,n),Ti=()=>Xr(Wr.Metrics),xi=e=>jr(e,Wr.Metrics),Li=e=>Gr(e,Wr.Metrics),ki=(e,t)=>Yr(e,t,Wr.Metrics),Ei=e=>ao(Q+N,Li(e),1),Ni=(e,t)=>ao(Q,Li(t),3,[e]),Mi=(e,t,n,s)=>ro(Q,Li(s),t,n,[e]),Pi=(e,t,n)=>no(e,t,n),Di=()=>Xr(Wr.Indexes),$i=e=>jr(e,Wr.Indexes),Oi=e=>Gr(e,Wr.Indexes),qi=(e,t)=>Yr(e,t,Wr.Indexes),Ai=(e,t)=>ao(j+N,Oi(t),1,[e]),Vi=e=>ao("Index"+N,Oi(e),1),_i=(e,t,n)=>ao(j+q,Oi(n),1,[e,t]),Hi=(e,t,n,s)=>ro(j+N,Oi(s),t,n,[e]),zi=(e,t,n,s,a)=>ro(j+q,Oi(a),n,s,[e,t]),Fi=(e,t,n)=>no(e,t,n),Bi=()=>Xr(Wr.Relationships),Ui=e=>jr(e,Wr.Relationships),Wi=e=>Gr(e,Wr.Relationships),Ji=(e,t)=>Yr(e,t,Wr.Relationships),Qi=e=>ao("Relationship"+N,Wi(e),1),ji=(e,t,n)=>ao(G,Wi(n),3,[e,t]),Gi=(e,t,n)=>ao(Y+q,Wi(n),1,[e,t]),Yi=(e,t,n)=>ao(X+q,Wi(n),1,[e,t]),Xi=(e,t,n,s,a)=>ro(G,Wi(a),n,s,[e,t]),Ki=(e,t,n,s,a)=>ro(Y+q,Wi(a),n,s,[e,t]),Zi=(e,t,n,s,a)=>ro(X+q,Wi(a),n,s,[e,t]),el=(e,t,n)=>no(e,t,n),tl=()=>Xr(Wr.Queries),nl=e=>jr(e,Wr.Queries),sl=e=>Gr(e,Wr.Queries),al=(e,t)=>Yr(e,t,Wr.Queries),rl=e=>ao("Query"+N,sl(e),1),ol=(e,t)=>ao(x+M,sl(t),0,[e]),il=(e,t)=>ao(x+M+_,sl(t),1,[e]),ll=(e,t)=>ao(x+O,sl(t),5,[e]),cl=(e,t)=>ao(x+q,sl(t),1,[e]),dl=(e,t,n,s=0,a,r)=>ao(x+A,sl(r),1,[e,t,n,s,a]),ul=(e,t,n)=>ao(x+$,sl(n),0,[e,t]),hl=(e,t,n)=>ao(x+_,sl(n),1,[e,t]),gl=(e,t,n,s)=>ao(x+V,sl(s),3,[e,t,n]),wl=(e,t,n,s)=>ro(x+M,sl(s),t,n,[e]),ml=(e,t,n,s)=>ro(x+M+_,sl(s),t,n,[e]),pl=(e,t,n,s)=>ro(x+O,sl(s),t,n,[e]),Il=(e,t,n,s)=>ro(x+q,sl(s),t,n,[e]),bl=(e,t,n,s,a,r,o,i)=>ro(x+A,sl(i),r,o,[e,t,n,s,a]),yl=(e,t,n,s,a)=>ro(x+$,sl(a),n,s,[e,t]),fl=(e,t,n,s,a)=>ro(x+_,sl(a),n,s,[e,t]),Cl=(e,t,n,s,a,r)=>ro(x+V,sl(r),s,a,[e,t,n]),vl=(e,t,n)=>no(e,t,n),Sl=()=>Xr(Wr.Checkpoints),Rl=e=>jr(e,Wr.Checkpoints),Tl=e=>Gr(e,Wr.Checkpoints),xl=(e,t)=>Yr(e,t,Wr.Checkpoints),Ll=e=>ao(K+N,Tl(e),2),kl=(e,t)=>ao(K,Tl(t),3,[e]),El=(e=Ne,t=Kr,n,s=Ne,a=Kr)=>{const r=Tl(n);return $r(t=>Se(r,n=>{const a=e(t);s(n.addCheckpoint(a),n,a)}),[r,...t,...a])},Nl=e=>uo(e,"goBackward"),Ml=e=>uo(e,"goForward"),Pl=(e,t=Kr,n,s=Ne,a=Kr)=>{const r=Tl(n);return $r(t=>Se(r,n=>Se(e(t),e=>s(n.goTo(e),e))),[r,...t,...a])},Dl=e=>{const t=Tl(e),[n,s]=Ll(t);return[!We(n),Nl(t),s,Se(s,e=>t?.getCheckpoint(e))??w]},$l=e=>{const t=Tl(e),[,,[n]]=Ll(t);return[!ve(n),Ml(t),n,Se(n,e=>t?.getCheckpoint(e))??w]},Ol=(e,t,n)=>ro(K+N,Tl(n),e,t),ql=(e,t,n,s)=>ro(K,Tl(s),t,n,[e]),Al=(e,t,n=Kr,s,a=Kr,r,o=Kr)=>{const[,i]=Hr(),[l,c]=Hr();return qr(()=>{(async()=>{const n=e?await t(e):void 0;c(n),n&&s&&(async()=>{await s(n),i([])})()})()},[e,...n,...a]),qr(()=>()=>{l&&(l.destroy(),r?.(l))},[l,...o]),l},Vl=()=>Xr(Wr.Persister),_l=e=>jr(e,Wr.Persister),Hl=e=>Gr(e,Wr.Persister),zl=(e,t)=>Yr(e,t,Wr.Persister),Fl=e=>ao(J,Hl(e),5,[]),Bl=(e,t,n)=>ro(J,Hl(n),e,t,[]),Ul=(e,t,n=Kr,s,a=Kr)=>{const[r,o]=Hr();return qr(()=>{(async()=>{const n=e?await t(e):void 0;o(n)})()},[e,...n]),qr(()=>()=>{r&&(r.destroy(),s?.(r))},[r,...a]),r},Wl=()=>Xr(Wr.Synchronizer),Jl=e=>jr(e,Wr.Synchronizer),Ql=e=>Gr(e,Wr.Synchronizer),jl=(e,t)=>Yr(e,t,Wr.Synchronizer),Gl=e=>ao(J,Ql(e),5,[]),Yl=(e,t,n)=>ro(J,Ql(n),e,t,[]),Xl=(e,t,n,s,a)=>[n??t[2*e],{...t[2*e+1],...s,...a[e]}],Kl=({tableId:e,store:t,rowComponent:n=rc,getRowComponentProps:s,customCellIds:a,separator:r,debugIds:o},i)=>sc(Be(i,r=>l(n,{...Fr(s,r),tableId:e,rowId:r,customCellIds:a,store:t,debugIds:o},r)),r,o,e),Zl=({queryId:e,queries:t,resultRowComponent:n=bc,getResultRowComponentProps:s,separator:a,debugIds:r},o)=>sc(Be(o,a=>l(n,{...Fr(s,a),queryId:e,rowId:a,queries:t,debugIds:r},a)),a,r,e),ec=({relationshipId:e,relationships:t,rowComponent:n=rc,getRowComponentProps:s,separator:a,debugIds:r},o,i)=>{const[c,d,u]=Br(Wi(t),e),h=o(e,i,c);return sc(Be(h,e=>l(n,{...Fr(s,e),tableId:u,rowId:e,store:d,debugIds:r},e)),a,r,i)},tc=e=>({checkpoints:t,checkpointComponent:n=Cc,getCheckpointComponentProps:s,separator:a,debugIds:r})=>{const o=Tl(t);return sc(Be(e(Ll(o)),e=>l(n,{...Fr(s,e),checkpoints:o,checkpointId:e,debugIds:r},e)),a)},nc=({store:e,storesById:t,metrics:n,metricsById:s,indexes:a,indexesById:r,relationships:o,relationshipsById:i,queries:c,queriesById:d,checkpoints:u,checkpointsById:h,persister:g,persistersById:w,synchronizer:m,synchronizersById:p,children:I})=>{const b=Or(Qr),[y,f]=Hr(()=>Be([,,,,,,,,].fill(0),(e,t)=>({}))),C=$r((e,t,n)=>f(s=>Tt(s[e],t)==n?s:Ze(s,e,{...s[e],[t]:n})),[]),v=$r((e,t)=>f(n=>xt(n[e],t)?Ze(n,e,Lt(n[e],t)):n),[]);return l(Qr.Provider,{value:Vr(()=>[...Xl(0,b,e,t,y),...Xl(1,b,n,s,y),...Xl(2,b,a,r,y),...Xl(3,b,o,i,y),...Xl(4,b,c,d,y),...Xl(5,b,u,h,y),...Xl(6,b,g,w,y),...Xl(7,b,m,p,y),C,v],[y,e,t,n,s,a,r,o,i,c,d,u,h,g,w,m,p,b,C,v]),children:I})},sc=(e,t,n,s)=>{const a=ve(t)||!Le(e)?e:Be(e,(e,n)=>n>0?[t,e]:e);return n?[s,":{",a,"}"]:a},ac=({tableId:e,rowId:t,cellId:n,store:s,debugIds:a})=>sc(w+($o(e,t,n,s)??w),void 0,a,n),rc=({tableId:e,rowId:t,store:n,cellComponent:s=ac,getCellComponentProps:a,customCellIds:r,separator:o,debugIds:i})=>sc(Be(((e,t,n,s)=>{const a=Po(t,n,s);return e??a})(r,e,t,n),r=>l(s,{...Fr(a,r),tableId:e,rowId:t,cellId:r,store:n,debugIds:i},r)),o,i,t),oc=e=>Kl(e,ko(e.tableId,e.store)),ic=({cellId:e,descending:t,offset:n,limit:s,...a})=>Kl(a,Eo(a.tableId,e,t,n,s,a.store)),lc=({store:e,tableComponent:t=oc,getTableComponentProps:n,separator:s,debugIds:a})=>sc(Be(vo(e),s=>l(t,{...Fr(n,s),tableId:s,store:e,debugIds:a},s)),s),cc=({valueId:e,store:t,debugIds:n})=>sc(w+(_o(e,t)??w),void 0,n,e),dc=({store:e,valueComponent:t=cc,getValueComponentProps:n,separator:s,debugIds:a})=>sc(Be(Ao(e),s=>l(t,{...Fr(n,s),valueId:s,store:e,debugIds:a},s)),s),uc=({metricId:e,metrics:t,debugIds:n})=>sc(Ni(e,t)??w,void 0,n,e),hc=({indexId:e,sliceId:t,indexes:n,rowComponent:s=rc,getRowComponentProps:a,separator:r,debugIds:o})=>{const[i,c,d]=Ur(Oi(n),e),u=_i(e,t,i);return sc(Be(u,e=>l(s,{...Fr(a,e),tableId:d,rowId:e,store:c,debugIds:o},e)),r,o,t)},gc=({indexId:e,indexes:t,sliceComponent:n=hc,getSliceComponentProps:s,separator:a,debugIds:r})=>sc(Be(Ai(e,t),a=>l(n,{...Fr(s,a),indexId:e,sliceId:a,indexes:t,debugIds:r},a)),a,r,e),wc=({relationshipId:e,localRowId:t,relationships:n,rowComponent:s=rc,getRowComponentProps:a,debugIds:r})=>{const[o,i,,c]=Br(Wi(n),e),d=ji(e,t,o);return sc(ve(c)||ve(d)?null:l(s,{...Fr(a,d),tableId:c,rowId:d,store:i,debugIds:r},d),void 0,r,t)},mc=e=>ec(e,Gi,e.remoteRowId),pc=e=>ec(e,Yi,e.firstRowId),Ic=({queryId:e,rowId:t,cellId:n,queries:s,debugIds:a})=>sc(w+(gl(e,t,n,s)??w),void 0,a,n),bc=({queryId:e,rowId:t,queries:n,resultCellComponent:s=Ic,getResultCellComponentProps:a,separator:r,debugIds:o})=>sc(Be(hl(e,t,n),r=>l(s,{...Fr(a,r),queryId:e,rowId:t,cellId:r,queries:n,debugIds:o},r)),r,o,t),yc=e=>Zl(e,cl(e.queryId,e.queries)),fc=({cellId:e,descending:t,offset:n,limit:s,...a})=>Zl(a,dl(a.queryId,e,t,n,s,a.queries)),Cc=({checkpoints:e,checkpointId:t,debugIds:n})=>sc(kl(t,e)??w,void 0,n,t),vc=tc(e=>e[0]),Sc=tc(e=>ve(e[1])?[]:[e[1]]),Rc=tc(e=>e[2]),Tc="editable",xc=(e,t)=>Be(To(e,t),t=>e+p+t),Lc=(e,t,n)=>{const s=$r(e,t);return n?s:void 0},kc=(...e)=>Vr(()=>e,e),Ec=(e,t)=>Vr(()=>({store:e,tableId:t}),[e,t]),Nc=(e,t)=>Vr(()=>({queries:e,queryId:t}),[e,t]),Mc=(e,t=!1,n,s=0,a,r,o,i)=>{const[[c,d,u],h]=Hr([e,t,s]),g=$r(e=>{h(e),i?.(e)},[i]),w=Lc(e=>g([e,e==c&&!d,u]),[g,c,d,u],n),m=$r(e=>g([c,d,e]),[g,c,d]),p=!0===o?Jc:o;return[[c,d,u],w,Vr(()=>!1===o?null:l(p,{offset:u,limit:a,total:r,onChange:m}),[o,p,u,a,r,m])]},Pc=(e,t,n)=>Vr(()=>{const s=t??e;return Nt(Le(s)?St(Be(s,e=>[e,e])):s,(e,t)=>({label:t,component:n,...Te(e)?{label:e}:e}))},[t,n,e]),Dc=({className:e,headerRow:t,idColumn:n,params:[s,a,r,o,i,d]})=>c("table",{className:e,children:[d?l("caption",{children:d}):null,!1===t?null:l("thead",{children:c("tr",{children:[!1===n?null:l($c,{sort:o??[],label:"Id",onClick:i}),Et(s,({label:e},t)=>l($c,{cellId:t,label:e,sort:o??[],onClick:i},t))]})}),l("tbody",{children:Be(r,e=>c("tr",{children:[!1===n?null:l("th",{children:e}),Et(s,({component:t,getComponentProps:n},s)=>l("td",{children:l(t,{...Fr(n,e,s),...a,rowId:e,cellId:s})},s))]},e))})]}),$c=({cellId:e,sort:[t,n],label:s=e??w,onClick:a})=>c("th",{onClick:Lc(()=>a?.(e),[a,e],a),className:ve(n)||t!=e?void 0:`sorted ${n?"de":"a"}scending`,children:[ve(n)||t!=e?null:(n?"↓":"↑")+" ",s]}),Oc=({localRowId:e,params:[t,n,s,a,r,o,i]})=>{const u=ji(r,e,o);return c("tr",{children:[!1===t?null:c(d,{children:[l("th",{children:e}),l("th",{children:u})]}),Et(n,({component:t,getComponentProps:n},r)=>{const[o,c]=ce(r,p,2),d=o===s?e:o===a?u:null;return ve(d)?null:l("td",{children:l(t,{...Fr(n,d,c),store:i,tableId:o,rowId:d,cellId:c})},r)})]})},qc=({thing:e,onThingChange:t,className:n,hasSchema:s,showType:a=!0})=>{const[r,o]=Hr(),[i,d]=Hr(),[u,h]=Hr(),[g,w]=Hr(),[m,p]=Hr();i!==e&&(o(et(e)),d(e),h(e+""),w(Number(e)||0),p(!!e));const f=$r((e,n)=>{n(e),d(e),t(e)},[t]),C=$r(()=>{if(!s?.()){const e=at(r,y,b,I),n=at(e,u,g,m);o(e),d(n),t(n)}},[s,t,u,g,m,r]);return c("div",{className:n,children:[a?l("button",{className:r,onClick:C,children:r}):null,at(r,l("input",{value:u,onChange:$r(e=>f(e[Z][ee]+"",h),[f])},r),l("input",{type:"number",value:g,onChange:$r(e=>f(Number(e[Z][ee]||0),w),[f])},r),l("input",{type:"checkbox",checked:m,onChange:$r(e=>f(!!e[Z].checked,p),[f])},r))]})},Ac=({tableId:e,store:t,editable:n,customCells:s,...a})=>l(Dc,{...a,params:kc(Pc(To(e,t),s,n?Uc:ac),Ec(t,e),ko(e,t))}),Vc=({tableId:e,cellId:t,descending:n,offset:s,limit:a,store:r,editable:o,sortOnClick:i,paginator:c=!1,onChange:d,customCells:u,...h})=>{const[g,w,m]=Mc(t,n,i,s,a,Lo(e,r),c,d);return l(Dc,{...h,params:kc(Pc(To(e,r),u,o?Uc:ac),Ec(r,e),Eo(e,...g,a,r),g,w,m)})},_c=({store:e,editable:t=!1,valueComponent:n=(t?Wc:cc),getValueComponentProps:s,className:a,headerRow:r,idColumn:o})=>c("table",{className:a,children:[!1===r?null:l("thead",{children:c("tr",{children:[!1===o?null:l("th",{children:"Id"}),l("th",{children:H})]})}),l("tbody",{children:Be(Ao(e),t=>c("tr",{children:[!1===o?null:l("th",{children:t}),l("td",{children:l(n,{...Fr(s,t),valueId:t,store:e})})]},t))})]}),Hc=({indexId:e,sliceId:t,indexes:n,editable:s,customCells:a,...r})=>{const[o,i,c]=Ur(Oi(n),e);return l(Dc,{...r,params:kc(Pc(To(c,i),a,s?Uc:ac),Ec(i,c),_i(e,t,o))})},zc=({relationshipId:e,relationships:t,editable:n,customCells:s,className:a,headerRow:r,idColumn:o=!0})=>{const[i,u,h,g]=Br(Wi(t),e),w=Pc([...xc(h,u),...xc(g,u)],s,n?Uc:ac),m=kc(o,w,h,g,e,i,u);return c("table",{className:a,children:[!1===r?null:l("thead",{children:c("tr",{children:[!1===o?null:c(d,{children:[c("th",{children:[h,".Id"]}),c("th",{children:[g,".Id"]})]}),Et(w,({label:e},t)=>l("th",{children:e},t))]})}),l("tbody",{children:Be(ko(h,u),e=>l(Oc,{localRowId:e,params:m},e))})]})},Fc=({queryId:e,queries:t,customCells:n,...s})=>l(Dc,{...s,params:kc(Pc(il(e,t),n,Ic),Nc(t,e),cl(e,t))}),Bc=({queryId:e,cellId:t,descending:n,offset:s,limit:a,queries:r,sortOnClick:o,paginator:i=!1,customCells:c,onChange:d,...u})=>{const[h,g,w]=Mc(t,n,o,s,a,ll(e,r),i,d);return l(Dc,{...u,params:kc(Pc(il(e,r),c,Ic),Nc(r,e),dl(e,...h,a,r),h,g,w)})},Uc=({tableId:e,rowId:t,cellId:n,store:s,className:a,showType:r})=>l(qc,{thing:$o(e,t,n,s),onThingChange:Wo(e,t,n,e=>e,[],s),className:a??Tc+V,showType:r,hasSchema:Io(s)?.hasTablesSchema}),Wc=({valueId:e,store:t,className:n,showType:s})=>l(qc,{thing:_o(e,t),onThingChange:jo(e,e=>e,[],t),className:n??Tc+H,showType:s,hasSchema:Io(t)?.hasValuesSchema}),Jc=({onChange:e,total:t,offset:n=0,limit:s=t,singular:a="row",plural:r=a+"s"})=>{(n>t||n<0)&&(n=0,e(0));const o=Lc(()=>e(n-s),[e,n,s],n>0),i=Lc(()=>e(n+s),[e,n,s],n+s<t);return c(d,{children:[t>s&&c(d,{children:[l("button",{className:"previous",disabled:0==n,onClick:o,children:"←"}),l("button",{className:"next",disabled:n+s>=t,onClick:i,children:"→"}),n+1," to ",ye(t,n+s)," of "]}),t," ",1!=t?r:a]})},Qc="tinybaseInspector",jc="TinyBase Inspector",Gc=["left","top","bottom","right","full"],Yc="state",Xc="sort",Kc="open",Zc="position",ed=Kc,td="editable",nd=(...e)=>pn(e),sd=(e,t)=>Be(He([...e]),t),ad=(e,t)=>[!!$o(Yc,e,td,t),$r(n=>{t.setCell(Yc,e,td,e=>!e),n.preventDefault()},[t,e])],rd=({s:e})=>{const t=_o(Zc,e)??1,n=jo(ed,()=>!0,[],e);return _o(ed,e)?null:l("img",{onClick:n,title:jc,"data-position":t})},od=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:a,s:r})=>{const o=!!$o(Yc,e,Kc,r),i=Wo(Yc,e,Kc,e=>e[Z].open,[],r);return c("details",{open:o,onToggle:i,children:[c("summary",{children:[t,s?l("img",{onClick:s,className:n?"done":"edit"}):null]}),a]})},id=({indexes:e,indexesId:t,indexId:n,s:s})=>l(od,{uniqueId:nd("i",t,n),summary:"Index: "+n,s:s,children:Be(Ai(n,e),a=>l(ld,{indexes:e,indexesId:t,indexId:n,sliceId:a,s:s},a))}),ld=({indexes:e,indexesId:t,indexId:n,sliceId:s,s:a})=>{const r=nd("i",t,n,s),[o,i]=ad(r,a);return l(od,{uniqueId:r,summary:"Slice: "+s,editable:o,handleEditable:i,s:a,children:l(Hc,{sliceId:s,indexId:n,indexes:e,editable:o})})},cd=({indexesId:e,s:t})=>{const n=$i(e),s=Vi(n);return ve(n)?null:l(od,{uniqueId:nd("i",e),summary:"Indexes: "+(e??S),s:t,children:We(s)?"No indexes defined":sd(s,s=>l(id,{indexes:n,indexesId:e,indexId:s,s:t},s))})},dd=({metrics:e,metricId:t})=>c("tr",{children:[l("th",{children:t}),l("td",{children:e?.getTableId(t)}),l("td",{children:Ni(t,e)})]}),ud=({metricsId:e,s:t})=>{const n=xi(e),s=Ei(n);return ve(n)?null:l(od,{uniqueId:nd("m",e),summary:"Metrics: "+(e??S),s:t,children:We(s)?"No metrics defined":c("table",{children:[c("thead",{children:[l("th",{children:"Metric Id"}),l("th",{children:"Table Id"}),l("th",{children:"Metric"})]}),l("tbody",{children:Be(s,e=>l(dd,{metrics:n,metricId:e},e))})]})})},hd=({queries:e,queriesId:t,queryId:n,s:s})=>{const a=nd("q",t,n),[r,o,i]=mn($o(Yc,a,Xc,s)??"[]"),c=Wo(Yc,a,Xc,pn,[],s);return l(od,{uniqueId:a,summary:"Query: "+n,s:s,children:l(Bc,{queryId:n,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:c})})},gd=({queriesId:e,s:t})=>{const n=nl(e),s=rl(n);return ve(n)?null:l(od,{uniqueId:nd("q",e),summary:"Queries: "+(e??S),s:t,children:We(s)?"No queries defined":sd(s,s=>l(hd,{queries:n,queriesId:e,queryId:s,s:t},s))})},wd=({relationships:e,relationshipsId:t,relationshipId:n,s:s})=>{const a=nd("r",t,n),[r,o]=ad(a,s);return l(od,{uniqueId:a,summary:"Relationship: "+n,editable:r,handleEditable:o,s:s,children:l(zc,{relationshipId:n,relationships:e,editable:r})})},md=({relationshipsId:e,s:t})=>{const n=Ui(e),s=Qi(n);return ve(n)?null:l(od,{uniqueId:nd("r",e),summary:"Relationships: "+(e??S),s:t,children:We(s)?"No relationships defined":sd(s,s=>l(wd,{relationships:n,relationshipsId:e,relationshipId:s,s:t},s))})},pd=({tableId:e,store:t,storeId:n,s:s})=>{const a=nd("t",n,e),[r,o,i]=mn($o(Yc,a,Xc,s)??"[]"),c=Wo(Yc,a,Xc,pn,[],s),[d,u]=ad(a,s);return l(od,{uniqueId:a,summary:M+": "+e,editable:d,handleEditable:u,s:s,children:l(Vc,{tableId:e,store:t,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:c,editable:d})})},Id=({store:e,storeId:t,s:n})=>{const s=nd("v",t),[a,r]=ad(s,n);return We(Ao(e))?null:l(od,{uniqueId:s,summary:z,editable:a,handleEditable:r,s:n,children:l(_c,{store:e,editable:a})})},bd=({storeId:e,s:t})=>{const n=mo(e),s=vo(n);return ve(n)?null:c(od,{uniqueId:nd("s",e),summary:(n.isMergeable()?"Mergeable":"")+"Store: "+(e??S),s:t,children:[l(Id,{storeId:e,store:n,s:t}),sd(s,s=>l(pd,{store:n,storeId:e,tableId:s,s:t},s))]})},yd=({s:e})=>{const t=_r(null),n=_r(0),[s,a]=Hr(!1),{scrollLeft:r,scrollTop:o}=qo(e);Ar(()=>{const e=t.current;if(e&&!s){const t=new MutationObserver(()=>{e.scrollWidth>=fe(r)+e.clientWidth&&e.scrollHeight>=fe(o)+e.clientHeight&&e.scrollTo(r,o)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[s,r,o]);const i=$r(t=>{const{scrollLeft:s,scrollTop:r}=t[Z];cancelIdleCallback(n.current),n.current=requestIdleCallback(()=>{a(!0),e.setPartialValues({scrollLeft:s,scrollTop:r})})},[e]),d=mo(),u=wo(),h=xi(),g=Ti(),w=$i(),m=Di(),p=Ui(),I=Bi(),b=nl(),y=tl();return ve(d)&&We(u)&&ve(h)&&We(g)&&ve(w)&&We(m)&&ve(p)&&We(I)&&ve(b)&&We(y)?l("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):c("article",{ref:t,onScroll:i,children:[l(bd,{s:e}),Be(u,t=>l(bd,{storeId:t,s:e},t)),l(ud,{s:e}),Be(g,t=>l(ud,{metricsId:t,s:e},t)),l(cd,{s:e}),Be(m,t=>l(cd,{indexesId:t,s:e},t)),l(md,{s:e}),Be(I,t=>l(md,{relationshipsId:t,s:e},t)),l(gd,{s:e}),Be(y,t=>l(gd,{queriesId:t,s:e},t))]})};class fd extends Pr{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?l("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const Cd=({s:e})=>{const t=_o(Zc,e)??1,n=jo(ed,()=>!1,[],e),s=jo(Zc,e=>Number(e[Z].dataset.id),[],e);return c("header",{children:[l("img",{title:jc}),l("span",{children:jc}),Be(Gc,(e,n)=>n==t?null:l("img",{onClick:s,"data-id":n,title:"Dock to "+e},n)),l("img",{onClick:n,title:"Close"})]})},vd=({s:e})=>{const t=_o(Zc,e)??1;return _o(ed,e)?c("main",{"data-position":t,children:[l(Cd,{s:e}),l(fd,{children:l(yd,{s:e})})]}):null},Sd="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Rd='content:url("',Td=Rd+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",xd='</svg>")',Ld=Rd+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",kd=Be([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],([e,t,n,s])=>Td+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${n}' height='${s}' fill='white'/>`+xd),Ed=Td+"<path d='M20 20l60 60M20 80l60-60' />"+xd,Nd=Td+`<path d='${Sd}' />`+xd,Md=Td+`<path d='${Sd}M20 20l60 60' />`+xd,Pd="*::-webkit-scrollbar",Dd=Fe(Et({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Pd]:"width:0.5rem;height:0.5rem;",[Pd+"-track"]:"background:#111",[Pd+"-thumb"]:"background:#999;border:1px solid #111",[Pd+"-thumb:hover"]:"background:#fff",[Pd+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Ld,...St(Be(["bottom:0;left:0","top:0;right:0"],(e,t)=>[`>img[data-position='${t}']`,e])),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...St(Be(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],(e,t)=>[`main[data-position='${t}']`,e])),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Ld,"header>img:nth-of-type(6)":Ed,...St(Be(kd,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Nd,"details[open]>summary img.done":Md,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${Qc} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},(e,t)=>e?`#${Qc} ${t}{${e}}`:"")),$d=({position:e="right",open:t=!1})=>{const n=go(os),s=Gc.indexOf(e);return Al(n,e=>Ca(e,Qc),void 0,async e=>{await e.load([{},{position:-1==s?1:s,open:!!t}]),await e.startAutoSave()}),c(d,{children:[c("aside",{id:Qc,children:[l(rd,{s:n}),l(vd,{s:n})]}),l("style",{children:Dd})]})};export{vc as BackwardCheckpointsView,ac as CellView,Cc as CheckpointView,Sc as CurrentCheckpointView,Uc as EditableCellView,Wc as EditableValueView,Rc as ForwardCheckpointsView,gc as IndexView,$d as Inspector,pc as LinkedRowsView,mc as LocalRowsView,dr as Message,uc as MetricView,ws as Persists,nc as Provider,zc as RelationshipInHtmlTable,wc as RemoteRowView,Ic as ResultCellView,bc as ResultRowView,Bc as ResultSortedTableInHtmlTable,fc as ResultSortedTableView,Fc as ResultTableInHtmlTable,yc as ResultTableView,rc as RowView,Hc as SliceInHtmlTable,hc as SliceView,Vc as SortedTableInHtmlTable,Jc as SortedTablePaginator,ic as SortedTableView,gs as Status,Ac as TableInHtmlTable,oc as TableView,lc as TablesView,Qa as TinyBasePartyKitServer,cc as ValueView,_c as ValuesInHtmlTable,dc as ValuesView,xr as WsServerDurableObject,Cn as addOrRemoveHash,Ba as broadcastChanges,Ia as createAutomergePersister,hr as createBroadcastChannelSynchronizer,on as createCheckpoints,va as createCrSqliteWasmPersister,Is as createCustomPersister,ga as createCustomPostgreSqlPersister,wa as createCustomSqlitePersister,ur as createCustomSynchronizer,Ra as createDurableObjectStoragePersister,Ta as createElectricSqlPersister,xa as createExpoSqlitePersister,La as createFilePersister,Pa as createIndexedDbPersister,Hn as createIndexes,Da as createLibSqlPersister,fa as createLocalPersister,wr as createLocalSynchronizer,cs as createMergeableStore,hs as createMetrics,Va as createPartyKitPersister,ja as createPglitePersister,Ga as createPostgresPersister,Ya as createPowerSyncPersister,lr as createQueries,cr as createRelationships,Za as createRemotePersister,Ca as createSessionPersister,sr as createSqlite3Persister,er as createSqliteBunPersister,tr as createSqliteWasmPersister,os as createStore,Mr as createWsServer,Er as createWsServerSimple,yr as createWsSynchronizer,ir as createYjsPersister,_n as defaultSorter,Tn as getCellHash,xn as getCellInRowHash,fn as getHash,Vn as getHlcFunctions,Ln as getRowHash,kn as getRowInTableHash,En as getTableHash,Nn as getTableInTablesHash,Mn as getTablesHash,gn as getUniqueId,Rn as getValueHash,Sn as getValueInValuesHash,vn as getValuesHash,Lr as getWsServerDurableObjectFetch,za as hasStoreInStorage,Fa as loadStoreFromStorage,Na as objectStoreMatch,Bo as useAddRowCallback,$o as useCell,Po as useCellIds,gi as useCellIdsListener,mi as useCellListener,kl as useCheckpoint,Ll as useCheckpointIds,Ol as useCheckpointIdsListener,ql as useCheckpointListener,Rl as useCheckpoints,Sl as useCheckpointsIds,Tl as useCheckpointsOrCheckpointsById,vl as useCreateCheckpoints,Pi as useCreateIndexes,yo as useCreateMergeableStore,Ri as useCreateMetrics,Al as useCreatePersister,el as useCreateQueries,Fi as useCreateRelationships,go as useCreateStore,Ul as useCreateSynchronizer,Ko as useDelCellCallback,Xo as useDelRowCallback,Yo as useDelTableCallback,Go as useDelTablesCallback,ei as useDelValueCallback,Zo as useDelValuesCallback,Si as useDidFinishTransactionListener,Nl as useGoBackwardCallback,Ml as useGoForwardCallback,Pl as useGoToCallback,Do as useHasCell,wi as useHasCellListener,No as useHasRow,ui as useHasRowListener,So as useHasTable,xo as useHasTableCell,ii as useHasTableCellListener,ai as useHasTableListener,fo as useHasTables,ti as useHasTablesListener,Vo as useHasValue,yi as useHasValueListener,Oo as useHasValues,pi as useHasValuesListener,Vi as useIndexIds,$i as useIndexes,Di as useIndexesIds,Oi as useIndexesOrIndexesById,Yi as useLinkedRowIds,Zi as useLinkedRowIdsListener,Gi as useLocalRowIds,Ki as useLocalRowIdsListener,Ni as useMetric,Ei as useMetricIds,Mi as useMetricListener,xi as useMetrics,Ti as useMetricsIds,Li as useMetricsOrMetricsById,_l as usePersister,Vl as usePersisterIds,Hl as usePersisterOrPersisterById,Fl as usePersisterStatus,Bl as usePersisterStatusListener,xl as useProvideCheckpoints,qi as useProvideIndexes,ki as useProvideMetrics,zl as useProvidePersister,al as useProvideQueries,Ji as useProvideRelationships,bo as useProvideStore,jl as useProvideSynchronizer,nl as useQueries,tl as useQueriesIds,sl as useQueriesOrQueriesById,rl as useQueryIds,$l as useRedoInformation,Qi as useRelationshipIds,Ui as useRelationships,Bi as useRelationshipsIds,Wi as useRelationshipsOrRelationshipsById,ji as useRemoteRowId,Xi as useRemoteRowIdListener,gl as useResultCell,hl as useResultCellIds,fl as useResultCellIdsListener,Cl as useResultCellListener,ul as useResultRow,ll as useResultRowCount,pl as useResultRowCountListener,cl as useResultRowIds,Il as useResultRowIdsListener,yl as useResultRowListener,dl as useResultSortedRowIds,bl as useResultSortedRowIdsListener,ol as useResultTable,il as useResultTableCellIds,ml as useResultTableCellIdsListener,wl as useResultTableListener,Mo as useRow,Lo as useRowCount,li as useRowCountListener,ko as useRowIds,ci as useRowIdsListener,hi as useRowListener,Wo as useSetCellCallback,El as useSetCheckpointCallback,Uo as useSetPartialRowCallback,Qo as useSetPartialValuesCallback,Fo as useSetRowCallback,zo as useSetTableCallback,Ho as useSetTablesCallback,jo as useSetValueCallback,Jo as useSetValuesCallback,Ai as useSliceIds,Hi as useSliceIdsListener,_i as useSliceRowIds,zi as useSliceRowIdsListener,Eo as useSortedRowIds,di as useSortedRowIdsListener,ho as useSortedRowIdsListenerImpl,Ci as useStartTransactionListener,mo as useStore,wo as useStoreIds,Io as useStoreOrStoreById,po as useStores,Jl as useSynchronizer,Wl as useSynchronizerIds,Ql as useSynchronizerOrSynchronizerById,Gl as useSynchronizerStatus,Yl as useSynchronizerStatusListener,Ro as useTable,To as useTableCellIds,oi as useTableCellIdsListener,vo as useTableIds,si as useTableIdsListener,ri as useTableListener,Co as useTables,ni as useTablesListener,Dl as useUndoInformation,_o as useValue,Ao as useValueIds,bi as useValueIdsListener,fi as useValueListener,qo as useValues,Ii as useValuesListener,vi as useWillFinishTransactionListener};
|
|
Binary file
|
package/min/persisters/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=globalThis,l=clearInterval,w=a=>null==a,y=(a,t,e)=>w(a)?e?.():t(a),d=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=async a=>o.all(a),$=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==N(a),p=(a,t)=>a.filter(t),v=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),C=a=>[...a?.values()??[]],b=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,P=D.keys,M=D.freeze,F=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>F(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(P(a)),W=a=>(a=>!w(a)&&y(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(L(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(S(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>y((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const r=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),r})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,r,o,c={},l=0,d=[])=>{let E,g,m,T=0,R=0,p=0;z(ta,d,(()=>0)),z(ea,d,(()=>[]));const S=Y(),[C,D,f,h,P]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?I(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&v(a,t)}]})(),s=Y();return[(n,i,r,o=[],c=()=>[])=>{a??=ra;const l=t(1);return k(s,l,[n,i,r,o,c]),Q(K(i,r??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?v(n,a):null===t[e]?b(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>b(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>y(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(L(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>y(X(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):w(e[o])?O(n[o]?.(...r)??[],(a=>i(...r,a))):i(...r,e[o])};i()}))]})(),j=a=>{a!=T&&(T=a,U(S,void 0,T))},x=t=>{(C&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),R++,await ia((async()=>{await A((async()=>{const e=await t();u(e)?x(e):a?P(a):$("Content is not an array: "+e)}),(()=>{a&&P(a)})),j(0)}))),ra),H=async a=>(J(),await B(a),await A((async()=>g=await s((async(a,t)=>{t||a?2!=T&&(j(1),R++,x(t??a),j(0)):await B()}))),r),ra),J=async()=>(g&&(await A((()=>i(g)),r),g=void 0),ra),Z=async a=>(1!=T&&(j(2),p++,await ia((async()=>{await A((()=>n(D,a)),r),j(0)}))),ra),aa=async()=>(na(),await Z(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&Z(a)})),ra),na=async()=>(m&&(a.delListener(m),m=void 0),ra),sa=async(a=!1)=>{const[t,e]=a?[na,J]:[J,na];return await t(),await e(),ra},ia=async(...a)=>(v(X(ea,d),...a),await(async()=>{if(!X(ta,d)){for(k(ta,d,1);!w(E=I(X(ea,d)));)await A(E,r);k(ta,d,0)}})(),ra),ra={load:B,startAutoLoad:H,stopAutoLoad:J,isAutoLoading:()=>!w(g),save:Z,startAutoSave:aa,stopAutoSave:na,isAutoSaving:()=>!w(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[aa,H]:[H,aa];return await e(a),await n(a),ra},stopAutoPersisting:sa,getStatus:()=>T,addStatusListener:a=>F(a,S),delListener:t=>(G(t),a),schedule:ia,getStore:()=>a,destroy:()=>(X(ea,d).splice(0,void 0),sa()),getStats:()=>({loads:R,saves:p}),...c};return M(ra)},sa=JSON.stringify,ia=JSON.parse,ra=a=>sa(a,((a,t)=>void 0===t?"":t)),oa=new c.TextEncoder,ca="_",la="_id",wa="SELECT",ya="WHERE",da="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",ga="ALTER "+da,$a="FROM",Aa=Ea+" "+$a,Oa=wa+"*"+$a,ma="pragma_",Ta="data_version",Ra="schema_version",pa="pragma_table_",va="CREATE ",Ia=va+da,Sa="OR REPLACE ",_a="FUNCTION",Ca="$tableName",ba=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,La=a=>m(T(((a,t="",e)=>a.split(t,e))(a,"."),(a=>`"${r(a,/"/g,'""')}"`)),"."),Da=(...a)=>La(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>ya+`(${r(t,Ca,La(a))})`,Pa="ColumnName",Ma="store",Fa="json",Ua=Ma+"TableName",Ga=Ma+"Id"+Pa,ja=Ma+Pa,xa="autoLoadIntervalSeconds",Ba="rowId"+Pa,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Fa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,r)=>{const o=E(B(U(t,d(a)?{[e]:a}:a)),0,H(t));w(o[0])||n(r,o[0])||(s(r,o[0]),k(i,r,o))})),i},Va=a=>{const e=(a=>U(ka,d(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Fa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Ma],q(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(B(U(za,o)),0,H(za)),l=c[2],w=q(l),y=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>S(y,a)),(a=>Q(w,a))),N=Ka(r,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>S(y,t)),((a,t)=>Q(w,t)));var g;return g=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,b(N,((a,t)=>g(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,r,o=Qa,c,l)=>{const y=Y();return[async()=>{y.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(y,a,q),t)))},async(t,e,n)=>((a,t)=>S(X(y,a),t))(t,e)?F(p(T(await a(Oa+La(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,d,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(P(a??{}),(a=>Q(N,a)))));const $=C(N);if(!u&&d&&E==i&&R($)&&S(y,t))return await a("DROP "+da+La(t)),void k(y,t);const A=X(y,t),O=q(C(A));if(R($)||(S(y,t)?await g(T([e,...$],(async(n,s)=>{L(O,n)||(await a(ga+La(t)+"ADD"+La(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+La(t)+`(${La(e)})`),Q(A,n))}))):(await a(Ia+La(t)+`(${La(e)}${r} PRIMARY KEY${m(T($,(a=>n+La(a)+r)))});`),k(y,t,q([e,...$])))),await g([...!u&&l?T(C(O),(async n=>{n!=e&&(await a(ga+La(t)+"DROP"+La(n)),L(A,n))})):[]]),u)w(s)?await a(Aa+La(t)+ha(t,E)):await g(j(s,(async(n,s)=>{w(n)?await a(Aa+La(t)+ha(t,E)+`AND(${La(e)}=$1)`,[s]):R($)||await o(a,t,e,P(n),{[s]:c?T(B(n),c):B(n)},A)})));else if(R($))S(y,t)&&await a(Aa+La(t)+ha(t,E));else{const n=p(C(X(y,t)),(a=>a!=e)),i={},r=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),v(r,t)})),await o(a,t,e,n,i),await a(Aa+La(t)+ha(t,E)+`AND${La(e)}NOT IN(${fa(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const r=[1];await a(ua+" INTO"+La(t)+"("+((...a)=>m(T(a,La),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+r[0]+++","+fa(a,r)+")")),n)+"ON CONFLICT("+La(e)+`)DO ${Na} SET`+m(T(s,(a=>La(a)+"=excluded."+La(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=qa(t,w,y,s,E,N),m=na(a,(()=>O((async()=>{return await g(),a=(await $(o,c))[ca]?.[l]??"null",ia(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await g(),await A(o,c,{[ca]:{[l]:ra(a()??null)}},!0,!0)}))),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},at=(a,t,e,n,s,i,r,[o,c,[l,y,d]],u,E,N,$,A,O,m,T)=>{const[R,v,I,S]=qa(t,u,E,s,A,O,m,T),_=(a,t)=>g(J(c,(async([e,n,s,i,r],o)=>{t&&!(o in a)||await I(e,n,a[o],s,i,t,r)}))),C=async(a,t)=>y?await I(d,la,{[ca]:a},!0,!0,t):null,b=na(a,(()=>S((async()=>{await R();const a=await(async()=>F(p(await g(J(o,(async([a,t,e],n)=>[a,await v(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await v(d,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>S((async()=>{if(await R(),w(t)){const[t,e]=a();await _(t),await C(e)}else await _(t[0],!0),await C(t[1],!0)}))),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},tt=/^([cd]:)(.+)/,et=(a,n,s,o,c,l,w,d,u,E,N="getDb")=>{const $=ba(s,l),[A,,R,p]=Va(n),v=e+(a=>{let t=2166136261;return O(oa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(ra(R)),I=t+"_"+v,_=async(a,e,n="",s="")=>{const i=Da(t,a,v);return await $(va+Sa+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},b=async(a,t,e,n)=>(await $(va+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),L=a=>`PERFORM pg_notify('${I}',${a});`,D=(a,t)=>A?i:2===t?D(a,0)+" OR "+D(a,1):r(X(R[0],a)?.[2]??i,Ca,0==t?"NEW":"OLD"),f=(a,e)=>g(T([ua,Ea,Na],((n,s)=>b(Sa,Da(t,"d",v,a,n),`AFTER ${n} ON${La(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(A?Za:at)(a,$,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${ya} command_tag='${Ia}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await b("EVENT ",Da(t,"c",v),`ON ddl_command_end WHEN TAG IN('${Ia}')`,e);const n=await _("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await g(T(C(p),(async a=>(await $(Ia+` IF NOT EXISTS${La(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await o(I,(t=>{return y((e=t,s=tt,e?.match(s)),(async([,t,e])=>{S(p,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,d,u,R,C(p),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${ya} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>sa(a)),(a=>ia(a)))},nt=(a,t,n,s,i,r,o,c,w,y,d="getDb",u)=>{let E,N,g;const $=ba(n,r),[O,m,T,R]=Va(t);return(O?Za:at)(a,$,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await $(wa+` ${Ta} d,${Ra} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${Ra}`);t==E&&e==N&&n==g||(null!=E&&a(),E=t,N=e,g=n)}))),1e3*m),n=()=>{E=N=g=null,l(t)},r=s((t=>{R.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),o,c,w,T,C(R),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${pa}list()t,${pa}info(t.name)c ${ya} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),y,d,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=globalThis,l=clearInterval,w=a=>null==a,y=(a,t,e)=>w(a)?e?.():t(a),d=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=async a=>o.all(a),$=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==N(a),p=(a,t)=>a.filter(t),v=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),C=a=>[...a?.values()??[]],b=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,P=D.keys,M=D.freeze,F=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),([a,e])=>t(e,a)),x=(a,t)=>F(j(a,(a,e)=>[e,t(a,e)])),B=a=>D.values(a),H=a=>N(P(a)),W=a=>(a=>!w(a)&&y(f(a),a=>a==D.prototype||w(f(a)),()=>!0))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],([a,e])=>t(e,a)),k=(a,t,e)=>w(e)?(L(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(S(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>y((e?z:X)(a,t[s],s>N(t)-2?e:Y),i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const r=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),r}),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,r,o,c={},l=0,d=[])=>{let E,g,m,T=0,R=0,p=0;z(ta,d,()=>0),z(ea,d,()=>[]);const S=Y(),[C,D,f,h,P]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?I(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&v(a,t)}]})(),s=Y();return[(n,i,r,o=[],c=()=>[])=>{a??=ra;const l=t(1);return k(s,l,[n,i,r,o,c]),Q(K(i,r??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?v(n,a):null===t[e]?b(a,a=>s(a,e+1)):O([t[e],null],t=>s(X(a,t),e+1));return s(a,0),n})(t,n),t=>b(t,t=>X(s,t)[0](a,...n??[],...i))),a=>y(X(s,a),([,t,i])=>(K(t,i??[e],void 0,t=>(L(t,a),_(t)?1:0)),k(s,a),n(a),i)),t=>y(X(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):w(e[o])?O(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),j=a=>{a!=T&&(T=a,U(S,void 0,T))},x=t=>{(C&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),R++,await ia(async()=>{await A(async()=>{const e=await t();u(e)?x(e):a?P(a):$("Content is not an array: "+e)},()=>{a&&P(a)}),j(0)})),ra),H=async a=>(J(),await B(a),await A(async()=>g=await s(async(a,t)=>{t||a?2!=T&&(j(1),R++,x(t??a),j(0)):await B()}),r),ra),J=async()=>(g&&(await A(()=>i(g),r),g=void 0),ra),Z=async a=>(1!=T&&(j(2),p++,await ia(async()=>{await A(()=>n(D,a),r),j(0)})),ra),aa=async()=>(na(),await Z(),m=a.addDidFinishTransactionListener(()=>{const a=f();h(a)&&Z(a)}),ra),na=async()=>(m&&(a.delListener(m),m=void 0),ra),sa=async(a=!1)=>{const[t,e]=a?[na,J]:[J,na];return await t(),await e(),ra},ia=async(...a)=>(v(X(ea,d),...a),await(async()=>{if(!X(ta,d)){for(k(ta,d,1);!w(E=I(X(ea,d)));)await A(E,r);k(ta,d,0)}})(),ra),ra={load:B,startAutoLoad:H,stopAutoLoad:J,isAutoLoading:()=>!w(g),save:Z,startAutoSave:aa,stopAutoSave:na,isAutoSaving:()=>!w(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[aa,H]:[H,aa];return await e(a),await n(a),ra},stopAutoPersisting:sa,getStatus:()=>T,addStatusListener:a=>F(a,S),delListener:t=>(G(t),a),schedule:ia,getStore:()=>a,destroy:()=>(X(ea,d).splice(0,void 0),sa()),getStats:()=>({loads:R,saves:p}),...c};return M(ra)},sa=JSON.stringify,ia=JSON.parse,ra=a=>sa(a,(a,t)=>void 0===t?"":t),oa=new c.TextEncoder,ca="_",la="_id",wa="SELECT",ya="WHERE",da="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",ga="ALTER "+da,$a="FROM",Aa=Ea+" "+$a,Oa=wa+"*"+$a,ma="pragma_",Ta="data_version",Ra="schema_version",pa="pragma_table_",va="CREATE ",Ia=va+da,Sa="OR REPLACE ",_a="FUNCTION",Ca="$tableName",ba=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,La=a=>m(T(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Da=(...a)=>La(m(a,"_")),fa=(a,t=[1])=>m(T(a,()=>"$"+t[0]++),n),ha=(a,t=i)=>ya+`(${r(t,Ca,La(a))})`,Pa="ColumnName",Ma="store",Fa="json",Ua=Ma+"TableName",Ga=Ma+"Id"+Pa,ja=Ma+Pa,xa="autoLoadIntervalSeconds",Ba="rowId"+Pa,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Fa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,(a,r)=>{const o=E(B(U(t,d(a)?{[e]:a}:a)),0,H(t));w(o[0])||n(r,o[0])||(s(r,o[0]),k(i,r,o))}),i},Va=a=>{const e=(a=>U(ka,d(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Fa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Ma],q(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(B(U(za,o)),0,H(za)),l=c[2],w=q(l),y=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,a=>S(y,a),a=>Q(w,a)),N=Ka(r,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,(a,t)=>S(y,t),(a,t)=>Q(w,t));var g;return g=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,b(N,(a,t)=>g(0,a)),[0,n,[u,N,c],w]},qa=(a,t,e,s,r,o=Qa,c,l)=>{const y=Y();return[async()=>{y.clear(),T(await e(a,t),({tn:a,cn:t})=>Q(z(y,a,q),t))},async(t,e,n)=>((a,t)=>S(X(y,a),t))(t,e)?F(p(T(await a(Oa+La(t)+ha(t,n)),a=>[a[e],l?x(G(a,e),l):G(a,e)]),([a,t])=>!w(a)&&!W(t))):{},async(t,e,s,l,d,u=!1,E=i)=>{const N=q();x(s??{},a=>T(P(a??{}),a=>Q(N,a)));const $=C(N);if(!u&&d&&E==i&&R($)&&S(y,t))return await a("DROP "+da+La(t)),void k(y,t);const A=X(y,t),O=q(C(A));if(R($)||(S(y,t)?await g(T([e,...$],async(n,s)=>{L(O,n)||(await a(ga+La(t)+"ADD"+La(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+La(t)+`(${La(e)})`),Q(A,n))})):(await a(Ia+La(t)+`(${La(e)}${r} PRIMARY KEY${m(T($,a=>n+La(a)+r))});`),k(y,t,q([e,...$])))),await g([...!u&&l?T(C(O),async n=>{n!=e&&(await a(ga+La(t)+"DROP"+La(n)),L(A,n))}):[]]),u)w(s)?await a(Aa+La(t)+ha(t,E)):await g(j(s,async(n,s)=>{w(n)?await a(Aa+La(t)+ha(t,E)+`AND(${La(e)}=$1)`,[s]):R($)||await o(a,t,e,P(n),{[s]:c?T(B(n),c):B(n)},A)}));else if(R($))S(y,t)&&await a(Aa+La(t)+ha(t,E));else{const n=p(C(X(y,t)),a=>a!=e),i={},r=[];x(s??{},(a,t)=>{i[t]=T(n,t=>c?c(a?.[t]):a?.[t]),v(r,t)}),await o(a,t,e,n,i),await a(Aa+La(t)+ha(t,E)+`AND${La(e)}NOT IN(${fa(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A(async()=>e=await t(),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const r=[1];await a(ua+" INTO"+La(t)+"("+((...a)=>m(T(a,La),n))(e,...s)+")VALUES"+m(j(i,a=>"($"+r[0]+++","+fa(a,r)+")"),n)+"ON CONFLICT("+La(e)+`)DO ${Na} SET`+m(T(s,a=>La(a)+"=excluded."+La(a)),n),j(i,(a,t)=>[t,...T(a,a=>a??null)]).flat())},Za=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=qa(t,w,y,s,E,N),m=na(a,()=>O(async()=>{return await g(),a=(await $(o,c))[ca]?.[l]??"null",ia(a,(a,t)=>""===t?void 0:t);var a}),a=>O(async()=>{await g(),await A(o,c,{[ca]:{[l]:ra(a()??null)}},!0,!0)}),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},at=(a,t,e,n,s,i,r,[o,c,[l,y,d]],u,E,N,$,A,O,m,T)=>{const[R,v,I,S]=qa(t,u,E,s,A,O,m,T),_=(a,t)=>g(J(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await I(e,n,a[o],s,i,t,r)})),C=async(a,t)=>y?await I(d,la,{[ca]:a},!0,!0,t):null,b=na(a,()=>S(async()=>{await R();const a=await(async()=>F(p(await g(J(o,async([a,t,e],n)=>[a,await v(n,t,e)])),a=>!W(a[1]))))(),t=await(async()=>l?(await v(d,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}),(a,t)=>S(async()=>{if(await R(),w(t)){const[t,e]=a();await _(t),await C(e)}else await _(t[0],!0),await C(t[1],!0)}),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},tt=/^([cd]:)(.+)/,et=(a,n,s,o,c,l,w,d,u,E,N="getDb")=>{const $=ba(s,l),[A,,R,p]=Va(n),v=e+(a=>{let t=2166136261;return O(oa.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(ra(R)),I=t+"_"+v,_=async(a,e,n="",s="")=>{const i=Da(t,a,v);return await $(va+Sa+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},b=async(a,t,e,n)=>(await $(va+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),L=a=>`PERFORM pg_notify('${I}',${a});`,D=(a,t)=>A?i:2===t?D(a,0)+" OR "+D(a,1):r(X(R[0],a)?.[2]??i,Ca,0==t?"NEW":"OLD"),f=(a,e)=>g(T([ua,Ea,Na],(n,s)=>b(Sa,Da(t,"d",v,a,n),`AFTER ${n} ON${La(a)}FOR EACH ROW WHEN(${D(a,s)})`,e)));return(A?Za:at)(a,$,async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${ya} command_tag='${Ia}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await b("EVENT ",Da(t,"c",v),`ON ddl_command_end WHEN TAG IN('${Ia}')`,e);const n=await _("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await g(T(C(p),async a=>(await $(Ia+` IF NOT EXISTS${La(a)}("_id"text PRIMARY KEY)`),await f(a,n)))),[await o(I,t=>{return y((e=t,s=tt,e?.match(s)),async([,t,e])=>{S(p,e)&&("c:"==t&&await f(e,n),a())});var e,s}),[e,n]]},async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)},w,d,u,R,C(p),async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${ya} table_schema='public'AND table_name IN(${fa(t)})`,t),E,N,"text",void 0,a=>sa(a),a=>ia(a))},nt=(a,t,n,s,i,r,o,c,w,y,d="getDb",u)=>{let E,N,g;const $=ba(n,r),[O,m,T,R]=Va(t);return(O?Za:at)(a,$,a=>{let t;const e=()=>t=setInterval(()=>A(async()=>{const[{d:t,s:e,c:n}]=await $(wa+` ${Ta} d,${Ra} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${Ra}`);t==E&&e==N&&n==g||(null!=E&&a(),E=t,N=e,g=n)}),1e3*m),n=()=>{E=N=g=null,l(t)},r=s(t=>{R.has(t)&&(n(),a(),e())});return e(),()=>{n(),i(r)}},a=>a(),o,c,w,T,C(R),async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${pa}list()t,${pa}info(t.name)c ${ya} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t),y,d,e,u,a=>!0===a?1:!1===a?0:a,void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),u=Object,d=t=>u.getPrototypeOf(t),l=u.entries,y=u.keys,g=u.freeze,w=(t=[])=>u.fromEntries(t),h=(t,a)=>e(t,
|
|
1
|
+
const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),u=Object,d=t=>u.getPrototypeOf(t),l=u.entries,y=u.keys,g=u.freeze,w=(t=[])=>u.fromEntries(t),h=(t,a)=>e(t,t=>t[a]),p=(t,e)=>e in t,v=(t,e)=>(delete t[e],t),f=(t,e)=>w(((t,e)=>((t,e)=>t.map(e))(l(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])),C=t=>n(y(t)),A=a=>(a=>!t(a)&&e(d(a),e=>e==u.prototype||t(d(e)),()=>!0))(a)&&0==C(a),S=(t,e,a)=>(p(t,e)||(t[e]=a()),t[e]),b=e=>t(e)||0==(t=>t?.size??0)(e),L=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),E=t=>new Map(t),P=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(M(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(P(t,e)):m(t,e,a()),P(t,e)},T=(t,a,s,r,o=0)=>e((s?D:P)(t,a[o],o>n(a)-2?s:E),e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const i=T(e,a,s,r,o+1);return b(e)&&m(t,a[o]),i}),z=/^\d+$/,O=e=>new Set(a(e)||t(e)?e:[e]),j=E(),k=E(),x=(u,d,l,y,w,h,p,v={},f=0,C=[])=>{let S,x,F,H=0,$=0,q=0;D(j,C,()=>0),D(k,C,()=>[]);const B=E(),[G,I,J,K,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:s("Store type not supported by this Persister"))(p,u,f),[Q,R,U]=(()=>{let a;const[s,r]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{z.test(e)&&n(t)<1e3&&i(t,e)}]})(),u=E();return[(t,e,n,r=[],o=()=>[])=>{a??=st;const i=s(1);var c,d;return m(u,i,[t,e,n,r,o]),c=T(e,n??[""],O),d=i,c?.add(d),i},(t,e,...s)=>o(((t,e=[""])=>{const a=[],s=(t,r)=>r==n(e)?i(a,t):null===e[r]?L(t,t=>s(t,r+1)):o([e[r],null],e=>s(P(t,e),r+1));return s(t,0),a})(t,e),t=>L(t,t=>P(u,t)[0](a,...e??[],...s))),t=>e(P(u,t),([,e,a])=>(T(e,a??[""],void 0,e=>(M(e,t),b(e)?1:0)),m(u,t),r(t),a)),s=>e(P(u,s),([e,,s=[],r,i])=>{const c=(...u)=>{const d=n(u);d==n(s)?e(a,...u,...i(u)):t(s[d])?o(r[d]?.(...u)??[],t=>c(...u,t)):c(...u,s[d])};c()})]})(),V=t=>{t!=H&&(H=t,R(B,void 0,H))},W=t=>{(G&&a(t?.[0])?1===t?.[2]?u.applyMergeableChanges:u.setMergeableContent:1===t?.[2]?u.applyChanges:u.setContent)(t)},X=async t=>(2!=H&&(V(1),$++,await nt(async()=>{await r(async()=>{const e=await d();a(e)?W(e):t?N(t):s("Content is not an array: "+e)},()=>{t&&N(t)}),V(0)})),st),Y=async t=>(Z(),await X(t),await r(async()=>x=await y(async(t,e)=>{e||t?2!=H&&(V(1),$++,W(e??t),V(0)):await X()}),h),st),Z=async()=>(x&&(await r(()=>w(x),h),x=void 0),st),_=async t=>(1!=H&&(V(2),q++,await nt(async()=>{await r(()=>l(I,t),h),V(0)})),st),tt=async()=>(et(),await _(),F=u.addDidFinishTransactionListener(()=>{const t=J();K(t)&&_(t)}),st),et=async()=>(F&&(u.delListener(F),F=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...e)=>(i(P(k,C),...e),await(async()=>{if(!P(j,C)){for(m(j,C,1);!t(S=c(P(k,C)));)await r(S,h);m(j,C,0)}})(),st),st={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!t(x),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!t(F),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,Y]:[Y,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>H,addStatusListener:t=>Q(t,B),delListener:t=>(U(t),u),schedule:nt,getStore:()=>u,destroy:()=>(P(k,C).splice(0,void 0),at()),getStats:()=>({loads:$,saves:q}),...v};return g(st)},F=(t,e)=>[t[e].t,t[e].v],H=(e,a,n,s)=>{const r=t(a)?e:S(e,a,()=>({}));let o;return f(n,(t,e)=>{s(r,e,t)&&(o=1)}),f(r,(t,e)=>{p(n,e)||(v(r,e),o=1)}),!t(a)&&A(r)&&v(e,a),o},$=(a,n,s="tinybase",r)=>(n.change(t=>S(t,s,w)),x(a,async()=>{const t=await n.doc();return 2==C(t?.[s])?F(t,s):void 0},async(a,r)=>n.change(n=>((a,n,s,r)=>{((t,e)=>{A(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,i]=F(a,n),c=()=>{u=1};let u=1;if(e(r,([a,n])=>{u=0,f(a,(a,n)=>u?0:t(a)?v(o,n):e(o[n],n=>f(a,(a,s)=>u?0:t(a)?v(n,s):e(h(n,s),e=>f(a,(a,n)=>t(a)?v(e,n):e[n]=a),c)),c)),f(n,(e,a)=>u?0:t(e)?v(i,a):i[a]=e)}),u){const[t,e]=s();H(o,void 0,t,(t,e,a)=>H(o,e,a,(t,e,a)=>H(t,e,a,(t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1}))),H(i,void 0,e,(t,e,a)=>{h(i,e)!==a&&(i[e]=a)})}})(n,s,a,r)),t=>{const e=({doc:e})=>t(F(e,s));return n.on("change",e),e},t=>{n.removeListener("change",t)},r,1,{getDocHandle:()=>n}));export{$ as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),u=Object,d=t=>u.getPrototypeOf(t),l=u.entries,y=u.keys,g=u.freeze,w=(t=[])=>u.fromEntries(t),h=(t,a)=>e(t,
|
|
1
|
+
const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=t=>Array.isArray(t),n=t=>t.length,s=t=>{throw Error(t)},r=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},o=(t,e)=>t.forEach(e),i=(t,...e)=>t.push(...e),c=t=>t.shift(),u=Object,d=t=>u.getPrototypeOf(t),l=u.entries,y=u.keys,g=u.freeze,w=(t=[])=>u.fromEntries(t),h=(t,a)=>e(t,t=>t[a]),p=(t,e)=>e in t,v=(t,e)=>(delete t[e],t),f=(t,e)=>w(((t,e)=>((t,e)=>t.map(e))(l(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])),C=t=>n(y(t)),A=a=>(a=>!t(a)&&e(d(a),e=>e==u.prototype||t(d(e)),()=>!0))(a)&&0==C(a),S=(t,e,a)=>(p(t,e)||(t[e]=a()),t[e]),b=e=>t(e)||0==(t=>t?.size??0)(e),L=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),E=t=>new Map(t),P=(t,e)=>t?.get(e),m=(e,a,n)=>t(n)?(M(e,a),e):e?.set(a,n),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(P(t,e)):m(t,e,a()),P(t,e)},T=(t,a,s,r,o=0)=>e((s?D:P)(t,a[o],o>n(a)-2?s:E),e=>{if(o>n(a)-2)return r?.(e)&&m(t,a[o]),e;const i=T(e,a,s,r,o+1);return b(e)&&m(t,a[o]),i}),z=/^\d+$/,O=e=>new Set(a(e)||t(e)?e:[e]),j=E(),k=E(),x=(u,d,l,y,w,h,p,v={},f=0,C=[])=>{let S,x,F,H=0,$=0,q=0;D(j,C,()=>0),D(k,C,()=>[]);const B=E(),[G,I,J,K,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:s("Store type not supported by this Persister"))(p,u,f),[Q,R,U]=(()=>{let a;const[s,r]=(()=>{const t=[];let e=0;return[a=>(a?c(t):null)??""+e++,e=>{z.test(e)&&n(t)<1e3&&i(t,e)}]})(),u=E();return[(t,e,n,r=[],o=()=>[])=>{a??=st;const i=s(1);var c,d;return m(u,i,[t,e,n,r,o]),c=T(e,n??[""],O),d=i,c?.add(d),i},(t,e,...s)=>o(((t,e=[""])=>{const a=[],s=(t,r)=>r==n(e)?i(a,t):null===e[r]?L(t,t=>s(t,r+1)):o([e[r],null],e=>s(P(t,e),r+1));return s(t,0),a})(t,e),t=>L(t,t=>P(u,t)[0](a,...e??[],...s))),t=>e(P(u,t),([,e,a])=>(T(e,a??[""],void 0,e=>(M(e,t),b(e)?1:0)),m(u,t),r(t),a)),s=>e(P(u,s),([e,,s=[],r,i])=>{const c=(...u)=>{const d=n(u);d==n(s)?e(a,...u,...i(u)):t(s[d])?o(r[d]?.(...u)??[],t=>c(...u,t)):c(...u,s[d])};c()})]})(),V=t=>{t!=H&&(H=t,R(B,void 0,H))},W=t=>{(G&&a(t?.[0])?1===t?.[2]?u.applyMergeableChanges:u.setMergeableContent:1===t?.[2]?u.applyChanges:u.setContent)(t)},X=async t=>(2!=H&&(V(1),$++,await nt(async()=>{await r(async()=>{const e=await d();a(e)?W(e):t?N(t):s("Content is not an array: "+e)},()=>{t&&N(t)}),V(0)})),st),Y=async t=>(Z(),await X(t),await r(async()=>x=await y(async(t,e)=>{e||t?2!=H&&(V(1),$++,W(e??t),V(0)):await X()}),h),st),Z=async()=>(x&&(await r(()=>w(x),h),x=void 0),st),_=async t=>(1!=H&&(V(2),q++,await nt(async()=>{await r(()=>l(I,t),h),V(0)})),st),tt=async()=>(et(),await _(),F=u.addDidFinishTransactionListener(()=>{const t=J();K(t)&&_(t)}),st),et=async()=>(F&&(u.delListener(F),F=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...e)=>(i(P(k,C),...e),await(async()=>{if(!P(j,C)){for(m(j,C,1);!t(S=c(P(k,C)));)await r(S,h);m(j,C,0)}})(),st),st={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!t(x),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!t(F),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,Y]:[Y,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>H,addStatusListener:t=>Q(t,B),delListener:t=>(U(t),u),schedule:nt,getStore:()=>u,destroy:()=>(P(k,C).splice(0,void 0),at()),getStats:()=>({loads:$,saves:q}),...v};return g(st)},F=(t,e)=>[t[e].t,t[e].v],H=(e,a,n,s)=>{const r=t(a)?e:S(e,a,()=>({}));let o;return f(n,(t,e)=>{s(r,e,t)&&(o=1)}),f(r,(t,e)=>{p(n,e)||(v(r,e),o=1)}),!t(a)&&A(r)&&v(e,a),o},$=(a,n,s="tinybase",r)=>(n.change(t=>S(t,s,w)),x(a,async()=>{const t=await n.doc();return 2==C(t?.[s])?F(t,s):void 0},async(a,r)=>n.change(n=>((a,n,s,r)=>{((t,e)=>{A(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[o,i]=F(a,n),c=()=>{u=1};let u=1;if(e(r,([a,n])=>{u=0,f(a,(a,n)=>u?0:t(a)?v(o,n):e(o[n],n=>f(a,(a,s)=>u?0:t(a)?v(n,s):e(h(n,s),e=>f(a,(a,n)=>t(a)?v(e,n):e[n]=a),c)),c)),f(n,(e,a)=>u?0:t(e)?v(i,a):i[a]=e)}),u){const[t,e]=s();H(o,void 0,t,(t,e,a)=>H(o,e,a,(t,e,a)=>H(t,e,a,(t,e,a)=>{if(h(t,e)!==a)return t[e]=a,1}))),H(i,void 0,e,(t,e,a)=>{h(i,e)!==a&&(i[e]=a)})}})(n,s,a,r)),t=>{const e=({doc:e})=>t(F(e,s));return n.on("change",e),e},t=>{n.removeListener("change",t)},r,1,{getDocHandle:()=>n}));export{$ as createAutomergePersister};
|
|
Binary file
|