tinybase 5.4.0-beta.4 → 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/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/synchronizers/synchronizer-ws-server-durable-object/index.cjs +9 -5
- package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +9 -5
- 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/synchronizers/synchronizer-ws-server-durable-object/index.cjs +2 -2
- package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +2 -2
- 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/synchronizers/synchronizer-ws-server-durable-object/index.js +9 -5
- package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +9 -5
- 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/package.json +1 -1
- package/readme.md +2 -2
- package/releases.md +17 -5
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +2 -2
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +2 -2
- 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/synchronizers/synchronizer-ws-server-durable-object/index.js +9 -5
- package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +9 -5
- 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/synchronizers/synchronizer-ws-server-durable-object/index.js +2 -2
- package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const
|
|
1
|
+
"use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
|
|
Binary file
|
package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const
|
|
1
|
+
"use strict";var e=require("cloudflare:workers");const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),O=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),x=JSON.stringify,A=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>j(null!=e?e:t,x(n,((e,t)=>void 0===t?"":t))),j=(e,t)=>e+"\n"+t,L=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),I=(e,t)=>null==e?void 0:e.forEach(t),D=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),H=(e,t,n)=>i(n)?(D(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(E(e,t)):H(e,t,n()),E(e,t)},N=(e,t,n,l,r=0)=>u((n?R:E)(e,t[r],r>h(t)-2?n:W),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&H(e,t[r]),o;const s=N(o,t,n,l,r+1);return L(o)&&H(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(c(e)||i(e)?e:[e]),q=/^\d+$/;var J=Object.defineProperty,$=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=W(),Y=W(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,O=0,x=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const A=W(),[k,T,j,z,F]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[U,J,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{q.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=W();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return H(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],V))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?I(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(E(e,n),t+1)));return r(e,0),l})(n,l),(t=>I(t,(t=>E(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(E(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(D(t,e),L(t)?1:0))),H(r,e),l(e),o))),t=>u(E(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,J(A,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),O++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?F(e):v("Content is not an array: "+t)}catch(t){e&&F(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),x++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(E(Y,b),...e),yield Q(void 0,null,(function*(){if(!E(X,b)){for(H(X,b,1);!i(S=f(E(Y,b)));)try{yield S()}catch(e){}H(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if($)for(var n of $(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),O++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=j();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>U(e,A),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(E(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:O,saves:x})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e.DurableObject{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=W(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{D(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);H(b,i,[e,(e,t)=>{clearTimeout(u),D(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=O(e[0],l,U);M(t,(([e,t],n)=>{const l=O(r[0],n,U);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=F(l[1],t)})),r[1]=F(r[1],n)})),e[1]=F(e[1],n)},x=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=U();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?U():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),A=Z(e,(()=>de(void 0,null,(function*(){const e=yield x();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield A.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,A.stopAutoLoad().stopAutoSave()),destroy:()=>A.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||A.isAutoLoading();f++,0==l?u(E(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?x(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||A.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),A})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,A(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=j(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)},exports.WsServerDurableObject=Pe,exports.getWsServerDurableObjectFetch=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();
|
package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz
CHANGED
|
Binary file
|
|
@@ -1030,12 +1030,14 @@ _WsServerDurableObject_instances = new WeakSet();
|
|
|
1030
1030
|
// --
|
|
1031
1031
|
handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
1032
1032
|
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
1033
|
-
var _a;
|
|
1033
|
+
var _a, _b, _c;
|
|
1034
1034
|
const forwardedPayload = createRawPayload(fromClientId, remainder);
|
|
1035
1035
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
1036
1036
|
if (toClientId == EMPTY_STRING) {
|
|
1037
1037
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
1038
|
-
__privateGet(this, _serverClientSend)
|
|
1038
|
+
(_a = __privateGet(this, _serverClientSend)) == null
|
|
1039
|
+
? void 0
|
|
1040
|
+
: _a.call(this, forwardedPayload);
|
|
1039
1041
|
}
|
|
1040
1042
|
arrayForEach(
|
|
1041
1043
|
__privateMethod(
|
|
@@ -1050,15 +1052,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
|
1050
1052
|
},
|
|
1051
1053
|
);
|
|
1052
1054
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
1053
|
-
__privateGet(this, _serverClientSend)
|
|
1055
|
+
(_b = __privateGet(this, _serverClientSend)) == null
|
|
1056
|
+
? void 0
|
|
1057
|
+
: _b.call(this, forwardedPayload);
|
|
1054
1058
|
} else if (toClientId != fromClientId) {
|
|
1055
|
-
(
|
|
1059
|
+
(_c = __privateMethod(
|
|
1056
1060
|
this,
|
|
1057
1061
|
_WsServerDurableObject_instances,
|
|
1058
1062
|
getClients_fn,
|
|
1059
1063
|
).call(this, toClientId)[0]) == null
|
|
1060
1064
|
? void 0
|
|
1061
|
-
:
|
|
1065
|
+
: _c.send(forwardedPayload);
|
|
1062
1066
|
}
|
|
1063
1067
|
});
|
|
1064
1068
|
};
|
|
@@ -1030,12 +1030,14 @@ _WsServerDurableObject_instances = new WeakSet();
|
|
|
1030
1030
|
// --
|
|
1031
1031
|
handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
1032
1032
|
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
1033
|
-
var _a;
|
|
1033
|
+
var _a, _b, _c;
|
|
1034
1034
|
const forwardedPayload = createRawPayload(fromClientId, remainder);
|
|
1035
1035
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
1036
1036
|
if (toClientId == EMPTY_STRING) {
|
|
1037
1037
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
1038
|
-
__privateGet(this, _serverClientSend)
|
|
1038
|
+
(_a = __privateGet(this, _serverClientSend)) == null
|
|
1039
|
+
? void 0
|
|
1040
|
+
: _a.call(this, forwardedPayload);
|
|
1039
1041
|
}
|
|
1040
1042
|
arrayForEach(
|
|
1041
1043
|
__privateMethod(
|
|
@@ -1050,15 +1052,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
|
1050
1052
|
},
|
|
1051
1053
|
);
|
|
1052
1054
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
1053
|
-
__privateGet(this, _serverClientSend)
|
|
1055
|
+
(_b = __privateGet(this, _serverClientSend)) == null
|
|
1056
|
+
? void 0
|
|
1057
|
+
: _b.call(this, forwardedPayload);
|
|
1054
1058
|
} else if (toClientId != fromClientId) {
|
|
1055
|
-
(
|
|
1059
|
+
(_c = __privateMethod(
|
|
1056
1060
|
this,
|
|
1057
1061
|
_WsServerDurableObject_instances,
|
|
1058
1062
|
getClients_fn,
|
|
1059
1063
|
).call(this, toClientId)[0]) == null
|
|
1060
1064
|
? void 0
|
|
1061
|
-
:
|
|
1065
|
+
: _c.send(forwardedPayload);
|
|
1062
1066
|
}
|
|
1063
1067
|
});
|
|
1064
1068
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(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)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,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]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();
|
|
1
|
+
"use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(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)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,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]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(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)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,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]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();
|
|
1
|
+
"use strict";var e=require("cloudflare:workers");const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),u=(e,t,s)=>e.slice(t,s),h=e=>e.length,d=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),v=(e,...t)=>e.push(...t),S=e=>e.shift(),b=Object,p=e=>b.getPrototypeOf(e),C=b.entries,f=b.keys,M=b.freeze,A=(e,t)=>y(C(e),(([e,s])=>t(s,e))),k=e=>(e=>!c(e)&&l(p(e),(e=>e==b.prototype||c(p(e))),(()=>!0)))(e)&&0==(e=>h(f(e)))(e),m=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(u(e,0,s),u(e,s+1))},P=(e,...s)=>D(e??t,L(s,((e,t)=>void 0===t?"":t))),D=(e,t)=>e+"\n"+t,I=e=>c(e)||0==(e=>e?.size??0)(e),O=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),W=e=>new Map(e),R=(e,t)=>e?.get(t),j=(e,t,s)=>c(s)?(H(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)):j(e,t,s()),R(e,t)},N=(e,t,s,a,n=0)=>l((s?E:R)(e,t[n],n>h(t)-2?s:W),(r=>{if(n>h(t)-2)return a?.(r)&&j(e,t[n]),r;const o=N(r,t,s,a,n+1);return I(r)&&j(e,t[n]),o})),z=(e,t)=>t?[e,t]:[e],F=(e,t)=>((e??"")>(t??"")?e:t)??"",U=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),V=e=>new Set(g(e)||c(e)?e:[e]),q=/^\d+$/,J=W(),$=W(),B=(e,s,a,n,r,o,i,u={},w=0,b=[])=>{let p,C,f,A=0,m=0,L=0;E(J,b,(()=>0)),E($,b,(()=>[]));const T=W(),[x,P,D,z,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]:d("Store type not supported by this Persister"))(i,e,w),[U,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?S(e):null)??t+s++,t=>{q.test(t)&&h(e)<1e3&&v(e,t)}]})(),n=W();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,u;return j(n,l,[a,r,o,i,c]),g=N(r,o??[t],V),u=l,g?.add(u),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==h(s)?v(a,e):null===s[t]?O(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(R(e,s),t+1)));return n(e,0),a})(s,a),(t=>O(t,(t=>R(n,t)[0](e,...a??[],...r))))),e=>l(R(n,e),(([,s,r])=>(N(s,r??[t],void 0,(t=>(H(t,e),I(t)?1:0))),j(n,e),a(e),r))),t=>l(R(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=h(o);i==h(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),m++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?F(e):d("Content is not an array: "+t)}catch(t){e&&F(e)}K(0)}))),te),Y=()=>(C&&(r(C),C=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(v(R($,b),...e),await(async()=>{if(!R(J,b)){for(j(J,b,1);!c(p=S(R($,b)));)try{await p()}catch(e){}j(J,b,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{C=await n((async(e,t)=>{t||e?2!=A&&(K(1),m++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(C),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=D();z(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>U(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(R($,b).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...u};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e.DurableObject{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,u,h,d={})=>{let y,w=0,v=0,S=0;const b=W(),p=()=>Q(11),C=(e,t,a,n)=>{v++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{H(b,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);j(b,c,[e,(e,t)=>{clearTimeout(l),H(b,c),a([e,t,n])}]),C(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=m(e[0],a,U);A(t,(([e,t],s)=>{const a=m(n[0],s,U);A(e,(([e,t],s)=>a[0][s]=z(e,t))),a[1]=F(a[1],t)})),n[1]=F(n[1],s)})),e[1]=F(e[1],s)},L=async(s=null,a,n=p())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=U();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!k(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!k(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?U():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||k(e[0][0])&&k(e[1][0])?void 0:e}),(async(t,s)=>s?C(null,p(),3,s):C(null,p(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:v,receives:S}),...d},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();S++,0==a?l(R(b,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(h):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{C(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,b.values(r));var r,o;return o=this.#s(),0==h(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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,s,a){x(s.toString(),((s,n)=>{const r=D(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}exports.WsServerDurableObject=se,exports.getWsServerDurableObjectFetch=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();
|
package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz
CHANGED
|
Binary file
|
|
@@ -752,7 +752,7 @@ class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
|
752
752
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
753
753
|
if (toClientId == EMPTY_STRING) {
|
|
754
754
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
755
|
-
this.#serverClientSend(forwardedPayload);
|
|
755
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
756
756
|
}
|
|
757
757
|
arrayForEach(this.#getClients(), (otherClient) => {
|
|
758
758
|
if (otherClient != fromClient) {
|
|
@@ -760,7 +760,7 @@ class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
|
760
760
|
}
|
|
761
761
|
});
|
|
762
762
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
763
|
-
this.#serverClientSend(forwardedPayload);
|
|
763
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
764
764
|
} else if (toClientId != fromClientId) {
|
|
765
765
|
this.#getClients(toClientId)[0]?.send(forwardedPayload);
|
|
766
766
|
}
|
|
@@ -752,7 +752,7 @@ class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
|
752
752
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
753
753
|
if (toClientId == EMPTY_STRING) {
|
|
754
754
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
755
|
-
this.#serverClientSend(forwardedPayload);
|
|
755
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
756
756
|
}
|
|
757
757
|
arrayForEach(this.#getClients(), (otherClient) => {
|
|
758
758
|
if (otherClient != fromClient) {
|
|
@@ -760,7 +760,7 @@ class WsServerDurableObject extends cloudflare_workers.DurableObject {
|
|
|
760
760
|
}
|
|
761
761
|
});
|
|
762
762
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
763
|
-
this.#serverClientSend(forwardedPayload);
|
|
763
|
+
this.#serverClientSend?.(forwardedPayload);
|
|
764
764
|
} else if (toClientId != fromClientId) {
|
|
765
765
|
this.#getClients(toClientId)[0]?.send(forwardedPayload);
|
|
766
766
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as e}from"cloudflare:workers";const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),A=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),O=JSON.stringify,x=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>L(null!=e?e:t,O(n,((e,t)=>void 0===t?"":t))),L=(e,t)=>e+"\n"+t,I=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),j=(e,t)=>null==e?void 0:e.forEach(t),E=(e,t)=>null==e?void 0:e.delete(t),H=e=>new Map(e),W=(e,t)=>null==e?void 0:e.get(t),D=(e,t,n)=>i(n)?(E(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(W(e,t)):D(e,t,n()),W(e,t)},N=(e,t,n,l,r=0)=>u((n?R:W)(e,t[r],r>h(t)-2?n:H),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&D(e,t[r]),o;const s=N(o,t,n,l,r+1);return I(o)&&D(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],U=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},V=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),F=e=>new Set(c(e)||i(e)?e:[e]),J=/^\d+$/;var $=Object.defineProperty,q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=H(),Y=H(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,A=0,O=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const x=H(),[k,T,L,z,U]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[V,$,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{J.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=H();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return D(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],F))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?j(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(W(e,n),t+1)));return r(e,0),l})(n,l),(t=>j(t,(t=>W(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(W(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(E(t,e),I(t)?1:0))),D(r,e),l(e),o))),t=>u(W(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,$(x,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),A++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?U(e):v("Content is not an array: "+t)}catch(t){e&&U(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),O++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(W(Y,b),...e),yield Q(void 0,null,(function*(){if(!W(X,b)){for(D(X,b,1);!i(S=f(W(Y,b)));)try{yield S()}catch(e){}D(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if(q)for(var n of q(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),A++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=L();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>V(e,x),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(W(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:A,saves:O})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=H(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{E(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);D(b,i,[e,(e,t)=>{clearTimeout(u),E(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=A(e[0],l,V);M(t,(([e,t],n)=>{const l=A(r[0],n,V);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=U(l[1],t)})),r[1]=U(r[1],n)})),e[1]=U(e[1],n)},O=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=V();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?V():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),x=Z(e,(()=>de(void 0,null,(function*(){const e=yield O();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield x.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||x.isAutoLoading();f++,0==l?u(W(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?O(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||x.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),x})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,x(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const
|
|
1
|
+
import{DurableObject as e}from"cloudflare:workers";const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),A=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),O=JSON.stringify,x=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>L(null!=e?e:t,O(n,((e,t)=>void 0===t?"":t))),L=(e,t)=>e+"\n"+t,I=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),j=(e,t)=>null==e?void 0:e.forEach(t),E=(e,t)=>null==e?void 0:e.delete(t),H=e=>new Map(e),W=(e,t)=>null==e?void 0:e.get(t),D=(e,t,n)=>i(n)?(E(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(W(e,t)):D(e,t,n()),W(e,t)},N=(e,t,n,l,r=0)=>u((n?R:W)(e,t[r],r>h(t)-2?n:H),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&D(e,t[r]),o;const s=N(o,t,n,l,r+1);return I(o)&&D(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],U=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},V=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),F=e=>new Set(c(e)||i(e)?e:[e]),J=/^\d+$/;var $=Object.defineProperty,q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=H(),Y=H(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,A=0,O=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const x=H(),[k,T,L,z,U]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[V,$,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{J.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=H();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return D(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],F))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?j(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(W(e,n),t+1)));return r(e,0),l})(n,l),(t=>j(t,(t=>W(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(W(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(E(t,e),I(t)?1:0))),D(r,e),l(e),o))),t=>u(W(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,$(x,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),A++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?U(e):v("Content is not an array: "+t)}catch(t){e&&U(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),O++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(W(Y,b),...e),yield Q(void 0,null,(function*(){if(!W(X,b)){for(D(X,b,1);!i(S=f(W(Y,b)));)try{yield S()}catch(e){}D(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if(q)for(var n of q(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),A++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=L();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>V(e,x),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(W(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:A,saves:O})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=H(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{E(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);D(b,i,[e,(e,t)=>{clearTimeout(u),E(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=A(e[0],l,V);M(t,(([e,t],n)=>{const l=A(r[0],n,V);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=U(l[1],t)})),r[1]=U(r[1],n)})),e[1]=U(e[1],n)},O=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=V();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?V():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),x=Z(e,(()=>de(void 0,null,(function*(){const e=yield O();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield x.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||x.isAutoLoading();f++,0==l?u(W(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?O(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||x.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),x})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,x(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=L(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)};const Ae=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();export{Pe as WsServerDurableObject,Ae as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as e}from"cloudflare:workers";const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),A=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),O=JSON.stringify,x=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>L(null!=e?e:t,O(n,((e,t)=>void 0===t?"":t))),L=(e,t)=>e+"\n"+t,I=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),j=(e,t)=>null==e?void 0:e.forEach(t),E=(e,t)=>null==e?void 0:e.delete(t),H=e=>new Map(e),W=(e,t)=>null==e?void 0:e.get(t),D=(e,t,n)=>i(n)?(E(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(W(e,t)):D(e,t,n()),W(e,t)},N=(e,t,n,l,r=0)=>u((n?R:W)(e,t[r],r>h(t)-2?n:H),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&D(e,t[r]),o;const s=N(o,t,n,l,r+1);return I(o)&&D(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],U=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},V=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),F=e=>new Set(c(e)||i(e)?e:[e]),J=/^\d+$/;var $=Object.defineProperty,q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=H(),Y=H(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,A=0,O=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const x=H(),[k,T,L,z,U]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[V,$,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{J.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=H();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return D(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],F))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?j(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(W(e,n),t+1)));return r(e,0),l})(n,l),(t=>j(t,(t=>W(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(W(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(E(t,e),I(t)?1:0))),D(r,e),l(e),o))),t=>u(W(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,$(x,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),A++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?U(e):v("Content is not an array: "+t)}catch(t){e&&U(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),O++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(W(Y,b),...e),yield Q(void 0,null,(function*(){if(!W(X,b)){for(D(X,b,1);!i(S=f(W(Y,b)));)try{yield S()}catch(e){}D(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if(q)for(var n of q(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),A++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=L();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>V(e,x),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(W(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:A,saves:O})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=H(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{E(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);D(b,i,[e,(e,t)=>{clearTimeout(u),E(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=A(e[0],l,V);M(t,(([e,t],n)=>{const l=A(r[0],n,V);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=U(l[1],t)})),r[1]=U(r[1],n)})),e[1]=U(e[1],n)},O=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=V();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?V():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),x=Z(e,(()=>de(void 0,null,(function*(){const e=yield O();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield x.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||x.isAutoLoading();f++,0==l?u(W(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?O(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||x.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),x})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,x(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o;const
|
|
1
|
+
import{DurableObject as e}from"cloudflare:workers";const t="",n=(e,t="",n)=>e.split(t,n),l=Promise,r=globalThis,o=(e,t=0)=>setTimeout(e,1e3*t),s=Math,a=s.floor,i=e=>null==e,u=(e,t,n)=>i(e)?null==n?void 0:n():t(e),c=e=>Array.isArray(e),d=(e,t,n)=>e.slice(t,n),h=e=>e.length,v=e=>{throw Error(e)},g=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),p=(e,...t)=>e.push(...t),f=e=>e.shift(),b=Object,S=e=>b.getPrototypeOf(e),w=b.entries,m=b.keys,C=b.freeze,M=(e,t)=>g(w(e),(([e,n])=>t(n,e))),P=e=>(e=>!i(e)&&u(S(e),(e=>e==b.prototype||i(S(e))),(()=>!0)))(e)&&0==(e=>h(m(e)))(e),A=(e,t,n)=>(((e,t)=>t in e)(e,t)||(e[t]=n()),e[t]),O=JSON.stringify,x=JSON.parse,k=(e,t)=>{const n=e.indexOf("\n");-1!==n&&t(d(e,0,n),d(e,n+1))},T=(e,...n)=>L(null!=e?e:t,O(n,((e,t)=>void 0===t?"":t))),L=(e,t)=>e+"\n"+t,I=e=>i(e)||0==(e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0})(e),j=(e,t)=>null==e?void 0:e.forEach(t),E=(e,t)=>null==e?void 0:e.delete(t),H=e=>new Map(e),W=(e,t)=>null==e?void 0:e.get(t),D=(e,t,n)=>i(n)?(E(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n,l)=>{var r,o,s;return o=t,null!=(s=null==(r=e)?void 0:r.has(o))&&s?null==l||l(W(e,t)):D(e,t,n()),W(e,t)},N=(e,t,n,l,r=0)=>u((n?R:W)(e,t[r],r>h(t)-2?n:H),(o=>{if(r>h(t)-2)return(null==l?void 0:l(o))&&D(e,t[r]),o;const s=N(o,t,n,l,r+1);return I(o)&&D(e,t[r]),s})),z=(e,t)=>t?[e,t]:[e],U=(e,t)=>{var n;return null!=(n=(null!=e?e:"")>(null!=t?t:"")?e:t)?n:""},V=(e="")=>z(((e=[])=>b.fromEntries(e))(),e),F=e=>new Set(c(e)||i(e)?e:[e]),J=/^\d+$/;var $=Object.defineProperty,q=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,K=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const X=H(),Y=H(),Z=(e,n,l,r,o,s,a,d={},y=0,b=[])=>{let S,w,m,M=0,A=0,O=0;R(X,b,(()=>0)),R(Y,b,(()=>[]));const x=H(),[k,T,L,z,U]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!P(e)||!P(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!P(e)||!P(t),t.setContent]:v("Store type not supported by this Persister"))(a,e,y),[V,$,Z]=(()=>{let e;const[n,l]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?f(e):null)?r:t+n++},t=>{J.test(t)&&h(e)<1e3&&p(e,t)}]})(),r=H();return[(l,o,s,a=[],i=()=>[])=>{null!=e||(e=se);const u=n(1);var c,d;return D(r,u,[l,o,s,a,i]),d=u,null==(c=N(o,null!=s?s:[t],F))||c.add(d),u},(n,l,...o)=>g(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?p(l,e):null===n[t]?j(e,(e=>r(e,t+1))):g([n[t],null],(n=>r(W(e,n),t+1)));return r(e,0),l})(n,l),(t=>j(t,(t=>W(r,t)[0](e,...null!=l?l:[],...o))))),e=>u(W(r,e),(([,n,o])=>(N(n,null!=o?o:[t],void 0,(t=>(E(t,e),I(t)?1:0))),D(r,e),l(e),o))),t=>u(W(r,t),(([t,,n=[],l,r])=>{const o=(...s)=>{var a,u;const c=h(s);c==h(n)?t(e,...s,...r(s)):i(n[c])?g(null!=(u=null==(a=l[c])?void 0:a.call(l,...s))?u:[],(e=>o(...s,e))):o(...s,n[c])};o()}))]})(),_=e=>{e!=M&&(M=e,$(x,void 0,M))},ee=t=>{(k&&c(null==t?void 0:t[0])?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},te=e=>Q(void 0,null,(function*(){return 2!=M&&(_(1),A++,yield oe((()=>Q(void 0,null,(function*(){try{const t=yield n();c(t)?ee(t):e?U(e):v("Content is not an array: "+t)}catch(t){e&&U(e)}_(0)}))))),se})),ne=()=>(w&&(o(w),w=void 0),se),le=e=>Q(void 0,null,(function*(){return 1!=M&&(_(2),O++,yield oe((()=>Q(void 0,null,(function*(){try{yield l(T,e)}catch(e){}_(0)}))))),se})),re=()=>(m&&(e.delListener(m),m=void 0),se),oe=(...e)=>Q(void 0,null,(function*(){return p(W(Y,b),...e),yield Q(void 0,null,(function*(){if(!W(X,b)){for(D(X,b,1);!i(S=f(W(Y,b)));)try{yield S()}catch(e){}D(X,b,0)}})),se})),se=((e,t)=>{for(var n in t||(t={}))B.call(t,n)&&K(e,n,t[n]);if(q)for(var n of q(t))G.call(t,n)&&K(e,n,t[n]);return e})({load:te,startAutoLoad:e=>Q(void 0,null,(function*(){ne(),yield te(e);try{w=yield r(((e,t)=>Q(void 0,null,(function*(){t||e?2!=M&&(_(1),A++,ee(null!=t?t:e),_(0)):yield te()}))))}catch(e){}return se})),stopAutoLoad:ne,isAutoLoading:()=>!i(w),save:le,startAutoSave:()=>Q(void 0,null,(function*(){return re(),yield le(),m=e.addDidFinishTransactionListener((()=>{const e=L();z(e)&&le(e)})),se})),stopAutoSave:re,isAutoSaving:()=>!i(m),getStatus:()=>M,addStatusListener:e=>V(e,x),delListener:t=>(Z(t),e),schedule:oe,getStore:()=>e,destroy:()=>(W(Y,b).splice(0,void 0),ne().stopAutoSave()),getStats:()=>({loads:A,saves:O})},d);return C(se)},_=n("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),ee=r.crypto?e=>r.crypto.getRandomValues(e):e=>y(e,(()=>a(256*s.random()))),te=(e=16)=>{return t=(e,t)=>e+_[63&t],ee(new Uint8Array(e)).reduce(t,"");var t};var ne,le,re,oe,se=Object.defineProperty,ae=Object.getOwnPropertySymbols,ie=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,ce=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,de=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())})),he=e=>{throw TypeError(e)},ve=(e,t,n)=>t.has(e)||he("Cannot "+n),ge=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),ye=(e,t,n)=>t.has(e)?he("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),pe=(e,t,n)=>(ve(e,t,"access private method"),n),fe=(e,t,n)=>new Promise(((l,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},s=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));const be=/\/([^?]*)/,Se="S",we=e=>{var n,l,r,o;return null!=(l=null==(r=new URL(e.url).pathname,o=be,n=null==r?void 0:r.match(o))?void 0:n[1])?l:t},me=e=>{var t;return"websocket"==(null==(t=e.headers.get("upgrade"))?void 0:t.toLowerCase())?e.headers.get("sec-websocket-key"):null},Ce=(e,t=null,n=null)=>new Response(n,{status:e,webSocket:t}),Me=()=>Ce(426,null,"Upgrade required");class Pe extends e{constructor(e,n){super(e,n),ye(this,le),ye(this,ne),this.ctx.blockConcurrencyWhile((()=>fe(this,null,(function*(){return yield u(yield this.createPersister(),(e=>fe(this,null,(function*(){const n=((e,n,r,s,a,c,d,h,v={})=>{let g,y=0,p=0,f=0;const b=H(),S=()=>te(11),w=(e,t,l,r)=>{p++,n(e,t,l,r)},m=(e,t,n,r)=>de(void 0,null,(function*(){return new l(((l,s)=>{const i=r+"."+te(4),u=o((()=>{E(b,i),s(`No response from ${null!=e?e:"anyone"} to ${i}, `+t)}),a);D(b,i,[e,(e,t)=>{clearTimeout(u),E(b,i),l([e,t,r])}]),w(e,i,t,n)}))})),C=(e,[t,n])=>{M(t,(([t,n],l)=>{const r=A(e[0],l,V);M(t,(([e,t],n)=>{const l=A(r[0],n,V);M(e,(([e,t],n)=>l[0][n]=z(e,t))),l[1]=U(l[1],t)})),r[1]=U(r[1],n)})),e[1]=U(e[1],n)},O=(...n)=>de(void 0,[...n],(function*(n=null,l,r=S()){try{i(l)&&([l,n,r]=yield m(null,1,t,r));const[o,s]=l,[a,u]=e.getMergeableContentHashes();let c=V();if(a!=o){const[t,l]=(yield m(n,4,e.getMergeableTableHashes(),r))[0];if(c=t,!P(l)){const[t,o]=(yield m(n,5,e.getMergeableRowHashes(l),r))[0];if(C(c,t),!P(o)){const t=(yield m(n,6,e.getMergeableCellHashes(o),r))[0];C(c,t)}}}return[c,u==s?V():(yield m(n,7,e.getMergeableValueHashes(),r))[0],1]}catch(e){}})),x=Z(e,(()=>de(void 0,null,(function*(){const e=yield O();return!e||P(e[0][0])&&P(e[1][0])?void 0:e}))),((t,n)=>de(void 0,null,(function*(){return n?w(null,S(),3,n):w(null,S(),2,e.getMergeableContentHashes())}))),(e=>g=e),(()=>g=void 0),0,2,((e,t)=>{for(var n in t||(t={}))ie.call(t,n)&&ce(e,n,t[n]);if(ae)for(var n of ae(t))ue.call(t,n)&&ce(e,n,t[n]);return e})({startSync:e=>de(void 0,null,(function*(){return y=1,yield(yield x.startAutoLoad(e)).startAutoSave()})),stopSync:()=>(y=0,x.stopAutoLoad().stopAutoSave()),destroy:()=>x.stopSync(),getSynchronizerStats:()=>({sends:p,receives:f})},v),1);return r(((t,n,l,r)=>{const o=y||x.isAutoLoading();f++,0==l?u(W(b,n),(([e,n])=>i(e)||e==t?n(r,t):0)):2==l&&o?O(t,r,null!=n?n:void 0).then((e=>{null==g||g(void 0,e)})).catch(h):3==l&&o?null==g||g(void 0,r):u(1==l&&(y||x.isAutoSaving())?e.getMergeableContentHashes():4==l?e.getMergeableTableDiff(r):5==l?e.getMergeableRowDiff(r):6==l?e.getMergeableCellDiff(r):7==l?e.getMergeableValueDiff(r):void 0,(e=>{w(t,n,0,e)}))})),x})(e.getStore(),((e,t,n,l)=>pe(this,le,re).call(this,Se,T(e,t,n,l))),(e=>{return n=t=>((e,t)=>k(e,((e,n)=>{return t(e,...(l=n,x(l,((e,t)=>""===t?void 0:t))));var l})))(t,e),ve(this,t=ne,"write to private field"),t.set(this,n),n;var t,n}),0,1);yield e.load(),yield e.startAutoSave(),o(n.startSync)}))))}))))}fetch(e){const n=we(e);return u(me(e),(e=>{const[l,r]=(o=new WebSocketPair,b.values(o));var o,s;return s=pe(this,le,oe).call(this),0==h(s)&&this.onPathId(n,1),this.ctx.acceptWebSocket(r,[e,n]),this.onClientId(n,e,1),r.send(T(Se,null,1,t)),Ce(101,l)}),Me)}webSocketMessage(e,t){u(this.ctx.getTags(e)[0],(n=>pe(this,le,re).call(this,n,t.toString(),e)))}webSocketClose(e){const[t,n]=this.ctx.getTags(e);this.onClientId(n,t,-1),1==h(pe(this,le,oe).call(this))&&this.onPathId(n,-1)}createPersister(){}getPathId(){var e;return null==(e=this.ctx.getTags(pe(this,le,oe).call(this)[0]))?void 0:e[1]}getClientIds(){return y(pe(this,le,oe).call(this),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,n){}onMessage(e,t,n){}}ne=new WeakMap,le=new WeakSet,re=function(e,n,l){k(n.toString(),((n,r)=>{var o,s,a;const i=L(e,r);this.onMessage(e,n,r),n==t?(e!=Se&&(null==(o=ge(this,ne))||o.call(this,i)),g(pe(this,le,oe).call(this),(e=>{e!=l&&e.send(i)}))):n==Se?null==(s=ge(this,ne))||s.call(this,i):n!=e&&(null==(a=pe(this,le,oe).call(this,n)[0])||a.send(i))}))},oe=function(e){return this.ctx.getWebSockets(e)};const Ae=e=>(t,n)=>me(t)?n[e].get(n[e].idFromName(we(t))).fetch(t):Me();export{Pe as WsServerDurableObject,Ae as getWsServerDurableObjectFetch};
|
package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1028,12 +1028,14 @@ _WsServerDurableObject_instances = new WeakSet();
|
|
|
1028
1028
|
// --
|
|
1029
1029
|
handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
1030
1030
|
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
1031
|
-
var _a;
|
|
1031
|
+
var _a, _b, _c;
|
|
1032
1032
|
const forwardedPayload = createRawPayload(fromClientId, remainder);
|
|
1033
1033
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
1034
1034
|
if (toClientId == EMPTY_STRING) {
|
|
1035
1035
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
1036
|
-
__privateGet(this, _serverClientSend)
|
|
1036
|
+
(_a = __privateGet(this, _serverClientSend)) == null
|
|
1037
|
+
? void 0
|
|
1038
|
+
: _a.call(this, forwardedPayload);
|
|
1037
1039
|
}
|
|
1038
1040
|
arrayForEach(
|
|
1039
1041
|
__privateMethod(
|
|
@@ -1048,15 +1050,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
|
1048
1050
|
},
|
|
1049
1051
|
);
|
|
1050
1052
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
1051
|
-
__privateGet(this, _serverClientSend)
|
|
1053
|
+
(_b = __privateGet(this, _serverClientSend)) == null
|
|
1054
|
+
? void 0
|
|
1055
|
+
: _b.call(this, forwardedPayload);
|
|
1052
1056
|
} else if (toClientId != fromClientId) {
|
|
1053
|
-
(
|
|
1057
|
+
(_c = __privateMethod(
|
|
1054
1058
|
this,
|
|
1055
1059
|
_WsServerDurableObject_instances,
|
|
1056
1060
|
getClients_fn,
|
|
1057
1061
|
).call(this, toClientId)[0]) == null
|
|
1058
1062
|
? void 0
|
|
1059
|
-
:
|
|
1063
|
+
: _c.send(forwardedPayload);
|
|
1060
1064
|
}
|
|
1061
1065
|
});
|
|
1062
1066
|
};
|
|
@@ -1028,12 +1028,14 @@ _WsServerDurableObject_instances = new WeakSet();
|
|
|
1028
1028
|
// --
|
|
1029
1029
|
handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
1030
1030
|
ifPayloadValid(message.toString(), (toClientId, remainder) => {
|
|
1031
|
-
var _a;
|
|
1031
|
+
var _a, _b, _c;
|
|
1032
1032
|
const forwardedPayload = createRawPayload(fromClientId, remainder);
|
|
1033
1033
|
this.onMessage(fromClientId, toClientId, remainder);
|
|
1034
1034
|
if (toClientId == EMPTY_STRING) {
|
|
1035
1035
|
if (fromClientId != SERVER_CLIENT_ID) {
|
|
1036
|
-
__privateGet(this, _serverClientSend)
|
|
1036
|
+
(_a = __privateGet(this, _serverClientSend)) == null
|
|
1037
|
+
? void 0
|
|
1038
|
+
: _a.call(this, forwardedPayload);
|
|
1037
1039
|
}
|
|
1038
1040
|
arrayForEach(
|
|
1039
1041
|
__privateMethod(
|
|
@@ -1048,15 +1050,17 @@ handleMessage_fn = function (fromClientId, message, fromClient) {
|
|
|
1048
1050
|
},
|
|
1049
1051
|
);
|
|
1050
1052
|
} else if (toClientId == SERVER_CLIENT_ID) {
|
|
1051
|
-
__privateGet(this, _serverClientSend)
|
|
1053
|
+
(_b = __privateGet(this, _serverClientSend)) == null
|
|
1054
|
+
? void 0
|
|
1055
|
+
: _b.call(this, forwardedPayload);
|
|
1052
1056
|
} else if (toClientId != fromClientId) {
|
|
1053
|
-
(
|
|
1057
|
+
(_c = __privateMethod(
|
|
1054
1058
|
this,
|
|
1055
1059
|
_WsServerDurableObject_instances,
|
|
1056
1060
|
getClients_fn,
|
|
1057
1061
|
).call(this, toClientId)[0]) == null
|
|
1058
1062
|
? void 0
|
|
1059
|
-
:
|
|
1063
|
+
: _c.send(forwardedPayload);
|
|
1060
1064
|
}
|
|
1061
1065
|
});
|
|
1062
1066
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>U(((e=[])=>p.fromEntries(e))(),e),J=e=>new Set(g(e)||c(e)?e:[e]),$=/^\d+$/,j=R(),q=R(),B=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(j,p,(()=>0)),W(q,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{$.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],J),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}K(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(q,p),...e),await(async()=>{if(!E(j,p)){for(N(j,p,1);!c(C=v(E(q,p)));)try{await C()}catch(e){}N(j,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(K(1),k++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(q,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>Q(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,F);A(t,(([e,t],s)=>{const a=k(n[0],s,F);A(e,(([e,t],s)=>a[0][s]=U(e,t))),a[1]=V(a[1],t)})),n[1]=V(n[1],s)})),e[1]=V(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=F();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?F():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};
|
|
1
|
+
import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>U(((e=[])=>p.fromEntries(e))(),e),J=e=>new Set(g(e)||c(e)?e:[e]),$=/^\d+$/,j=R(),q=R(),B=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(j,p,(()=>0)),W(q,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{$.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],J),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}K(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(q,p),...e),await(async()=>{if(!E(j,p)){for(N(j,p,1);!c(C=v(E(q,p)));)try{await C()}catch(e){}N(j,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(K(1),k++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(q,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>Q(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,F);A(t,(([e,t],s)=>{const a=k(n[0],s,F);A(e,(([e,t],s)=>a[0][s]=U(e,t))),a[1]=V(a[1],t)})),n[1]=V(n[1],s)})),e[1]=V(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=F();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?F():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>U(((e=[])=>p.fromEntries(e))(),e),J=e=>new Set(g(e)||c(e)?e:[e]),$=/^\d+$/,j=R(),q=R(),B=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(j,p,(()=>0)),W(q,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{$.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],J),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}K(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(q,p),...e),await(async()=>{if(!E(j,p)){for(N(j,p,1);!c(C=v(E(q,p)));)try{await C()}catch(e){}N(j,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(K(1),k++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(q,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>Q(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,F);A(t,(([e,t],s)=>{const a=k(n[0],s,F);A(e,(([e,t],s)=>a[0][s]=U(e,t))),a[1]=V(a[1],t)})),n[1]=V(n[1],s)})),e[1]=V(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=F();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?F():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};
|
|
1
|
+
import{DurableObject as e}from"cloudflare:workers";const t="",s=(e,t="",s)=>e.split(t,s),a=Promise,n=globalThis,r=(e,t=0)=>setTimeout(e,1e3*t),o=Math,i=o.floor,c=e=>null==e,l=(e,t,s)=>c(e)?s?.():t(e),g=e=>Array.isArray(e),h=(e,t,s)=>e.slice(t,s),d=e=>e.length,u=e=>{throw Error(e)},y=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),S=(e,...t)=>e.push(...t),v=e=>e.shift(),p=Object,C=e=>p.getPrototypeOf(e),b=p.entries,f=p.keys,M=p.freeze,A=(e,t)=>y(b(e),(([e,s])=>t(s,e))),m=e=>(e=>!c(e)&&l(C(e),(e=>e==p.prototype||c(C(e))),(()=>!0)))(e)&&0==(e=>d(f(e)))(e),k=(e,t,s)=>(((e,t)=>t in e)(e,t)||(e[t]=s()),e[t]),L=JSON.stringify,T=JSON.parse,x=(e,t)=>{const s=e.indexOf("\n");-1!==s&&t(h(e,0,s),h(e,s+1))},P=(e,...s)=>I(e??t,L(s,((e,t)=>void 0===t?"":t))),I=(e,t)=>e+"\n"+t,H=e=>c(e)||0==(e=>e?.size??0)(e),D=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),R=e=>new Map(e),E=(e,t)=>e?.get(t),N=(e,t,s)=>c(s)?(O(e,t),e):e?.set(t,s),W=(e,t,s,a)=>{var n,r;return n=e,r=t,n?.has(r)?a?.(E(e,t)):N(e,t,s()),E(e,t)},z=(e,t,s,a,n=0)=>l((s?W:E)(e,t[n],n>d(t)-2?s:R),(r=>{if(n>d(t)-2)return a?.(r)&&N(e,t[n]),r;const o=z(r,t,s,a,n+1);return H(r)&&N(e,t[n]),o})),U=(e,t)=>t?[e,t]:[e],V=(e,t)=>((e??"")>(t??"")?e:t)??"",F=(e="")=>U(((e=[])=>p.fromEntries(e))(),e),J=e=>new Set(g(e)||c(e)?e:[e]),$=/^\d+$/,j=R(),q=R(),B=(e,s,a,n,r,o,i,h={},w=0,p=[])=>{let C,b,f,A=0,k=0,L=0;W(j,p,(()=>0)),W(q,p,(()=>[]));const T=R(),[x,P,I,U,V]=((e=1,t,s)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!s),([[e],[t]])=>!m(e)||!m(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!m(e)||!m(t),t.setContent]:u("Store type not supported by this Persister"))(i,e,w),[F,B,G]=(()=>{let e;const[s,a]=(()=>{const e=[];let s=0;return[a=>(a?v(e):null)??t+s++,t=>{$.test(t)&&d(e)<1e3&&S(e,t)}]})(),n=R();return[(a,r,o,i=[],c=()=>[])=>{e??=te;const l=s(1);var g,h;return N(n,l,[a,r,o,i,c]),g=z(r,o??[t],J),h=l,g?.add(h),l},(s,a,...r)=>y(((e,s=[t])=>{const a=[],n=(e,t)=>t==d(s)?S(a,e):null===s[t]?D(e,(e=>n(e,t+1))):y([s[t],null],(s=>n(E(e,s),t+1)));return n(e,0),a})(s,a),(t=>D(t,(t=>E(n,t)[0](e,...a??[],...r))))),e=>l(E(n,e),(([,s,r])=>(z(s,r??[t],void 0,(t=>(O(t,e),H(t)?1:0))),N(n,e),a(e),r))),t=>l(E(n,t),(([t,,s=[],a,n])=>{const r=(...o)=>{const i=d(o);i==d(s)?t(e,...o,...n(o)):c(s[i])?y(a[i]?.(...o)??[],(e=>r(...o,e))):r(...o,s[i])};r()}))]})(),K=e=>{e!=A&&(A=e,B(T,void 0,A))},Q=t=>{(x&&g(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},X=async e=>(2!=A&&(K(1),k++,await ee((async()=>{try{const t=await s();g(t)?Q(t):e?V(e):u("Content is not an array: "+t)}catch(t){e&&V(e)}K(0)}))),te),Y=()=>(b&&(r(b),b=void 0),te),Z=async e=>(1!=A&&(K(2),L++,await ee((async()=>{try{await a(P,e)}catch(e){}K(0)}))),te),_=()=>(f&&(e.delListener(f),f=void 0),te),ee=async(...e)=>(S(E(q,p),...e),await(async()=>{if(!E(j,p)){for(N(j,p,1);!c(C=v(E(q,p)));)try{await C()}catch(e){}N(j,p,0)}})(),te),te={load:X,startAutoLoad:async e=>{Y(),await X(e);try{b=await n((async(e,t)=>{t||e?2!=A&&(K(1),k++,Q(t??e),K(0)):await X()}))}catch(e){}return te},stopAutoLoad:Y,isAutoLoading:()=>!c(b),save:Z,startAutoSave:async()=>(_(),await Z(),f=e.addDidFinishTransactionListener((()=>{const e=I();U(e)&&Z(e)})),te),stopAutoSave:_,isAutoSaving:()=>!c(f),getStatus:()=>A,addStatusListener:e=>F(e,T),delListener:t=>(G(t),e),schedule:ee,getStore:()=>e,destroy:()=>(E(q,p).splice(0,void 0),Y().stopAutoSave()),getStats:()=>({loads:k,saves:L}),...h};return M(te)},G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=n.crypto?e=>n.crypto.getRandomValues(e):e=>w(e,(()=>i(256*o.random()))),Q=(e=16)=>{return t=(e,t)=>e+G[63&t],K(new Uint8Array(e)).reduce(t,"");var t},X=/\/([^?]*)/,Y="S",Z=e=>{return(s=new URL(e.url).pathname,a=X,s?.match(a))?.[1]??t;var s,a},_=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,ee=(e,t=null,s=null)=>new Response(s,{status:e,webSocket:t}),te=()=>ee(426,null,"Upgrade required");class se extends e{#e;constructor(e,s){super(e,s),this.ctx.blockConcurrencyWhile((async()=>await l(await this.createPersister(),(async e=>{const s=((e,s,n,o,i,g,h,d,u={})=>{let y,w=0,S=0,v=0;const p=R(),C=()=>Q(11),b=(e,t,a,n)=>{S++,s(e,t,a,n)},f=async(e,t,s,n)=>new a(((a,o)=>{const c=n+"."+Q(4),l=r((()=>{O(p,c),o(`No response from ${e??"anyone"} to ${c}, `+t)}),i);N(p,c,[e,(e,t)=>{clearTimeout(l),O(p,c),a([e,t,n])}]),b(e,c,t,s)})),M=(e,[t,s])=>{A(t,(([t,s],a)=>{const n=k(e[0],a,F);A(t,(([e,t],s)=>{const a=k(n[0],s,F);A(e,(([e,t],s)=>a[0][s]=U(e,t))),a[1]=V(a[1],t)})),n[1]=V(n[1],s)})),e[1]=V(e[1],s)},L=async(s=null,a,n=C())=>{try{c(a)&&([a,s,n]=await f(null,1,t,n));const[r,o]=a,[i,l]=e.getMergeableContentHashes();let g=F();if(i!=r){const[t,a]=(await f(s,4,e.getMergeableTableHashes(),n))[0];if(g=t,!m(a)){const[t,r]=(await f(s,5,e.getMergeableRowHashes(a),n))[0];if(M(g,t),!m(r)){const t=(await f(s,6,e.getMergeableCellHashes(r),n))[0];M(g,t)}}}return[g,l==o?F():(await f(s,7,e.getMergeableValueHashes(),n))[0],1]}catch(e){}},T=B(e,(async()=>{const e=await L();return!e||m(e[0][0])&&m(e[1][0])?void 0:e}),(async(t,s)=>s?b(null,C(),3,s):b(null,C(),2,e.getMergeableContentHashes())),(e=>y=e),(()=>y=void 0),0,2,{startSync:async e=>(w=1,await(await T.startAutoLoad(e)).startAutoSave()),stopSync:()=>(w=0,T.stopAutoLoad().stopAutoSave()),destroy:()=>T.stopSync(),getSynchronizerStats:()=>({sends:S,receives:v}),...u},1);return n(((t,s,a,n)=>{const r=w||T.isAutoLoading();v++,0==a?l(E(p,s),(([e,s])=>c(e)||e==t?s(n,t):0)):2==a&&r?L(t,n,s??void 0).then((e=>{y?.(void 0,e)})).catch(d):3==a&&r?y?.(void 0,n):l(1==a&&(w||T.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=>{b(t,s,0,e)}))})),T})(e.getStore(),((e,t,s,a)=>this.#t(Y,P(e,t,s,a))),(e=>this.#e=t=>((e,t)=>x(e,((e,s)=>{return t(e,...(a=s,T(a,((e,t)=>""===t?void 0:t))));var a})))(t,e)),0,1);await e.load(),await e.startAutoSave(),r(s.startSync)}))))}fetch(e){const s=Z(e);return l(_(e),(e=>{const[a,n]=(r=new WebSocketPair,p.values(r));var r,o;return o=this.#s(),0==d(o)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[e,s]),this.onClientId(s,e,1),n.send(P(Y,null,1,t)),ee(101,a)}),te)}webSocketMessage(e,t){l(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==d(this.#s())&&this.onPathId(s,-1)}#t(e,s,a){x(s.toString(),((s,n)=>{const r=I(e,n);this.onMessage(e,s,n),s==t?(e!=Y&&this.#e?.(r),y(this.#s(),(e=>{e!=a&&e.send(r)}))):s==Y?this.#e?.(r):s!=e&&this.#s(s)[0]?.send(r)}))}#s(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return w(this.#s(),(e=>this.ctx.getTags(e)[0]))}onPathId(e,t){}onClientId(e,t,s){}onMessage(e,t,s){}}const ae=e=>(t,s)=>_(t)?s[e].get(s[e].idFromName(Z(t))).fetch(t):te();export{se as WsServerDurableObject,ae as getWsServerDurableObjectFetch};
|
|
Binary file
|