tinybase 5.4.0-beta.3 → 5.4.0-beta.5
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/mergeable-store/index.d.cts +5 -4
- package/@types/mergeable-store/index.d.ts +5 -4
- package/@types/mergeable-store/with-schemas/index.d.cts +5 -4
- package/@types/mergeable-store/with-schemas/index.d.ts +5 -4
- package/@types/persisters/index.d.cts +1 -0
- package/@types/persisters/index.d.ts +1 -0
- package/@types/persisters/persister-durable-object-storage/index.d.cts +25 -17
- package/@types/persisters/persister-durable-object-storage/index.d.ts +25 -17
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +26 -18
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +26 -18
- package/@types/persisters/persister-partykit-server/index.d.cts +12 -0
- package/@types/persisters/persister-partykit-server/index.d.ts +12 -0
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +15 -0
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +15 -0
- package/@types/persisters/with-schemas/index.d.cts +1 -0
- package/@types/persisters/with-schemas/index.d.ts +1 -0
- package/@types/store/index.d.cts +10 -8
- package/@types/store/index.d.ts +10 -8
- package/@types/store/with-schemas/index.d.cts +10 -8
- package/@types/store/with-schemas/index.d.ts +10 -8
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +206 -28
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +206 -28
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +219 -28
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +219 -28
- package/cjs/es6/index.cjs +0 -1
- package/cjs/es6/indexes/index.cjs +1 -1
- package/cjs/es6/indexes/with-schemas/index.cjs +1 -1
- package/cjs/es6/metrics/index.cjs +1 -1
- package/cjs/es6/metrics/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/indexes/index.cjs +1 -1
- package/cjs/es6/min/indexes/index.cjs.gz +0 -0
- package/cjs/es6/min/indexes/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/metrics/index.cjs +1 -1
- package/cjs/es6/min/metrics/index.cjs.gz +0 -0
- package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/queries/index.cjs +1 -1
- package/cjs/es6/min/queries/index.cjs.gz +0 -0
- package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/relationships/index.cjs +1 -1
- package/cjs/es6/min/relationships/index.cjs.gz +0 -0
- package/cjs/es6/min/relationships/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/relationships/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +1 -1
- package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -1
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +2 -5
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +2 -5
- package/cjs/es6/queries/index.cjs +0 -1
- package/cjs/es6/queries/with-schemas/index.cjs +0 -1
- package/cjs/es6/relationships/index.cjs +1 -1
- package/cjs/es6/relationships/with-schemas/index.cjs +1 -1
- package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +10 -6
- package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +10 -6
- package/cjs/es6/with-schemas/index.cjs +0 -1
- package/cjs/min/persisters/persister-durable-object-storage/index.cjs +1 -1
- package/cjs/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/persister-durable-object-storage/index.cjs +1 -1
- package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -1
- package/cjs/persisters/persister-partykit-client/index.cjs +2 -5
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +2 -5
- package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +3 -3
- package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +3 -3
- package/es6/index.js +0 -1
- package/es6/indexes/index.js +1 -1
- package/es6/indexes/with-schemas/index.js +1 -1
- package/es6/metrics/index.js +1 -1
- package/es6/metrics/with-schemas/index.js +1 -1
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/indexes/index.js +1 -1
- package/es6/min/indexes/index.js.gz +0 -0
- package/es6/min/indexes/with-schemas/index.js +1 -1
- package/es6/min/indexes/with-schemas/index.js.gz +0 -0
- package/es6/min/metrics/index.js +1 -1
- package/es6/min/metrics/index.js.gz +0 -0
- package/es6/min/metrics/with-schemas/index.js +1 -1
- package/es6/min/metrics/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/index.js +1 -1
- package/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/es6/min/queries/index.js +1 -1
- package/es6/min/queries/index.js.gz +0 -0
- package/es6/min/queries/with-schemas/index.js +1 -1
- package/es6/min/queries/with-schemas/index.js.gz +0 -0
- package/es6/min/relationships/index.js +1 -1
- package/es6/min/relationships/index.js.gz +0 -0
- package/es6/min/relationships/with-schemas/index.js +1 -1
- package/es6/min/relationships/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react-dom/index.js +1 -1
- package/es6/min/ui-react-dom/index.js.gz +0 -0
- package/es6/min/ui-react-dom/with-schemas/index.js +1 -1
- package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/index.js +1 -1
- package/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/persister-durable-object-storage/index.js +1 -1
- package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/es6/persisters/persister-file/index.js +1 -1
- package/es6/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/persisters/persister-partykit-client/index.js +2 -5
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -5
- package/es6/queries/index.js +0 -1
- package/es6/queries/with-schemas/index.js +0 -1
- package/es6/relationships/index.js +1 -1
- package/es6/relationships/with-schemas/index.js +1 -1
- package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +10 -6
- package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +10 -6
- package/es6/ui-react-dom/index.js +8 -8
- package/es6/ui-react-dom/with-schemas/index.js +8 -8
- package/es6/ui-react-inspector/index.js +4 -4
- package/es6/ui-react-inspector/with-schemas/index.js +4 -4
- package/es6/with-schemas/index.js +0 -1
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/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/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/package.json +1 -1
- package/persisters/persister-durable-object-storage/index.js +1 -1
- package/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/persisters/persister-file/index.js +1 -1
- package/persisters/persister-file/with-schemas/index.js +1 -1
- package/persisters/persister-partykit-client/index.js +2 -5
- package/persisters/persister-partykit-client/with-schemas/index.js +2 -5
- package/readme.md +2 -2
- package/releases.md +17 -5
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
- package/ui-react-dom/index.js +8 -8
- package/ui-react-dom/with-schemas/index.js +8 -8
- package/ui-react-inspector/index.js +4 -4
- package/ui-react-inspector/with-schemas/index.js +4 -4
- package/umd/es6/index.js +0 -1
- package/umd/es6/indexes/index.js +1 -5
- package/umd/es6/indexes/with-schemas/index.js +1 -5
- package/umd/es6/metrics/index.js +1 -5
- package/umd/es6/metrics/with-schemas/index.js +1 -5
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/indexes/index.js +1 -1
- package/umd/es6/min/indexes/index.js.gz +0 -0
- package/umd/es6/min/indexes/with-schemas/index.js +1 -1
- package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/metrics/index.js +1 -1
- package/umd/es6/min/metrics/index.js.gz +0 -0
- package/umd/es6/min/metrics/with-schemas/index.js +1 -1
- package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/umd/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/queries/index.js +1 -1
- package/umd/es6/min/queries/index.js.gz +0 -0
- package/umd/es6/min/queries/with-schemas/index.js +1 -1
- package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/relationships/index.js +1 -1
- package/umd/es6/min/relationships/index.js.gz +0 -0
- package/umd/es6/min/relationships/with-schemas/index.js +1 -1
- package/umd/es6/min/relationships/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/persister-durable-object-storage/index.js +1 -1
- package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/umd/es6/persisters/persister-partykit-client/index.js +2 -5
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -5
- package/umd/es6/queries/index.js +0 -1
- package/umd/es6/queries/with-schemas/index.js +0 -1
- package/umd/es6/relationships/index.js +1 -5
- package/umd/es6/relationships/with-schemas/index.js +1 -5
- package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +10 -6
- package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +10 -6
- package/umd/es6/with-schemas/index.js +0 -1
- package/umd/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/umd/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/umd/persisters/persister-durable-object-storage/index.js +1 -1
- package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/umd/persisters/persister-partykit-client/index.js +2 -5
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +2 -5
- package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
- package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),r=t=>Array.isArray(t),o=(t,e,a)=>t.slice(e,a),i=t=>t.length,c=t=>{throw Error(t)},l=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,g=t=>y.getPrototypeOf(t),p=y.entries,f=y.keys,h=y.freeze,v=(t,e)=>l(p(t),(([t,a])=>e(a,t))),
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),r=t=>Array.isArray(t),o=(t,e,a)=>t.slice(e,a),i=t=>t.length,c=t=>{throw Error(t)},l=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,g=t=>y.getPrototypeOf(t),p=y.entries,f=y.keys,h=y.freeze,v=(t,e)=>l(p(t),(([t,a])=>e(a,t))),w=t=>(t=>!n(t)&&s(g(t),(t=>t==y.prototype||n(g(t))),(()=>!0)))(t)&&0==(t=>i(f(t)))(t),S=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),b=t=>n(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),L=t=>new Map(t),M=(t,e)=>t?.get(e),O=(t,e,a)=>n(a)?(A(t,e),t):t?.set(e,a),T=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(M(t,e)):O(t,e,a()),M(t,e)},j=(t,e,a,n,r=0)=>s((a?T:M)(t,e[r],r>i(e)-2?a:L),(s=>{if(r>i(e)-2)return n?.(s)&&O(t,e[r]),s;const o=j(s,e,a,n,r+1);return b(s)&&O(t,e[r]),o})),x=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},D=t=>new Set(r(t)||n(t)?t:[t]),E=/^\d+$/,P=L(),m=L(),z=(t,e,a,o,y,g,p,f={},v=0,S=[])=>{let x,z,J,N=0,k=0,B=0;T(P,S,(()=>0)),T(m,S,(()=>[]));const F=L(),[W,$,q,G,H]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!w(t)||!w(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:c("Store type not supported by this Persister"))(p,t,v),[I,K,Q]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{E.test(e)&&i(t)<1e3&&u(t,e)}]})(),r=L();return[(a,n,s,o=[],i=()=>[])=>{t??=tt;const c=e(1);var l,u;return O(r,c,[a,n,s,o,i]),l=j(n,s??[""],D),u=c,l?.add(u),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==i(e)?u(a,t):null===e[s]?C(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(M(t,e),s+1)));return n(t,0),a})(e,a),(e=>C(e,(e=>M(r,e)[0](t,...a??[],...n))))),t=>s(M(r,t),(([,e,n])=>(j(e,n??[""],void 0,(e=>(A(e,t),b(e)?1:0))),O(r,t),a(t),n))),e=>s(M(r,e),(([e,,a=[],s,r])=>{const o=(...c)=>{const u=i(c);u==i(a)?e(t,...c,...r(c)):n(a[u])?l(s[u]?.(...c)??[],(t=>o(...c,t))):o(...c,a[u])};o()}))]})(),R=t=>{t!=N&&(N=t,K(F,void 0,N))},U=e=>{(W&&r(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},V=async t=>(2!=N&&(R(1),k++,await _((async()=>{try{const a=await e();r(a)?U(a):t?H(t):c("Content is not an array: "+a)}catch(e){g?.(e),t&&H(t)}R(0)}))),tt),X=()=>(z&&(z=void 0),tt),Y=async t=>(1!=N&&(R(2),B++,await _((async()=>{try{await a($,t)}catch(t){g?.(t)}R(0)}))),tt),Z=()=>(J&&(t.delListener(J),J=void 0),tt),_=async(...t)=>(u(M(m,S),...t),await(async()=>{if(!M(P,S)){for(O(P,S,1);!n(x=d(M(m,S)));)try{await x()}catch(t){g?.(t)}O(P,S,0)}})(),tt),tt={load:V,startAutoLoad:async t=>{X(),await V(t);try{z=await o((async(t,e)=>{e||t?2!=N&&(R(1),k++,U(e??t),R(0)):await V()}))}catch(t){g?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!n(z),save:Y,startAutoSave:async()=>(Z(),await Y(),J=t.addDidFinishTransactionListener((()=>{const t=q();G(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!n(J),getStatus:()=>N,addStatusListener:t=>I(t,F),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(M(m,S).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:k,saves:B}),...f};return h(tt)},J=JSON.stringify,N=()=>[{},"",0];t.createDurableObjectStoragePersister=(t,n,r="",i)=>{const c=(t,...e)=>r+t+o(J(e,((t,e)=>void 0===e?"":e)),1,-1);return z(t,(async()=>{const t=[{},"",0],i=[{},"",0];return(await n.list({prefix:r})).forEach((async([n,c,l],u)=>s((t=>{if(n=r,t.startsWith(n)){const n=o(t,r.length,1);return n==e||n==a?[n,...JSON.parse("["+o(t,r.length+1)+"]")]:void 0}var n})(u),(([r,...o])=>r==e?s(o[0],(e=>{const a=S(t[0],e,N);s(o[1],(t=>{const e=S(a[0],t,N);s(o[2],(t=>e[0][t]=[n,c,l]),(()=>x(e,c,l)))}),(()=>x(a,c,l)))}),(()=>x(t,c,l))):r==a?s(o[0],(t=>i[0][t]=[n,c,l]),(()=>x(i,c,l))):0)))),[t,i]}),(async(t,[[s,r,o],[i,l,u]]=t())=>{const d=L();O(d,c(e),[0,r,o]),v(s,(([t,a,n],s)=>{O(d,c(e,s),[0,a,n]),v(t,(([t,a,n],r)=>{O(d,c(e,s,r),[0,a,n]),v(t,((t,a)=>O(d,c(e,s,r,a),t)))}))})),O(d,c(a),[0,l,u]),v(i,((t,e)=>O(d,c(a,e),t))),await n.put((t=>{const e={};return C(t,((t,a)=>{{const n=t;e[a]=n}})),e})(d))}),(()=>{}),0,i,2,{getStorage:()=>n})}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterDurableObjectStorage={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),r=t=>Array.isArray(t),o=(t,e,a)=>t.slice(e,a),i=t=>t.length,c=t=>{throw Error(t)},l=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,g=t=>y.getPrototypeOf(t),p=y.entries,f=y.keys,h=y.freeze,v=(t,e)=>l(p(t),(([t,a])=>e(a,t))),
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),r=t=>Array.isArray(t),o=(t,e,a)=>t.slice(e,a),i=t=>t.length,c=t=>{throw Error(t)},l=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=Object,g=t=>y.getPrototypeOf(t),p=y.entries,f=y.keys,h=y.freeze,v=(t,e)=>l(p(t),(([t,a])=>e(a,t))),w=t=>(t=>!n(t)&&s(g(t),(t=>t==y.prototype||n(g(t))),(()=>!0)))(t)&&0==(t=>i(f(t)))(t),S=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),b=t=>n(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),L=t=>new Map(t),M=(t,e)=>t?.get(e),O=(t,e,a)=>n(a)?(A(t,e),t):t?.set(e,a),T=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(M(t,e)):O(t,e,a()),M(t,e)},j=(t,e,a,n,r=0)=>s((a?T:M)(t,e[r],r>i(e)-2?a:L),(s=>{if(r>i(e)-2)return n?.(s)&&O(t,e[r]),s;const o=j(s,e,a,n,r+1);return b(s)&&O(t,e[r]),o})),x=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},D=t=>new Set(r(t)||n(t)?t:[t]),E=/^\d+$/,P=L(),m=L(),z=(t,e,a,o,y,g,p,f={},v=0,S=[])=>{let x,z,J,N=0,k=0,B=0;T(P,S,(()=>0)),T(m,S,(()=>[]));const F=L(),[W,$,q,G,H]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!w(t)||!w(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:c("Store type not supported by this Persister"))(p,t,v),[I,K,Q]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{E.test(e)&&i(t)<1e3&&u(t,e)}]})(),r=L();return[(a,n,s,o=[],i=()=>[])=>{t??=tt;const c=e(1);var l,u;return O(r,c,[a,n,s,o,i]),l=j(n,s??[""],D),u=c,l?.add(u),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==i(e)?u(a,t):null===e[s]?C(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(M(t,e),s+1)));return n(t,0),a})(e,a),(e=>C(e,(e=>M(r,e)[0](t,...a??[],...n))))),t=>s(M(r,t),(([,e,n])=>(j(e,n??[""],void 0,(e=>(A(e,t),b(e)?1:0))),O(r,t),a(t),n))),e=>s(M(r,e),(([e,,a=[],s,r])=>{const o=(...c)=>{const u=i(c);u==i(a)?e(t,...c,...r(c)):n(a[u])?l(s[u]?.(...c)??[],(t=>o(...c,t))):o(...c,a[u])};o()}))]})(),R=t=>{t!=N&&(N=t,K(F,void 0,N))},U=e=>{(W&&r(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},V=async t=>(2!=N&&(R(1),k++,await _((async()=>{try{const a=await e();r(a)?U(a):t?H(t):c("Content is not an array: "+a)}catch(e){g?.(e),t&&H(t)}R(0)}))),tt),X=()=>(z&&(z=void 0),tt),Y=async t=>(1!=N&&(R(2),B++,await _((async()=>{try{await a($,t)}catch(t){g?.(t)}R(0)}))),tt),Z=()=>(J&&(t.delListener(J),J=void 0),tt),_=async(...t)=>(u(M(m,S),...t),await(async()=>{if(!M(P,S)){for(O(P,S,1);!n(x=d(M(m,S)));)try{await x()}catch(t){g?.(t)}O(P,S,0)}})(),tt),tt={load:V,startAutoLoad:async t=>{X(),await V(t);try{z=await o((async(t,e)=>{e||t?2!=N&&(R(1),k++,U(e??t),R(0)):await V()}))}catch(t){g?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!n(z),save:Y,startAutoSave:async()=>(Z(),await Y(),J=t.addDidFinishTransactionListener((()=>{const t=q();G(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!n(J),getStatus:()=>N,addStatusListener:t=>I(t,F),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(M(m,S).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:k,saves:B}),...f};return h(tt)},J=JSON.stringify,N=()=>[{},"",0];t.createDurableObjectStoragePersister=(t,n,r="",i)=>{const c=(t,...e)=>r+t+o(J(e,((t,e)=>void 0===e?"":e)),1,-1);return z(t,(async()=>{const t=[{},"",0],i=[{},"",0];return(await n.list({prefix:r})).forEach((async([n,c,l],u)=>s((t=>{if(n=r,t.startsWith(n)){const n=o(t,r.length,1);return n==e||n==a?[n,...JSON.parse("["+o(t,r.length+1)+"]")]:void 0}var n})(u),(([r,...o])=>r==e?s(o[0],(e=>{const a=S(t[0],e,N);s(o[1],(t=>{const e=S(a[0],t,N);s(o[2],(t=>e[0][t]=[n,c,l]),(()=>x(e,c,l)))}),(()=>x(a,c,l)))}),(()=>x(t,c,l))):r==a?s(o[0],(t=>i[0][t]=[n,c,l]),(()=>x(i,c,l))):0)))),[t,i]}),(async(t,[[s,r,o],[i,l,u]]=t())=>{const d=L();O(d,c(e),[0,r,o]),v(s,(([t,a,n],s)=>{O(d,c(e,s),[0,a,n]),v(t,(([t,a,n],r)=>{O(d,c(e,s,r),[0,a,n]),v(t,((t,a)=>O(d,c(e,s,r,a),t)))}))})),O(d,c(a),[0,l,u]),v(i,((t,e)=>O(d,c(a,e),t))),await n.put((t=>{const e={};return C(t,((t,a)=>{{const n=t;e[a]=n}})),e})(d))}),(()=>{}),0,i,2,{getStorage:()=>n})}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterDurableObjectStorage={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s="",a=(e,t="",s)=>e.split(t,s),n=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),i=Math,c=i.floor,l=e=>null==e,g=(e,t,s)=>l(e)?s?.():t(e),u=e=>Array.isArray(e),d=(e,t,s)=>e.slice(t,s),h=e=>e.length,y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),w=(e,...t)=>e.push(...t),S=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),C=p.entries,M=p.keys,A=p.freeze,T=(e,t)=>f(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!l(e)&&g(v(e),(e=>e==p.prototype||l(v(e))),(()=>!0)))(e)&&0==(e=>h(M(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),x=JSON.stringify,L=JSON.parse,D=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(d(e,0,s),d(e,s+1))},P=(e,...t)=>O(e??s,x(t,((e,t)=>void 0===t?"":t))),O=(e,t)=>e+"\n"+t,I=e=>l(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),j=e=>new Map(e),R=(e,t)=>e?.get(t),z=(e,t,s)=>l(s)?(W(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):z(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>g((s?E:R)(e,t[n],n>h(t)-2?s:j),(r=>{if(n>h(t)-2)return a?.(r)&&z(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&z(e,t[n]),o})),F=(e,t)=>t?[e,t]:[e],U=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>F(((e=[])=>p.fromEntries(e))(),e),q=e=>new Set(u(e)||l(e)?e:[e]),J=/^\d+$/,$=j(),B=j(),G=(e,t,a,n,r,o,i,c={},d=0,b=[])=>{let p,v,C,M=0,T=0,m=0;E($,b,(()=>0)),E(B,b,(()=>[]));const x=j(),[L,D,P,O,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:y("Store type not supported by this Persister"))(i,e,d),[U,V,G]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?S(e):null)??s+t++,t=>{J.test(t)&&h(e)<1e3&&w(e,t)}]})(),n=j();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=t(1);var g,u;return z(n,l,[a,r,o,i,c]),g=N(r,o??[s],q),u=l,g?.add(u),l},(t,a,...r)=>f(((e,t=[s])=>{const a=[],n=(e,s)=>s==h(t)?w(a,e):null===t[s]?H(e,(e=>n(e,s+1))):f([t[s],null],(t=>n(R(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>g(R(n,e),(([,t,r])=>(N(t,r??[s],void 0,(t=>(W(t,e),I(t)?1:0))),z(n,e),a(e),r))),t=>g(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):l(s[i])?f(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=M&&(M=e,V(x,void 0,M))},Q=t=>{(L&&u(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=M&&(K(1),T++,await ee((async()=>{try{const s=await t();u(s)?Q(s):e?F(e):y("Content is not an array: "+s)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(v&&(r(v),v=void 0),te),Z=async e=>(1!=M&&(K(2),m++,await ee((async()=>{try{await a(D,e)}catch(e){}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(w(R(B,b),...e),await(async()=>{if(!R($,b)){for(z($,b,1);!l(p=S(R(B,b)));)try{await p()}catch(e){}z($,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{v=await n((async(e,t)=>{t||e?2!=M&&(K(1),T++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!l(v),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=P();O(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!l(C),getStatus:()=>M,addStatusListener:e=>U(e,x),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R(B,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:T,saves:m}),...c};return A(te)},K=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=r.crypto?e=>r.crypto.getRandomValues(e):e=>b(e,(()=>c(256*i.random()))),X=(e=16)=>{return t=(e,t)=>e+K[63&t],Q(new Uint8Array(e)).reduce(t,"");var t},Y=/\/([^?]*)/,Z="S",_=e=>{return(t=new URL(e.url).pathname,a=Y,t?.match(a))?.[1]??s;var t,a},ee=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,te=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),se=()=>te(426,null,"Upgrade required");class ae extends t.DurableObject{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile((async()=>await g(await this.createPersister(),(async e=>{const t=((e,t,a,r,i,c,u,d,h={})=>{let y,f=0,b=0,w=0;const S=j(),p=()=>X(11),v=(e,s,a,n)=>{b++,t(e,s,a,n)},C=async(e,t,s,a)=>new n(((n,r)=>{const c=a+"."+X(4),l=o((()=>{W(S,c),r(`No response from ${e??"anyone"} to ${c}, `+t)}),i);z(S,c,[e,(e,t)=>{clearTimeout(l),W(S,c),n([e,t,a])}]),v(e,c,t,s)})),M=(e,[t,s])=>{T(t,(([t,s],a)=>{const n=m(e[0],a,V);T(t,(([e,t],s)=>{const a=m(n[0],s,V);T(e,(([e,t],s)=>a[0][s]=F(e,t))),a[1]=U(a[1],t)})),n[1]=U(n[1],s)})),e[1]=U(e[1],s)},A=async(t=null,a,n=p())=>{try{l(a)&&([a,t,n]=await C(null,1,s,n));const[r,o]=a,[i,c]=e.getMergeableContentHashes();let g=V();if(i!=r){const[s,a]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(g=s,!k(a)){const[s,r]=(await C(t,5,e.getMergeableRowHashes(a),n))[0];if(M(g,s),!k(r)){const s=(await C(t,6,e.getMergeableCellHashes(r),n))[0];M(g,s)}}}return[g,c==o?V():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},x=G(e,(async()=>{const e=await A();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?v(null,p(),3,s):v(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(f=1,await(await x.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:b,receives:w}),...h},1);return a(((t,s,a,n)=>{const r=f||x.isAutoLoading();w++,0==a?g(R(S,s),(([e,s])=>l(e)||e==t?s(n,t):0)):2==a&&r?A(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):g(1==a&&(f||x.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{v(t,s,0,e)}))})),x})(e.getStore(),((e,t,s,a)=>this.#t(Z,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>D(e,((e,s)=>{return t(e,...(a=s,L(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),o(t.startSync)}))))}fetch(e){const t=_(e);return g(ee(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(t,1),this.ctx.acceptWebSocket(n,[e,t]),this.onClientId(t,e,1),n.send(P(Z,null,1,s)),te(101,a)}),se)}webSocketMessage(e,t){g(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,t,a){D(t.toString(),((t,n)=>{const r=O(e,n);this.onMessage(e,t,n),t==s?(e!=Z&&this.#e(r),f(this.#s(),(e=>{e!=a&&e.send(r)}))):t==Z?this.#e(r):t!=e&&this.#s(t)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s="",a=(e,t="",s)=>e.split(t,s),n=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),i=Math,c=i.floor,l=e=>null==e,g=(e,t,s)=>l(e)?s?.():t(e),u=e=>Array.isArray(e),d=(e,t,s)=>e.slice(t,s),h=e=>e.length,y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),w=(e,...t)=>e.push(...t),S=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),C=p.entries,M=p.keys,A=p.freeze,T=(e,t)=>f(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!l(e)&&g(v(e),(e=>e==p.prototype||l(v(e))),(()=>!0)))(e)&&0==(e=>h(M(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),x=JSON.stringify,L=JSON.parse,D=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(d(e,0,s),d(e,s+1))},P=(e,...t)=>O(e??s,x(t,((e,t)=>void 0===t?"":t))),O=(e,t)=>e+"\n"+t,I=e=>l(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),j=e=>new Map(e),R=(e,t)=>e?.get(t),z=(e,t,s)=>l(s)?(W(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):z(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>g((s?E:R)(e,t[n],n>h(t)-2?s:j),(r=>{if(n>h(t)-2)return a?.(r)&&z(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&z(e,t[n]),o})),F=(e,t)=>t?[e,t]:[e],U=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>F(((e=[])=>p.fromEntries(e))(),e),q=e=>new Set(u(e)||l(e)?e:[e]),J=/^\d+$/,$=j(),B=j(),G=(e,t,a,n,r,o,i,c={},d=0,b=[])=>{let p,v,C,M=0,T=0,m=0;E($,b,(()=>0)),E(B,b,(()=>[]));const x=j(),[L,D,P,O,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:y("Store type not supported by this Persister"))(i,e,d),[U,V,G]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?S(e):null)??s+t++,t=>{J.test(t)&&h(e)<1e3&&w(e,t)}]})(),n=j();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=t(1);var g,u;return z(n,l,[a,r,o,i,c]),g=N(r,o??[s],q),u=l,g?.add(u),l},(t,a,...r)=>f(((e,t=[s])=>{const a=[],n=(e,s)=>s==h(t)?w(a,e):null===t[s]?H(e,(e=>n(e,s+1))):f([t[s],null],(t=>n(R(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>g(R(n,e),(([,t,r])=>(N(t,r??[s],void 0,(t=>(W(t,e),I(t)?1:0))),z(n,e),a(e),r))),t=>g(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):l(s[i])?f(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=M&&(M=e,V(x,void 0,M))},Q=t=>{(L&&u(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=M&&(K(1),T++,await ee((async()=>{try{const s=await t();u(s)?Q(s):e?F(e):y("Content is not an array: "+s)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(v&&(r(v),v=void 0),te),Z=async e=>(1!=M&&(K(2),m++,await ee((async()=>{try{await a(D,e)}catch(e){}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(w(R(B,b),...e),await(async()=>{if(!R($,b)){for(z($,b,1);!l(p=S(R(B,b)));)try{await p()}catch(e){}z($,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{v=await n((async(e,t)=>{t||e?2!=M&&(K(1),T++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!l(v),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=P();O(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!l(C),getStatus:()=>M,addStatusListener:e=>U(e,x),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R(B,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:T,saves:m}),...c};return A(te)},K=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=r.crypto?e=>r.crypto.getRandomValues(e):e=>b(e,(()=>c(256*i.random()))),X=(e=16)=>{return t=(e,t)=>e+K[63&t],Q(new Uint8Array(e)).reduce(t,"");var t},Y=/\/([^?]*)/,Z="S",_=e=>{return(t=new URL(e.url).pathname,a=Y,t?.match(a))?.[1]??s;var t,a},ee=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,te=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),se=()=>te(426,null,"Upgrade required");class ae extends t.DurableObject{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile((async()=>await g(await this.createPersister(),(async e=>{const t=((e,t,a,r,i,c,u,d,h={})=>{let y,f=0,b=0,w=0;const S=j(),p=()=>X(11),v=(e,s,a,n)=>{b++,t(e,s,a,n)},C=async(e,t,s,a)=>new n(((n,r)=>{const c=a+"."+X(4),l=o((()=>{W(S,c),r(`No response from ${e??"anyone"} to ${c}, `+t)}),i);z(S,c,[e,(e,t)=>{clearTimeout(l),W(S,c),n([e,t,a])}]),v(e,c,t,s)})),M=(e,[t,s])=>{T(t,(([t,s],a)=>{const n=m(e[0],a,V);T(t,(([e,t],s)=>{const a=m(n[0],s,V);T(e,(([e,t],s)=>a[0][s]=F(e,t))),a[1]=U(a[1],t)})),n[1]=U(n[1],s)})),e[1]=U(e[1],s)},A=async(t=null,a,n=p())=>{try{l(a)&&([a,t,n]=await C(null,1,s,n));const[r,o]=a,[i,c]=e.getMergeableContentHashes();let g=V();if(i!=r){const[s,a]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(g=s,!k(a)){const[s,r]=(await C(t,5,e.getMergeableRowHashes(a),n))[0];if(M(g,s),!k(r)){const s=(await C(t,6,e.getMergeableCellHashes(r),n))[0];M(g,s)}}}return[g,c==o?V():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},x=G(e,(async()=>{const e=await A();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?v(null,p(),3,s):v(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(f=1,await(await x.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:b,receives:w}),...h},1);return a(((t,s,a,n)=>{const r=f||x.isAutoLoading();w++,0==a?g(R(S,s),(([e,s])=>l(e)||e==t?s(n,t):0)):2==a&&r?A(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):g(1==a&&(f||x.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{v(t,s,0,e)}))})),x})(e.getStore(),((e,t,s,a)=>this.#t(Z,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>D(e,((e,s)=>{return t(e,...(a=s,L(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),o(t.startSync)}))))}fetch(e){const t=_(e);return g(ee(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(t,1),this.ctx.acceptWebSocket(n,[e,t]),this.onClientId(t,e,1),n.send(P(Z,null,1,s)),te(101,a)}),se)}webSocketMessage(e,t){g(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,t,a){D(t.toString(),((t,n)=>{const r=O(e,n);this.onMessage(e,t,n),t==s?(e!=Z&&this.#e?.(r),f(this.#s(),(e=>{e!=a&&e.send(r)}))):t==Z?this.#e?.(r):t!=e&&this.#s(t)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}e.WsServerDurableObject=ae,e.getWsServerDurableObjectFetch=e=>(t,s)=>ee(t)?s[e].get(s[e].idFromName(_(t))).fetch(t):se()},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cloudflare:workers")):"function"==typeof define&&define.amd?define(["exports","cloudflare:workers"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServerDurableObject={},e["cloudflare:workers"]);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s="",a=(e,t="",s)=>e.split(t,s),n=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),i=Math,c=i.floor,l=e=>null==e,g=(e,t,s)=>l(e)?s?.():t(e),u=e=>Array.isArray(e),d=(e,t,s)=>e.slice(t,s),h=e=>e.length,y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),w=(e,...t)=>e.push(...t),S=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),C=p.entries,M=p.keys,A=p.freeze,T=(e,t)=>f(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!l(e)&&g(v(e),(e=>e==p.prototype||l(v(e))),(()=>!0)))(e)&&0==(e=>h(M(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),x=JSON.stringify,L=JSON.parse,D=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(d(e,0,s),d(e,s+1))},P=(e,...t)=>O(e??s,x(t,((e,t)=>void 0===t?"":t))),O=(e,t)=>e+"\n"+t,I=e=>l(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),j=e=>new Map(e),R=(e,t)=>e?.get(t),z=(e,t,s)=>l(s)?(W(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):z(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>g((s?E:R)(e,t[n],n>h(t)-2?s:j),(r=>{if(n>h(t)-2)return a?.(r)&&z(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&z(e,t[n]),o})),F=(e,t)=>t?[e,t]:[e],U=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>F(((e=[])=>p.fromEntries(e))(),e),q=e=>new Set(u(e)||l(e)?e:[e]),J=/^\d+$/,$=j(),B=j(),G=(e,t,a,n,r,o,i,c={},d=0,b=[])=>{let p,v,C,M=0,T=0,m=0;E($,b,(()=>0)),E(B,b,(()=>[]));const x=j(),[L,D,P,O,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:y("Store type not supported by this Persister"))(i,e,d),[U,V,G]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?S(e):null)??s+t++,t=>{J.test(t)&&h(e)<1e3&&w(e,t)}]})(),n=j();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=t(1);var g,u;return z(n,l,[a,r,o,i,c]),g=N(r,o??[s],q),u=l,g?.add(u),l},(t,a,...r)=>f(((e,t=[s])=>{const a=[],n=(e,s)=>s==h(t)?w(a,e):null===t[s]?H(e,(e=>n(e,s+1))):f([t[s],null],(t=>n(R(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>g(R(n,e),(([,t,r])=>(N(t,r??[s],void 0,(t=>(W(t,e),I(t)?1:0))),z(n,e),a(e),r))),t=>g(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):l(s[i])?f(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=M&&(M=e,V(x,void 0,M))},Q=t=>{(L&&u(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=M&&(K(1),T++,await ee((async()=>{try{const s=await t();u(s)?Q(s):e?F(e):y("Content is not an array: "+s)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(v&&(r(v),v=void 0),te),Z=async e=>(1!=M&&(K(2),m++,await ee((async()=>{try{await a(D,e)}catch(e){}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(w(R(B,b),...e),await(async()=>{if(!R($,b)){for(z($,b,1);!l(p=S(R(B,b)));)try{await p()}catch(e){}z($,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{v=await n((async(e,t)=>{t||e?2!=M&&(K(1),T++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!l(v),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=P();O(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!l(C),getStatus:()=>M,addStatusListener:e=>U(e,x),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R(B,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:T,saves:m}),...c};return A(te)},K=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=r.crypto?e=>r.crypto.getRandomValues(e):e=>b(e,(()=>c(256*i.random()))),X=(e=16)=>{return t=(e,t)=>e+K[63&t],Q(new Uint8Array(e)).reduce(t,"");var t},Y=/\/([^?]*)/,Z="S",_=e=>{return(t=new URL(e.url).pathname,a=Y,t?.match(a))?.[1]??s;var t,a},ee=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,te=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),se=()=>te(426,null,"Upgrade required");class ae extends t.DurableObject{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile((async()=>await g(await this.createPersister(),(async e=>{const t=((e,t,a,r,i,c,u,d,h={})=>{let y,f=0,b=0,w=0;const S=j(),p=()=>X(11),v=(e,s,a,n)=>{b++,t(e,s,a,n)},C=async(e,t,s,a)=>new n(((n,r)=>{const c=a+"."+X(4),l=o((()=>{W(S,c),r(`No response from ${e??"anyone"} to ${c}, `+t)}),i);z(S,c,[e,(e,t)=>{clearTimeout(l),W(S,c),n([e,t,a])}]),v(e,c,t,s)})),M=(e,[t,s])=>{T(t,(([t,s],a)=>{const n=m(e[0],a,V);T(t,(([e,t],s)=>{const a=m(n[0],s,V);T(e,(([e,t],s)=>a[0][s]=F(e,t))),a[1]=U(a[1],t)})),n[1]=U(n[1],s)})),e[1]=U(e[1],s)},A=async(t=null,a,n=p())=>{try{l(a)&&([a,t,n]=await C(null,1,s,n));const[r,o]=a,[i,c]=e.getMergeableContentHashes();let g=V();if(i!=r){const[s,a]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(g=s,!k(a)){const[s,r]=(await C(t,5,e.getMergeableRowHashes(a),n))[0];if(M(g,s),!k(r)){const s=(await C(t,6,e.getMergeableCellHashes(r),n))[0];M(g,s)}}}return[g,c==o?V():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},x=G(e,(async()=>{const e=await A();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?v(null,p(),3,s):v(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(f=1,await(await x.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:b,receives:w}),...h},1);return a(((t,s,a,n)=>{const r=f||x.isAutoLoading();w++,0==a?g(R(S,s),(([e,s])=>l(e)||e==t?s(n,t):0)):2==a&&r?A(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):g(1==a&&(f||x.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{v(t,s,0,e)}))})),x})(e.getStore(),((e,t,s,a)=>this.#t(Z,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>D(e,((e,s)=>{return t(e,...(a=s,L(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),o(t.startSync)}))))}fetch(e){const t=_(e);return g(ee(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(t,1),this.ctx.acceptWebSocket(n,[e,t]),this.onClientId(t,e,1),n.send(P(Z,null,1,s)),te(101,a)}),se)}webSocketMessage(e,t){g(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,t,a){D(t.toString(),((t,n)=>{const r=O(e,n);this.onMessage(e,t,n),t==s?(e!=Z&&this.#e(r),f(this.#s(),(e=>{e!=a&&e.send(r)}))):t==Z?this.#e(r):t!=e&&this.#s(t)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s="",a=(e,t="",s)=>e.split(t,s),n=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),i=Math,c=i.floor,l=e=>null==e,g=(e,t,s)=>l(e)?s?.():t(e),u=e=>Array.isArray(e),d=(e,t,s)=>e.slice(t,s),h=e=>e.length,y=e=>{throw Error(e)},f=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),w=(e,...t)=>e.push(...t),S=e=>e.shift(),p=Object,v=e=>p.getPrototypeOf(e),C=p.entries,M=p.keys,A=p.freeze,T=(e,t)=>f(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!l(e)&&g(v(e),(e=>e==p.prototype||l(v(e))),(()=>!0)))(e)&&0==(e=>h(M(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),x=JSON.stringify,L=JSON.parse,D=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(d(e,0,s),d(e,s+1))},P=(e,...t)=>O(e??s,x(t,((e,t)=>void 0===t?"":t))),O=(e,t)=>e+"\n"+t,I=e=>l(e)||0==(e=>e?.size??0)(e),H=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),j=e=>new Map(e),R=(e,t)=>e?.get(t),z=(e,t,s)=>l(s)?(W(e,t),e):e?.set(t,s),E=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(R(e,t)):z(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>g((s?E:R)(e,t[n],n>h(t)-2?s:j),(r=>{if(n>h(t)-2)return a?.(r)&&z(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&z(e,t[n]),o})),F=(e,t)=>t?[e,t]:[e],U=(e,t)=>((e??"")>(t??"")?e:t)??"",V=(e="")=>F(((e=[])=>p.fromEntries(e))(),e),q=e=>new Set(u(e)||l(e)?e:[e]),J=/^\d+$/,$=j(),B=j(),G=(e,t,a,n,r,o,i,c={},d=0,b=[])=>{let p,v,C,M=0,T=0,m=0;E($,b,(()=>0)),E(B,b,(()=>[]));const x=j(),[L,D,P,O,F]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!k(e)||!k(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!k(e)||!k(t),t.setContent]:y("Store type not supported by this Persister"))(i,e,d),[U,V,G]=(()=>{let e;const[t,a]=(()=>{const e=[];let t=0;return[a=>(a?S(e):null)??s+t++,t=>{J.test(t)&&h(e)<1e3&&w(e,t)}]})(),n=j();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=t(1);var g,u;return z(n,l,[a,r,o,i,c]),g=N(r,o??[s],q),u=l,g?.add(u),l},(t,a,...r)=>f(((e,t=[s])=>{const a=[],n=(e,s)=>s==h(t)?w(a,e):null===t[s]?H(e,(e=>n(e,s+1))):f([t[s],null],(t=>n(R(e,t),s+1)));return n(e,0),a})(t,a),(t=>H(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>g(R(n,e),(([,t,r])=>(N(t,r??[s],void 0,(t=>(W(t,e),I(t)?1:0))),z(n,e),a(e),r))),t=>g(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):l(s[i])?f(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=M&&(M=e,V(x,void 0,M))},Q=t=>{(L&&u(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=M&&(K(1),T++,await ee((async()=>{try{const s=await t();u(s)?Q(s):e?F(e):y("Content is not an array: "+s)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(v&&(r(v),v=void 0),te),Z=async e=>(1!=M&&(K(2),m++,await ee((async()=>{try{await a(D,e)}catch(e){}K(0)}))),te),_=()=>(C&&(e.delListener(C),C=void 0),te),ee=async(...e)=>(w(R(B,b),...e),await(async()=>{if(!R($,b)){for(z($,b,1);!l(p=S(R(B,b)));)try{await p()}catch(e){}z($,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{v=await n((async(e,t)=>{t||e?2!=M&&(K(1),T++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!l(v),save:Z,startAutoSave:async()=>(_(),await Z(),C=e.addDidFinishTransactionListener((()=>{const e=P();O(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!l(C),getStatus:()=>M,addStatusListener:e=>U(e,x),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R(B,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:T,saves:m}),...c};return A(te)},K=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=r.crypto?e=>r.crypto.getRandomValues(e):e=>b(e,(()=>c(256*i.random()))),X=(e=16)=>{return t=(e,t)=>e+K[63&t],Q(new Uint8Array(e)).reduce(t,"");var t},Y=/\/([^?]*)/,Z="S",_=e=>{return(t=new URL(e.url).pathname,a=Y,t?.match(a))?.[1]??s;var t,a},ee=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,te=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),se=()=>te(426,null,"Upgrade required");class ae extends t.DurableObject{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile((async()=>await g(await this.createPersister(),(async e=>{const t=((e,t,a,r,i,c,u,d,h={})=>{let y,f=0,b=0,w=0;const S=j(),p=()=>X(11),v=(e,s,a,n)=>{b++,t(e,s,a,n)},C=async(e,t,s,a)=>new n(((n,r)=>{const c=a+"."+X(4),l=o((()=>{W(S,c),r(`No response from ${e??"anyone"} to ${c}, `+t)}),i);z(S,c,[e,(e,t)=>{clearTimeout(l),W(S,c),n([e,t,a])}]),v(e,c,t,s)})),M=(e,[t,s])=>{T(t,(([t,s],a)=>{const n=m(e[0],a,V);T(t,(([e,t],s)=>{const a=m(n[0],s,V);T(e,(([e,t],s)=>a[0][s]=F(e,t))),a[1]=U(a[1],t)})),n[1]=U(n[1],s)})),e[1]=U(e[1],s)},A=async(t=null,a,n=p())=>{try{l(a)&&([a,t,n]=await C(null,1,s,n));const[r,o]=a,[i,c]=e.getMergeableContentHashes();let g=V();if(i!=r){const[s,a]=(await C(t,4,e.getMergeableTableHashes(),n))[0];if(g=s,!k(a)){const[s,r]=(await C(t,5,e.getMergeableRowHashes(a),n))[0];if(M(g,s),!k(r)){const s=(await C(t,6,e.getMergeableCellHashes(r),n))[0];M(g,s)}}}return[g,c==o?V():(await C(t,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},x=G(e,(async()=>{const e=await A();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?v(null,p(),3,s):v(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(f=1,await(await x.startAutoLoad(e)).startAutoSave()),stopSync:()=>(f=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:b,receives:w}),...h},1);return a(((t,s,a,n)=>{const r=f||x.isAutoLoading();w++,0==a?g(R(S,s),(([e,s])=>l(e)||e==t?s(n,t):0)):2==a&&r?A(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):g(1==a&&(f||x.isAutoSaving())?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(n):5==a?e.getMergeableRowDiff(n):6==a?e.getMergeableCellDiff(n):7==a?e.getMergeableValueDiff(n):void 0,(e=>{v(t,s,0,e)}))})),x})(e.getStore(),((e,t,s,a)=>this.#t(Z,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>D(e,((e,s)=>{return t(e,...(a=s,L(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),o(t.startSync)}))))}fetch(e){const t=_(e);return g(ee(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(t,1),this.ctx.acceptWebSocket(n,[e,t]),this.onClientId(t,e,1),n.send(P(Z,null,1,s)),te(101,a)}),se)}webSocketMessage(e,t){g(this.ctx.getTags(e)[0],(s=>this.#t(s,t.toString(),e)))}webSocketClose(e){const[t,s]=this.ctx.getTags(e);this.onClientId(s,t,-1),1==h(this.#s())&&this.onPathId(s,-1)}#t(e,t,a){D(t.toString(),((t,n)=>{const r=O(e,n);this.onMessage(e,t,n),t==s?(e!=Z&&this.#e?.(r),f(this.#s(),(e=>{e!=a&&e.send(r)}))):t==Z?this.#e?.(r):t!=e&&this.#s(t)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}e.WsServerDurableObject=ae,e.getWsServerDurableObjectFetch=e=>(t,s)=>ee(t)?s[e].get(s[e].idFromName(_(t))).fetch(t):se()},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cloudflare:workers")):"function"==typeof define&&define.amd?define(["exports","cloudflare:workers"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServerDurableObject={},e["cloudflare:workers"]);
|
package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz
CHANGED
|
Binary file
|
|
@@ -66,10 +66,7 @@
|
|
|
66
66
|
const deconstruct = (prefix, message, stringified) => {
|
|
67
67
|
const prefixSize = size(prefix);
|
|
68
68
|
return strStartsWith(message, prefix)
|
|
69
|
-
? [
|
|
70
|
-
message[prefixSize],
|
|
71
|
-
(stringified ? jsonParse : String)(slice(message, prefixSize + 1)),
|
|
72
|
-
]
|
|
69
|
+
? [message[prefixSize], jsonParse(slice(message, prefixSize + 1))]
|
|
73
70
|
: void 0;
|
|
74
71
|
};
|
|
75
72
|
|
|
@@ -478,7 +475,7 @@
|
|
|
478
475
|
const addPersisterListener = (listener) => {
|
|
479
476
|
const messageListener = (event) =>
|
|
480
477
|
ifNotUndefined(
|
|
481
|
-
deconstruct(messagePrefix, event.data
|
|
478
|
+
deconstruct(messagePrefix, event.data),
|
|
482
479
|
([type, payload]) => {
|
|
483
480
|
if (type == SET_CHANGES) {
|
|
484
481
|
listener(void 0, payload);
|
|
@@ -66,10 +66,7 @@
|
|
|
66
66
|
const deconstruct = (prefix, message, stringified) => {
|
|
67
67
|
const prefixSize = size(prefix);
|
|
68
68
|
return strStartsWith(message, prefix)
|
|
69
|
-
? [
|
|
70
|
-
message[prefixSize],
|
|
71
|
-
(stringified ? jsonParse : String)(slice(message, prefixSize + 1)),
|
|
72
|
-
]
|
|
69
|
+
? [message[prefixSize], jsonParse(slice(message, prefixSize + 1))]
|
|
73
70
|
: void 0;
|
|
74
71
|
};
|
|
75
72
|
|
|
@@ -478,7 +475,7 @@
|
|
|
478
475
|
const addPersisterListener = (listener) => {
|
|
479
476
|
const messageListener = (event) =>
|
|
480
477
|
ifNotUndefined(
|
|
481
|
-
deconstruct(messagePrefix, event.data
|
|
478
|
+
deconstruct(messagePrefix, event.data),
|
|
482
479
|
([type, payload]) => {
|
|
483
480
|
if (type == SET_CHANGES) {
|
|
484
481
|
listener(void 0, payload);
|
|
@@ -769,7 +769,7 @@
|
|
|
769
769
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
770
770
|
if (toClientId == EMPTY_STRING) {
|
|
771
771
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
772
|
-
this.#serverClientSend(forwardedPayload);
|
|
772
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
773
773
|
}
|
|
774
774
|
arrayForEach(this.#getClients(), (otherClient) => {
|
|
775
775
|
if (otherClient != fromClient) {
|
|
@@ -777,7 +777,7 @@
|
|
|
777
777
|
}
|
|
778
778
|
});
|
|
779
779
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
780
|
-
this.#serverClientSend(forwardedPayload);
|
|
780
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
781
781
|
} else if (toClientId != fromClientId) {
|
|
782
782
|
this.#getClients(toClientId)[0]?.send(forwardedPayload);
|
|
783
783
|
}
|
|
@@ -793,7 +793,7 @@
|
|
|
793
793
|
getPathId() {
|
|
794
794
|
return this.ctx.getTags(this.#getClients()[0])?.[1];
|
|
795
795
|
}
|
|
796
|
-
getClientIds(
|
|
796
|
+
getClientIds() {
|
|
797
797
|
return arrayMap(
|
|
798
798
|
this.#getClients(),
|
|
799
799
|
(client) => this.ctx.getTags(client)[0],
|
|
@@ -769,7 +769,7 @@
|
|
|
769
769
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
770
770
|
if (toClientId == EMPTY_STRING) {
|
|
771
771
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
772
|
-
this.#serverClientSend(forwardedPayload);
|
|
772
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
773
773
|
}
|
|
774
774
|
arrayForEach(this.#getClients(), (otherClient) => {
|
|
775
775
|
if (otherClient != fromClient) {
|
|
@@ -777,7 +777,7 @@
|
|
|
777
777
|
}
|
|
778
778
|
});
|
|
779
779
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
780
|
-
this.#serverClientSend(forwardedPayload);
|
|
780
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
781
781
|
} else if (toClientId != fromClientId) {
|
|
782
782
|
this.#getClients(toClientId)[0]?.send(forwardedPayload);
|
|
783
783
|
}
|
|
@@ -793,7 +793,7 @@
|
|
|
793
793
|
getPathId() {
|
|
794
794
|
return this.ctx.getTags(this.#getClients()[0])?.[1];
|
|
795
795
|
}
|
|
796
|
-
getClientIds(
|
|
796
|
+
getClientIds() {
|
|
797
797
|
return arrayMap(
|
|
798
798
|
this.#getClients(),
|
|
799
799
|
(client) => this.ctx.getTags(client)[0],
|