tinybase 8.6.0-beta.0 → 9.0.0-beta.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/_internal/queries/with-schemas/index.d.ts +1 -2
- package/@types/_internal/ui/with-schemas/index.d.ts +8 -16
- package/@types/persisters/index.d.ts +32 -12
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +9 -8
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +10 -10
- package/@types/persisters/with-schemas/index.d.ts +56 -20
- package/@types/queries/index.d.ts +1 -7
- package/@types/queries/with-schemas/index.d.ts +5 -15
- package/@types/store/index.d.ts +1 -2
- package/@types/store/with-schemas/index.d.ts +19 -29
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +9 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +10 -3
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +15 -2
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +17 -2
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +51 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +51 -0
- package/@types/ui-react/with-schemas/index.d.ts +3 -6
- package/@types/ui-react-dom/with-schemas/index.d.ts +6 -12
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +3 -4
- package/@types/ui-solid/with-schemas/index.d.ts +4 -8
- package/@types/ui-solid-dom/with-schemas/index.d.ts +6 -12
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +6 -12
- package/index.js +21 -19
- package/indexes/index.js +6 -8
- package/indexes/with-schemas/index.js +6 -8
- package/metrics/index.js +6 -8
- package/metrics/with-schemas/index.js +6 -8
- package/min/index.js +1 -1
- package/min/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-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 -1
- 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 -1
- package/min/persisters/persister-durable-object-sql-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-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-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-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/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/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/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/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +311 -141
- package/omni/with-schemas/index.js +311 -141
- package/package.json +7 -7
- package/persisters/index.js +129 -37
- package/persisters/persister-cr-sqlite-wasm/index.js +129 -37
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +129 -37
- package/persisters/persister-durable-object-sql-storage/index.js +271 -110
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +271 -110
- package/persisters/persister-electric-sql/index.js +129 -37
- package/persisters/persister-electric-sql/with-schemas/index.js +129 -37
- package/persisters/persister-expo-sqlite/index.js +129 -37
- package/persisters/persister-expo-sqlite/with-schemas/index.js +129 -37
- package/persisters/persister-libsql/index.js +129 -37
- package/persisters/persister-libsql/with-schemas/index.js +129 -37
- package/persisters/persister-pglite/index.js +130 -37
- package/persisters/persister-pglite/with-schemas/index.js +130 -37
- package/persisters/persister-postgres/index.js +130 -37
- package/persisters/persister-postgres/with-schemas/index.js +130 -37
- package/persisters/persister-powersync/index.js +182 -117
- package/persisters/persister-powersync/with-schemas/index.js +182 -117
- package/persisters/persister-react-native-sqlite/index.js +129 -37
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite-bun/index.js +129 -37
- package/persisters/persister-sqlite-bun/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite-wasm/index.js +129 -37
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +129 -37
- package/persisters/persister-sqlite3/index.js +129 -37
- package/persisters/persister-sqlite3/with-schemas/index.js +129 -37
- package/persisters/with-schemas/index.js +129 -37
- package/queries/index.js +21 -19
- package/queries/with-schemas/index.js +21 -19
- package/readme.md +14 -14
- package/relationships/index.js +6 -8
- package/relationships/with-schemas/index.js +6 -8
- package/releases.md +57 -57
- package/synchronizers/synchronizer-ws-client/index.js +116 -42
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +116 -42
- package/synchronizers/synchronizer-ws-server/index.js +109 -28
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +109 -28
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +122 -38
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +122 -38
- package/ui-svelte/index.js +1 -1
- package/ui-svelte/with-schemas/index.js +1 -1
- package/ui-svelte-dom/index.js +2 -2
- package/ui-svelte-dom/with-schemas/index.js +2 -2
- package/ui-svelte-inspector/index.js +2 -2
- package/ui-svelte-inspector/with-schemas/index.js +2 -2
- package/with-schemas/index.js +21 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e)=>t?.match(e),a=(t,e="",a)=>t.split(e,a),n=Promise,s=Math,r=t=>(e,a,n)=>t(e)?n?.():a(e),o=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),c=clearTimeout,l=s.floor,u=s.random,g=t=>null==t,y=t=>void 0===t,d=t=>null===t,w=r(g),f=r(y),p=t=>Array.isArray(t),v=(t,e,a)=>t.slice(e,a),h=t=>t.length,S=t=>new n(t),b=t=>{throw Error(t)},M=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},A=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),C=(t,e)=>t.map(e),L=(t,...e)=>t.push(...e),E=t=>t.shift(),P=t=>y(t)||0==(t=>t?.size??0)(t),_=(t,e)=>t?.forEach(e),H=(t,e)=>t?.delete(e),T=Object,D=t=>T.getPrototypeOf(t),O=T.entries,N=t=>!g(t)&&w(D(t),t=>t==T.prototype||g(D(t)),()=>!0),R=T.keys,$=T.freeze,x=(t=[])=>T.fromEntries(t),z=(t,e)=>A(O(t),([t,a])=>e(a,t)),V=t=>N(t)&&0==(t=>h(R(t)))(t),j=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),k=Map,I=t=>new k(t),J=(t,e)=>t?.get(e),F=(t,e,a)=>y(a)?(H(t,e),t):t?.set(e,a),U=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(J(t,e)):F(t,e,a()),J(t,e)},W=(t,e,a,n,s=0)=>f((a?U:J)(t,e[s],s>h(e)-2?a:I),r=>{if(s>h(e)-2)return n?.(r)&&F(t,e[s]),r;const o=W(r,e,a,n,s+1);return P(r)&&F(t,e[s]),o}),q=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>C(t,()=>l(256*u())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>""===t?void 0:p(t)?C(t,X):N(t)?((t,e)=>x(((t,e)=>C(O(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,X):t,Y="\n",Z=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,tt=(t,e,a)=>{return a(t,...(n=e,X(Q(n))));var n},et=(t,e)=>t+Y+e,at=(t,e)=>e?[t,e]:[t],nt=(e,a)=>((e??t)>(a??t)?e:a)??t,st=(t="")=>at(x(),t),rt=/^\d+$/,ot=t=>new Set(p(t)||y(t)?t:[t]),it=I(),ct=I(),lt=(e,a,n,s,r,o,i,c={},l=0,u=[])=>{let g,w,v,S=0,m=0,C=0;U(it,u,()=>0),U(ct,u,()=>[]);const T=I(),[D,O,N,R,x]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!V(t)||!V(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!V(t)||!V(e),e.setContent]:b("Store type not supported by this Persister"))(i,e,l),[z,j,k]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?E(e):null)??t+a++,t=>{rt.test(t)&&h(e)<1e3&&L(e,t)}]})(),s=I();return[(n,r,o,i=[],c=()=>[])=>{e??=st;const l=a(1);var u,g;return F(s,l,[n,r,o,i,c]),u=W(r,o??[t],ot),g=l,u?.add(g),l},(a,n,...r)=>A(((e,a=[t])=>{const n=[],s=(t,e)=>e==h(a)?L(n,t):d(a[e])?_(t,t=>s(t,e+1)):A([a[e],null],a=>s(J(t,a),e+1));return s(e,0),n})(a,n),t=>_(t,t=>J(s,t)[0](e,...n??[],...r))),e=>f(J(s,e),([,a,r])=>(W(a,r??[t],void 0,t=>(H(t,e),P(t)?1:0)),F(s,e),n(e),r)),t=>f(J(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=h(o);i==h(a)?t(e,...o,...s(o)):d(a[i])?A(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),q=t=>{t!=S&&(S=t,j(T,void 0,S))},B=t=>{(D&&p(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},G=async()=>{et()&&e.__?.[0]?.()&&await Y()},K=async t=>(2!=S&&(q(1),m++,await nt(async()=>{await M(async()=>{const e=await a();p(e)?B(e):t?x(t):b("Content is not an array: "+e)},()=>{t&&x(t)}),q(0),await G()})),st),Q=async t=>(X(),await K(t),await M(async()=>w=await s(async(t,e)=>{e||t?2!=S&&(q(1),m++,B(e??t),q(0),await G()):await K()}),o),st),X=async()=>(w&&(await M(()=>r(w),o),w=void 0),st),Y=async t=>(1!=S&&(q(2),C++,await nt(async()=>{await M(()=>n(O,t),o),q(0)})),st),Z=async()=>(tt(),await Y(),v=e.addDidFinishTransactionListener(()=>{const t=N();R(t)&&Y(t)}),st),tt=async()=>(v&&(e.delListener(v),v=void 0),st),et=()=>!y(v),at=async(t=!1)=>{const[e,a]=t?[tt,X]:[X,tt];return await e(),await a(),st},nt=async(...t)=>(L(J(ct,u),...t),await(async()=>{if(!J(it,u)){for(F(it,u,1);!y(g=E(J(ct,u)));)await M(g,o);F(it,u,0)}})(),st),st={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!y(w),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[Z,Q]:[Q,Z];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>S,addStatusListener:t=>z(t,T),delListener:t=>(k(t),e),schedule:nt,getStore:()=>e,destroy:()=>(J(ct,u).splice(0,void 0),at()),getStats:()=>({loads:m,saves:C}),...c};return $(st)},ut=async(a,n,s=1,r,o,u,g)=>{const w=(t,e)=>(n.addEventListener(t,e),()=>n.removeEventListener(t,e)),p=((e,a,n,s,r,o,c,l,u={})=>{let g,w=0,p=0,v=0;const h=I(),b=()=>G(11),A=(t,e,n,s)=>{p++,o?.(t,e,n,s),a(t,e,n,s)},m=async(t,e,a,n)=>S((s,o)=>{const c=n+"."+G(4),l=i(()=>{H(h,c),o(`No response from ${t??"anyone"} to ${c}, `+e)},r);F(h,c,[t,(t,e)=>{clearTimeout(l),H(h,c),s([t,e,n])}]),A(t,c,e,a)}),C=(t,[e,a])=>{z(e,([e,a],n)=>{const s=j(t[0],n,st);z(e,([t,e],a)=>{const n=j(s[0],a,st);z(t,([t,e],a)=>n[0][a]=at(t,e)),n[1]=nt(n[1],e)}),s[1]=nt(s[1],a)}),t[1]=nt(t[1],a)},L=(a=null,n,s=b())=>M(async()=>{y(n)&&([n,a,s]=await m(null,1,t,s));const[r,o]=n,[i,c]=e.getMergeableContentHashes();let l=st();if(i!=r){const[t,n]=(await m(a,4,e.getMergeableTableHashes(),s))[0];if(l=t,!V(n)){const[t,r]=(await m(a,5,e.getMergeableRowHashes(n),s))[0];if(C(l,t),!V(r)){const t=(await m(a,6,e.getMergeableCellHashes(r),s))[0];C(l,t)}}}return[l,c==o?st():(await m(a,7,e.getMergeableValueHashes(),s))[0],1]},l),E=lt(e,async()=>{const t=await L();return!t||V(t[0][0])&&V(t[1][0])?void 0:t},async(t,a)=>a?A(null,b(),3,a):A(null,b(),2,e.getMergeableContentHashes()),t=>g=t,()=>g=void 0,l,2,{startSync:async t=>(w=1,await E.startAutoPersisting(t)),stopSync:async()=>(w=0,await E.stopAutoPersisting(),E),destroy:async()=>(await E.stopSync(),s(),E),getSynchronizerStats:()=>({sends:p,receives:v}),...u},1);return n((t,a,n,s)=>{const r=w||E.isAutoLoading();v++,c?.(t,a,n,s),0==n?f(J(h,a),([e,a])=>d(e)||e==t?a(s,t):0):2==n&&r?L(t,s,a??void 0).then(t=>{g?.(void 0,t)}).catch(l):3==n&&r?g?.(void 0,s):f(1==n&&(w||E.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{A(t,a,0,e)})}),E})(a,(a,...s)=>A(((a,n,s,r,o)=>{const i=a??t,c=K([n,s,r],(t,e)=>y(e)?"":e),u=l(o??0);if(y(o)||u<1||h(c)<=u)return[et(i,c)];const g=e(c,RegExp(`.{1,${u}}`,"g")),d=h(g??[]),w=G();return C(g??[],(t,e)=>et(i,m([w,e,d,t],Y)))})(a,...s,g),t=>n.send(t)),t=>{const a=((t,a=1)=>{const n=I(),s=t=>i(()=>H(n,t),a);return a=>(a=>{const r=a.indexOf(Y);-1!==r&&((a,r)=>{const[,o,i,l,u]=e(r,Z)??[];if(o){const e=parseInt(i),r=parseInt(l);if(r>0&&e>=0&&e<r){const i=a+Y+o,l=U(n,i,()=>[[],r,r,s(i)]),[g]=l;r==l[2]&&y(g[e])&&(c(l[3]),l[3]=s(i),g[e]=u,l[1]--),0==l[1]&&(((t,e)=>{c(e[3]),H(n,t)})(i,l),tt(a,m(g),t))}}else tt(a,r,t)})(v(a,0,r),v(a,r+1))})(a)})(t,s);w("message",({data:t})=>a(t.toString("utf8")))},()=>{n.close()},s,r,o,u,{getWebSocket:()=>n});return S(t=>{if(n.readyState!=n.OPEN){const e=e=>{e&&u?.(e),a(),n(),t(p)},a=w("open",()=>e()),n=w("error",e)}else t(p)})};export{ut as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e)=>t?.match(e),a=(t,e="",a)=>t.split(e,a),n=Promise,s=Math,r=t=>(e,a,n)=>t(e)?n?.():a(e),o=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),c=clearTimeout,l=s.floor,u=s.random,g=t=>null==t,y=t=>void 0===t,d=t=>null===t,w=r(g),f=r(y),p=t=>Array.isArray(t),v=(t,e,a)=>t.slice(e,a),h=t=>t.length,S=t=>new n(t),b=t=>{throw Error(t)},M=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},A=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),C=(t,e)=>t.map(e),L=(t,...e)=>t.push(...e),E=t=>t.shift(),P=t=>y(t)||0==(t=>t?.size??0)(t),_=(t,e)=>t?.forEach(e),H=(t,e)=>t?.delete(e),T=Object,D=t=>T.getPrototypeOf(t),O=T.entries,N=t=>!g(t)&&w(D(t),t=>t==T.prototype||g(D(t)),()=>!0),R=T.keys,$=T.freeze,x=(t=[])=>T.fromEntries(t),z=(t,e)=>A(O(t),([t,a])=>e(a,t)),V=t=>N(t)&&0==(t=>h(R(t)))(t),j=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),k=Map,I=t=>new k(t),J=(t,e)=>t?.get(e),F=(t,e,a)=>y(a)?(H(t,e),t):t?.set(e,a),U=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(J(t,e)):F(t,e,a()),J(t,e)},W=(t,e,a,n,s=0)=>f((a?U:J)(t,e[s],s>h(e)-2?a:I),r=>{if(s>h(e)-2)return n?.(r)&&F(t,e[s]),r;const o=W(r,e,a,n,s+1);return P(r)&&F(t,e[s]),o}),q=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>C(t,()=>l(256*u())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>""===t?void 0:p(t)?C(t,X):N(t)?((t,e)=>x(((t,e)=>C(O(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,X):t,Y="\n",Z=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,tt=(t,e,a)=>{return a(t,...(n=e,X(Q(n))));var n},et=(t,e)=>t+Y+e,at=(t,e)=>e?[t,e]:[t],nt=(e,a)=>((e??t)>(a??t)?e:a)??t,st=(t="")=>at(x(),t),rt=/^\d+$/,ot=t=>new Set(p(t)||y(t)?t:[t]),it=I(),ct=I(),lt=(e,a,n,s,r,o,i,c={},l=0,u=[])=>{let g,w,v,S=0,m=0,C=0;U(it,u,()=>0),U(ct,u,()=>[]);const T=I(),[D,O,N,R,x]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!V(t)||!V(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!V(t)||!V(e),e.setContent]:b("Store type not supported by this Persister"))(i,e,l),[z,j,k]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?E(e):null)??t+a++,t=>{rt.test(t)&&h(e)<1e3&&L(e,t)}]})(),s=I();return[(n,r,o,i=[],c=()=>[])=>{e??=st;const l=a(1);var u,g;return F(s,l,[n,r,o,i,c]),u=W(r,o??[t],ot),g=l,u?.add(g),l},(a,n,...r)=>A(((e,a=[t])=>{const n=[],s=(t,e)=>e==h(a)?L(n,t):d(a[e])?_(t,t=>s(t,e+1)):A([a[e],null],a=>s(J(t,a),e+1));return s(e,0),n})(a,n),t=>_(t,t=>J(s,t)[0](e,...n??[],...r))),e=>f(J(s,e),([,a,r])=>(W(a,r??[t],void 0,t=>(H(t,e),P(t)?1:0)),F(s,e),n(e),r)),t=>f(J(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=h(o);i==h(a)?t(e,...o,...s(o)):d(a[i])?A(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),q=t=>{t!=S&&(S=t,j(T,void 0,S))},B=t=>{(D&&p(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},G=async()=>{et()&&e.__?.[0]?.()&&await Y()},K=async t=>(2!=S&&(q(1),m++,await nt(async()=>{await M(async()=>{const e=await a();p(e)?B(e):t?x(t):b("Content is not an array: "+e)},()=>{t&&x(t)}),q(0),await G()})),st),Q=async t=>(X(),await K(t),await M(async()=>w=await s(async(t,e)=>{e||t?2!=S&&(q(1),m++,B(e??t),q(0),await G()):await K()}),o),st),X=async()=>(w&&(await M(()=>r(w),o),w=void 0),st),Y=async t=>(1!=S&&(q(2),C++,await nt(async()=>{await M(()=>n(O,t),o),q(0)})),st),Z=async()=>(tt(),await Y(),v=e.addDidFinishTransactionListener(()=>{const t=N();R(t)&&Y(t)}),st),tt=async()=>(v&&(e.delListener(v),v=void 0),st),et=()=>!y(v),at=async(t=!1)=>{const[e,a]=t?[tt,X]:[X,tt];return await e(),await a(),st},nt=async(...t)=>(L(J(ct,u),...t),await(async()=>{if(!J(it,u)){for(F(it,u,1);!y(g=E(J(ct,u)));)await M(g,o);F(it,u,0)}})(),st),st={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!y(w),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[Z,Q]:[Q,Z];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>S,addStatusListener:t=>z(t,T),delListener:t=>(k(t),e),schedule:nt,getStore:()=>e,destroy:()=>(J(ct,u).splice(0,void 0),at()),getStats:()=>({loads:m,saves:C}),...c};return $(st)},ut=async(a,n,s=1,r,o,u,g)=>{const w=(t,e)=>(n.addEventListener(t,e),()=>n.removeEventListener(t,e)),p=((e,a,n,s,r,o,c,l,u={})=>{let g,w=0,p=0,v=0;const h=I(),b=()=>G(11),A=(t,e,n,s)=>{p++,o?.(t,e,n,s),a(t,e,n,s)},m=async(t,e,a,n)=>S((s,o)=>{const c=n+"."+G(4),l=i(()=>{H(h,c),o(`No response from ${t??"anyone"} to ${c}, `+e)},r);F(h,c,[t,(t,e)=>{clearTimeout(l),H(h,c),s([t,e,n])}]),A(t,c,e,a)}),C=(t,[e,a])=>{z(e,([e,a],n)=>{const s=j(t[0],n,st);z(e,([t,e],a)=>{const n=j(s[0],a,st);z(t,([t,e],a)=>n[0][a]=at(t,e)),n[1]=nt(n[1],e)}),s[1]=nt(s[1],a)}),t[1]=nt(t[1],a)},L=(a=null,n,s=b())=>M(async()=>{y(n)&&([n,a,s]=await m(null,1,t,s));const[r,o]=n,[i,c]=e.getMergeableContentHashes();let l=st();if(i!=r){const[t,n]=(await m(a,4,e.getMergeableTableHashes(),s))[0];if(l=t,!V(n)){const[t,r]=(await m(a,5,e.getMergeableRowHashes(n),s))[0];if(C(l,t),!V(r)){const t=(await m(a,6,e.getMergeableCellHashes(r),s))[0];C(l,t)}}}return[l,c==o?st():(await m(a,7,e.getMergeableValueHashes(),s))[0],1]},l),E=lt(e,async()=>{const t=await L();return!t||V(t[0][0])&&V(t[1][0])?void 0:t},async(t,a)=>a?A(null,b(),3,a):A(null,b(),2,e.getMergeableContentHashes()),t=>g=t,()=>g=void 0,l,2,{startSync:async t=>(w=1,await E.startAutoPersisting(t)),stopSync:async()=>(w=0,await E.stopAutoPersisting(),E),destroy:async()=>(await E.stopSync(),s(),E),getSynchronizerStats:()=>({sends:p,receives:v}),...u},1);return n((t,a,n,s)=>{const r=w||E.isAutoLoading();v++,c?.(t,a,n,s),0==n?f(J(h,a),([e,a])=>d(e)||e==t?a(s,t):0):2==n&&r?L(t,s,a??void 0).then(t=>{g?.(void 0,t)}).catch(l):3==n&&r?g?.(void 0,s):f(1==n&&(w||E.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{A(t,a,0,e)})}),E})(a,(a,...s)=>A(((a,n,s,r,o)=>{const i=a??t,c=K([n,s,r],(t,e)=>y(e)?"":e),u=l(o??0);if(y(o)||u<1||h(c)<=u)return[et(i,c)];const g=e(c,RegExp(`.{1,${u}}`,"g")),d=h(g??[]),w=G();return C(g??[],(t,e)=>et(i,m([w,e,d,t],Y)))})(a,...s,g),t=>n.send(t)),t=>{const a=((t,a=1)=>{const n=I(),s=t=>i(()=>H(n,t),a);return a=>(a=>{const r=a.indexOf(Y);-1!==r&&((a,r)=>{const[,o,i,l,u]=e(r,Z)??[];if(o){const e=parseInt(i),r=parseInt(l);if(r>0&&e>=0&&e<r){const i=a+Y+o,l=U(n,i,()=>[[],r,r,s(i)]),[g]=l;r==l[2]&&y(g[e])&&(c(l[3]),l[3]=s(i),g[e]=u,l[1]--),0==l[1]&&(((t,e)=>{c(e[3]),H(n,t)})(i,l),tt(a,m(g),t))}}else tt(a,r,t)})(v(a,0,r),v(a,r+1))})(a)})(t,s);w("message",({data:t})=>a(t.toString("utf8")))},()=>{n.close()},s,r,o,u,{getWebSocket:()=>n});return S(t=>{if(n.readyState!=n.OPEN){const e=e=>{e&&u?.(e),a(),n(),t(p)},a=w("open",()=>e()),n=w("error",e)}else t(p)})};export{ut as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e="error",a=(t,e)=>t?.match(e),s=(t,e="",a)=>t.split(e,a),n=Promise,o=Math,r=t=>(e,a,s)=>t(e)?s?.():a(e),i=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,d=o.floor,y=o.random,u=t=>null==t,g=t=>void 0===t,w=t=>null===t,h=r(u),v=r(g),p=t=>Array.isArray(t),f=(t,e,a)=>t.slice(e,a),S=t=>t.length,b=t=>{throw Error(t)},A=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),C=(t,e="")=>t.join(e),L=(t,e)=>t.map(e),m=(t,e,a)=>t.reduce(e,a),P=(t,...e)=>t.push(...e),_=t=>t.shift(),H=t=>t?.size??0,T=(D=H,t=>m(k(t),(t,e)=>t+D(e),0));var D;const I=t=>g(t)||0==H(t),k=t=>[...t?.values()??[]],E=(t,e)=>t?.forEach(e),O=(t,e)=>t?.delete(e),R=Object,$=t=>R.getPrototypeOf(t),x=R.entries,z=t=>!u(t)&&h($(t),t=>t==R.prototype||u($(t)),()=>!0),N=R.keys,V=R.freeze,j=(t=[])=>R.fromEntries(t),J=(t,e)=>M(x(t),([t,a])=>e(a,t)),F=t=>z(t)&&0==(t=>S(N(t)))(t),U=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),W=Map,q=t=>new W(t),B=t=>[...t?.keys()??[]],G=(t,e)=>t?.get(e),K=(t,e,a)=>g(a)?(O(t,e),t):t?.set(e,a),Q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(G(t,e)):K(t,e,a()),G(t,e)},X=(t,e,a,s,n=0)=>v((a?Q:G)(t,e[n],n>S(e)-2?a:q),o=>{if(n>S(e)-2)return s?.(o)&&K(t,e[n]),o;const r=X(o,e,a,s,n+1);return I(o)&&K(t,e[n]),r}),Y=/^\d+$/,Z=t=>new Set(p(t)||g(t)?t:[t]),tt=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?_(e):null)??t+a++,t=>{Y.test(t)&&S(e)<1e3&&P(e,t)}]})(),o=q();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var y,u;return K(o,d,[n,r,i,c,l]),y=X(r,i??[t],Z),u=d,y?.add(u),d},(e,s,...n)=>M(((e,a=[t])=>{const s=[],n=(t,e)=>e==S(a)?P(s,t):w(a[e])?E(t,t=>n(t,e+1)):M([a[e],null],a=>n(G(t,a),e+1));return n(e,0),s})(e,s),t=>E(t,t=>G(o,t)[0](a,...s??[],...n))),e=>v(G(o,e),([,a,s])=>(X(a,s??[t],void 0,t=>(O(t,e),I(t)?1:0)),K(o,e),n(e),s)),t=>v(G(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=S(r);i==S(e)?t(a,...r,...n(r)):w(e[i])?M(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},et=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),at=i.crypto?t=>i.crypto.getRandomValues(t):t=>L(t,()=>d(256*y())),st=(e=16)=>m(at(new Uint8Array(e)),(t,e)=>t+et[63&e],t),nt=JSON.stringify,ot=JSON.parse,rt=t=>""===t?void 0:p(t)?L(t,rt):z(t)?((t,e)=>j(((t,e)=>L(x(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,rt):t,it="\n",ct=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,lt=(t,e)=>{const a=t.indexOf(it);-1!==a&&e(f(t,0,a),f(t,a+1))},dt=(t,e,a)=>{return a(t,...(s=e,rt(ot(s))));var s},yt=(t,e)=>t+it+e,ut=(t,e)=>e?[t,e]:[t],gt=(e,a)=>((e??t)>(a??t)?e:a)??t,wt=(t="")=>ut(j(),t),ht=q(),vt=q(),pt=/\/([^?]*)/,ft=(s,o,r,i=1,y)=>{const u=q(),h=q(),f=q(),m=q(),[D,k,R]=tt(()=>z),$=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},x=(e,a,s)=>n=>lt(n,(n,o)=>{const r=yt(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,E(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):G(a,n)?.send(r)});s.on("connection",(s,H)=>v(a(H.url,pt),([,T])=>v(H.headers["sec-websocket-key"],async H=>{const D=Q(f,T,q),E=Q(m,T,()=>[0]),R=x(H,D,E);I(D)&&(k(u,void 0,T,1),await(async(e,s,u)=>v(await(o?.(s)),s=>{e[0]=1,e[1]=p(s)?s[0]:s;const o=x("S",u,e);e[2]=((e,a,s,o,r,i,l,d,y={})=>{let u,h=0,f=0,S=0;const M=q(),C=()=>st(11),L=(t,e,s,n)=>{f++,a(t,e,s,n)},m=async(t,e,a,s)=>new n((n,o)=>{const i=s+"."+st(4),l=c(()=>{O(M,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);K(M,i,[t,(t,e)=>{clearTimeout(l),O(M,i),n([t,e,s])}]),L(t,i,e,a)}),H=(t,[e,a])=>{J(e,([e,a],s)=>{const n=U(t[0],s,wt);J(e,([t,e],a)=>{const s=U(n[0],a,wt);J(t,([t,e],a)=>s[0][a]=ut(t,e)),s[1]=gt(s[1],e)}),n[1]=gt(n[1],a)}),t[1]=gt(t[1],a)},T=(a=null,s,n=C())=>A(async()=>{g(s)&&([s,a,n]=await m(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=wt();if(i!=o){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!F(s)){const[t,o]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(H(l,t),!F(o)){const t=(await m(a,6,e.getMergeableCellHashes(o),n))[0];H(l,t)}}}return[l,c==r?wt():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]},d),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,y,u,w=0,h=0,v=0;Q(ht,l,()=>0),Q(vt,l,()=>[]);const f=q(),[S,M,C,L,m]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!F(t)||!F(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!F(t)||!F(e),e.setContent]:b("Store type not supported by this Persister"))(r,t,c),[H,T,D]=tt(()=>W),I=t=>{t!=w&&(w=t,T(f,void 0,w))},k=e=>{(S&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{j()&&t.__?.[0]?.()&&await x()},O=async t=>(2!=w&&(I(1),h++,await U(async()=>{await A(async()=>{const a=await e();p(a)?k(a):t?m(t):b("Content is not an array: "+a)},()=>{t&&m(t)}),I(0),await E()})),W),R=async t=>($(),await O(t),await A(async()=>y=await s(async(t,e)=>{e||t?2!=w&&(I(1),h++,k(e??t),I(0),await E()):await O()}),o),W),$=async()=>(y&&(await A(()=>n(y),o),y=void 0),W),x=async t=>(1!=w&&(I(2),v++,await U(async()=>{await A(()=>a(M,t),o),I(0)})),W),z=async()=>(N(),await x(),u=t.addDidFinishTransactionListener(()=>{const t=C();L(t)&&x(t)}),W),N=async()=>(u&&(t.delListener(u),u=void 0),W),j=()=>!g(u),J=async(t=!1)=>{const[e,a]=t?[N,$]:[$,N];return await e(),await a(),W},U=async(...t)=>(P(G(vt,l),...t),await(async()=>{if(!G(ht,l)){for(K(ht,l,1);!g(d=_(G(vt,l)));)await A(d,o);K(ht,l,0)}})(),W),W={load:O,startAutoLoad:R,stopAutoLoad:$,isAutoLoading:()=>!g(y),save:x,startAutoSave:z,stopAutoSave:N,isAutoSaving:j,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[z,R]:[R,z];return await a(t),await s(t),W},stopAutoPersisting:J,getStatus:()=>w,addStatusListener:t=>H(t,f),delListener:e=>(D(e),t),schedule:U,getStore:()=>t,destroy:()=>(G(vt,l).splice(0,void 0),J()),getStats:()=>({loads:h,saves:v}),...i};return V(W)})(e,async()=>{const t=await T();return!t||F(t[0][0])&&F(t[1][0])?void 0:t},async(t,a)=>a?L(null,C(),3,a):L(null,C(),2,e.getMergeableContentHashes()),t=>u=t,()=>u=void 0,d,2,{startSync:async t=>(h=1,await D.startAutoPersisting(t)),stopSync:async()=>(h=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:S}),...y},1);return s((t,a,s,n)=>{const o=h||D.isAutoLoading();S++,0==s?v(G(M,a),([e,a])=>w(e)||e==t?a(n,t):0):2==s&&o?T(t,n,a??void 0).then(t=>{u?.(void 0,t)}).catch(d):3==s&&o?u?.(void 0,n):v(1==s&&(h||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{L(t,a,0,e)})}),D})(e[1].getStore(),(e,s,n,r)=>M(((e,s,n,o,r)=>{const i=e??t,c=nt([s,n,o],(t,e)=>g(e)?"":e),l=d(r??0);if(g(r)||l<1||S(c)<=l)return[yt(i,c)];const y=a(c,RegExp(`.{1,${l}}`,"g")),u=S(y??[]),w=st();return L(y??[],(t,e)=>yt(i,C([w,e,u,t],it)))})(e,s,n,r,y),o),t=>{e[3]=((t,e=1)=>{const s=q(),n=t=>c(()=>O(s,t),e);return e=>lt(e,(e,o)=>{const[,r,i,c,d]=a(o,ct)??[];if(r){const a=parseInt(i),o=parseInt(c);if(o>0&&a>=0&&a<o){const i=e+it+r,c=Q(s,i,()=>[[],o,o,n(i)]),[y]=c;o==c[2]&&g(y[a])&&(l(c[3]),c[3]=n(i),y[a]=d,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),O(s,t)})(i,c),dt(e,C(y),t))}}else dt(e,o,t)})})(t,i)},0,i,0,0,r),e[4]=[],e[5]=p(s)?s[1]:t=>0}))(E,T,D)),K(D,H,s),k(h,[T],H,1),s.on("message",t=>{const e=t.toString("utf8");0==E[0]?R(e):P(E[4],e)}),1==E[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(E),M(E[4],R),E[4]=[]),s.on("close",async()=>{O(D,H),k(h,[T],H,-1),I(D)&&(await $(E),O(m,T),O(f,T),k(u,void 0,T,-1))}),r&&s.on(e,r)}))),r&&s.on(e,r);const z={getWebSocketServer:()=>s,getPathIds:()=>B(f),getClientIds:t=>B(G(f,t)),addPathIdsListener:t=>D(t,u),addClientIdsListener:(t,e)=>D(e,h,[t]),delListener:t=>(R(t),z),getStats:()=>({paths:H(f),clients:T(f)}),destroy:async()=>{var t,e;f.clear(),await(async t=>n.all(t))((t=m,e=$,L([...t?.entries()??[]],([t,a])=>e(a,t)))),s.close()}};return V(z)};export{ft as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e="error",a=(t,e)=>t?.match(e),s=(t,e="",a)=>t.split(e,a),n=Promise,o=Math,r=t=>(e,a,s)=>t(e)?s?.():a(e),i=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,d=o.floor,y=o.random,u=t=>null==t,g=t=>void 0===t,w=t=>null===t,h=r(u),v=r(g),p=t=>Array.isArray(t),f=(t,e,a)=>t.slice(e,a),S=t=>t.length,b=t=>{throw Error(t)},A=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),C=(t,e="")=>t.join(e),L=(t,e)=>t.map(e),m=(t,e,a)=>t.reduce(e,a),P=(t,...e)=>t.push(...e),_=t=>t.shift(),H=t=>t?.size??0,T=(D=H,t=>m(k(t),(t,e)=>t+D(e),0));var D;const I=t=>g(t)||0==H(t),k=t=>[...t?.values()??[]],E=(t,e)=>t?.forEach(e),O=(t,e)=>t?.delete(e),R=Object,$=t=>R.getPrototypeOf(t),x=R.entries,z=t=>!u(t)&&h($(t),t=>t==R.prototype||u($(t)),()=>!0),N=R.keys,V=R.freeze,j=(t=[])=>R.fromEntries(t),J=(t,e)=>M(x(t),([t,a])=>e(a,t)),F=t=>z(t)&&0==(t=>S(N(t)))(t),U=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),W=Map,q=t=>new W(t),B=t=>[...t?.keys()??[]],G=(t,e)=>t?.get(e),K=(t,e,a)=>g(a)?(O(t,e),t):t?.set(e,a),Q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(G(t,e)):K(t,e,a()),G(t,e)},X=(t,e,a,s,n=0)=>v((a?Q:G)(t,e[n],n>S(e)-2?a:q),o=>{if(n>S(e)-2)return s?.(o)&&K(t,e[n]),o;const r=X(o,e,a,s,n+1);return I(o)&&K(t,e[n]),r}),Y=/^\d+$/,Z=t=>new Set(p(t)||g(t)?t:[t]),tt=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?_(e):null)??t+a++,t=>{Y.test(t)&&S(e)<1e3&&P(e,t)}]})(),o=q();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var y,u;return K(o,d,[n,r,i,c,l]),y=X(r,i??[t],Z),u=d,y?.add(u),d},(e,s,...n)=>M(((e,a=[t])=>{const s=[],n=(t,e)=>e==S(a)?P(s,t):w(a[e])?E(t,t=>n(t,e+1)):M([a[e],null],a=>n(G(t,a),e+1));return n(e,0),s})(e,s),t=>E(t,t=>G(o,t)[0](a,...s??[],...n))),e=>v(G(o,e),([,a,s])=>(X(a,s??[t],void 0,t=>(O(t,e),I(t)?1:0)),K(o,e),n(e),s)),t=>v(G(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=S(r);i==S(e)?t(a,...r,...n(r)):w(e[i])?M(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},et=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),at=i.crypto?t=>i.crypto.getRandomValues(t):t=>L(t,()=>d(256*y())),st=(e=16)=>m(at(new Uint8Array(e)),(t,e)=>t+et[63&e],t),nt=JSON.stringify,ot=JSON.parse,rt=t=>""===t?void 0:p(t)?L(t,rt):z(t)?((t,e)=>j(((t,e)=>L(x(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,rt):t,it="\n",ct=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,lt=(t,e)=>{const a=t.indexOf(it);-1!==a&&e(f(t,0,a),f(t,a+1))},dt=(t,e,a)=>{return a(t,...(s=e,rt(ot(s))));var s},yt=(t,e)=>t+it+e,ut=(t,e)=>e?[t,e]:[t],gt=(e,a)=>((e??t)>(a??t)?e:a)??t,wt=(t="")=>ut(j(),t),ht=q(),vt=q(),pt=/\/([^?]*)/,ft=(s,o,r,i=1,y)=>{const u=q(),h=q(),f=q(),m=q(),[D,k,R]=tt(()=>z),$=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},x=(e,a,s)=>n=>lt(n,(n,o)=>{const r=yt(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,E(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):G(a,n)?.send(r)});s.on("connection",(s,H)=>v(a(H.url,pt),([,T])=>v(H.headers["sec-websocket-key"],async H=>{const D=Q(f,T,q),E=Q(m,T,()=>[0]),R=x(H,D,E);I(D)&&(k(u,void 0,T,1),await(async(e,s,u)=>v(await(o?.(s)),s=>{e[0]=1,e[1]=p(s)?s[0]:s;const o=x("S",u,e);e[2]=((e,a,s,o,r,i,l,d,y={})=>{let u,h=0,f=0,S=0;const M=q(),C=()=>st(11),L=(t,e,s,n)=>{f++,a(t,e,s,n)},m=async(t,e,a,s)=>new n((n,o)=>{const i=s+"."+st(4),l=c(()=>{O(M,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);K(M,i,[t,(t,e)=>{clearTimeout(l),O(M,i),n([t,e,s])}]),L(t,i,e,a)}),H=(t,[e,a])=>{J(e,([e,a],s)=>{const n=U(t[0],s,wt);J(e,([t,e],a)=>{const s=U(n[0],a,wt);J(t,([t,e],a)=>s[0][a]=ut(t,e)),s[1]=gt(s[1],e)}),n[1]=gt(n[1],a)}),t[1]=gt(t[1],a)},T=(a=null,s,n=C())=>A(async()=>{g(s)&&([s,a,n]=await m(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=wt();if(i!=o){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!F(s)){const[t,o]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(H(l,t),!F(o)){const t=(await m(a,6,e.getMergeableCellHashes(o),n))[0];H(l,t)}}}return[l,c==r?wt():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]},d),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,y,u,w=0,h=0,v=0;Q(ht,l,()=>0),Q(vt,l,()=>[]);const f=q(),[S,M,C,L,m]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!F(t)||!F(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!F(t)||!F(e),e.setContent]:b("Store type not supported by this Persister"))(r,t,c),[H,T,D]=tt(()=>W),I=t=>{t!=w&&(w=t,T(f,void 0,w))},k=e=>{(S&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{j()&&t.__?.[0]?.()&&await x()},O=async t=>(2!=w&&(I(1),h++,await U(async()=>{await A(async()=>{const a=await e();p(a)?k(a):t?m(t):b("Content is not an array: "+a)},()=>{t&&m(t)}),I(0),await E()})),W),R=async t=>($(),await O(t),await A(async()=>y=await s(async(t,e)=>{e||t?2!=w&&(I(1),h++,k(e??t),I(0),await E()):await O()}),o),W),$=async()=>(y&&(await A(()=>n(y),o),y=void 0),W),x=async t=>(1!=w&&(I(2),v++,await U(async()=>{await A(()=>a(M,t),o),I(0)})),W),z=async()=>(N(),await x(),u=t.addDidFinishTransactionListener(()=>{const t=C();L(t)&&x(t)}),W),N=async()=>(u&&(t.delListener(u),u=void 0),W),j=()=>!g(u),J=async(t=!1)=>{const[e,a]=t?[N,$]:[$,N];return await e(),await a(),W},U=async(...t)=>(P(G(vt,l),...t),await(async()=>{if(!G(ht,l)){for(K(ht,l,1);!g(d=_(G(vt,l)));)await A(d,o);K(ht,l,0)}})(),W),W={load:O,startAutoLoad:R,stopAutoLoad:$,isAutoLoading:()=>!g(y),save:x,startAutoSave:z,stopAutoSave:N,isAutoSaving:j,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[z,R]:[R,z];return await a(t),await s(t),W},stopAutoPersisting:J,getStatus:()=>w,addStatusListener:t=>H(t,f),delListener:e=>(D(e),t),schedule:U,getStore:()=>t,destroy:()=>(G(vt,l).splice(0,void 0),J()),getStats:()=>({loads:h,saves:v}),...i};return V(W)})(e,async()=>{const t=await T();return!t||F(t[0][0])&&F(t[1][0])?void 0:t},async(t,a)=>a?L(null,C(),3,a):L(null,C(),2,e.getMergeableContentHashes()),t=>u=t,()=>u=void 0,d,2,{startSync:async t=>(h=1,await D.startAutoPersisting(t)),stopSync:async()=>(h=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:S}),...y},1);return s((t,a,s,n)=>{const o=h||D.isAutoLoading();S++,0==s?v(G(M,a),([e,a])=>w(e)||e==t?a(n,t):0):2==s&&o?T(t,n,a??void 0).then(t=>{u?.(void 0,t)}).catch(d):3==s&&o?u?.(void 0,n):v(1==s&&(h||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{L(t,a,0,e)})}),D})(e[1].getStore(),(e,s,n,r)=>M(((e,s,n,o,r)=>{const i=e??t,c=nt([s,n,o],(t,e)=>g(e)?"":e),l=d(r??0);if(g(r)||l<1||S(c)<=l)return[yt(i,c)];const y=a(c,RegExp(`.{1,${l}}`,"g")),u=S(y??[]),w=st();return L(y??[],(t,e)=>yt(i,C([w,e,u,t],it)))})(e,s,n,r,y),o),t=>{e[3]=((t,e=1)=>{const s=q(),n=t=>c(()=>O(s,t),e);return e=>lt(e,(e,o)=>{const[,r,i,c,d]=a(o,ct)??[];if(r){const a=parseInt(i),o=parseInt(c);if(o>0&&a>=0&&a<o){const i=e+it+r,c=Q(s,i,()=>[[],o,o,n(i)]),[y]=c;o==c[2]&&g(y[a])&&(l(c[3]),c[3]=n(i),y[a]=d,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),O(s,t)})(i,c),dt(e,C(y),t))}}else dt(e,o,t)})})(t,i)},0,i,0,0,r),e[4]=[],e[5]=p(s)?s[1]:t=>0}))(E,T,D)),K(D,H,s),k(h,[T],H,1),s.on("message",t=>{const e=t.toString("utf8");0==E[0]?R(e):P(E[4],e)}),1==E[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(E),M(E[4],R),E[4]=[]),s.on("close",async()=>{O(D,H),k(h,[T],H,-1),I(D)&&(await $(E),O(m,T),O(f,T),k(u,void 0,T,-1))}),r&&s.on(e,r)}))),r&&s.on(e,r);const z={getWebSocketServer:()=>s,getPathIds:()=>B(f),getClientIds:t=>B(G(f,t)),addPathIdsListener:t=>D(t,u),addClientIdsListener:(t,e)=>D(e,h,[t]),delListener:t=>(R(t),z),getStats:()=>({paths:H(f),clients:T(f)}),destroy:async()=>{var t,e;f.clear(),await(async t=>n.all(t))((t=m,e=$,L([...t?.entries()??[]],([t,a])=>e(a,t)))),s.close()}};return V(z)};export{ft as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),
|
|
1
|
+
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e)=>t?.match(e),a=(t,e="",s)=>t.split(e,s),n=Promise,r=Math,i=t=>(e,s,a)=>t(e)?a?.():s(e),o=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,g=r.floor,u=r.random,d=t=>null==t,h=t=>void 0===t,w=t=>null===t,y=i(d),S=i(h),p=t=>Array.isArray(t),f=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},b=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),A=(t,e)=>t.map(e),P=(t,...e)=>t.push(...e),T=t=>t.shift(),k=Object,x=t=>k.getPrototypeOf(t),I=k.entries,L=t=>!d(t)&&y(x(t),t=>t==k.prototype||d(x(t)),()=>!0),R=k.keys,_=k.freeze,H=(t=[])=>k.fromEntries(t),D=(t,e)=>M(I(t),([t,s])=>e(s,t)),z=t=>L(t)&&0==(t=>v(R(t)))(t),E=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=t=>h(t)||0==(t=>t?.size??0)(t),F=(t,e)=>t?.forEach(e),N=(t,e)=>t?.delete(e),W=Map,$=t=>new W(t),q=(t,e)=>t?.get(e),U=(t,e,s)=>h(s)?(N(t,e),t):t?.set(e,s),V=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(q(t,e)):U(t,e,s()),q(t,e)},j=(t,e,s,a,n=0)=>S((s?V:q)(t,e[n],n>v(e)-2?s:$),r=>{if(n>v(e)-2)return a?.(r)&&U(t,e[n]),r;const i=j(r,e,s,a,n+1);return O(r)&&U(t,e[n]),i}),J=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>A(t,()=>g(256*u())),G=(t=16)=>{return e=(t,e)=>t+J[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>K(t,(t,e)=>h(e)?"":e),Y=t=>""===t?void 0:p(t)?A(t,Y):L(t)?((t,e)=>H(((t,e)=>A(I(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,Y):t,Z="\n",tt=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,et=(t,e)=>{const s=t.indexOf(Z);-1!==s&&e(f(t,0,s),f(t,s+1))},st=(t,e,s)=>{return s(t,...(a=e,Y(Q(a))));var a},at=(t,e)=>t+Z+e,nt=(t,e)=>e?[t,e]:[t],rt=(t,s)=>((t??e)>(s??e)?t:s)??e,it=(t="")=>nt(H(),t),ot=/^\d+$/,ct=t=>new Set(p(t)||h(t)?t:[t]),lt=$(),gt=$(),ut=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let u,d,y,f=0,m=0,A=0;V(lt,g,()=>0),V(gt,g,()=>[]);const k=$(),[x,I,L,R,H]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!z(t)||!z(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!z(t)||!z(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[D,E,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?T(t):null)??e+s++,e=>{ot.test(e)&&v(t)<1e3&&P(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=nt;const l=s(1);var g,u;return U(n,l,[a,r,i,o,c]),g=j(r,i??[e],ct),u=l,g?.add(u),l},(s,a,...r)=>M(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?P(a,t):w(s[e])?F(t,t=>n(t,e+1)):M([s[e],null],s=>n(q(t,s),e+1));return n(t,0),a})(s,a),e=>F(e,e=>q(n,e)[0](t,...a??[],...r))),t=>S(q(n,t),([,s,r])=>(j(s,r??[e],void 0,e=>(N(e,t),O(e)?1:0)),U(n,t),a(t),r)),e=>S(q(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):w(s[o])?M(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),J=t=>{t!=f&&(f=t,E(k,void 0,f))},B=e=>{(x&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},G=async()=>{et()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=f&&(J(1),m++,await at(async()=>{await b(async()=>{const e=await s();p(e)?B(e):t?H(t):C("Content is not an array: "+e)},()=>{t&&H(t)}),J(0),await G()})),nt),Q=async t=>(X(),await K(t),await b(async()=>d=await n(async(t,e)=>{e||t?2!=f&&(J(1),m++,B(e??t),J(0),await G()):await K()}),i),nt),X=async()=>(d&&(await b(()=>r(d),i),d=void 0),nt),Y=async t=>(1!=f&&(J(2),A++,await at(async()=>{await b(()=>a(I,t),i),J(0)})),nt),Z=async()=>(tt(),await Y(),y=t.addDidFinishTransactionListener(()=>{const t=L();R(t)&&Y(t)}),nt),tt=async()=>(y&&(t.delListener(y),y=void 0),nt),et=()=>!h(y),st=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),nt},at=async(...t)=>(P(q(gt,g),...t),await(async()=>{if(!q(lt,g)){for(U(lt,g,1);!h(u=T(q(gt,g)));)await b(u,i);U(lt,g,0)}})(),nt),nt={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!h(d),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),nt},stopAutoPersisting:st,getStatus:()=>f,addStatusListener:t=>D(t,k),delListener:e=>(W(e),t),schedule:at,getStore:()=>t,destroy:()=>(q(gt,g).splice(0,void 0),st()),getStats:()=>({loads:m,saves:A}),...c};return _(nt)},dt=/\/([^?]*)/,ht="S",wt=t=>s(new URL(t.url).pathname,dt)?.[1]??e,yt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,St=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),pt=()=>St(426,null,"Upgrade required");class ft extends t{#t;constructor(t,a){super(t,a),this.ctx.blockConcurrencyWhile(async()=>await S(await this.createPersister(),async t=>{const a=this.getRequestTimeoutSeconds(),r=((t,s,a,r,i,o,l,g,u={})=>{let d,y=0,p=0,f=0;const v=$(),C=()=>G(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},m=async(t,e,s,a)=>new n((n,r)=>{const o=a+"."+G(4),l=c(()=>{N(v,o),r(`No response from ${t??"anyone"} to ${o}, `+e)},i);U(v,o,[t,(t,e)=>{clearTimeout(l),N(v,o),n([t,e,a])}]),M(t,o,e,s)}),A=(t,[e,s])=>{D(e,([e,s],a)=>{const n=E(t[0],a,it);D(e,([t,e],s)=>{const a=E(n[0],s,it);D(t,([t,e],s)=>a[0][s]=nt(t,e)),a[1]=rt(a[1],e)}),n[1]=rt(n[1],s)}),t[1]=rt(t[1],s)},P=(s=null,a,n=C())=>b(async()=>{h(a)&&([a,s,n]=await m(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=it();if(o!=r){const[e,a]=(await m(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!z(a)){const[e,r]=(await m(s,5,t.getMergeableRowHashes(a),n))[0];if(A(l,e),!z(r)){const e=(await m(s,6,t.getMergeableCellHashes(r),n))[0];A(l,e)}}}return[l,c==i?it():(await m(s,7,t.getMergeableValueHashes(),n))[0],1]},g),T=ut(t,async()=>{const t=await P();return!t||z(t[0][0])&&z(t[1][0])?void 0:t},async(e,s)=>s?M(null,C(),3,s):M(null,C(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,g,2,{startSync:async t=>(y=1,await T.startAutoPersisting(t)),stopSync:async()=>(y=0,await T.stopAutoPersisting(),T),destroy:async()=>(await T.stopSync(),T),getSynchronizerStats:()=>({sends:p,receives:f}),...u},1);return a((e,s,a,n)=>{const r=y||T.isAutoLoading();f++,0==a?S(q(v,s),([t,s])=>w(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==a&&r?d?.(void 0,n):S(1==a&&(y||T.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),T})(t.getStore(),(t,a,n,r)=>M(((t,a,n,r,i)=>{const o=t??e,c=X([a,n,r]),l=g(i??0);if(h(i)||l<1||v(c)<=l)return[at(o,c)];const u=s(c,RegExp(`.{1,${l}}`,"g")),d=v(u??[]),w=G();return A(u??[],(t,e)=>at(o,m([w,e,d,t],Z)))})(t,a,n,r,this.getFragmentSize()),t=>this.#e(ht,t)),t=>this.#t=((t,e=1)=>{const a=$(),n=t=>c(()=>N(a,t),e);return e=>et(e,(e,r)=>{const[,i,o,c,g]=s(r,tt)??[];if(i){const s=parseInt(o),r=parseInt(c);if(r>0&&s>=0&&s<r){const o=e+Z+i,c=V(a,o,()=>[[],r,r,n(o)]),[u]=c;r==c[2]&&h(u[s])&&(l(c[3]),c[3]=n(o),u[s]=g,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),N(a,t)})(o,c),st(e,m(u),t))}}else st(e,r,t)})})(t,a),0,a);await t.load(),await t.startAutoSave(),c(r.startSync)}))}fetch(t){const s=wt(t);return S(yt(t),t=>{const[a,n]=(r=new WebSocketPair,k.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(at(ht,X([null,1,e]))),St(101,a)},pt)}webSocketMessage(t,e){S(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){et(s.toString(),(s,n)=>{const r=at(t,n);this.onMessage(t,s,n),s==e?(t!=ht&&this.#t?.(r),M(this.#s(),t=>{t!=a&&t.send(r)})):s==ht?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return A(this.#s(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const vt=t=>(e,s)=>yt(e)?s[t].get(s[t].idFromName(wt(e))).fetch(e):pt();export{ft as WsServerDurableObject,vt as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),
|
|
1
|
+
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e)=>t?.match(e),a=(t,e="",s)=>t.split(e,s),n=Promise,r=Math,i=t=>(e,s,a)=>t(e)?a?.():s(e),o=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,g=r.floor,u=r.random,d=t=>null==t,h=t=>void 0===t,w=t=>null===t,y=i(d),S=i(h),p=t=>Array.isArray(t),f=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},b=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),A=(t,e)=>t.map(e),P=(t,...e)=>t.push(...e),T=t=>t.shift(),k=Object,x=t=>k.getPrototypeOf(t),I=k.entries,L=t=>!d(t)&&y(x(t),t=>t==k.prototype||d(x(t)),()=>!0),R=k.keys,_=k.freeze,H=(t=[])=>k.fromEntries(t),D=(t,e)=>M(I(t),([t,s])=>e(s,t)),z=t=>L(t)&&0==(t=>v(R(t)))(t),E=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=t=>h(t)||0==(t=>t?.size??0)(t),F=(t,e)=>t?.forEach(e),N=(t,e)=>t?.delete(e),W=Map,$=t=>new W(t),q=(t,e)=>t?.get(e),U=(t,e,s)=>h(s)?(N(t,e),t):t?.set(e,s),V=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(q(t,e)):U(t,e,s()),q(t,e)},j=(t,e,s,a,n=0)=>S((s?V:q)(t,e[n],n>v(e)-2?s:$),r=>{if(n>v(e)-2)return a?.(r)&&U(t,e[n]),r;const i=j(r,e,s,a,n+1);return O(r)&&U(t,e[n]),i}),J=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>A(t,()=>g(256*u())),G=(t=16)=>{return e=(t,e)=>t+J[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>K(t,(t,e)=>h(e)?"":e),Y=t=>""===t?void 0:p(t)?A(t,Y):L(t)?((t,e)=>H(((t,e)=>A(I(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,Y):t,Z="\n",tt=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,et=(t,e)=>{const s=t.indexOf(Z);-1!==s&&e(f(t,0,s),f(t,s+1))},st=(t,e,s)=>{return s(t,...(a=e,Y(Q(a))));var a},at=(t,e)=>t+Z+e,nt=(t,e)=>e?[t,e]:[t],rt=(t,s)=>((t??e)>(s??e)?t:s)??e,it=(t="")=>nt(H(),t),ot=/^\d+$/,ct=t=>new Set(p(t)||h(t)?t:[t]),lt=$(),gt=$(),ut=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let u,d,y,f=0,m=0,A=0;V(lt,g,()=>0),V(gt,g,()=>[]);const k=$(),[x,I,L,R,H]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!z(t)||!z(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!z(t)||!z(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[D,E,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?T(t):null)??e+s++,e=>{ot.test(e)&&v(t)<1e3&&P(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=nt;const l=s(1);var g,u;return U(n,l,[a,r,i,o,c]),g=j(r,i??[e],ct),u=l,g?.add(u),l},(s,a,...r)=>M(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?P(a,t):w(s[e])?F(t,t=>n(t,e+1)):M([s[e],null],s=>n(q(t,s),e+1));return n(t,0),a})(s,a),e=>F(e,e=>q(n,e)[0](t,...a??[],...r))),t=>S(q(n,t),([,s,r])=>(j(s,r??[e],void 0,e=>(N(e,t),O(e)?1:0)),U(n,t),a(t),r)),e=>S(q(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):w(s[o])?M(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),J=t=>{t!=f&&(f=t,E(k,void 0,f))},B=e=>{(x&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},G=async()=>{et()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=f&&(J(1),m++,await at(async()=>{await b(async()=>{const e=await s();p(e)?B(e):t?H(t):C("Content is not an array: "+e)},()=>{t&&H(t)}),J(0),await G()})),nt),Q=async t=>(X(),await K(t),await b(async()=>d=await n(async(t,e)=>{e||t?2!=f&&(J(1),m++,B(e??t),J(0),await G()):await K()}),i),nt),X=async()=>(d&&(await b(()=>r(d),i),d=void 0),nt),Y=async t=>(1!=f&&(J(2),A++,await at(async()=>{await b(()=>a(I,t),i),J(0)})),nt),Z=async()=>(tt(),await Y(),y=t.addDidFinishTransactionListener(()=>{const t=L();R(t)&&Y(t)}),nt),tt=async()=>(y&&(t.delListener(y),y=void 0),nt),et=()=>!h(y),st=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),nt},at=async(...t)=>(P(q(gt,g),...t),await(async()=>{if(!q(lt,g)){for(U(lt,g,1);!h(u=T(q(gt,g)));)await b(u,i);U(lt,g,0)}})(),nt),nt={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!h(d),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),nt},stopAutoPersisting:st,getStatus:()=>f,addStatusListener:t=>D(t,k),delListener:e=>(W(e),t),schedule:at,getStore:()=>t,destroy:()=>(q(gt,g).splice(0,void 0),st()),getStats:()=>({loads:m,saves:A}),...c};return _(nt)},dt=/\/([^?]*)/,ht="S",wt=t=>s(new URL(t.url).pathname,dt)?.[1]??e,yt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,St=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),pt=()=>St(426,null,"Upgrade required");class ft extends t{#t;constructor(t,a){super(t,a),this.ctx.blockConcurrencyWhile(async()=>await S(await this.createPersister(),async t=>{const a=this.getRequestTimeoutSeconds(),r=((t,s,a,r,i,o,l,g,u={})=>{let d,y=0,p=0,f=0;const v=$(),C=()=>G(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},m=async(t,e,s,a)=>new n((n,r)=>{const o=a+"."+G(4),l=c(()=>{N(v,o),r(`No response from ${t??"anyone"} to ${o}, `+e)},i);U(v,o,[t,(t,e)=>{clearTimeout(l),N(v,o),n([t,e,a])}]),M(t,o,e,s)}),A=(t,[e,s])=>{D(e,([e,s],a)=>{const n=E(t[0],a,it);D(e,([t,e],s)=>{const a=E(n[0],s,it);D(t,([t,e],s)=>a[0][s]=nt(t,e)),a[1]=rt(a[1],e)}),n[1]=rt(n[1],s)}),t[1]=rt(t[1],s)},P=(s=null,a,n=C())=>b(async()=>{h(a)&&([a,s,n]=await m(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=it();if(o!=r){const[e,a]=(await m(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!z(a)){const[e,r]=(await m(s,5,t.getMergeableRowHashes(a),n))[0];if(A(l,e),!z(r)){const e=(await m(s,6,t.getMergeableCellHashes(r),n))[0];A(l,e)}}}return[l,c==i?it():(await m(s,7,t.getMergeableValueHashes(),n))[0],1]},g),T=ut(t,async()=>{const t=await P();return!t||z(t[0][0])&&z(t[1][0])?void 0:t},async(e,s)=>s?M(null,C(),3,s):M(null,C(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,g,2,{startSync:async t=>(y=1,await T.startAutoPersisting(t)),stopSync:async()=>(y=0,await T.stopAutoPersisting(),T),destroy:async()=>(await T.stopSync(),T),getSynchronizerStats:()=>({sends:p,receives:f}),...u},1);return a((e,s,a,n)=>{const r=y||T.isAutoLoading();f++,0==a?S(q(v,s),([t,s])=>w(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==a&&r?d?.(void 0,n):S(1==a&&(y||T.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),T})(t.getStore(),(t,a,n,r)=>M(((t,a,n,r,i)=>{const o=t??e,c=X([a,n,r]),l=g(i??0);if(h(i)||l<1||v(c)<=l)return[at(o,c)];const u=s(c,RegExp(`.{1,${l}}`,"g")),d=v(u??[]),w=G();return A(u??[],(t,e)=>at(o,m([w,e,d,t],Z)))})(t,a,n,r,this.getFragmentSize()),t=>this.#e(ht,t)),t=>this.#t=((t,e=1)=>{const a=$(),n=t=>c(()=>N(a,t),e);return e=>et(e,(e,r)=>{const[,i,o,c,g]=s(r,tt)??[];if(i){const s=parseInt(o),r=parseInt(c);if(r>0&&s>=0&&s<r){const o=e+Z+i,c=V(a,o,()=>[[],r,r,n(o)]),[u]=c;r==c[2]&&h(u[s])&&(l(c[3]),c[3]=n(o),u[s]=g,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),N(a,t)})(o,c),st(e,m(u),t))}}else st(e,r,t)})})(t,a),0,a);await t.load(),await t.startAutoSave(),c(r.startSync)}))}fetch(t){const s=wt(t);return S(yt(t),t=>{const[a,n]=(r=new WebSocketPair,k.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(at(ht,X([null,1,e]))),St(101,a)},pt)}webSocketMessage(t,e){S(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){et(s.toString(),(s,n)=>{const r=at(t,n);this.onMessage(t,s,n),s==e?(t!=ht&&this.#t?.(r),M(this.#s(),t=>{t!=a&&t.send(r)})):s==ht?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return A(this.#s(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const vt=t=>(e,s)=>yt(e)?s[t].get(s[t].idFromName(wt(e))).fetch(e):pt();export{ft as WsServerDurableObject,vt as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),o="object",r="array",i="type",d="default",c="allowNull",u="Listener",g="Result",h="add",f="Has",b="Ids",C="Table",w=C+"s",R=C+b,v="Row",I=v+"Count",L=v+b,T="Sorted"+v+b,p="Cell",S=p+b,V="Value",m=V+"s",y=V+b,k=e=>t+e,M=(e,t)=>e.startsWith(t),D=(e,t)=>e.endsWith(t),E=(e,s=t,n)=>e.split(s,n),W=Math,_=e=>(t,s,n)=>e(t)?n?.():s(t),H=globalThis,J=W.max,x=W.min,P=W.floor,F=W.random,Q=isFinite,N=e=>null==e,O=e=>void 0===e,j=e=>null===e,z=e=>!0===e,A=_(N),B=_(O),U=e=>e==s||e==n,q=t=>e(t)==s,G=t=>e(t)==a,K=e=>Array.isArray(e),X=(e,t,s)=>e.slice(t,s),Y=e=>e.length,Z=()=>{},$=()=>{},ee=H.structuredClone,te=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},se=(e,t)=>e.includes(t),ne=(e,t)=>e.every(t),le=(e,t)=>Y(e)===Y(t)&&ne(e,(e,s)=>t[s]===e),ae=(e,t)=>ne(e,(s,n)=>0==n||t(e[n-1],s)<=0),oe=(e,t)=>e.sort(t),re=(e,t)=>e.forEach(t),ie=(e,t)=>e.map(t),de=e=>ue(e,(e,t)=>e+t,0),ce=e=>0==Y(e),ue=(e,t,s)=>e.reduce(t,s),ge=(e,...t)=>e.push(...t),he=e=>e.pop(),fe=e=>e.shift(),be=e=>t=>ue(Te(t),(t,s)=>t+e(s),0),Ce=e=>e?.size??0,we=be(Ce),Re=be(we),ve=be(Re),Ie=(e,t)=>e?.has(t)??!1,Le=e=>O(e)||0==Ce(e),Te=e=>[...e?.values()??[]],pe=e=>e.clear(),Se=(e,t)=>e?.forEach(t),Ve=(e,t)=>e?.delete(t),me=Object,ye=e=>me.getPrototypeOf(e),ke=me.isFrozen,Me=me.entries,De=e=>!N(e)&&A(ye(e),e=>e==me.prototype||N(ye(e)),()=>!0),Ee=me.keys,We=me.freeze,_e=(e=[])=>me.fromEntries(e),He=(e,t)=>t in e,Je=(e,t)=>(delete e[t],e),xe=(e,t)=>re(Me(e),([e,s])=>t(s,e)),Pe=(e,t)=>_e(((e,t)=>ie(Me(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),Fe=e=>Y(Ee(e)),Qe=e=>De(e)&&0==Fe(e),Ne=(e,t,s=(e,t)=>e===t)=>{const n=Me(e);return Y(n)===Fe(t)&&ne(n,([e,n])=>De(n)?!!De(t[e])&&Ne(t[e],n,s):s(n,t[e]))},Oe=(e,t,s)=>(He(e,t)||(e[t]=s()),e[t]),je=(e,t,s,n=0)=>N(e)||!De(e)||!n&&Qe(e)||ke(e)?(s?.(),!1):(xe(e,(s,n)=>{t(s,n)||Je(e,n)}),!!n||!Qe(e)),ze=Map,Ae=e=>new ze(e),Be=e=>[...e?.keys()??[]],Ue=(e,t)=>e?.get(t),qe=(e,t)=>Se(e,(e,s)=>t(s,e)),Ge=(e,t,s)=>O(s)?(Ve(e,t),e):e?.set(t,s),Ke=(e,t,s,n)=>(Ie(e,t)?n?.(Ue(e,t)):Ge(e,t,s()),Ue(e,t)),Xe=(e,t,s,n=Ge)=>(Pe(t,(t,n)=>s(e,n,t)),qe(e,s=>He(t,s)?0:n(e,s)),e),Ye=(e,t,s,n)=>{const l={};return Se(e,(e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;n?.(s)||(l[a]=s)}}),l},Ze=(e,t,s)=>Ye(e,e=>Ye(e,t,s),Le,Qe),$e=(e,t,s)=>Ye(e,e=>Ze(e,t,s),Le,Qe),et=(e,t)=>{const s=Ae();return Se(e,(e,n)=>s.set(n,t?.(e)??e)),s},tt=e=>et(e,et),st=e=>et(e,tt),nt=(e,t,s,n,l=0)=>B((s?Ke:Ue)(e,t[l],l>Y(t)-2?s:Ae),a=>{if(l>Y(t)-2)return n?.(a)&&Ge(e,t[l]),a;const o=nt(a,t,s,n,l+1);return Le(a)&&Ge(e,t[l]),o}),lt=e=>new Set(K(e)||O(e)?e:[e]),at=(e,t)=>e?.add(t),ot=(e,t,s,n,l)=>{const a=e.hasRow,o=Ae(),r=Ae(),i=Ae(),d=Ae(),c=Ae(),u=Ae(),g=t=>B(Ue(u,t),s=>{re(Te(s),t=>{e.delListener(t),Ve(s,t)}),Ge(u,t)}),h=(e,s)=>{Ge(o,e,s),Ie(r,e)||(Ge(r,e,t()),Ge(d,e,Ae()),Ge(c,e,Ae()),l(i))},f=e=>{Ge(o,e),Ge(r,e),Ge(d,e),Ge(c,e),g(e),l(i)};return[()=>e,()=>Be(o),e=>qe(r,e),e=>Ie(r,e),e=>Ue(o,e),e=>Ue(r,e),(e,t)=>Ge(r,e,t),h,(t,n,l,o,r)=>{h(t,n);const i=Ae(),f=Ae(),b=Ue(d,t),C=Ue(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=Ue(b,t),c=a(n,t)?s(o(l,t)):void 0;if(d===c||K(d)&&K(c)&&le(d,c)||Ge(i,t,[d,c]),!O(r)){const e=Ue(C,t),s=a(n,t)?r(l,t):void 0;e!=s&&Ge(f,t,s)}},R=e=>{l(()=>{Se(i,([,e],t)=>Ge(b,t,e)),Se(f,(e,t)=>Ge(C,t,e))},i,f,b,C,e),pe(i),pe(f)};qe(b,w),e.hasTable(n)&&re(e.getRowIds(n),e=>{Ie(b,e)||w(e)}),R(!0),g(t),((e,...t)=>{const s=Ke(u,e,lt);re(t,e=>at(s,e))})(t,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>qe(u,f)]},rt=(e,s)=>q(e)?t=>t(e):e??(()=>s??t),it=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},dt=/^\d+$/,ct=()=>{const e=[];let s=0;return[n=>(n?fe(e):null)??t+s++,t=>{dt.test(t)&&Y(e)<1e3&&ge(e,t)}]},ut=e=>{let s;const[n,l]=ct(),a=Ae();return[(l,o,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Ge(a,c,[l,o,r,i,d]),at(nt(o,r??[t],lt),c),c},(e,n,...l)=>re(((e,s=[t])=>{const n=[],l=(e,t)=>t==Y(s)?ge(n,e):j(s[t])?Se(e,e=>l(e,t+1)):re([s[t],null],s=>l(Ue(e,s),t+1));return l(e,0),n})(e,n),e=>Se(e,e=>Ue(a,e)[0](s,...n??[],...l))),e=>B(Ue(a,e),([,s,n])=>(nt(s,n??[t],void 0,t=>(Ve(t,e),Le(t)?1:0)),Ge(a,e),l(e),n)),e=>B(Ue(a,e),([e,,t=[],n,l])=>{const a=(...o)=>{const r=Y(o);r==Y(t)?e(s,...o,...l(o)):j(t[r])?re(n[r]?.(...o)??[],e=>a(...o,e)):a(...o,t[r])};a()})]},gt=it(e=>{let s,n,l,a=100,o=Ae(),r=Ae(),i=1;const d=Ae(),c=Ae(),[u,g,h]=ut(()=>_),f=Ae(),b=Ae(),C=[],w=[],R=(t,s)=>{i=0,e.transaction(()=>{const[n,l]=Ue(f,s);Se(n,(s,n)=>Se(s,(s,l)=>Se(s,(s,a)=>e._[5](n,l,a,s[t],!0)))),Se(l,(s,n)=>e._[6](n,s[t],!0))}),i=1},v=e=>{Ge(f,e),Ge(b,e),g(c,[e])},I=(e,t)=>re(((e,t)=>e.splice(0,t))(e,t??Y(e)),v),L=()=>I(C,Y(C)-a),T=()=>B(s,()=>{ge(C,s),L(),I(w),s=void 0,l=1}),p=()=>{s=he(C),l=1};let S,V;const m=(e=t)=>(O(s)&&(s=t+n++,Ge(f,s,[o,r]),E(s,e),o=Ae(),r=Ae(),l=1),s),y=()=>{ce(C)||(((e,...t)=>{e.unshift(...t)})(w,m()),R(0,s),s=he(C),l=1)},k=()=>{ce(w)||(ge(C,s),s=fe(w),R(1,s),l=1)},M=()=>{l&&(g(d),l=0)},D=e=>{const t=m(e);return M(),t},E=(e,t)=>(W(e)&&Ue(b,e)!==t&&(Ge(b,e,t),g(c,[e])),_),W=e=>Ie(f,e),_={setSize:e=>(a=e,L(),_),addCheckpoint:D,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],s,[...w]],forEachCheckpoint:e=>qe(b,e),hasCheckpoint:W,getCheckpoint:e=>Ue(b,e),goBackward:()=>(y(),M(),_),goForward:()=>(k(),M(),_),goTo:e=>{const t=se(C,e)?y:se(w,e)?k:void 0;for(;!O(t)&&e!=s;)t();return M(),_},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),_),clear:()=>(I(C),I(w),O(s)||v(s),s=void 0,n=0,D(),_),clearForward:()=>(ce(w)||(I(w),g(d)),_),destroy:()=>{e.delListener(S),e.delListener(V)},getListenerStats:()=>({checkpointIds:we(d),checkpoint:we(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,l,a)=>{if(i){T();const e=Ke(o,t,Ae),r=Ke(e,s,Ae),i=Ke(r,n,()=>[a,void 0]);i[1]=l,i[0]===l&&Le(Ge(r,n))&&Le(Ge(e,s))&&Le(Ge(o,t))&&p(),M()}}),V=e.addValueListener(null,(e,t,s,n)=>{if(i){T();const e=Ke(r,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Le(Ge(r,t))&&p(),M()}})}};return We(_.clear())},e=>e._registerListeners()),ht=E("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ft=Ae(ie(ht,(e,t)=>[e,t])),bt=e=>ht[63&e],Ct=(e,t)=>Ue(ft,e[t])??0,wt=H.crypto?e=>H.crypto.getRandomValues(e):e=>ie(e,()=>P(256*F())),Rt=(e=16)=>ue(wt(new Uint8Array(e)),(e,t)=>e+bt(t),t),vt=JSON.stringify,It=JSON.parse,Lt=e=>vt(e,(e,t)=>t instanceof Map?me.fromEntries([...t]):t),Tt=new H.TextEncoder,pt=e=>{let t=2166136261;return re(Tt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},St=(e,t)=>(e^t)>>>0,Vt=e=>ue(Me(e),(e,[t,s])=>St(e,mt(t,s)^mt(t,0)),0),mt=(e,t)=>pt(e+":"+t),yt=(e,t)=>pt(Lt(e??null)+":"+t),kt=yt,Mt=mt,Dt=Vt,Et=mt,Wt=e=>ue(Me(e),(e,[t,s])=>St(e,mt(t,s)),0),_t=mt,Ht=Wt,Jt=2**36,xt=2**30,Pt=2**24,Ft=2**18,Qt=4096,Nt=e=>{const t=pt(e);return bt(t/Pt)+bt(t/Ft)+bt(t/Qt)+bt(t/64)+bt(t)},Ot=(e,s=Date.now)=>{let n=0,l=-1;const a=B(e,Nt,()=>Rt(5)),o=e=>{const a=n,[o,r]=O(e)||e==t?[0,0]:i(e);n=J(a,o,s()),l=n==a?n==o?J(l,r):l:n==o?r:-1},r=(e,t,s)=>bt(e/Jt)+bt(e/xt)+bt(e/Pt)+bt(e/Ft)+bt(e/Qt)+bt(e/64)+bt(e)+bt(t/Ft)+bt(t/Qt)+bt(t/64)+bt(t)+(O(s)?a:Nt(s)),i=e=>[Ct(e,0)*Jt+Ct(e,1)*xt+Ct(e,2)*Pt+Ct(e,3)*Ft+Ct(e,4)*Qt+64*Ct(e,5)+Ct(e,6),Ct(e,7)*Ft+Ct(e,8)*Qt+64*Ct(e,9)+Ct(e,10),e.slice(11)];return[()=>(o(),r(n,++l)),o,r,i,()=>n,()=>l,()=>a]},jt=(e,t)=>(e??0)<(t??0)?-1:1,zt=it(e=>{const s=Ae(),n=Ae(),[l,a,o]=ut(()=>v),[r,i,d,c,u,g,h,,f,b,C,w]=ot(e,Ae,e=>O(e)?t:K(e)?ie(e,k):k(e),l,a),R=(t,s,n)=>{const l=u(t);Se(n,(t,n)=>s(n,s=>Se(t,t=>s(t,s=>e.forEachCell(l,t,s)))))},v={setIndexDefinition:(e,t,l,o,r,i=jt)=>{const d=O(r)?void 0:([e],[t])=>r(e,t);return f(e,t,(t,l,r,c,u,f)=>{let b=0;const C=lt(),w=lt(),R=g(e);if(Se(l,([e,t],s)=>{const n=lt(e),l=lt(t);Se(n,e=>Ve(l,e)?Ve(n,e):0),Se(n,e=>{at(C,e),B(Ue(R,e),t=>{Ve(t,s),Le(t)&&(Ge(R,e),b=1)})}),Se(l,e=>{at(C,e),Ie(R,e)||(Ge(R,e,lt()),b=1),at(Ue(R,e),s),O(o)||at(w,e)})}),t(),Le(u)||(f?qe(R,e=>at(w,e)):qe(r,e=>B(Ue(c,e),e=>re(K(e)?e:[e],e=>at(w,e)))),Se(w,e=>{const t=(t,s)=>i(Ue(u,t),Ue(u,s),e),s=[...Ue(R,e)];ae(s,t)||(Ge(R,e,lt(oe(s,t))),at(C,e))})),(b||f)&&!O(d)){const t=[...R];ae(t,d)||(h(e,Ae(oe(t,d))),b=1)}b&&a(s,[e]),Se(C,t=>a(n,[e,t]))},rt(l),B(o,rt)),v},delIndexDefinition:e=>(b(e),v),getStore:r,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>R(t,e,s))),forEachSlice:(e,t)=>R(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ie(g(e),t),getTableId:u,getSliceIds:e=>Be(g(e)),getSliceRowIds:(e,t)=>Te(Ue(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({sliceIds:we(s),sliceRowIds:Re(n)})};return We(v)}),At=t=>{if(j(t))return"null";if(K(t))return r;if(De(t))return o;const s=e(t);return U(s)||s==l&&Q(t)?s:void 0},Bt=e=>O(e)||!O(At(e)),Ut=e=>e==o||e==r,qt=e=>De(e)||K(e)?"�"+vt(e):e,Gt=e=>q(e)&&"�"==e[0],Kt=(e,t,s)=>!s&&Gt(e)?It(X(e,1)):e,Xt=([e,t])=>Yt(e,t),Yt=(e,t)=>t?[e,t]:[e],Zt=(e,t,s)=>[e,t,s],$t=e=>e[2],es=(e,t)=>t>e?(e?pt(e):0)^pt(t):0,ts=(e,s)=>((e??t)>(s??t)?e:s)??t,ss=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ns=(e=t)=>Yt(_e(),e),ls=(e=t)=>[Ae(),e,0],as=([e,t,s],n)=>[Ye(e,n),t,s],os=([e,t],s=Xt)=>Yt(Ye(e,s),t),rs=(t,s)=>{return K(t)&&3==Y(t)&&q(t[1])&&(n=t[2],e(n)==l)&&Q(t[2])&&s(t[0]);var n},is=e=>[e,e],ds=(e,t=we)=>t(e[0])+t(e[1]),cs=()=>[Ae(),Ae()],us=e=>[...e],gs=([e,t])=>e===t,hs=(e,t,s)=>Ge(e,t,Ue(e,t)==-s?void 0:s),fs=([e,t],[s,n])=>Ne(e,s)&&Ne(t,n),bs=()=>{let e,t,s=!1,n=!1,a=0,o=[],r=[],g=0;const b=Ae(),T=Ae(),M=Ae(),D=Ae(),E=Ae(),W=Ae(),_=Ae(),H=Ae(),J=Ae(),x=Ae(),P=Ae(),F=Ae(),Q=Ae(),N=Ae(),z=lt(),A=Ae(),q=Ae(),Y=Ae(),Z=Ae(),$=cs(),ne=cs(),ae=cs(),de=cs(),ce=cs(),ue=cs(),he=cs(),fe=cs(),be=cs(),Te=cs(),me=cs(),ye=cs(),ke=cs(),Me=cs(),Ee=cs(),_e=cs(),xe=cs(),Fe=cs(),Oe=cs(),ze=cs(),nt=cs(),ot=cs(),rt=Ae(),it=cs(),[dt,gt,ht,ft]=ut(()=>on),bt=e=>{const t=g;g=1;const s=e();return g=t,s},Ct=(e,t,s,n=Object.is)=>B(t(),t=>e===t||n(e,t)?s(t):bt(()=>s(t))),wt=e=>{if(!je(e,(e,t)=>se([i,d,c],t)))return!1;const t=e[i];if(!U(t)&&t!=l&&!Ut(t))return!1;const s=e[d];return!(j(s)&&!e[c]||(j(s)||(At(s)!=t?Je(e,d):e[d]=qt(s)),0))},Rt=K,vt=(t,s)=>(!e||Ie(P,s)||ls(s))&&je(t,(e,t)=>Tt(s,t,e),()=>ls(s)),Tt=(e,t,s,n)=>je(n?s:mt(s,e,t),(n,l)=>B(pt(e,t,l,n),e=>(s[l]=e,!0),()=>!1),()=>ls(e,t)),pt=(t,s,n,l)=>e?B(Ue(Ue(P,t),n),e=>j(l)?e[c]?l:ls(t,s,n,l,e[d]):At(l)===e[i]?qt(l):Ut(e[i])&&Gt(l)?l:ls(t,s,n,l,e[d]),()=>ls(t,s,n,l)):O(At(l))?ls(t,s,n,l):qt(l),St=(e,t)=>je(t?e:yt(e),(t,s)=>B(Vt(s,t),t=>(e[s]=t,!0),()=>!1),()=>as()),Vt=(e,s)=>t?B(Ue(Q,e),t=>j(s)?t[c]?s:as(e,s,t[d]):At(s)===t[i]?qt(s):Ut(t[i])&&Gt(s)?s:as(e,s,t[d]),()=>as(e,s)):O(At(s))?as(e,s):qt(s),mt=(e,t,s)=>(B(Ue(F,t),([n,l])=>{Se(n,(t,s)=>{He(e,s)||(e[s]=t)}),Se(l,n=>{He(e,n)||ls(t,s,n)})}),e),yt=e=>(t&&(Se(N,(t,s)=>{He(e,s)||(e[s]=t)}),Se(z,t=>{He(e,t)||as(t)})),e),kt=e=>Xe(P,e,(e,t,s)=>{const n=Ae(),l=lt();Xe(Ke(P,t,Ae),s,(e,t,s)=>{Ge(e,t,s),B(s[d],e=>Ge(n,t,e),()=>at(l,t))}),Ge(F,t,[n,l])},(e,t)=>{Ge(P,t),Ge(F,t)}),Mt=e=>Xe(Q,e,(e,t,s)=>{Ge(Q,t,s),B(s[d],e=>Ge(N,t,e),()=>at(z,t))},(e,t)=>{Ge(Q,t),Ge(N,t),Ve(z,t)}),Dt=e=>Qe(e)?Ks():js(e),Et=(e,t,s,n,l,a)=>O(n)?Zs(e,t,s,!0,l):zs(e,t,s,n,l,a),Wt=e=>Qe(e)?$s():As(e),_t=(e,t,s)=>O(t)?en(e,s):Bs(e,t,s),Ht=(e,t)=>Ct(e,()=>t?e:B(o[1],t=>bt(()=>t(ee(e))),()=>e),e=>Xe(Y,e,(e,t,s)=>Jt(t,s),(e,t)=>zt(t)),Ne),Jt=(e,t,s)=>Ct(t,()=>s?t:B(o[2],s=>bt(()=>s(e,ee(t))),()=>t),t=>Xe(Ke(Y,e,()=>(Zt(e,1),Ge(A,e,ct()),Ge(q,e,Ae()),Ae())),t,(t,s,n)=>xt(e,t,s,n),(t,s)=>Bt(e,t,s)),Ne),xt=(e,t,s,n,l)=>Ct(n,()=>l?n:B(o[3],t=>bt(()=>t(e,s,ee(n))),()=>n),n=>Xe(Ke(t,s,()=>($t(e,s,1),Ae())),n,(t,n,l)=>Pt(e,s,t,n,l),(n,a)=>Xt(e,t,s,n,a,l)),Ne),Pt=(e,t,s,n,l,a)=>Ct(l,()=>B(a?void 0:o[4],s=>bt(()=>s(e,t,n,l)),()=>l),l=>{Ie(s,n)||es(e,t,n,1);const a=Ue(s,n);l!==a&&(ts(e,t,n,a,l),Ge(s,n,l))}),Ft=(e,t,s,n,l,a)=>B(Ue(t,s),t=>Pt(e,s,t,n,l,a),()=>{const o=Ae();Ge(t,s,o),$t(e,s,1),Pe(mt({[n]:l},e,s),(t,n)=>Pt(e,s,o,n,t,a))}),Qt=(e,t)=>Ct(e,()=>t?e:B(o[5],t=>bt(()=>t(ee(e))),()=>e),e=>Xe(Z,e,(e,t,s)=>Nt(t,s),(e,t)=>Yt(t)),Ne),Nt=(e,t,s)=>Ct(t,()=>B(s?void 0:o[6],s=>bt(()=>s(e,t)),()=>t),t=>{Ie(Z,e)||ss(e,1);const s=Ue(Z,e);t!==s&&(ns(e,s,t),Ge(Z,e,t))}),Ot=e=>Ke(Y,e,()=>(Zt(e,1),Ge(A,e,ct()),Ge(q,e,Ae()),Ae())),zt=e=>bt(()=>o[8]?.(e))??1?Jt(e,{},!0):Ue(Y,e),Bt=(e,t,s)=>{if(bt(()=>o[9]?.(e,s))??1){const[,n]=Ue(A,e);n(s),xt(e,t,s,{},!0)}},Xt=(e,t,s,n,l,a,r)=>{const i=Ue(Ue(F,e)?.[0],l);if(!O(i)&&!a)return Pt(e,s,n,l,i);if(r||(bt(()=>o[10]?.(e,s,l))??1)){const a=t=>{ts(e,s,t,Ue(n,t)),es(e,s,t,-1),Ge(n,t)};O(i)?a(l):qe(n,a),Le(n)&&($t(e,s,-1),Le(Ge(t,s))&&(Zt(e,-1),Ge(Y,e),Ge(A,e),Ge(q,e)))}},Yt=(e,t)=>{const s=Ue(N,e);if(!O(s))return Nt(e,s);(t||(bt(()=>o[12]?.(e))??1))&&(ns(e,Ue(Z,e)),ss(e,-1),Ge(Z,e))},Zt=(e,t)=>hs(b,e,t),$t=(e,t,s)=>hs(Ke(D,e,Ae),t,s)&&Ge(M,e,Ke(M,e,()=>0)+s),es=(e,t,s,n)=>{const l=Ue(q,e),a=Ue(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&hs(Ke(T,e,Ae),s,n),Ge(l,s,a!=-n?a+n:void 0),hs(Ke(Ke(E,e,Ae),t,Ae),s,n)},ts=(e,t,s,n,l)=>{Ke(Ke(Ke(W,e,Ae),t,Ae),s,()=>[n,0])[1]=l,r[3]?.(e,t,s,l,g)},ss=(e,t)=>hs(_,e,t),ns=(e,t,s)=>{Ke(H,e,()=>[t,0])[1]=s,r[4]?.(e,s,g)},ls=(e,t,s,n,l)=>(ge(Ke(Ke(Ke(J,e,Ae),t,Ae),s,()=>[]),n),l),as=(e,t,s)=>(ge(Ke(x,e,()=>[]),t),s),os=(e,t,s)=>B(Ue(Ue(Ue(W,e),t),s),([e,t])=>[!0,Kt(e),Kt(t)],()=>[!1,...is(Es(e,t,s))]),rs=e=>B(Ue(H,e),([e,t])=>[!0,Kt(e),Kt(t)],()=>[!1,...is(Hs(e))]),Cs=e=>Le(J)||Le(_e[e])?0:Se(e?st(J):J,(t,s)=>Se(t,(t,n)=>Se(t,(t,l)=>gt(_e[e],[s,n,l],t)))),ws=e=>Le(x)||Le(xe[e])?0:Se(e?et(x):x,(t,s)=>gt(xe[e],[s],t)),Rs=(e,t,s,n)=>{if(!Le(e))return gt(t,n,()=>Ye(e)),qe(e,(e,t)=>gt(s,[...n??[],e],1==t)),1},vs=e=>{const t=!Le($[e]),n=!Le(Te[e]),l=!(Le(ke[e])&&Le(Me[e])&&Le(be[e])&&Le(me[e])&&Le(ue[e])&&Le(he[e])&&Le(fe[e])&&!n&&Le(ae[e])&&Le(de[e])),a=!(Le(Ee[e])&&Le(ye[e])&&Le(ce[e])&&Le(ne[e]));if(t||l||a){const r=e?[et(b),tt(T),et(M),tt(D),st(E),(o=W,et(o,e=>et(e,e=>et(e,us))))]:[b,T,M,D,E,W];if(t){const t=Js();t!=s&>($[e],void 0,t)}if(l){Rs(r[0],ae[e],de[e]),Se(r[1],(t,s)=>Rs(t,ue[e],he[e],[s])),Se(r[2],(t,s)=>{0!=t&>(fe[e],[s],ys(s))});const t=lt();Se(r[3],(s,l)=>{Rs(s,be[e],me[e],[l])&&n&&(gt(Te[e],[l,null]),at(t,l))}),n&&Se(r[5],(s,n)=>{if(!Ie(t,n)){const t=lt();Se(s,e=>Se(e,([s,n],l)=>n!==s?at(t,l):Ve(e,l))),Se(t,t=>gt(Te[e],[n,t]))}}),Se(r[4],(t,s)=>Se(t,(t,n)=>Rs(t,ke[e],Me[e],[s,n])))}if(a){let t;Se(r[5],(s,n)=>{let l;Se(s,(s,a)=>{let o;Se(s,([s,r],i)=>{r!==s&&(gt(Ee[e],[n,a,i],Kt(r),Kt(s),os),t=l=o=1)}),o&>(ye[e],[n,a],os)}),l&>(ce[e],[n],os)}),t&>(ne[e],void 0,os)}}var o},Is=e=>{const t=!Le(Fe[e]),s=!Le(ze[e])||!Le(nt[e]),l=!Le(ot[e])||!Le(Oe[e]);if(t||s||l){const a=e?[et(_),et(H,us)]:[_,H];if(t){const t=Ns();t!=n&>(Fe[e],void 0,t)}if(s&&Rs(a[0],ze[e],nt[e]),l){let t;Se(a[1],([s,n],l)=>{n!==s&&(gt(ot[e],[l],Kt(n),Kt(s),rs),t=1)}),t&>(Oe[e],void 0,rs)}}},Ls=(e,...t)=>(nn(()=>e(...ie(t,k))),on),Ts=(e,t,s,n,l)=>{let a=Ms(e,t,...s);return dt(()=>{const l=Ms(e,t,...s);le(l,a)||(a=l,n(on,e,t,...s,a))},Te[l?1:0],[e,t],[Vs])},ps=(e=!1)=>[Ye(W,(t,s)=>-1===Ue(b,s)?void 0:Ye(t,(t,n)=>-1===Ue(Ue(D,s),n)?void 0:Ye(t,([,t])=>Kt(t,0,e),e=>gs(e)),Le,Qe),Le,Qe),Ye(H,([,t])=>Kt(t,0,e),e=>gs(e)),1],Ss=()=>$e(Y,Kt),Vs=()=>Be(Y),ms=e=>Be(Ue(q,k(e))),ys=e=>Ce(Ue(Y,k(e))),ks=e=>Be(Ue(Y,k(e))),Ms=(e,t,s,n=0,l)=>{return De(e)?Ms(e.tableId,e.cellId,e.descending,e.offset,e.limit):ie(X(oe((a=Ue(Y,k(e)),o=(e,s)=>[O(t)?s:Ue(e,k(t)),s],ie([...a?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>jt(e,t)*(s?-1:1)),n,O(l)?l:n+l),([,e])=>e);var a,o},Ds=(e,t)=>Be(Ue(Ue(Y,k(e)),k(t))),Es=(e,t,s)=>Kt(Ue(Ue(Ue(Y,k(e)),k(t)),k(s))),Ws=()=>Ye(Z,Kt),_s=()=>Be(Z),Hs=e=>Kt(Ue(Z,k(e))),Js=()=>!Le(Y),xs=e=>Ie(Y,k(e)),Ps=(e,t)=>Ie(Ue(q,k(e)),k(t)),Fs=(e,t)=>Ie(Ue(Y,k(e)),k(t)),Qs=(e,t,s)=>Ie(Ue(Ue(Y,k(e)),k(t)),k(s)),Ns=()=>!Le(Z),Os=e=>Ie(Z,k(e)),js=e=>Ls(()=>(e=>je(e,vt,ls))(e)?Ht(e):0),zs=(e,t,s,n,l,a)=>Ls((e,t,s)=>B(pt(e,t,s,G(n)?n(Es(e,t,s)):n),n=>{const r=Ot(e);B(l||a||!o[14]?.()?void 0:o[3],a=>{const o=Ue(r,t),i={...o?Ye(o):{},[s]:n};B(bt(()=>a(e,t,ee(i))),s=>((e,t,s,n,l)=>{Xe(Ke(t,s,()=>($t(e,s,1),Ae())),n,(t,n,a)=>B(pt(e,s,n,a),a=>Pt(e,s,t,n,a,l)),(n,l)=>Xt(e,t,s,n,l,!0))})(e,r,t,s,l))},()=>Ft(e,r,t,s,n,l))}),e,t,s),As=e=>Ls(()=>St(e)?Qt(e):0),Bs=(e,t,s)=>Ls(e=>B(Vt(e,G(t)?t(Hs(e)):t),t=>Nt(e,t,s)),e),Us=e=>(te(()=>Dt(It(e))),on),qs=t=>Ls(()=>{if((e=je(t,e=>je(e,wt)))&&(kt(t),!Le(Y))){const e=Ss();Ks(),js(e)}}),Gs=e=>Ls(()=>{if(t=(e=>je(e,wt))(e)){const s=Ws();sn(),$s(),t=!0,Mt(e),As(s)}}),Ks=()=>Ls(()=>bt(()=>o[7]?.())??1?Ht({},!0):0),Xs=e=>Ls(e=>Ie(Y,e)?zt(e):0,e),Ys=(e,t)=>Ls((e,t)=>B(Ue(Y,e),s=>Ie(s,t)?Bt(e,s,t):0),e,t),Zs=(e,t,s,n,l)=>Ls((e,t,s)=>B(Ue(Y,e),a=>B(Ue(a,t),o=>Ie(o,s)?Xt(e,a,t,o,s,n,l):0)),e,t,s),$s=()=>Ls(()=>bt(()=>o[11]?.())??1?Qt({},!0):0),en=(e,t)=>Ls(e=>Ie(Z,e)?Yt(e,t):0,e),tn=()=>Ls(()=>{kt({}),e=!1}),sn=()=>Ls(()=>{Mt({}),t=!1}),nn=(e,t)=>{if(-1!=a){ln();const s=e();return an(t),s}},ln=()=>(-1!=a&&a++,1==a&&(r[0]?.(),gt(rt)),on),an=e=>(a>0&&(a--,0==a&&(a=1,bt(()=>{Cs(1),Le(W)||vs(1),ws(1),Le(H)||Is(1)}),e?.(on)&&(Se(W,(e,t)=>Se(e,(e,s)=>Se(e,([e],n)=>Et(t,s,n,e,!0)))),pe(W),Se(H,([e],t)=>_t(t,e,!0)),pe(H)),gt(it[0],void 0),a=-1,Cs(0),Le(W)||vs(0),ws(0),Le(H)||Is(0),r[1]?.(),gt(it[1],void 0),r[2]?.(),a=0,s=Js(),n=Ns(),re([b,T,M,D,E,W,J,_,H,x],pe))),on),on={getContent:()=>[Ss(),Ws()],getTables:Ss,getTableIds:Vs,getTable:e=>Ze(Ue(Y,k(e)),Kt),getTableCellIds:ms,getRowCount:ys,getRowIds:ks,getSortedRowIds:Ms,getRow:(e,t)=>Ye(Ue(Ue(Y,k(e)),k(t)),Kt),getCellIds:Ds,getCell:Es,getValues:Ws,getValueIds:_s,getValue:Hs,hasTables:Js,hasTable:xs,hasTableCell:Ps,hasRow:Fs,hasCell:Qs,hasValues:Ns,hasValue:Os,getTablesJson:()=>Lt(Y),getValuesJson:()=>Lt(Z),getJson:()=>Lt([Y,Z]),getTablesSchemaJson:()=>Lt(P),getValuesSchemaJson:()=>Lt(Q),getSchemaJson:()=>Lt([P,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Ls(()=>{const t=G(e)?e():e;Rt(t)&&(e=>{Ct(e,()=>B(o[0],t=>bt(()=>t(ee(e))),()=>e),([e,t])=>{(Qe(e)?Ks:js)(e),(Qe(t)?$s:As)(t)},fs)})(t)}),setTables:js,setTable:(e,t)=>Ls(e=>vt(t,e)?Jt(e,t):0,e),setRow:(e,t,s)=>Ls((e,t)=>Tt(e,t,s)?xt(e,Ot(e),t,s):0,e,t),addRow:(e,t,s=!0)=>nn(()=>{let n;return Tt(e,n,t)&&(e=k(e),xt(e,Ot(e),n=((e,t)=>{const[s]=Ue(A,e);let n;do{n=s(t)}while(Ie(Ue(Y,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>Ls((e,t)=>{if(Tt(e,t,s,1)){const n=Ot(e);Pe(s,(s,l)=>Ft(e,n,t,l,s))}},e,t),setCell:zs,setValues:As,setPartialValues:e=>Ls(()=>St(e,1)?Pe(e,(e,t)=>Nt(t,e)):0),setValue:Bs,applyChanges:e=>Ls(()=>Ct(e,()=>B(o[13],t=>bt(()=>t(ee(e))),()=>e),e=>{Pe(e[0],(e,t)=>O(e)?Xs(t):Pe(e,(e,s)=>O(e)?Ys(t,s):Pe(e,(e,n)=>Et(t,s,n,e,void 0,!0)))),Pe(e[1],(e,t)=>_t(t,e))},fs)),setTablesJson:Us,setValuesJson:e=>(te(()=>Wt(It(e))),on),setJson:e=>Ls(()=>te(()=>{const[t,s]=It(e);Dt(t),Wt(s)},()=>Us(e))),setTablesSchema:qs,setValuesSchema:Gs,setSchema:(e,t)=>Ls(()=>{qs(e),Gs(t)}),delTables:Ks,delTable:Xs,delRow:Ys,delCell:Zs,delValues:$s,delValue:en,delTablesSchema:tn,delValuesSchema:sn,delSchema:()=>Ls(()=>{tn(),sn()}),transaction:nn,startTransaction:ln,getTransactionChanges:()=>ps(),getTransactionLog:()=>[!Le(W),!Le(H),$e(W,us,gs),$e(J),Ye(H,us,gs),Ye(x),Ye(b),Ze(D),$e(E),Ye(_)],finishTransaction:an,forEachTable:e=>Se(Y,(t,s)=>e(s,e=>Se(t,(t,s)=>e(s,e=>qe(t,(t,s)=>e(t,Kt(s))))))),forEachTableCell:(e,t)=>qe(Ue(q,k(e)),t),forEachRow:(e,t)=>Se(Ue(Y,k(e)),(e,s)=>t(s,t=>qe(e,(e,s)=>t(e,Kt(s))))),forEachCell:(e,t,s)=>qe(Ue(Ue(Y,k(e)),k(t)),(e,t)=>s(e,Kt(t))),forEachValue:e=>qe(Z,(t,s)=>e(t,Kt(s))),addSortedRowIdsListener:(e,t,s,n,l,a,o)=>De(e)?Ts(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):Ts(e,t,[s,n,l],a,o),addStartTransactionListener:e=>dt(e,rt),addWillFinishTransactionListener:e=>dt(e,it[0]),addDidFinishTransactionListener:e=>dt(e,it[1]),callListener:e=>(ft(e),on),delListener:e=>(ht(e),on),getListenerStats:()=>({hasTables:ds($),tables:ds(ne),tableIds:ds(ae),hasTable:ds(de),table:ds(ce),tableCellIds:ds(ue),hasTableCell:ds(he,Re),rowCount:ds(fe),rowIds:ds(be),sortedRowIds:ds(Te),hasRow:ds(me,Re),row:ds(ye,Re),cellIds:ds(ke,Re),hasCell:ds(Me,ve),cell:ds(Ee,ve),invalidCell:ds(_e,ve),hasValues:ds(Fe),values:ds(Oe),valueIds:ds(ze),hasValue:ds(nt),value:ds(ot),invalidValue:ds(xe),transaction:we(rt)+ds(it)}),isMergeable:()=>!1,_:[bs,dt,gt,(e,t,s,n,l)=>r=[e,t,s,n,l],(e,t,s,n,l,a,r,i,d,c,u,g,h,f,b)=>o=[e,t,s,n,l,a,r,i,d,c,u,g,h,f,b],Et,_t,()=>[$e(Y),Ye(Z)],()=>ps(!0)]};return Pe({[f+w]:[0,$,[],()=>[Js()]],[w]:[0,ne],[R]:[0,ae],[f+C]:[1,de,[Vs],e=>[xs(...e)]],[C]:[1,ce,[Vs]],[C+S]:[1,ue,[Vs]],[f+C+p]:[2,he,[Vs,ms],e=>[Ps(...e)]],[I]:[1,fe,[Vs]],[L]:[1,be,[Vs]],[f+v]:[2,me,[Vs,ks],e=>[Fs(...e)]],[v]:[2,ye,[Vs,ks]],[S]:[2,ke,[Vs,ks]],[f+p]:[3,Me,[Vs,ks,Ds],e=>[Qs(...e)]],[p]:[3,Ee,[Vs,ks,Ds],e=>is(Es(...e))],InvalidCell:[3,_e],[f+m]:[0,Fe,[],()=>[Ns()]],[m]:[0,Oe],[y]:[0,ze],[f+V]:[1,nt,[_s],e=>[Os(...e)]],[V]:[1,ot,[_s],e=>is(Hs(e[0]))],InvalidValue:[1,xe]},([e,t,s,n],l)=>{on[h+l+u]=(...l)=>dt(l[e],t[l[e+1]?1:0],e>0?X(l,0,e):void 0,s,n)}),We(on)},Cs={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},ws=(e=t)=>[ls(e),ls(e)],Rs=(e,s)=>{let n=1,l=ws(),a=0,o=0;const r=Ae(),i=lt(),[d,c]=Ot(e,s),g=bs(),f=e=>{const t=n;return n=0,e(),n=t,p},b=(e,s=0)=>{const n={},a={},[[o,r=t,i=0],d]=e,[u,g]=l,[h,f,b]=u;let w=s?i:b,R=r;xe(o,([e,l=t,a=0],o)=>{const r=Ke(h,o,ls),[i,d,c]=r;let u=s?a:c,g=l;xe(e,(e,t)=>{const[l,a,r]=C(e,Ke(i,t,ls),Oe(Oe(n,o,_e),t,_e),s);u^=s?0:St(a?mt(t,a):0,mt(t,r)),g=ts(g,l)}),u^=s?0:es(d,l),ss(r,l,u),w^=s?0:St(c?mt(o,c):0,mt(o,r[2])),R=ts(R,g)}),w^=s?0:es(f,r),ss(u,r,w);const[v]=C(d,g,a,s);return c(ts(R,v)),[n,a,1]},C=(e,s,n,l)=>{const[a,o=t,r=0]=e,[i,d,c]=s;let u=o,g=l?r:c;return xe(a,([e,s=t,a=0],o)=>{const r=Ke(i,o,()=>[void 0,t,0]),[,d,c]=r;(!d||s>d)&&(ss(r,s,l?a:yt(e,s)),r[0]=e,n[o]=e,g^=l?0:St(mt(o,c),mt(o,r[2])),u=ts(u,s))}),g^=l?0:es(d,o),ss(s,o,g),[u,c,s[2]]},w=$,R=$,v=(e=!1)=>[as(l[0],t=>as(t,t=>as(t,([t,s,n])=>[Kt(t,0,e),s,n]))),as(l[1],([t,s,n])=>[Kt(t,0,e),s,n])],I=(e,t=!1)=>{const[[s,n,a],[o,d,c]]=l,u=e?Zt:Yt,g={};Se(r,(e,n)=>B(Ue(s,n),([s,l,a])=>{const o={};Se(e,(e,n)=>B(Ue(s,n),([s,l,a])=>{const r={};Se(e,e=>{B(Ue(s,e),([s,n,l])=>r[e]=u(t?s:Kt(s),n,l))}),o[n]=u(r,l,a)})),g[n]=u(o,l,a)}));const h={};return Se(i,e=>B(Ue(o,e),([s,n,l])=>h[e]=u(t?s:Kt(s),n,l))),[u(g,n,a),u(h,d,c),1]},L=()=>v(),T=e=>f(()=>g.applyChanges(b(e))),p={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Ye(l[0][0],$t),getMergeableTableDiff:e=>{const t=ns(l[0][1]),s={};return qe(l[0][0],(n,[l,a,o])=>He(e,n)?o!=e[n]?s[n]=o:0:t[0][n]=os([l,a],e=>os(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return xe(e,(e,s)=>B(Ue(l[0][0],s),([n,,l])=>l!=e?qe(n,(e,[,,n])=>Oe(t,s,_e)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=ns(l[0][1]),s={};return xe(e,(e,n)=>qe(Ue(l[0][0],n)?.[0],(l,[a,o,r])=>He(e,l)?r!==e[l]?Oe(s,n,_e)[l]=r:0:Oe(t[0],n,ns)[0][l]=os([a,o]))),[t,s]},getMergeableCellHashes:e=>{const t={};return xe(e,(e,s)=>B(Ue(l[0][0],s),([n])=>xe(e,(e,l)=>B(Ue(n,l),([n,,a])=>a!==e?qe(n,(e,[,,n])=>Oe(Oe(t,s,_e),l,_e)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return xe(e,(e,s)=>xe(e,(e,l)=>B(Ue(t,s),([t,a])=>B(Ue(t,l),([t,o])=>qe(t,(t,[r,i,d])=>d!==e[t]?Oe(Oe(n,s,()=>ns(a))[0],l,()=>ns(o))[0][t]=[r,i]:0))))),Yt(n,s)},getMergeableValueHashes:()=>Ye(l[1][0],$t),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Ye(t,Xt,([,,t],s)=>t==e?.[s]);return Yt(n,s)},setMergeableContent:e=>f(()=>(e=>K(e)&&2==Y(e)&&rs(e[0],e=>je(e,e=>rs(e,e=>je(e,e=>rs(e,e=>je(e,e=>rs(e,Bt),void 0,1)),void 0,1)),void 0,1))&&rs(e[1],e=>je(e,e=>rs(e,Bt),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),l=ws(),g.applyChanges(b(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{a=1,g.setContent(e),a=0}),p),getTransactionMergeableChanges:(e=!1)=>I(e),applyMergeableChanges:T,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),T(s)},__:[()=>{const e=o;return o=0,e},()=>v(!0),e=>I(e,!0)]};return g._[3](w,R,()=>{pe(r),pe(i)},(e,s,l,i,c)=>{at(Ke(Ke(r,e,Ae),s,lt),l),(n||c)&&(c&&(o=1),b([[{[e]:[{[s]:[{[l]:[i,a?t:d()]}]}]}],[{}],1]))},(e,s,l)=>{at(i,e),(n||l)&&(l&&(o=1),b([[{}],[{[e]:[s,a?t:d()]}],1]))}),Pe(g,(e,t)=>p[t]=M(t,"set")||M(t,"del")||M(t,"apply")||D(t,"Transaction")||t=="call"+u||"use"==t?(...t)=>(e(...t),p):M(t,h)&&D(t,u)?(...s)=>{const n=Cs[X(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(p,...t),e(...s)}:"isMergeable"==t?()=>!0:e),We(p)},vs=Ae([["avg",[(e,t)=>de(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>J(...e),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:J(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>de(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Is=(e,t,s,n,l,a=!1)=>{if(Le(s))return;const[o,r,i,d]=l;return a||=O(e),Se(n,([s,n])=>{a||(e=O(s)?r?.(e,n,t++):O(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=O(e))}),a?o(Te(s),Ce(s)):e},Ls=it(e=>{const s=Ae(),[n,l,a]=ut(()=>w),[o,r,i,d,c,u,g,,h,f,b,C]=ot(e,Z,e=>isNaN(e)||O(e)||z(e)||!1===e||e===t?void 0:1*e,n,l),w={setMetricDefinition:(e,t,n,a,o,r,i)=>{const d=G(n)?[n,o,r,i]:Ue(vs,n)??Ue(vs,"sum");return h(e,t,(t,n,a,o,r,i)=>{const c=u(e),h=Ce(o);i||=O(c),t();let f=Is(c,h,o,n,d,i);Q(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))},rt(a,1)),w},delMetricDefinition:e=>(f(e),w),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(a(e),w),destroy:C,getListenerStats:()=>({metric:we(s)})};return We(w)}),Ts=(e,t,...s)=>ue(e,(e,t)=>O(e)?e:t(...s,e),t),ps=(e,...t)=>ne(e,e=>e(...t)),Ss=it(e=>{const t=e=>t=>(ge(e,t),D),s=[],n=[],l=[],a=[],o=[],r=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],C=t(s),w=t(n),R=t(l),v=t(a),I=t(o),L=t(r),T=t(i),p=t(d),S=t(c),V=t(u),m=t(g),y=t(h),k=t(f),M=t(b),D=We({getStore:()=>e,addWillSetContentCallback:C,addWillSetTablesCallback:w,addWillSetTableCallback:R,addWillSetRowCallback:v,addWillSetCellCallback:I,addWillSetValuesCallback:L,addWillSetValueCallback:T,addWillDelTablesCallback:p,addWillDelTableCallback:S,addWillDelRowCallback:V,addWillDelCellCallback:m,addWillDelValuesCallback:y,addWillDelValueCallback:k,addWillApplyChangesCallback:M,destroy:()=>{}});return e._[4](e=>Ts(s,e),e=>Ts(n,e),(e,t)=>Ts(l,t,e),(e,t,s)=>Ts(a,s,e,t),(e,t,s,n)=>Ts(o,n,e,t,s),e=>Ts(r,e),(e,t)=>Ts(i,t,e),()=>ps(d),e=>ps(c,e),(e,t)=>ps(u,e,t),(e,t,s)=>ps(g,e,t,s),()=>ps(h),e=>ps(f,e),e=>Ts(b,e),()=>a.length>0),D}),Vs="_",ms=it(e=>{const s=e._[0],n=s(),l=s(),a=s(),o=Ae(),r=lt(),i=Ae(),d=Ae(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},f=Ae(),b=Ae(),{_:[,w,R],delListener:V}=a,[m,y,k,M,D,E,W,_,,H,J,x]=ot(e,()=>[],Z,w,R),P=e=>Ke(o,e,s),F=(e,t,...s)=>re(s,s=>at(Ke(Ke(f,t,Ae),e,lt),s)),Q=e=>{B(Ue(f,e),e=>{qe(e,(e,t)=>Se(t,t=>e.delListener(t))),pe(e)}),re([P(e),n],t=>t.delTable(e))},N=(e,t,s,...n)=>{const l=Ke(Ke(b,t,Ae),e,lt);return re(n,t=>{at(l,t),s&&e.callListener(t)}),n},j=(e,t,s)=>B(Ue(Ue(b,e),t),n=>{t.delListener(s),Ve(n,s),Le(n)&&Ge(Ue(b,e),t)}),A=e=>B(Ue(b,e),e=>{qe(e,(e,t)=>Se(t,t=>e.delListener(t))),pe(e)}),U=(e,t,s)=>F(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),q=(e,t)=>(Qe(t)?l.delRow:l.setRow)(Vs,e,{...t}),K=s=>P(s).transaction(()=>B(E(s),([l,,a])=>{const o=D(s),i=a?P(o):e,d=P(s),c=ee(s);at(r,s),Q(s),A(s);const u=[],g=[[void 0,[o,void 0,void 0,[],Ae(),i]]],h=[],f=[],b=[];l({select:(e,s,n)=>{const l=z(e)?s:e,a=z(e)?n:s,o=G(e)?[Y(u)+t,e]:O(a)?[e,t=>t(e)]:[a,t=>z(e)?t(!0,l,a):t(l,a)];return ge(u,o),{as:e=>o[0]=e}},join:(t,s,n,l)=>{const a=z(t)?s:t,[o,r]=z(t)?O(l)||G(n)?[void 0,n]:[n,l]:O(n)||G(s)?[void 0,s]:[s,n],i=[a,[a,o,G(r)?r:e=>e(r),[],Ae(),z(t)?P(a):e]];return ge(g,i),{as:e=>i[0]=e}},where:(e,t,s,n)=>ge(h,G(e)?e:z(e)?e=>e(!0,t,s)===n:O(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const a=[e,[e,G(t)?[t,s,n,l]:Ue(vs,t)??[(e,t)=>t]]];return ge(f,a),{as:e=>a[0]=e}},having:(e,t)=>ge(b,G(e)?e:s=>s(e)===t),param:e=>((e,t)=>B(e,e=>e[t]))(c,e)});const C=Ae(u);if(Le(C))return Ve(r,s),te;const w=Ae(g);qe(w,(e,[,t])=>B(Ue(w,t),({3:t})=>O(e)?0:ge(t,e)));const R=Ae(f);let v=n;if(Le(R)&&ce(b))v=d;else{U(s,v,d);const e=Ae();qe(R,(t,[s,n])=>at(Ke(e,s,lt),[t,n]));const t=lt();qe(C,s=>Ie(e,s)?0:at(t,s));const n=Ae(),l=(t,n,l,a)=>B(t,([o,r,i,c])=>{qe(n,(t,[s])=>{const n=Ke(o,t,Ae),r=Ue(n,l),i=a?void 0:s;if(r!==i){const s=lt([[r,i]]),a=Ce(n);Ge(n,l,i),Se(Ue(e,t),([e,t])=>{const l=Is(c[e],a,n,s,t);c[e]=O(At(l))?void 0:l})}}),Le(r)||!ne(b,e=>e(e=>c[e]))?d.delRow(s,i):O(i)?t[2]=d.addRow(s,c):d.setRow(s,i,c)});F(v,s,v.addRowListener(s,null,(a,o,r,i)=>{const d=[],c=[],u=Ae(),g=v.hasRow(s,r);let h=!g;Se(t,e=>{const[t,n,l]=i(s,r,e);ge(d,n),ge(c,l),h||=t}),qe(e,e=>{const[t,,n]=i(s,r,e);(h||t)&&Ge(u,e,[n])}),h&&l(nt(n,d,void 0,([,e])=>(Ve(e,r),Le(e))),u,r,1),g&&l(nt(n,c,()=>{const e={};return Se(t,t=>e[t]=v.getCell(s,r,t)),[Ae(),lt(),void 0,e]},([,e])=>{at(e,r)}),u,r)}))}U(s,i,v);const I=(e,t,n,l,a)=>{const r=e=>t.getCell(n,l,e);re(a,t=>{const[n,,l,a,o,i]=Ue(w,t),d=l?.(r,e),c=Ue(o,e),u=c?.[0];d!=u&&(B(c,([,e,t])=>j(s,e,t)),Ge(o,e,O(d)?void 0:[d,i,...N(i,s,1,i.addRowListener(n,d,()=>I(e,i,n,d,a)))]))}),(e=>{const t=(t,s,n)=>{const l=z(t)?s:t,a=z(t)?n:s;if(O(a))return i.getCell(o,e,t);if(l===o&&!z(t))return i.getCell(o,e,a);const r=Ue(w,l);return O(r)?void 0:r[5].getCell(r[0],Ue(r[4],e)?.[0],a)};v.transaction(()=>ne(h,e=>e(t))?qe(C,(n,l)=>v._[5](s,e,n,l(t,e))):v.delRow(s,e))})(e)},{3:L}=Ue(w,void 0),T=(e,t,n)=>{i.hasRow(o,n)?I(n,i,o,n,L):(v.delRow(s,n),Se(w,({4:e})=>B(Ue(e,n),([,t,l])=>{j(s,t,l),Ge(e,n)})))};return v.transaction(()=>{re(i.getRowIds(o),e=>T(0,0,e)),N(i,s,0,i.addRowListener(o,null,T))}),Ve(r,s),te})),$=e=>(B(E(e),([,e])=>l.delListener(e)),l.delRow(Vs,e),Q(e),A(e),H(e),te),ee=e=>l.getRow(Vs,e),te={setQueryDefinition:(e,t,s,n,a={})=>{const[o,r,i,d]=z(t)?[s,n,1,a]:[t,s,0,n??{}];return B(E(e),([,e])=>l.delListener(e)),_(e,o),W(e,[r,l.addRowListener(Vs,e,()=>K(e)),i]),q(e,d),K(e),te},delQueryDefinition:$,getParamValues:ee,getParamValue:(e,t)=>l.getCell(Vs,e,t),setParamValues:(e,t)=>(M(e)&&q(e,t),te),setParamValue:(e,t,s)=>(M(e)&&l.setCell(Vs,e,t,s),te),getStore:m,getQueryIds:y,forEachQuery:k,hasQuery:M,getTableId:D,forEachResultTable:e=>k(t=>P(t).hasTable(t)?e(t,e=>te.forEachResultRow(t,e)):0),addQueryIdsListener:e=>J(()=>e(te)),addParamValuesListener:(e,t)=>"p"+l.addRowListener(Vs,e,(e,s,n)=>t(te,n,ee(n))),addParamValueListener:(e,t,s)=>"p"+l.addCellListener(Vs,e,t,(e,t,n,l,a)=>s(te,n,l,a)),delListener:e=>{const t=Ue(i,e);if("p"==e[0])l.delListener(X(e,1));else if(O(t))V(e);else{const[s,n,l]=t;qe(n,(e,[t,s])=>t.delListener(s)),B(l,V),Ge(i,e),V(e),c[s]--}return te},destroy:()=>{re(y(),$),x()},getListenerStats:()=>({...c,paramValues:l.getListenerStats().row-Y(y()),paramValue:l.getListenerStats().cell})};return Pe({[C]:[2,1],[C+S]:[1,1],[I]:[1,1],[L]:[1,1],[T]:[1,5],[v]:[3,2],[S]:[1,2],[p]:[3,3]},([e,t],s)=>{re(X(["get","has","forEach"],0,e),e=>te[e+g+s]=(...t)=>P(t[0])[e+s](...t)),te[h+g+s+u]=(...e)=>((n,l)=>{const a=w(Z,d),o=Ae(),r=()=>{const n=null==l?y():[l];re(n,n=>{return Ie(o,n)?0:Ge(o,n,[P(n),(l=P(n),l[h+s+u](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:X(e,0,t))(e,t),(s,...n)=>e[t](te,...n),!0))]);var l}),qe(o,(e,[t,s])=>null==l&&M(e)||e==l?0:(t.delListener(s),void Ge(o,e)))};return r(),Ge(i,a,[n,o,null==l?J(r):void 0]),c[n]++,a})((e=>e[0].toLowerCase()+X(e,1))(s),e[0])}),We(te)}),ys=it(e=>{const s=Ae(),n=Ae(),l=Ae(),a=Ae(),[o,r,i]=ut(()=>T),[d,c,u,g,h,f,,,b,C,w,R]=ot(e,()=>[Ae(),Ae(),Ae(),Ae()],e=>O(e)?void 0:e+t,o,r),v=(e,t,s)=>B(f(e),([n,,l])=>{if(!Ie(l,t)){const a=lt();if(h(e)!=L(e))at(a,t);else{let e=t;for(;!O(e)&&!Ie(a,e);)at(a,e),e=Ue(n,e)}if(s)return a;Ge(l,t,a)}return Ue(l,t)}),I=(e,t)=>B(f(e),([,,e])=>Ge(e,t)),L=e=>Ue(s,e),T={setRelationshipDefinition:(e,t,o,i)=>(Ge(s,e,o),b(e,t,(t,s)=>{const o=lt(),i=lt(),d=lt(),[c,u]=f(e);Se(s,([t,s],n)=>{O(t)||(at(i,t),B(Ue(u,t),e=>{Ve(e,n),Le(e)&&Ge(u,t)})),O(s)||(at(i,s),Ie(u,s)||Ge(u,s,lt()),at(Ue(u,s),n)),at(o,n),Ge(c,n,s),qe(Ue(a,e),t=>{Ie(v(e,t),n)&&at(d,t)})}),t(),Se(o,t=>r(n,[e,t])),Se(i,t=>r(l,[e,t])),Se(d,t=>{I(e,t),r(a,[e,t])})},rt(i)),T),delRelationshipDefinition:e=>(Ge(s,e),C(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:L,getRemoteRowId:(e,t)=>Ue(f(e)?.[0],t),getLocalRowIds:(e,t)=>Te(Ue(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>O(f(e))?[t]:Te(v(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>o(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>o(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),o(s,a,[e,t])),delListener:e=>(I(...i(e)??[]),T),destroy:R,getListenerStats:()=>({remoteRowId:Re(n),localRowIds:Re(l),linkedRowIds:Re(a)})};return We(T)});export{St as addOrRemoveHash,gt as createCheckpoints,zt as createIndexes,Rs as createMergeableStore,Ls as createMetrics,Ss as createMiddleware,ms as createQueries,ys as createRelationships,bs as createStore,jt as defaultSorter,kt as getCellHash,Mt as getCellInRowHash,pt as getHash,Ot as getHlcFunctions,Dt as getRowHash,Et as getRowInTableHash,Wt as getTableHash,_t as getTableInTablesHash,Ht as getTablesHash,Rt as getUniqueId,yt as getValueHash,mt as getValueInValuesHash,Vt as getValuesHash};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),o="object",r="array",i="type",d="default",c="allowNull",u="Listener",g="Result",h="add",f="Has",b="Ids",C="Table",w=C+"s",R=C+b,v="Row",I=v+"Count",L=v+b,T="Sorted"+v+b,p="Cell",S=p+b,V="Value",m=V+"s",y=V+b,k=e=>t+e,M=(e,t)=>e.startsWith(t),D=(e,t)=>e.endsWith(t),E=(e,s=t,n)=>e.split(s,n),W=Math,_=e=>(t,s,n)=>e(t)?n?.():s(t),H=globalThis,J=W.max,x=W.min,P=W.floor,F=W.random,Q=isFinite,N=e=>null==e,O=e=>void 0===e,j=e=>null===e,z=e=>!0===e,A=_(N),B=_(O),U=e=>e==s||e==n,q=t=>e(t)==s,G=t=>e(t)==a,K=e=>Array.isArray(e),X=(e,t,s)=>e.slice(t,s),Y=e=>e.length,Z=()=>{},$=()=>{},ee=H.structuredClone,te=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},se=(e,t)=>e.includes(t),ne=(e,t)=>e.every(t),le=(e,t)=>Y(e)===Y(t)&&ne(e,(e,s)=>t[s]===e),ae=(e,t)=>ne(e,(s,n)=>0==n||t(e[n-1],s)<=0),oe=(e,t)=>e.sort(t),re=(e,t)=>e.forEach(t),ie=(e,t)=>e.map(t),de=e=>ue(e,(e,t)=>e+t,0),ce=e=>0==Y(e),ue=(e,t,s)=>e.reduce(t,s),ge=(e,...t)=>e.push(...t),he=e=>e.pop(),fe=e=>e.shift(),be=e=>t=>ue(Te(t),(t,s)=>t+e(s),0),Ce=e=>e?.size??0,we=be(Ce),Re=be(we),ve=be(Re),Ie=(e,t)=>e?.has(t)??!1,Le=e=>O(e)||0==Ce(e),Te=e=>[...e?.values()??[]],pe=e=>e.clear(),Se=(e,t)=>e?.forEach(t),Ve=(e,t)=>e?.delete(t),me=Object,ye=e=>me.getPrototypeOf(e),ke=me.isFrozen,Me=me.entries,De=e=>!N(e)&&A(ye(e),e=>e==me.prototype||N(ye(e)),()=>!0),Ee=me.keys,We=me.freeze,_e=(e=[])=>me.fromEntries(e),He=(e,t)=>t in e,Je=(e,t)=>(delete e[t],e),xe=(e,t)=>re(Me(e),([e,s])=>t(s,e)),Pe=(e,t)=>_e(((e,t)=>ie(Me(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),Fe=e=>Y(Ee(e)),Qe=e=>De(e)&&0==Fe(e),Ne=(e,t,s=(e,t)=>e===t)=>{const n=Me(e);return Y(n)===Fe(t)&&ne(n,([e,n])=>De(n)?!!De(t[e])&&Ne(t[e],n,s):s(n,t[e]))},Oe=(e,t,s)=>(He(e,t)||(e[t]=s()),e[t]),je=(e,t,s,n=0)=>N(e)||!De(e)||!n&&Qe(e)||ke(e)?(s?.(),!1):(xe(e,(s,n)=>{t(s,n)||Je(e,n)}),!!n||!Qe(e)),ze=Map,Ae=e=>new ze(e),Be=e=>[...e?.keys()??[]],Ue=(e,t)=>e?.get(t),qe=(e,t)=>Se(e,(e,s)=>t(s,e)),Ge=(e,t,s)=>O(s)?(Ve(e,t),e):e?.set(t,s),Ke=(e,t,s,n)=>(Ie(e,t)?n?.(Ue(e,t)):Ge(e,t,s()),Ue(e,t)),Xe=(e,t,s,n=Ge)=>(Pe(t,(t,n)=>s(e,n,t)),qe(e,s=>He(t,s)?0:n(e,s)),e),Ye=(e,t,s,n)=>{const l={};return Se(e,(e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;n?.(s)||(l[a]=s)}}),l},Ze=(e,t,s)=>Ye(e,e=>Ye(e,t,s),Le,Qe),$e=(e,t,s)=>Ye(e,e=>Ze(e,t,s),Le,Qe),et=(e,t)=>{const s=Ae();return Se(e,(e,n)=>s.set(n,t?.(e)??e)),s},tt=e=>et(e,et),st=e=>et(e,tt),nt=(e,t,s,n,l=0)=>B((s?Ke:Ue)(e,t[l],l>Y(t)-2?s:Ae),a=>{if(l>Y(t)-2)return n?.(a)&&Ge(e,t[l]),a;const o=nt(a,t,s,n,l+1);return Le(a)&&Ge(e,t[l]),o}),lt=e=>new Set(K(e)||O(e)?e:[e]),at=(e,t)=>e?.add(t),ot=(e,t,s,n,l)=>{const a=e.hasRow,o=Ae(),r=Ae(),i=Ae(),d=Ae(),c=Ae(),u=Ae(),g=t=>B(Ue(u,t),s=>{re(Te(s),t=>{e.delListener(t),Ve(s,t)}),Ge(u,t)}),h=(e,s)=>{Ge(o,e,s),Ie(r,e)||(Ge(r,e,t()),Ge(d,e,Ae()),Ge(c,e,Ae()),l(i))},f=e=>{Ge(o,e),Ge(r,e),Ge(d,e),Ge(c,e),g(e),l(i)};return[()=>e,()=>Be(o),e=>qe(r,e),e=>Ie(r,e),e=>Ue(o,e),e=>Ue(r,e),(e,t)=>Ge(r,e,t),h,(t,n,l,o,r)=>{h(t,n);const i=Ae(),f=Ae(),b=Ue(d,t),C=Ue(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=Ue(b,t),c=a(n,t)?s(o(l,t)):void 0;if(d===c||K(d)&&K(c)&&le(d,c)||Ge(i,t,[d,c]),!O(r)){const e=Ue(C,t),s=a(n,t)?r(l,t):void 0;e!=s&&Ge(f,t,s)}},R=e=>{l(()=>{Se(i,([,e],t)=>Ge(b,t,e)),Se(f,(e,t)=>Ge(C,t,e))},i,f,b,C,e),pe(i),pe(f)};qe(b,w),e.hasTable(n)&&re(e.getRowIds(n),e=>{Ie(b,e)||w(e)}),R(!0),g(t),((e,...t)=>{const s=Ke(u,e,lt);re(t,e=>at(s,e))})(t,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>qe(u,f)]},rt=(e,s)=>q(e)?t=>t(e):e??(()=>s??t),it=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},dt=/^\d+$/,ct=()=>{const e=[];let s=0;return[n=>(n?fe(e):null)??t+s++,t=>{dt.test(t)&&Y(e)<1e3&&ge(e,t)}]},ut=e=>{let s;const[n,l]=ct(),a=Ae();return[(l,o,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Ge(a,c,[l,o,r,i,d]),at(nt(o,r??[t],lt),c),c},(e,n,...l)=>re(((e,s=[t])=>{const n=[],l=(e,t)=>t==Y(s)?ge(n,e):j(s[t])?Se(e,e=>l(e,t+1)):re([s[t],null],s=>l(Ue(e,s),t+1));return l(e,0),n})(e,n),e=>Se(e,e=>Ue(a,e)[0](s,...n??[],...l))),e=>B(Ue(a,e),([,s,n])=>(nt(s,n??[t],void 0,t=>(Ve(t,e),Le(t)?1:0)),Ge(a,e),l(e),n)),e=>B(Ue(a,e),([e,,t=[],n,l])=>{const a=(...o)=>{const r=Y(o);r==Y(t)?e(s,...o,...l(o)):j(t[r])?re(n[r]?.(...o)??[],e=>a(...o,e)):a(...o,t[r])};a()})]},gt=it(e=>{let s,n,l,a=100,o=Ae(),r=Ae(),i=1;const d=Ae(),c=Ae(),[u,g,h]=ut(()=>_),f=Ae(),b=Ae(),C=[],w=[],R=(t,s)=>{i=0,e.transaction(()=>{const[n,l]=Ue(f,s);Se(n,(s,n)=>Se(s,(s,l)=>Se(s,(s,a)=>e._[5](n,l,a,s[t],!0)))),Se(l,(s,n)=>e._[6](n,s[t],!0))}),i=1},v=e=>{Ge(f,e),Ge(b,e),g(c,[e])},I=(e,t)=>re(((e,t)=>e.splice(0,t))(e,t??Y(e)),v),L=()=>I(C,Y(C)-a),T=()=>B(s,()=>{ge(C,s),L(),I(w),s=void 0,l=1}),p=()=>{s=he(C),l=1};let S,V;const m=(e=t)=>(O(s)&&(s=t+n++,Ge(f,s,[o,r]),E(s,e),o=Ae(),r=Ae(),l=1),s),y=()=>{ce(C)||(((e,...t)=>{e.unshift(...t)})(w,m()),R(0,s),s=he(C),l=1)},k=()=>{ce(w)||(ge(C,s),s=fe(w),R(1,s),l=1)},M=()=>{l&&(g(d),l=0)},D=e=>{const t=m(e);return M(),t},E=(e,t)=>(W(e)&&Ue(b,e)!==t&&(Ge(b,e,t),g(c,[e])),_),W=e=>Ie(f,e),_={setSize:e=>(a=e,L(),_),addCheckpoint:D,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],s,[...w]],forEachCheckpoint:e=>qe(b,e),hasCheckpoint:W,getCheckpoint:e=>Ue(b,e),goBackward:()=>(y(),M(),_),goForward:()=>(k(),M(),_),goTo:e=>{const t=se(C,e)?y:se(w,e)?k:void 0;for(;!O(t)&&e!=s;)t();return M(),_},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),_),clear:()=>(I(C),I(w),O(s)||v(s),s=void 0,n=0,D(),_),clearForward:()=>(ce(w)||(I(w),g(d)),_),destroy:()=>{e.delListener(S),e.delListener(V)},getListenerStats:()=>({checkpointIds:we(d),checkpoint:we(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,l,a)=>{if(i){T();const e=Ke(o,t,Ae),r=Ke(e,s,Ae),i=Ke(r,n,()=>[a,void 0]);i[1]=l,i[0]===l&&Le(Ge(r,n))&&Le(Ge(e,s))&&Le(Ge(o,t))&&p(),M()}}),V=e.addValueListener(null,(e,t,s,n)=>{if(i){T();const e=Ke(r,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Le(Ge(r,t))&&p(),M()}})}};return We(_.clear())},e=>e._registerListeners()),ht=E("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ft=Ae(ie(ht,(e,t)=>[e,t])),bt=e=>ht[63&e],Ct=(e,t)=>Ue(ft,e[t])??0,wt=H.crypto?e=>H.crypto.getRandomValues(e):e=>ie(e,()=>P(256*F())),Rt=(e=16)=>ue(wt(new Uint8Array(e)),(e,t)=>e+bt(t),t),vt=JSON.stringify,It=JSON.parse,Lt=e=>vt(e,(e,t)=>t instanceof Map?me.fromEntries([...t]):t),Tt=new H.TextEncoder,pt=e=>{let t=2166136261;return re(Tt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},St=(e,t)=>(e^t)>>>0,Vt=e=>ue(Me(e),(e,[t,s])=>St(e,mt(t,s)^mt(t,0)),0),mt=(e,t)=>pt(e+":"+t),yt=(e,t)=>pt(Lt(e??null)+":"+t),kt=yt,Mt=mt,Dt=Vt,Et=mt,Wt=e=>ue(Me(e),(e,[t,s])=>St(e,mt(t,s)),0),_t=mt,Ht=Wt,Jt=2**36,xt=2**30,Pt=2**24,Ft=2**18,Qt=4096,Nt=e=>{const t=pt(e);return bt(t/Pt)+bt(t/Ft)+bt(t/Qt)+bt(t/64)+bt(t)},Ot=(e,s=Date.now)=>{let n=0,l=-1;const a=B(e,Nt,()=>Rt(5)),o=e=>{const a=n,[o,r]=O(e)||e==t?[0,0]:i(e);n=J(a,o,s()),l=n==a?n==o?J(l,r):l:n==o?r:-1},r=(e,t,s)=>bt(e/Jt)+bt(e/xt)+bt(e/Pt)+bt(e/Ft)+bt(e/Qt)+bt(e/64)+bt(e)+bt(t/Ft)+bt(t/Qt)+bt(t/64)+bt(t)+(O(s)?a:Nt(s)),i=e=>[Ct(e,0)*Jt+Ct(e,1)*xt+Ct(e,2)*Pt+Ct(e,3)*Ft+Ct(e,4)*Qt+64*Ct(e,5)+Ct(e,6),Ct(e,7)*Ft+Ct(e,8)*Qt+64*Ct(e,9)+Ct(e,10),e.slice(11)];return[()=>(o(),r(n,++l)),o,r,i,()=>n,()=>l,()=>a]},jt=(e,t)=>(e??0)<(t??0)?-1:1,zt=it(e=>{const s=Ae(),n=Ae(),[l,a,o]=ut(()=>v),[r,i,d,c,u,g,h,,f,b,C,w]=ot(e,Ae,e=>O(e)?t:K(e)?ie(e,k):k(e),l,a),R=(t,s,n)=>{const l=u(t);Se(n,(t,n)=>s(n,s=>Se(t,t=>s(t,s=>e.forEachCell(l,t,s)))))},v={setIndexDefinition:(e,t,l,o,r,i=jt)=>{const d=O(r)?void 0:([e],[t])=>r(e,t);return f(e,t,(t,l,r,c,u,f)=>{let b=0;const C=lt(),w=lt(),R=g(e);if(Se(l,([e,t],s)=>{const n=lt(e),l=lt(t);Se(n,e=>Ve(l,e)?Ve(n,e):0),Se(n,e=>{at(C,e),B(Ue(R,e),t=>{Ve(t,s),Le(t)&&(Ge(R,e),b=1)})}),Se(l,e=>{at(C,e),Ie(R,e)||(Ge(R,e,lt()),b=1),at(Ue(R,e),s),O(o)||at(w,e)})}),t(),Le(u)||(f?qe(R,e=>at(w,e)):qe(r,e=>B(Ue(c,e),e=>re(K(e)?e:[e],e=>at(w,e)))),Se(w,e=>{const t=(t,s)=>i(Ue(u,t),Ue(u,s),e),s=[...Ue(R,e)];ae(s,t)||(Ge(R,e,lt(oe(s,t))),at(C,e))})),(b||f)&&!O(d)){const t=[...R];ae(t,d)||(h(e,Ae(oe(t,d))),b=1)}b&&a(s,[e]),Se(C,t=>a(n,[e,t]))},rt(l),B(o,rt)),v},delIndexDefinition:e=>(b(e),v),getStore:r,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>R(t,e,s))),forEachSlice:(e,t)=>R(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ie(g(e),t),getTableId:u,getSliceIds:e=>Be(g(e)),getSliceRowIds:(e,t)=>Te(Ue(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({sliceIds:we(s),sliceRowIds:Re(n)})};return We(v)}),At=t=>{if(j(t))return"null";if(K(t))return r;if(De(t))return o;const s=e(t);return U(s)||s==l&&Q(t)?s:void 0},Bt=e=>O(e)||!O(At(e)),Ut=e=>e==o||e==r,qt=e=>De(e)||K(e)?"�"+vt(e):e,Gt=e=>q(e)&&"�"==e[0],Kt=(e,t,s)=>!s&&Gt(e)?It(X(e,1)):e,Xt=([e,t])=>Yt(e,t),Yt=(e,t)=>t?[e,t]:[e],Zt=(e,t,s)=>[e,t,s],$t=e=>e[2],es=(e,t)=>t>e?(e?pt(e):0)^pt(t):0,ts=(e,s)=>((e??t)>(s??t)?e:s)??t,ss=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},ns=(e=t)=>Yt(_e(),e),ls=(e=t)=>[Ae(),e,0],as=([e,t,s],n)=>[Ye(e,n),t,s],os=([e,t],s=Xt)=>Yt(Ye(e,s),t),rs=(t,s)=>{return K(t)&&3==Y(t)&&q(t[1])&&(n=t[2],e(n)==l)&&Q(t[2])&&s(t[0]);var n},is=e=>[e,e],ds=(e,t=we)=>t(e[0])+t(e[1]),cs=()=>[Ae(),Ae()],us=e=>[...e],gs=([e,t])=>e===t,hs=(e,t,s)=>Ge(e,t,Ue(e,t)==-s?void 0:s),fs=([e,t],[s,n])=>Ne(e,s)&&Ne(t,n),bs=()=>{let e,t,s=!1,n=!1,a=0,o=[],r=[],g=0;const b=Ae(),T=Ae(),M=Ae(),D=Ae(),E=Ae(),W=Ae(),_=Ae(),H=Ae(),J=Ae(),x=Ae(),P=Ae(),F=Ae(),Q=Ae(),N=Ae(),z=lt(),A=Ae(),q=Ae(),Y=Ae(),Z=Ae(),$=cs(),ne=cs(),ae=cs(),de=cs(),ce=cs(),ue=cs(),he=cs(),fe=cs(),be=cs(),Te=cs(),me=cs(),ye=cs(),ke=cs(),Me=cs(),Ee=cs(),_e=cs(),xe=cs(),Fe=cs(),Oe=cs(),ze=cs(),nt=cs(),ot=cs(),rt=Ae(),it=cs(),[dt,gt,ht,ft]=ut(()=>on),bt=e=>{const t=g;g=1;const s=e();return g=t,s},Ct=(e,t,s,n=Object.is)=>B(t(),t=>e===t||n(e,t)?s(t):bt(()=>s(t))),wt=e=>{if(!je(e,(e,t)=>se([i,d,c],t)))return!1;const t=e[i];if(!U(t)&&t!=l&&!Ut(t))return!1;const s=e[d];return!(j(s)&&!e[c]||(j(s)||(At(s)!=t?Je(e,d):e[d]=qt(s)),0))},Rt=K,vt=(t,s)=>(!e||Ie(P,s)||ls(s))&&je(t,(e,t)=>Tt(s,t,e),()=>ls(s)),Tt=(e,t,s,n)=>je(n?s:mt(s,e,t),(n,l)=>B(pt(e,t,l,n),e=>(s[l]=e,!0),()=>!1),()=>ls(e,t)),pt=(t,s,n,l)=>e?B(Ue(Ue(P,t),n),e=>j(l)?e[c]?l:ls(t,s,n,l,e[d]):At(l)===e[i]?qt(l):Ut(e[i])&&Gt(l)?l:ls(t,s,n,l,e[d]),()=>ls(t,s,n,l)):O(At(l))?ls(t,s,n,l):qt(l),St=(e,t)=>je(t?e:yt(e),(t,s)=>B(Vt(s,t),t=>(e[s]=t,!0),()=>!1),()=>as()),Vt=(e,s)=>t?B(Ue(Q,e),t=>j(s)?t[c]?s:as(e,s,t[d]):At(s)===t[i]?qt(s):Ut(t[i])&&Gt(s)?s:as(e,s,t[d]),()=>as(e,s)):O(At(s))?as(e,s):qt(s),mt=(e,t,s)=>(B(Ue(F,t),([n,l])=>{Se(n,(t,s)=>{He(e,s)||(e[s]=t)}),Se(l,n=>{He(e,n)||ls(t,s,n)})}),e),yt=e=>(t&&(Se(N,(t,s)=>{He(e,s)||(e[s]=t)}),Se(z,t=>{He(e,t)||as(t)})),e),kt=e=>Xe(P,e,(e,t,s)=>{const n=Ae(),l=lt();Xe(Ke(P,t,Ae),s,(e,t,s)=>{Ge(e,t,s),B(s[d],e=>Ge(n,t,e),()=>at(l,t))}),Ge(F,t,[n,l])},(e,t)=>{Ge(P,t),Ge(F,t)}),Mt=e=>Xe(Q,e,(e,t,s)=>{Ge(Q,t,s),B(s[d],e=>Ge(N,t,e),()=>at(z,t))},(e,t)=>{Ge(Q,t),Ge(N,t),Ve(z,t)}),Dt=e=>Qe(e)?Ks():js(e),Et=(e,t,s,n,l,a)=>O(n)?Zs(e,t,s,!0,l):zs(e,t,s,n,l,a),Wt=e=>Qe(e)?$s():As(e),_t=(e,t,s)=>O(t)?en(e,s):Bs(e,t,s),Ht=(e,t)=>Ct(e,()=>t?e:B(o[1],t=>bt(()=>t(ee(e))),()=>e),e=>Xe(Y,e,(e,t,s)=>Jt(t,s),(e,t)=>zt(t)),Ne),Jt=(e,t,s)=>Ct(t,()=>s?t:B(o[2],s=>bt(()=>s(e,ee(t))),()=>t),t=>Xe(Ke(Y,e,()=>(Zt(e,1),Ge(A,e,ct()),Ge(q,e,Ae()),Ae())),t,(t,s,n)=>xt(e,t,s,n),(t,s)=>Bt(e,t,s)),Ne),xt=(e,t,s,n,l)=>Ct(n,()=>l?n:B(o[3],t=>bt(()=>t(e,s,ee(n))),()=>n),n=>Xe(Ke(t,s,()=>($t(e,s,1),Ae())),n,(t,n,l)=>Pt(e,s,t,n,l),(n,a)=>Xt(e,t,s,n,a,l)),Ne),Pt=(e,t,s,n,l,a)=>Ct(l,()=>B(a?void 0:o[4],s=>bt(()=>s(e,t,n,l)),()=>l),l=>{Ie(s,n)||es(e,t,n,1);const a=Ue(s,n);l!==a&&(ts(e,t,n,a,l),Ge(s,n,l))}),Ft=(e,t,s,n,l,a)=>B(Ue(t,s),t=>Pt(e,s,t,n,l,a),()=>{const o=Ae();Ge(t,s,o),$t(e,s,1),Pe(mt({[n]:l},e,s),(t,n)=>Pt(e,s,o,n,t,a))}),Qt=(e,t)=>Ct(e,()=>t?e:B(o[5],t=>bt(()=>t(ee(e))),()=>e),e=>Xe(Z,e,(e,t,s)=>Nt(t,s),(e,t)=>Yt(t)),Ne),Nt=(e,t,s)=>Ct(t,()=>B(s?void 0:o[6],s=>bt(()=>s(e,t)),()=>t),t=>{Ie(Z,e)||ss(e,1);const s=Ue(Z,e);t!==s&&(ns(e,s,t),Ge(Z,e,t))}),Ot=e=>Ke(Y,e,()=>(Zt(e,1),Ge(A,e,ct()),Ge(q,e,Ae()),Ae())),zt=e=>bt(()=>o[8]?.(e))??1?Jt(e,{},!0):Ue(Y,e),Bt=(e,t,s)=>{if(bt(()=>o[9]?.(e,s))??1){const[,n]=Ue(A,e);n(s),xt(e,t,s,{},!0)}},Xt=(e,t,s,n,l,a,r)=>{const i=Ue(Ue(F,e)?.[0],l);if(!O(i)&&!a)return Pt(e,s,n,l,i);if(r||(bt(()=>o[10]?.(e,s,l))??1)){const a=t=>{ts(e,s,t,Ue(n,t)),es(e,s,t,-1),Ge(n,t)};O(i)?a(l):qe(n,a),Le(n)&&($t(e,s,-1),Le(Ge(t,s))&&(Zt(e,-1),Ge(Y,e),Ge(A,e),Ge(q,e)))}},Yt=(e,t)=>{const s=Ue(N,e);if(!O(s))return Nt(e,s);(t||(bt(()=>o[12]?.(e))??1))&&(ns(e,Ue(Z,e)),ss(e,-1),Ge(Z,e))},Zt=(e,t)=>hs(b,e,t),$t=(e,t,s)=>hs(Ke(D,e,Ae),t,s)&&Ge(M,e,Ke(M,e,()=>0)+s),es=(e,t,s,n)=>{const l=Ue(q,e),a=Ue(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&hs(Ke(T,e,Ae),s,n),Ge(l,s,a!=-n?a+n:void 0),hs(Ke(Ke(E,e,Ae),t,Ae),s,n)},ts=(e,t,s,n,l)=>{Ke(Ke(Ke(W,e,Ae),t,Ae),s,()=>[n,0])[1]=l,r[3]?.(e,t,s,l,g)},ss=(e,t)=>hs(_,e,t),ns=(e,t,s)=>{Ke(H,e,()=>[t,0])[1]=s,r[4]?.(e,s,g)},ls=(e,t,s,n,l)=>(ge(Ke(Ke(Ke(J,e,Ae),t,Ae),s,()=>[]),n),l),as=(e,t,s)=>(ge(Ke(x,e,()=>[]),t),s),os=(e,t,s)=>B(Ue(Ue(Ue(W,e),t),s),([e,t])=>[!0,Kt(e),Kt(t)],()=>[!1,...is(Es(e,t,s))]),rs=e=>B(Ue(H,e),([e,t])=>[!0,Kt(e),Kt(t)],()=>[!1,...is(Hs(e))]),Cs=e=>Le(J)||Le(_e[e])?0:Se(e?st(J):J,(t,s)=>Se(t,(t,n)=>Se(t,(t,l)=>gt(_e[e],[s,n,l],t)))),ws=e=>Le(x)||Le(xe[e])?0:Se(e?et(x):x,(t,s)=>gt(xe[e],[s],t)),Rs=(e,t,s,n)=>{if(!Le(e))return gt(t,n,()=>Ye(e)),qe(e,(e,t)=>gt(s,[...n??[],e],1==t)),1},vs=e=>{const t=!Le($[e]),n=!Le(Te[e]),l=!(Le(ke[e])&&Le(Me[e])&&Le(be[e])&&Le(me[e])&&Le(ue[e])&&Le(he[e])&&Le(fe[e])&&!n&&Le(ae[e])&&Le(de[e])),a=!(Le(Ee[e])&&Le(ye[e])&&Le(ce[e])&&Le(ne[e]));if(t||l||a){const r=e?[et(b),tt(T),et(M),tt(D),st(E),(o=W,et(o,e=>et(e,e=>et(e,us))))]:[b,T,M,D,E,W];if(t){const t=Js();t!=s&>($[e],void 0,t)}if(l){Rs(r[0],ae[e],de[e]),Se(r[1],(t,s)=>Rs(t,ue[e],he[e],[s])),Se(r[2],(t,s)=>{0!=t&>(fe[e],[s],ys(s))});const t=lt();Se(r[3],(s,l)=>{Rs(s,be[e],me[e],[l])&&n&&(gt(Te[e],[l,null]),at(t,l))}),n&&Se(r[5],(s,n)=>{if(!Ie(t,n)){const t=lt();Se(s,e=>Se(e,([s,n],l)=>n!==s?at(t,l):Ve(e,l))),Se(t,t=>gt(Te[e],[n,t]))}}),Se(r[4],(t,s)=>Se(t,(t,n)=>Rs(t,ke[e],Me[e],[s,n])))}if(a){let t;Se(r[5],(s,n)=>{let l;Se(s,(s,a)=>{let o;Se(s,([s,r],i)=>{r!==s&&(gt(Ee[e],[n,a,i],Kt(r),Kt(s),os),t=l=o=1)}),o&>(ye[e],[n,a],os)}),l&>(ce[e],[n],os)}),t&>(ne[e],void 0,os)}}var o},Is=e=>{const t=!Le(Fe[e]),s=!Le(ze[e])||!Le(nt[e]),l=!Le(ot[e])||!Le(Oe[e]);if(t||s||l){const a=e?[et(_),et(H,us)]:[_,H];if(t){const t=Ns();t!=n&>(Fe[e],void 0,t)}if(s&&Rs(a[0],ze[e],nt[e]),l){let t;Se(a[1],([s,n],l)=>{n!==s&&(gt(ot[e],[l],Kt(n),Kt(s),rs),t=1)}),t&>(Oe[e],void 0,rs)}}},Ls=(e,...t)=>(nn(()=>e(...ie(t,k))),on),Ts=(e,t,s,n,l)=>{let a=Ms(e,t,...s);return dt(()=>{const l=Ms(e,t,...s);le(l,a)||(a=l,n(on,e,t,...s,a))},Te[l?1:0],[e,t],[Vs])},ps=(e=!1)=>[Ye(W,(t,s)=>-1===Ue(b,s)?void 0:Ye(t,(t,n)=>-1===Ue(Ue(D,s),n)?void 0:Ye(t,([,t])=>Kt(t,0,e),e=>gs(e)),Le,Qe),Le,Qe),Ye(H,([,t])=>Kt(t,0,e),e=>gs(e)),1],Ss=()=>$e(Y,Kt),Vs=()=>Be(Y),ms=e=>Be(Ue(q,k(e))),ys=e=>Ce(Ue(Y,k(e))),ks=e=>Be(Ue(Y,k(e))),Ms=(e,t,s,n=0,l)=>{return De(e)?Ms(e.tableId,e.cellId,e.descending,e.offset,e.limit):ie(X(oe((a=Ue(Y,k(e)),o=(e,s)=>[O(t)?s:Ue(e,k(t)),s],ie([...a?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>jt(e,t)*(s?-1:1)),n,O(l)?l:n+l),([,e])=>e);var a,o},Ds=(e,t)=>Be(Ue(Ue(Y,k(e)),k(t))),Es=(e,t,s)=>Kt(Ue(Ue(Ue(Y,k(e)),k(t)),k(s))),Ws=()=>Ye(Z,Kt),_s=()=>Be(Z),Hs=e=>Kt(Ue(Z,k(e))),Js=()=>!Le(Y),xs=e=>Ie(Y,k(e)),Ps=(e,t)=>Ie(Ue(q,k(e)),k(t)),Fs=(e,t)=>Ie(Ue(Y,k(e)),k(t)),Qs=(e,t,s)=>Ie(Ue(Ue(Y,k(e)),k(t)),k(s)),Ns=()=>!Le(Z),Os=e=>Ie(Z,k(e)),js=e=>Ls(()=>(e=>je(e,vt,ls))(e)?Ht(e):0),zs=(e,t,s,n,l,a)=>Ls((e,t,s)=>B(pt(e,t,s,G(n)?n(Es(e,t,s)):n),n=>{const r=Ot(e);B(l||a||!o[14]?.()?void 0:o[3],a=>{const o=Ue(r,t),i={...o?Ye(o):{},[s]:n};B(bt(()=>a(e,t,ee(i))),s=>((e,t,s,n,l)=>{Xe(Ke(t,s,()=>($t(e,s,1),Ae())),n,(t,n,a)=>B(pt(e,s,n,a),a=>Pt(e,s,t,n,a,l)),(n,l)=>Xt(e,t,s,n,l,!0))})(e,r,t,s,l))},()=>Ft(e,r,t,s,n,l))}),e,t,s),As=e=>Ls(()=>St(e)?Qt(e):0),Bs=(e,t,s)=>Ls(e=>B(Vt(e,G(t)?t(Hs(e)):t),t=>Nt(e,t,s)),e),Us=e=>(te(()=>Dt(It(e))),on),qs=t=>Ls(()=>{if((e=je(t,e=>je(e,wt)))&&(kt(t),!Le(Y))){const e=Ss();Ks(),js(e)}}),Gs=e=>Ls(()=>{if(t=(e=>je(e,wt))(e)){const s=Ws();sn(),$s(),t=!0,Mt(e),As(s)}}),Ks=()=>Ls(()=>bt(()=>o[7]?.())??1?Ht({},!0):0),Xs=e=>Ls(e=>Ie(Y,e)?zt(e):0,e),Ys=(e,t)=>Ls((e,t)=>B(Ue(Y,e),s=>Ie(s,t)?Bt(e,s,t):0),e,t),Zs=(e,t,s,n,l)=>Ls((e,t,s)=>B(Ue(Y,e),a=>B(Ue(a,t),o=>Ie(o,s)?Xt(e,a,t,o,s,n,l):0)),e,t,s),$s=()=>Ls(()=>bt(()=>o[11]?.())??1?Qt({},!0):0),en=(e,t)=>Ls(e=>Ie(Z,e)?Yt(e,t):0,e),tn=()=>Ls(()=>{kt({}),e=!1}),sn=()=>Ls(()=>{Mt({}),t=!1}),nn=(e,t)=>{if(-1!=a){ln();const s=e();return an(t),s}},ln=()=>(-1!=a&&a++,1==a&&(r[0]?.(),gt(rt)),on),an=e=>(a>0&&(a--,0==a&&(a=1,bt(()=>{Cs(1),Le(W)||vs(1),ws(1),Le(H)||Is(1)}),e?.(on)&&(Se(W,(e,t)=>Se(e,(e,s)=>Se(e,([e],n)=>Et(t,s,n,e,!0)))),pe(W),Se(H,([e],t)=>_t(t,e,!0)),pe(H)),gt(it[0],void 0),a=-1,Cs(0),Le(W)||vs(0),ws(0),Le(H)||Is(0),r[1]?.(),gt(it[1],void 0),r[2]?.(),a=0,s=Js(),n=Ns(),re([b,T,M,D,E,W,J,_,H,x],pe))),on),on={getContent:()=>[Ss(),Ws()],getTables:Ss,getTableIds:Vs,getTable:e=>Ze(Ue(Y,k(e)),Kt),getTableCellIds:ms,getRowCount:ys,getRowIds:ks,getSortedRowIds:Ms,getRow:(e,t)=>Ye(Ue(Ue(Y,k(e)),k(t)),Kt),getCellIds:Ds,getCell:Es,getValues:Ws,getValueIds:_s,getValue:Hs,hasTables:Js,hasTable:xs,hasTableCell:Ps,hasRow:Fs,hasCell:Qs,hasValues:Ns,hasValue:Os,getTablesJson:()=>Lt(Y),getValuesJson:()=>Lt(Z),getJson:()=>Lt([Y,Z]),getTablesSchemaJson:()=>Lt(P),getValuesSchemaJson:()=>Lt(Q),getSchemaJson:()=>Lt([P,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Ls(()=>{const t=G(e)?e():e;Rt(t)&&(e=>{Ct(e,()=>B(o[0],t=>bt(()=>t(ee(e))),()=>e),([e,t])=>{(Qe(e)?Ks:js)(e),(Qe(t)?$s:As)(t)},fs)})(t)}),setTables:js,setTable:(e,t)=>Ls(e=>vt(t,e)?Jt(e,t):0,e),setRow:(e,t,s)=>Ls((e,t)=>Tt(e,t,s)?xt(e,Ot(e),t,s):0,e,t),addRow:(e,t,s=!0)=>nn(()=>{let n;return Tt(e,n,t)&&(e=k(e),xt(e,Ot(e),n=((e,t)=>{const[s]=Ue(A,e);let n;do{n=s(t)}while(Ie(Ue(Y,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>Ls((e,t)=>{if(Tt(e,t,s,1)){const n=Ot(e);Pe(s,(s,l)=>Ft(e,n,t,l,s))}},e,t),setCell:zs,setValues:As,setPartialValues:e=>Ls(()=>St(e,1)?Pe(e,(e,t)=>Nt(t,e)):0),setValue:Bs,applyChanges:e=>Ls(()=>Ct(e,()=>B(o[13],t=>bt(()=>t(ee(e))),()=>e),e=>{Pe(e[0],(e,t)=>O(e)?Xs(t):Pe(e,(e,s)=>O(e)?Ys(t,s):Pe(e,(e,n)=>Et(t,s,n,e,void 0,!0)))),Pe(e[1],(e,t)=>_t(t,e))},fs)),setTablesJson:Us,setValuesJson:e=>(te(()=>Wt(It(e))),on),setJson:e=>Ls(()=>te(()=>{const[t,s]=It(e);Dt(t),Wt(s)},()=>Us(e))),setTablesSchema:qs,setValuesSchema:Gs,setSchema:(e,t)=>Ls(()=>{qs(e),Gs(t)}),delTables:Ks,delTable:Xs,delRow:Ys,delCell:Zs,delValues:$s,delValue:en,delTablesSchema:tn,delValuesSchema:sn,delSchema:()=>Ls(()=>{tn(),sn()}),transaction:nn,startTransaction:ln,getTransactionChanges:()=>ps(),getTransactionLog:()=>[!Le(W),!Le(H),$e(W,us,gs),$e(J),Ye(H,us,gs),Ye(x),Ye(b),Ze(D),$e(E),Ye(_)],finishTransaction:an,forEachTable:e=>Se(Y,(t,s)=>e(s,e=>Se(t,(t,s)=>e(s,e=>qe(t,(t,s)=>e(t,Kt(s))))))),forEachTableCell:(e,t)=>qe(Ue(q,k(e)),t),forEachRow:(e,t)=>Se(Ue(Y,k(e)),(e,s)=>t(s,t=>qe(e,(e,s)=>t(e,Kt(s))))),forEachCell:(e,t,s)=>qe(Ue(Ue(Y,k(e)),k(t)),(e,t)=>s(e,Kt(t))),forEachValue:e=>qe(Z,(t,s)=>e(t,Kt(s))),addSortedRowIdsListener:(e,t,s,n,l,a,o)=>De(e)?Ts(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):Ts(e,t,[s,n,l],a,o),addStartTransactionListener:e=>dt(e,rt),addWillFinishTransactionListener:e=>dt(e,it[0]),addDidFinishTransactionListener:e=>dt(e,it[1]),callListener:e=>(ft(e),on),delListener:e=>(ht(e),on),getListenerStats:()=>({hasTables:ds($),tables:ds(ne),tableIds:ds(ae),hasTable:ds(de),table:ds(ce),tableCellIds:ds(ue),hasTableCell:ds(he,Re),rowCount:ds(fe),rowIds:ds(be),sortedRowIds:ds(Te),hasRow:ds(me,Re),row:ds(ye,Re),cellIds:ds(ke,Re),hasCell:ds(Me,ve),cell:ds(Ee,ve),invalidCell:ds(_e,ve),hasValues:ds(Fe),values:ds(Oe),valueIds:ds(ze),hasValue:ds(nt),value:ds(ot),invalidValue:ds(xe),transaction:we(rt)+ds(it)}),isMergeable:()=>!1,_:[bs,dt,gt,(e,t,s,n,l)=>r=[e,t,s,n,l],(e,t,s,n,l,a,r,i,d,c,u,g,h,f,b)=>o=[e,t,s,n,l,a,r,i,d,c,u,g,h,f,b],Et,_t,()=>[$e(Y),Ye(Z)],()=>ps(!0)]};return Pe({[f+w]:[0,$,[],()=>[Js()]],[w]:[0,ne],[R]:[0,ae],[f+C]:[1,de,[Vs],e=>[xs(...e)]],[C]:[1,ce,[Vs]],[C+S]:[1,ue,[Vs]],[f+C+p]:[2,he,[Vs,ms],e=>[Ps(...e)]],[I]:[1,fe,[Vs]],[L]:[1,be,[Vs]],[f+v]:[2,me,[Vs,ks],e=>[Fs(...e)]],[v]:[2,ye,[Vs,ks]],[S]:[2,ke,[Vs,ks]],[f+p]:[3,Me,[Vs,ks,Ds],e=>[Qs(...e)]],[p]:[3,Ee,[Vs,ks,Ds],e=>is(Es(...e))],InvalidCell:[3,_e],[f+m]:[0,Fe,[],()=>[Ns()]],[m]:[0,Oe],[y]:[0,ze],[f+V]:[1,nt,[_s],e=>[Os(...e)]],[V]:[1,ot,[_s],e=>is(Hs(e[0]))],InvalidValue:[1,xe]},([e,t,s,n],l)=>{on[h+l+u]=(...l)=>dt(l[e],t[l[e+1]?1:0],e>0?X(l,0,e):void 0,s,n)}),We(on)},Cs={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},ws=(e=t)=>[ls(e),ls(e)],Rs=(e,s)=>{let n=1,l=ws(),a=0,o=0;const r=Ae(),i=lt(),[d,c]=Ot(e,s),g=bs(),f=e=>{const t=n;return n=0,e(),n=t,p},b=(e,s=0)=>{const n={},a={},[[o,r=t,i=0],d]=e,[u,g]=l,[h,f,b]=u;let w=s?i:b,R=r;xe(o,([e,l=t,a=0],o)=>{const r=Ke(h,o,ls),[i,d,c]=r;let u=s?a:c,g=l;xe(e,(e,t)=>{const[l,a,r]=C(e,Ke(i,t,ls),Oe(Oe(n,o,_e),t,_e),s);u^=s?0:St(a?mt(t,a):0,mt(t,r)),g=ts(g,l)}),u^=s?0:es(d,l),ss(r,l,u),w^=s?0:St(c?mt(o,c):0,mt(o,r[2])),R=ts(R,g)}),w^=s?0:es(f,r),ss(u,r,w);const[v]=C(d,g,a,s);return c(ts(R,v)),[n,a,1]},C=(e,s,n,l)=>{const[a,o=t,r=0]=e,[i,d,c]=s;let u=o,g=l?r:c;return xe(a,([e,s=t,a=0],o)=>{const r=Ke(i,o,()=>[void 0,t,0]),[,d,c]=r;(!d||s>d)&&(ss(r,s,l?a:yt(e,s)),r[0]=e,n[o]=e,g^=l?0:St(mt(o,c),mt(o,r[2])),u=ts(u,s))}),g^=l?0:es(d,o),ss(s,o,g),[u,c,s[2]]},w=$,R=$,v=(e=!1)=>[as(l[0],t=>as(t,t=>as(t,([t,s,n])=>[Kt(t,0,e),s,n]))),as(l[1],([t,s,n])=>[Kt(t,0,e),s,n])],I=(e,t=!1)=>{const[[s,n,a],[o,d,c]]=l,u=e?Zt:Yt,g={};Se(r,(e,n)=>B(Ue(s,n),([s,l,a])=>{const o={};Se(e,(e,n)=>B(Ue(s,n),([s,l,a])=>{const r={};Se(e,e=>{B(Ue(s,e),([s,n,l])=>r[e]=u(t?s:Kt(s),n,l))}),o[n]=u(r,l,a)})),g[n]=u(o,l,a)}));const h={};return Se(i,e=>B(Ue(o,e),([s,n,l])=>h[e]=u(t?s:Kt(s),n,l))),[u(g,n,a),u(h,d,c),1]},L=()=>v(),T=e=>f(()=>g.applyChanges(b(e))),p={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Ye(l[0][0],$t),getMergeableTableDiff:e=>{const t=ns(l[0][1]),s={};return qe(l[0][0],(n,[l,a,o])=>He(e,n)?o!=e[n]?s[n]=o:0:t[0][n]=os([l,a],e=>os(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return xe(e,(e,s)=>B(Ue(l[0][0],s),([n,,l])=>l!=e?qe(n,(e,[,,n])=>Oe(t,s,_e)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=ns(l[0][1]),s={};return xe(e,(e,n)=>qe(Ue(l[0][0],n)?.[0],(l,[a,o,r])=>He(e,l)?r!==e[l]?Oe(s,n,_e)[l]=r:0:Oe(t[0],n,ns)[0][l]=os([a,o]))),[t,s]},getMergeableCellHashes:e=>{const t={};return xe(e,(e,s)=>B(Ue(l[0][0],s),([n])=>xe(e,(e,l)=>B(Ue(n,l),([n,,a])=>a!==e?qe(n,(e,[,,n])=>Oe(Oe(t,s,_e),l,_e)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return xe(e,(e,s)=>xe(e,(e,l)=>B(Ue(t,s),([t,a])=>B(Ue(t,l),([t,o])=>qe(t,(t,[r,i,d])=>d!==e[t]?Oe(Oe(n,s,()=>ns(a))[0],l,()=>ns(o))[0][t]=[r,i]:0))))),Yt(n,s)},getMergeableValueHashes:()=>Ye(l[1][0],$t),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Ye(t,Xt,([,,t],s)=>t==e?.[s]);return Yt(n,s)},setMergeableContent:e=>f(()=>(e=>K(e)&&2==Y(e)&&rs(e[0],e=>je(e,e=>rs(e,e=>je(e,e=>rs(e,e=>je(e,e=>rs(e,Bt),void 0,1)),void 0,1)),void 0,1))&&rs(e[1],e=>je(e,e=>rs(e,Bt),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),l=ws(),g.applyChanges(b(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{a=1,g.setContent(e),a=0}),p),getTransactionMergeableChanges:(e=!1)=>I(e),applyMergeableChanges:T,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),T(s)},__:[()=>{const e=o;return o=0,e},()=>v(!0),e=>I(e,!0)]};return g._[3](w,R,()=>{pe(r),pe(i)},(e,s,l,i,c)=>{at(Ke(Ke(r,e,Ae),s,lt),l),(n||c)&&(c&&(o=1),b([[{[e]:[{[s]:[{[l]:[i,a?t:d()]}]}]}],[{}],1]))},(e,s,l)=>{at(i,e),(n||l)&&(l&&(o=1),b([[{}],[{[e]:[s,a?t:d()]}],1]))}),Pe(g,(e,t)=>p[t]=M(t,"set")||M(t,"del")||M(t,"apply")||D(t,"Transaction")||t=="call"+u||"use"==t?(...t)=>(e(...t),p):M(t,h)&&D(t,u)?(...s)=>{const n=Cs[X(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(p,...t),e(...s)}:"isMergeable"==t?()=>!0:e),We(p)},vs=Ae([["avg",[(e,t)=>de(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>J(...e),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:J(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>de(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Is=(e,t,s,n,l,a=!1)=>{if(Le(s))return;const[o,r,i,d]=l;return a||=O(e),Se(n,([s,n])=>{a||(e=O(s)?r?.(e,n,t++):O(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=O(e))}),a?o(Te(s),Ce(s)):e},Ls=it(e=>{const s=Ae(),[n,l,a]=ut(()=>w),[o,r,i,d,c,u,g,,h,f,b,C]=ot(e,Z,e=>isNaN(e)||O(e)||z(e)||!1===e||e===t?void 0:1*e,n,l),w={setMetricDefinition:(e,t,n,a,o,r,i)=>{const d=G(n)?[n,o,r,i]:Ue(vs,n)??Ue(vs,"sum");return h(e,t,(t,n,a,o,r,i)=>{const c=u(e),h=Ce(o);i||=O(c),t();let f=Is(c,h,o,n,d,i);Q(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))},rt(a,1)),w},delMetricDefinition:e=>(f(e),w),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(a(e),w),destroy:C,getListenerStats:()=>({metric:we(s)})};return We(w)}),Ts=(e,t,...s)=>ue(e,(e,t)=>O(e)?e:t(...s,e),t),ps=(e,...t)=>ne(e,e=>e(...t)),Ss=it(e=>{const t=e=>t=>(ge(e,t),D),s=[],n=[],l=[],a=[],o=[],r=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],C=t(s),w=t(n),R=t(l),v=t(a),I=t(o),L=t(r),T=t(i),p=t(d),S=t(c),V=t(u),m=t(g),y=t(h),k=t(f),M=t(b),D=We({getStore:()=>e,addWillSetContentCallback:C,addWillSetTablesCallback:w,addWillSetTableCallback:R,addWillSetRowCallback:v,addWillSetCellCallback:I,addWillSetValuesCallback:L,addWillSetValueCallback:T,addWillDelTablesCallback:p,addWillDelTableCallback:S,addWillDelRowCallback:V,addWillDelCellCallback:m,addWillDelValuesCallback:y,addWillDelValueCallback:k,addWillApplyChangesCallback:M,destroy:()=>{}});return e._[4](e=>Ts(s,e),e=>Ts(n,e),(e,t)=>Ts(l,t,e),(e,t,s)=>Ts(a,s,e,t),(e,t,s,n)=>Ts(o,n,e,t,s),e=>Ts(r,e),(e,t)=>Ts(i,t,e),()=>ps(d),e=>ps(c,e),(e,t)=>ps(u,e,t),(e,t,s)=>ps(g,e,t,s),()=>ps(h),e=>ps(f,e),e=>Ts(b,e),()=>a.length>0),D}),Vs="_",ms=it(e=>{const s=e._[0],n=s(),l=s(),a=Ae(),o=Ae(),r=lt(),i=Ae(),d=Ae(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},f=Ae(),b=Ae(),{_:[,w,R],delListener:V}=l,[m,y,k,M,D,E,W,_,,H,J,x]=ot(e,()=>[],Z,w,R),P=e=>Ke(o,e,s),F=(e,t,...s)=>re(s,s=>at(Ke(Ke(f,t,Ae),e,lt),s)),Q=e=>{B(Ue(f,e),e=>{qe(e,(e,t)=>Se(t,t=>e.delListener(t))),pe(e)}),re([P(e),Ue(a,e)],t=>t?.delTable(e))},N=(e,t,s,...n)=>{const l=Ke(Ke(b,t,Ae),e,lt);return re(n,t=>{at(l,t),s&&e.callListener(t)}),n},j=(e,t,s)=>B(Ue(Ue(b,e),t),n=>{t.delListener(s),Ve(n,s),Le(n)&&Ge(Ue(b,e),t)}),A=e=>B(Ue(b,e),e=>{qe(e,(e,t)=>Se(t,t=>e.delListener(t))),pe(e)}),U=(e,t,s)=>F(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),q=(e,t)=>(Qe(t)?n.delRow:n.setRow)(Vs,e,{...t}),K=n=>P(n).transaction(()=>B(E(n),([l,,o])=>{const i=D(n),d=o?P(i):e,c=P(n),u=ee(n);at(r,n),Q(n),A(n);const g=[],h=[[void 0,[i,void 0,void 0,[],Ae(),d]]],f=[],b=[],C=[];l({select:(e,s,n)=>{const l=z(e)?s:e,a=z(e)?n:s,o=G(e)?[Y(g)+t,e]:O(a)?[e,t=>t(e)]:[a,t=>z(e)?t(!0,l,a):t(l,a)];return ge(g,o),{as:e=>o[0]=e}},join:(t,s,n,l)=>{const a=z(t)?s:t,[o,r]=z(t)?O(l)||G(n)?[void 0,n]:[n,l]:O(n)||G(s)?[void 0,s]:[s,n],i=[a,[a,o,G(r)?r:e=>e(r),[],Ae(),z(t)?P(a):e]];return ge(h,i),{as:e=>i[0]=e}},where:(e,t,s,n)=>ge(f,G(e)?e:z(e)?e=>e(!0,t,s)===n:O(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const a=[e,[e,G(t)?[t,s,n,l]:Ue(vs,t)??[(e,t)=>t]]];return ge(b,a),{as:e=>a[0]=e}},having:(e,t)=>ge(C,G(e)?e:s=>s(e)===t),param:e=>((e,t)=>B(e,e=>e[t]))(u,e)});const w=Ae(g);if(Le(w))return Ve(r,n),te;const R=Ae(h);qe(R,(e,[,t])=>B(Ue(R,t),({3:t})=>O(e)?0:ge(t,e)));const v=Ae(b),I=!Le(v)||!ce(C),L=I?(e=>Ke(a,e,s))(n):c;if(I){U(n,L,c);const e=Ae();qe(v,(t,[s,n])=>at(Ke(e,s,lt),[t,n]));const t=lt();qe(w,s=>Ie(e,s)?0:at(t,s));const s=Ae(),l=(t,s,l,a)=>B(t,([o,r,i,d])=>{qe(s,(t,[s])=>{const n=Ke(o,t,Ae),r=Ue(n,l),i=a?void 0:s;if(r!==i){const s=lt([[r,i]]),a=Ce(n);Ge(n,l,i),Se(Ue(e,t),([e,t])=>{const l=Is(d[e],a,n,s,t);d[e]=O(At(l))?void 0:l})}}),Le(r)||!ne(C,e=>e(e=>d[e]))?c.delRow(n,i):O(i)?t[2]=c.addRow(n,d):c.setRow(n,i,d)});F(L,n,L.addRowListener(n,null,(a,o,r,i)=>{const d=[],c=[],u=Ae(),g=L.hasRow(n,r);let h=!g;Se(t,e=>{const[t,s,l]=i(n,r,e);ge(d,s),ge(c,l),h||=t}),qe(e,e=>{const[t,,s]=i(n,r,e);(h||t)&&Ge(u,e,[s])}),h&&l(nt(s,d,void 0,([,e])=>(Ve(e,r),Le(e))),u,r,1),g&&l(nt(s,c,()=>{const e={};return Se(t,t=>e[t]=L.getCell(n,r,t)),[Ae(),lt(),void 0,e]},([,e])=>{at(e,r)}),u,r)}))}U(n,d,L);const T=(e,t,s,l,a)=>{const o=e=>t.getCell(s,l,e);re(a,t=>{const[s,,l,a,r,i]=Ue(R,t),d=l?.(o,e),c=Ue(r,e),u=c?.[0];d!=u&&(B(c,([,e,t])=>j(n,e,t)),Ge(r,e,O(d)?void 0:[d,i,...N(i,n,1,i.addRowListener(s,d,()=>T(e,i,s,d,a)))]))}),(e=>{const t=(t,s,n)=>{const l=z(t)?s:t,a=z(t)?n:s;if(O(a))return d.getCell(i,e,t);if(l===i&&!z(t))return d.getCell(i,e,a);const o=Ue(R,l);return O(o)?void 0:o[5].getCell(o[0],Ue(o[4],e)?.[0],a)};L.transaction(()=>ne(f,e=>e(t))?qe(w,(s,l)=>L._[5](n,e,s,l(t,e))):L.delRow(n,e))})(e)},{3:p}=Ue(R,void 0),S=(e,t,s)=>{d.hasRow(i,s)?T(s,d,i,s,p):(L.delRow(n,s),Se(R,({4:e})=>B(Ue(e,s),([,t,l])=>{j(n,t,l),Ge(e,s)})))};return L.transaction(()=>{re(d.getRowIds(i),e=>S(0,0,e)),N(d,n,0,d.addRowListener(i,null,S))}),Ve(r,n),te})),$=e=>(B(E(e),([,e])=>n.delListener(e)),n.delRow(Vs,e),Q(e),A(e),H(e),te),ee=e=>n.getRow(Vs,e),te={setQueryDefinition:(e,t,s,l,a={})=>{const[o,r,i,d]=z(t)?[s,l,1,a]:[t,s,0,l??{}];return B(E(e),([,e])=>n.delListener(e)),_(e,o),W(e,[r,n.addRowListener(Vs,e,()=>K(e)),i]),q(e,d),K(e),te},delQueryDefinition:$,getParamValues:ee,getParamValue:(e,t)=>n.getCell(Vs,e,t),setParamValues:(e,t)=>(M(e)&&q(e,t),te),setParamValue:(e,t,s)=>(M(e)&&n.setCell(Vs,e,t,s),te),getStore:m,getQueryIds:y,forEachQuery:k,hasQuery:M,getTableId:D,forEachResultTable:e=>k(t=>P(t).hasTable(t)?e(t,e=>te.forEachResultRow(t,e)):0),addQueryIdsListener:e=>J(()=>e(te)),addParamValuesListener:(e,t)=>"p"+n.addRowListener(Vs,e,(e,s,n)=>t(te,n,ee(n))),addParamValueListener:(e,t,s)=>"p"+n.addCellListener(Vs,e,t,(e,t,n,l,a)=>s(te,n,l,a)),delListener:e=>{const t=Ue(i,e);if("p"==e[0])n.delListener(X(e,1));else if(O(t))V(e);else{const[s,n,l]=t;qe(n,(e,[t,s])=>t.delListener(s)),B(l,V),Ge(i,e),V(e),c[s]--}return te},destroy:()=>{re(y(),$),x()},getListenerStats:()=>({...c,paramValues:n.getListenerStats().row-Y(y()),paramValue:n.getListenerStats().cell})};return Pe({[C]:[2,1],[C+S]:[1,1],[I]:[1,1],[L]:[1,1],[T]:[1,5],[v]:[3,2],[S]:[1,2],[p]:[3,3]},([e,t],s)=>{re(X(["get","has","forEach"],0,e),e=>te[e+g+s]=(...t)=>P(t[0])[e+s](...t)),te[h+g+s+u]=(...e)=>((n,l)=>{const a=w(Z,d),o=Ae(),r=()=>{const n=null==l?y():[l];re(n,n=>{return Ie(o,n)?0:Ge(o,n,[P(n),(l=P(n),l[h+s+u](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:X(e,0,t))(e,t),(s,...n)=>e[t](te,...n),!0))]);var l}),qe(o,(e,[t,s])=>null==l&&M(e)||e==l?0:(t.delListener(s),void Ge(o,e)))};return r(),Ge(i,a,[n,o,null==l?J(r):void 0]),c[n]++,a})((e=>e[0].toLowerCase()+X(e,1))(s),e[0])}),We(te)}),ys=it(e=>{const s=Ae(),n=Ae(),l=Ae(),a=Ae(),[o,r,i]=ut(()=>T),[d,c,u,g,h,f,,,b,C,w,R]=ot(e,()=>[Ae(),Ae(),Ae(),Ae()],e=>O(e)?void 0:e+t,o,r),v=(e,t,s)=>B(f(e),([n,,l])=>{if(!Ie(l,t)){const a=lt();if(h(e)!=L(e))at(a,t);else{let e=t;for(;!O(e)&&!Ie(a,e);)at(a,e),e=Ue(n,e)}if(s)return a;Ge(l,t,a)}return Ue(l,t)}),I=(e,t)=>B(f(e),([,,e])=>Ge(e,t)),L=e=>Ue(s,e),T={setRelationshipDefinition:(e,t,o,i)=>(Ge(s,e,o),b(e,t,(t,s)=>{const o=lt(),i=lt(),d=lt(),[c,u]=f(e);Se(s,([t,s],n)=>{O(t)||(at(i,t),B(Ue(u,t),e=>{Ve(e,n),Le(e)&&Ge(u,t)})),O(s)||(at(i,s),Ie(u,s)||Ge(u,s,lt()),at(Ue(u,s),n)),at(o,n),Ge(c,n,s),qe(Ue(a,e),t=>{Ie(v(e,t),n)&&at(d,t)})}),t(),Se(o,t=>r(n,[e,t])),Se(i,t=>r(l,[e,t])),Se(d,t=>{I(e,t),r(a,[e,t])})},rt(i)),T),delRelationshipDefinition:e=>(Ge(s,e),C(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:L,getRemoteRowId:(e,t)=>Ue(f(e)?.[0],t),getLocalRowIds:(e,t)=>Te(Ue(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>O(f(e))?[t]:Te(v(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>o(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>o(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),o(s,a,[e,t])),delListener:e=>(I(...i(e)??[]),T),destroy:R,getListenerStats:()=>({remoteRowId:Re(n),localRowIds:Re(l),linkedRowIds:Re(a)})};return We(T)});export{St as addOrRemoveHash,gt as createCheckpoints,zt as createIndexes,Rs as createMergeableStore,Ls as createMetrics,Ss as createMiddleware,ms as createQueries,ys as createRelationships,bs as createStore,jt as defaultSorter,kt as getCellHash,Mt as getCellInRowHash,pt as getHash,Ot as getHlcFunctions,Dt as getRowHash,Et as getRowInTableHash,Wt as getTableHash,_t as getTableInTablesHash,Ht as getTablesHash,Rt as getUniqueId,yt as getValueHash,mt as getValueInValuesHash,Vt as getValuesHash};
|
|
Binary file
|