tinybase 8.5.0-beta.0 → 8.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/ui-react-dom-charts/index.d.ts +242 -0
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +296 -0
- package/common/index.js +3 -2
- package/common/with-schemas/index.js +3 -2
- package/index.js +5 -3
- package/mergeable-store/index.js +5 -3
- package/mergeable-store/with-schemas/index.js +5 -3
- package/metrics/index.js +1 -1
- package/metrics/with-schemas/index.js +1 -1
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom-charts/index.js +1 -0
- package/min/ui-react-dom-charts/index.js.gz +0 -0
- package/min/ui-react-dom-charts/with-schemas/index.js +1 -0
- package/min/ui-react-dom-charts/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-dom/index.js +1 -1
- package/min/ui-solid-dom/index.js.gz +0 -0
- package/min/ui-solid-dom/with-schemas/index.js +1 -1
- package/min/ui-solid-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-inspector/index.js +1 -1
- package/min/ui-solid-inspector/index.js.gz +0 -0
- package/min/ui-solid-inspector/with-schemas/index.js +1 -1
- package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-dom/index.js +1 -1
- package/min/ui-svelte-dom/index.js.gz +0 -0
- package/min/ui-svelte-dom/with-schemas/index.js +1 -1
- package/min/ui-svelte-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -1
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
- package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +7 -4
- package/omni/with-schemas/index.js +7 -4
- package/package.json +50 -14
- package/persisters/persister-durable-object-sql-storage/index.js +13 -11
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +13 -11
- package/persisters/persister-partykit-client/index.js +2 -1
- package/persisters/persister-partykit-client/with-schemas/index.js +2 -1
- package/persisters/persister-partykit-server/index.js +2 -1
- package/persisters/persister-partykit-server/with-schemas/index.js +2 -1
- package/queries/index.js +1 -1
- package/queries/with-schemas/index.js +1 -1
- package/readme.md +18 -14
- package/releases.md +91 -58
- package/synchronizers/index.js +3 -2
- package/synchronizers/synchronizer-broadcast-channel/index.js +3 -2
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -2
- package/synchronizers/synchronizer-local/index.js +3 -2
- package/synchronizers/synchronizer-local/with-schemas/index.js +3 -2
- package/synchronizers/synchronizer-ws-client/index.js +3 -2
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -2
- package/synchronizers/synchronizer-ws-server/index.js +3 -2
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -2
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -2
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -2
- package/synchronizers/with-schemas/index.js +3 -2
- package/ui-react-dom/index.js +10 -7
- package/ui-react-dom/with-schemas/index.js +10 -7
- package/ui-react-dom-charts/index.js +1229 -0
- package/ui-react-dom-charts/with-schemas/index.js +1229 -0
- package/ui-react-inspector/index.js +16 -10
- package/ui-react-inspector/with-schemas/index.js +16 -10
- package/ui-solid-dom/index.js +10 -7
- package/ui-solid-dom/with-schemas/index.js +10 -7
- package/ui-solid-inspector/index.js +16 -10
- package/ui-solid-inspector/with-schemas/index.js +16 -10
- package/ui-svelte/index.js +5 -5
- package/ui-svelte/with-schemas/index.js +5 -5
- package/ui-svelte-dom/index.js +162 -164
- package/ui-svelte-dom/with-schemas/index.js +162 -164
- package/ui-svelte-inspector/index.js +192 -196
- package/ui-svelte-inspector/with-schemas/index.js +192 -196
- package/with-schemas/index.js +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,v="Sorted"+d+l,w="Cell",L=w+l,f=e=>(t,r,n)=>e(t)?n?.():r(t),
|
|
1
|
+
const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",a="Result",l="Ids",i="Table",d="Row",c=d+"Count",u=d+l,v="Sorted"+d+l,w="Cell",L=w+l,f=Math,g=e=>(t,r,n)=>e(t)?n?.():r(t),R=f.max,h=f.min,m=isFinite,p=e=>null==e,y=e=>void 0===e,C=e=>!0===e,b=g(p),T=g(y),I=t=>e(t)==s,V=e=>Array.isArray(e),E=(e,t,r)=>e.slice(t,r),P=e=>e.length,S=()=>{},Q=(e,t)=>e.every(t),_=(e,t)=>e.forEach(t),j=e=>k(e,(e,t)=>e+t,0),k=(e,t,r)=>e.reduce(t,r),x=(e,...t)=>e.push(...t),D=e=>e?.size??0,M=(e,t)=>e?.has(t)??!1,z=e=>y(e)||0==D(e),A=e=>[...e?.values()??[]],F=e=>e.clear(),O=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),q=Object,B=e=>q.getPrototypeOf(e),G=q.entries,H=e=>!p(e)&&b(B(e),e=>e==q.prototype||p(B(e)),()=>!0),J=q.keys,K=q.freeze,N=Map,U=e=>new N(e),X=(e,t)=>e?.get(t),Y=(e,t)=>O(e,(e,r)=>t(r,e)),Z=(e,t,r)=>y(r)?(W(e,t),e):e?.set(t,r),$=(e,t,r,n)=>(M(e,t)?n?.(X(e,t)):Z(e,t,r()),X(e,t)),ee=(e,t,r,n,s=0)=>T((r?$:X)(e,t[s],s>P(t)-2?r:U),o=>{if(s>P(t)-2)return n?.(o)&&Z(e,t[s]),o;const a=ee(o,t,r,n,s+1);return z(o)&&Z(e,t[s]),a}),te=U([["avg",[(e,t)=>j(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>h(...e),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:h(t,e)]],["sum",[e=>j(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),re=e=>new Set(V(e)||y(e)?e:[e]),ne=(e,t)=>e?.add(t),se="_",oe=(()=>{const s=new WeakMap;return l=>(s.has(l)||s.set(l,(s=>{const l=s._[0],f=l(),g=l(),R=l(),h=U(),p=re(),b=U(),j=U(),k={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},B=U(),N=U(),{_:[,oe,ae],delListener:le}=R,[ie,de,ce,ue,ve,we,Le,fe,,ge,Re,he]=((e,t,r,n,s)=>{const o=e.hasRow,a=U(),l=U(),i=U(),d=U(),c=U(),u=U(),v=t=>T(X(u,t),r=>{_(A(r),t=>{e.delListener(t),W(r,t)}),Z(u,t)}),w=(e,t)=>{Z(a,e,t),M(l,e)||(Z(l,e,[]),Z(d,e,U()),Z(c,e,U()),s(i))},L=e=>{Z(a,e),Z(l,e),Z(d,e),Z(c,e),v(e),s(i)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>Y(l,e),e=>M(l,e),e=>X(a,e),e=>X(l,e),(e,t)=>Z(l,e,t),w,(t,n,s,a,l)=>{w(t,n);const i=U(),L=U(),f=X(d,t),g=X(c,t),R=t=>{const s=r=>e.getCell(n,t,r),d=X(f,t),c=o(n,t)?r(a(s,t)):void 0;var u,v;if(d===c||V(d)&&V(c)&&(v=c,P(u=d)===P(v)&&Q(u,(e,t)=>v[t]===e))||Z(i,t,[d,c]),!y(l)){const e=X(g,t),r=o(n,t)?l(s,t):void 0;e!=r&&Z(L,t,r)}},h=e=>{s(()=>{O(i,([,e],t)=>Z(f,t,e)),O(L,(e,t)=>Z(g,t,e))},i,L,f,g,e),F(i),F(L)};Y(f,R),e.hasTable(n)&&_(e.getRowIds(n),e=>{M(f,e)||R(e)}),h(!0),v(t),((e,...t)=>{const r=$(u,e,re);_(t,e=>ne(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>R(r)),e.addTableListener(n,()=>h()))},L,e=>n(e,i),()=>Y(u,L)]})(s,0,S,oe,ae),me=e=>$(h,e,l),pe=(e,t,...r)=>_(r,r=>ne($($(B,t,U),e,re),r)),ye=e=>{T(X(B,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),_([me(e),f],t=>t.delTable(e))},Ce=(e,t,r,...n)=>{const s=$($(N,t,U),e,re);return _(n,t=>{ne(s,t),r&&e.callListener(t)}),n},be=(e,t,r)=>T(X(X(N,e),t),n=>{t.delListener(r),W(n,r),z(n)&&Z(X(N,e),t)}),Te=e=>T(X(N,e),e=>{Y(e,(e,t)=>O(t,t=>e.delListener(t))),F(e)}),Ie=(e,t,r)=>pe(t,e,t.addStartTransactionListener(r.startTransaction),t.addDidFinishTransactionListener(()=>r.finishTransaction())),Ve=(e,t)=>{return(H(r=t)&&0==(e=>P(J(e)))(r)?g.delRow:g.setRow)(se,e,{...t});var r},Ee=o=>me(o).transaction(()=>T(we(o),([a,,l])=>{const i=ve(o),d=l?me(i):s,c=me(o),u=Se(o);ne(p,o),ye(o),Te(o);const v=[],w=[[void 0,[i,void 0,void 0,[],U(),d]]],L=[],g=[],R=[];a({select:(e,t,r)=>{const n=C(e)?t:e,s=C(e)?r:t,o=I(e)?[P(v)+"",e]:y(s)?[e,t=>t(e)]:[s,t=>C(e)?t(!0,n,s):t(n,s)];return x(v,o),{as:e=>o[0]=e}},join:(e,t,r,n)=>{const o=C(e)?t:e,[a,l]=C(e)?y(n)||I(r)?[void 0,r]:[r,n]:y(r)||I(t)?[void 0,t]:[t,r],i=[o,[o,a,I(l)?l:e=>e(l),[],U(),C(e)?me(o):s]];return x(w,i),{as:e=>i[0]=e}},where:(e,t,r,n)=>x(L,I(e)?e:C(e)?e=>e(!0,t,r)===n:y(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,I(t)?[t,r,n,s]:X(te,t)??[(e,t)=>t]]];return x(g,o),{as:e=>o[0]=e}},having:(e,t)=>x(R,I(e)?e:r=>r(e)===t),param:e=>{return t=e,T(u,e=>e[t]);var t}});const h=U(v);if(z(h))return W(p,o),Qe;const b=U(w);Y(b,(e,[,t])=>T(X(b,t),({3:t})=>y(e)?0:x(t,e)));const E=U(g);let S=f;if(z(E)&&0==P(R))S=c;else{Ie(o,S,c);const s=U();Y(E,(e,[t,r])=>ne($(s,t,re),[e,r]));const a=re();Y(h,e=>M(s,e)?0:ne(a,e));const l=U(),i=(a,l,i,d)=>T(a,([u,v,w,L])=>{Y(l,(o,[a])=>{const l=$(u,o,U),c=X(l,i),v=d?void 0:a;if(c!==v){const a=re([[c,v]]),d=D(l);Z(l,i,v),O(X(s,o),([s,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(z(r))return;const[a,l,i,d]=s;return o||=y(e),O(n,([r,n])=>{o||(e=y(r)?l?.(e,n,t++):y(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=y(e))}),o?a(A(r),D(r)):e})(L[s],d,l,a,o);L[s]=y((s=>{if(null===s)return"null";if(V(s))return"array";if(H(s))return"object";const o=e(s);return(e=>e==t||e==r)(o)||o==n&&m(s)?o:void 0})(i))?void 0:i})}}),z(v)||!Q(R,e=>e(e=>L[e]))?c.delRow(o,w):y(w)?a[2]=c.addRow(o,L):c.setRow(o,w,L)});pe(S,o,S.addRowListener(o,null,(e,t,r,n)=>{const d=[],c=[],u=U(),v=S.hasRow(o,r);let w=!v;O(a,e=>{const[t,s,a]=n(o,r,e);x(d,s),x(c,a),w||=t}),Y(s,e=>{const[t,,s]=n(o,r,e);(w||t)&&Z(u,e,[s])}),w&&i(ee(l,d,void 0,([,e])=>(W(e,r),z(e))),u,r,1),v&&i(ee(l,c,()=>{const e={};return O(a,t=>e[t]=S.getCell(o,r,t)),[U(),re(),void 0,e]},([,e])=>{ne(e,r)}),u,r)}))}Ie(o,d,S);const j=(e,t,r,n,s)=>{const a=e=>t.getCell(r,n,e);_(s,t=>{const[r,,n,s,l,i]=X(b,t),d=n?.(a,e),c=X(l,e),u=c?.[0];d!=u&&(T(c,([,e,t])=>be(o,e,t)),Z(l,e,y(d)?void 0:[d,i,...Ce(i,o,1,i.addRowListener(r,d,()=>j(e,i,r,d,s)))]))}),(e=>{const t=(t,r,n)=>{const s=C(t)?r:t,o=C(t)?n:r;if(y(o))return d.getCell(i,e,t);if(s===i&&!C(t))return d.getCell(i,e,o);const a=X(b,s);return y(a)?void 0:a[5].getCell(a[0],X(a[4],e)?.[0],o)};S.transaction(()=>Q(L,e=>e(t))?Y(h,(r,n)=>S._[5](o,e,r,n(t,e))):S.delRow(o,e))})(e)},{3:k}=X(b,void 0),F=(e,t,r)=>{d.hasRow(i,r)?j(r,d,i,r,k):(S.delRow(o,r),O(b,({4:e})=>T(X(e,r),([,t,n])=>{be(o,t,n),Z(e,r)})))};return S.transaction(()=>{_(d.getRowIds(i),e=>F(0,0,e)),Ce(d,o,0,d.addRowListener(i,null,F))}),W(p,o),Qe})),Pe=e=>(T(we(e),([,e])=>g.delListener(e)),g.delRow(se,e),ye(e),Te(e),ge(e),Qe),Se=e=>g.getRow(se,e),Qe={setQueryDefinition:(e,t,r,n,s={})=>{const[o,a,l,i]=C(t)?[r,n,1,s]:[t,r,0,n??{}];return T(we(e),([,e])=>g.delListener(e)),fe(e,o),Le(e,[a,g.addRowListener(se,e,()=>Ee(e)),l]),Ve(e,i),Ee(e),Qe},delQueryDefinition:Pe,getParamValues:Se,getParamValue:(e,t)=>g.getCell(se,e,t),setParamValues:(e,t)=>(ue(e)&&Ve(e,t),Qe),setParamValue:(e,t,r)=>(ue(e)&&g.setCell(se,e,t,r),Qe),getStore:ie,getQueryIds:de,forEachQuery:ce,hasQuery:ue,getTableId:ve,forEachResultTable:e=>ce(t=>me(t).hasTable(t)?e(t,e=>Qe.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Re(()=>e(Qe)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(se,e,(e,r,n)=>t(Qe,n,Se(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(se,e,t,(e,t,n,s,o)=>r(Qe,n,s,o)),delListener:e=>{const t=X(b,e);if("p"==e[0])g.delListener(E(e,1));else if(y(t))le(e);else{const[r,n,s]=t;Y(n,(e,[t,r])=>t.delListener(r)),T(s,le),Z(b,e),le(e),k[r]--}return Qe},destroy:()=>{_(de(),Pe),he()},getListenerStats:()=>({...k,paramValues:g.getListenerStats().row-P(de()),paramValue:g.getListenerStats().cell})};return _e=([e,t],r)=>{_(E(["get","has","forEach"],0,e),e=>Qe[e+a+r]=(...t)=>me(t[0])[e+r](...t)),Qe["add"+a+r+o]=(...e)=>((n,s)=>{const a=oe(S,j),l=U(),i=()=>{const n=null==s?de():[s];_(n,n=>{return M(l,n)?0:Z(l,n,[me(n),(s=me(n),s["add"+r+o](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:E(e,0,t))(e,t),(r,...n)=>e[t](Qe,...n),!0))]);var s}),Y(l,(e,[t,r])=>null==s&&ue(e)||e==s?0:(t.delListener(r),void Z(l,e)))};return i(),Z(b,a,[n,l,null==s?Re(i):void 0]),k[n]++,a})((e=>e[0].toLowerCase()+E(e,1))(r),e[0])},((e=[])=>{q.fromEntries(e)})(((e,t)=>((e,t)=>e.map(t))(G(e),([e,r])=>t(r,e)))({[i]:[2,1],[i+L]:[1,1],[c]:[1,1],[u]:[1,1],[v]:[1,5],[d]:[3,2],[L]:[1,2],[w]:[3,3]},(e,t)=>[t,_e(e,t)])),K(Qe);var _e})(l)),s.get(l))})();export{oe as createQueries};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,o=a.floor,r=a.random,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,u=s(i),y=s(c),g=t=>Array.isArray(t),w=t=>t.length,d=t=>{throw Error(t)},f=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},h=(t,e)=>t.forEach(e),p=(t,...e)=>t.push(...e),v=t=>t.shift(),b=t=>c(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),A=Object,S=t=>A.getPrototypeOf(t),D=A.entries,H=A.keys,m=A.freeze,L=(t,e)=>h(D(t),([t,a])=>e(a,t)),_=t=>(t=>!i(t)&&u(S(t),t=>t==A.prototype||i(S(t)),()=>!0))(t)&&0==(t=>w(H(t)))(t),P=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=Map,G=t=>new T(t),R=(t,e)=>t?.get(e),E=(t,e,a)=>c(a)?(M(t,e),t):t?.set(e,a),V=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(R(t,e)):E(t,e,a()),R(t,e)},z=(t,e,a,s,n=0)=>y((a?V:R)(t,e[n],n>w(e)-2?a:G),o=>{if(n>w(e)-2)return s?.(o)&&E(t,e[n]),o;const r=z(o,e,a,s,n+1);return b(o)&&E(t,e[n]),r}),O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r())))(t),j=(t=16)=>{return e=(t,e)=>t+O[63&e],$(new Uint8Array(t)).reduce(e,"");var e},k=(t,e)=>e?[t,e]:[t],x=(t,e)=>((t??"")>(e??"")?t:e)??"",F=(t="")=>k(((t=[])=>A.fromEntries(t))(),t),N=/^\d+$/,U=t=>new Set(g(t)||c(t)?t:[t]),q=G(),B=G(),I=(t,e,a,s,n,o,r,i={},u=0,A=[])=>{let S,D,H,L=0,P=0,T=0;V(q,A,()=>0),V(B,A,()=>[]);const O=G(),[$,j,k,x,F]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!_(t)||!_(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!_(t)||!_(e),e.setContent]:d("Store type not supported by this Persister"))(r,t,u),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?v(t):null)??""+e++,e=>{N.test(e)&&w(t)<1e3&&p(t,e)}]})(),s=G();return[(a,n,o,r=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return E(s,c,[a,n,o,r,i]),l=z(n,o??[""],U),u=c,l?.add(u),c},(e,a,...n)=>h(((t,e=[""])=>{const a=[],s=(t,n)=>n==w(e)?p(a,t):l(e[n])?C(t,t=>s(t,n+1)):h([e[n],null],e=>s(R(t,e),n+1));return s(t,0),a})(e,a),e=>C(e,e=>R(s,e)[0](t,...a??[],...n))),t=>y(R(s,t),([,e,n])=>(z(e,n??[""],void 0,e=>(M(e,t),b(e)?1:0)),E(s,t),a(t),n)),e=>y(R(s,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=w(r);i==w(a)?e(t,...r,...n(r)):l(a[i])?h(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),Q=t=>{t!=L&&(L=t,J(O,void 0,L))},W=e=>{($&&g(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=L&&(Q(1),P++,await rt(async()=>{await f(async()=>{const a=await e();g(a)?W(a):t?F(t):d("Content is not an array: "+a)},()=>{t&&F(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await f(async()=>D=await s(async(t,e)=>{e||t?2!=L&&(Q(1),P++,W(e??t),Q(0),await X()):await Y()}),o),it),tt=async()=>(D&&(await f(()=>n(D),o),D=void 0),it),et=async t=>(1!=L&&(Q(2),T++,await rt(async()=>{await f(()=>a(j,t),o),Q(0)})),it),at=async()=>(st(),await et(),H=t.addDidFinishTransactionListener(()=>{const t=k();x(t)&&et(t)}),it),st=async()=>(H&&(t.delListener(H),H=void 0),it),nt=()=>!c(H),ot=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},rt=async(...t)=>(p(R(B,A),...t),await(async()=>{if(!R(q,A)){for(E(q,A,1);!c(S=v(R(B,A)));)await f(S,o);E(q,A,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!c(D),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:ot,getStatus:()=>L,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:rt,getStore:()=>t,destroy:()=>(R(B,A).splice(0,void 0),ot()),getStats:()=>({loads:P,saves:T}),...i};return m(it)},J={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},K=(t,a,s,n,o,r,i,u,g={})=>{let w,d=0,h=0,p=0;const v=G(),b=()=>j(11),C=(t,e,s,n)=>{h++,r?.(t,e,s,n),a(t,e,s,n)},A=async(t,a,s,n)=>new e((e,r)=>{const i=n+"."+j(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{M(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);E(v,i,[t,(t,a)=>{clearTimeout(c),M(v,i),e([t,a,n])}]),C(t,i,a,s)}),S=(t,[e,a])=>{L(e,([e,a],s)=>{const n=P(t[0],s,F);L(e,([t,e],a)=>{const s=P(n[0],a,F);L(t,([t,e],a)=>s[0][a]=k(t,e)),s[1]=x(s[1],e)}),n[1]=x(n[1],a)}),t[1]=x(t[1],a)},D=(e=null,a,s=b())=>f(async()=>{c(a)&&([a,e,s]=await A(null,1,"",s));const[n,o]=a,[r,i]=t.getMergeableContentHashes();let l=F();if(r!=n){const[a,n]=(await A(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!_(n)){const[a,o]=(await A(e,5,t.getMergeableRowHashes(n),s))[0];if(S(l,a),!_(o)){const a=(await A(e,6,t.getMergeableCellHashes(o),s))[0];S(l,a)}}}return[l,i==o?F():(await A(e,7,t.getMergeableValueHashes(),s))[0],1]},u),H=I(t,async()=>{const t=await D();return!t||_(t[0][0])&&_(t[1][0])?void 0:t},async(e,a)=>a?C(null,b(),3,a):C(null,b(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,u,2,{startSync:async t=>(d=1,await H.startAutoPersisting(t)),stopSync:async()=>(d=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),n(),H),getSynchronizerStats:()=>({sends:h,receives:p}),...g},1);return s((e,a,s,n)=>{const o=d||H.isAutoLoading();p++,i?.(e,a,s,n),0==s?y(R(v,a),([t,a])=>l(t)||t==e?a(n,e):0):2==s&&o?D(e,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(u):3==s&&o?w?.(void 0,n):y(1==s&&(d||H.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{C(e,a,0,t)})}),H};export{J as Message,K as createCustomSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,o=a.floor,r=a.random,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,u=s(i),g=s(c),y=t=>Array.isArray(t),d=t=>t.length,w=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,...e)=>t.push(...e),v=t=>t.shift(),b=t=>c(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),S=Object,C=t=>S.getPrototypeOf(t),m=S.entries,L=S.keys,_=S.freeze,H=(t,e)=>p(m(t),([t,a])=>e(a,t)),P=t=>(t=>!i(t)&&u(C(t),t=>t==S.prototype||i(C(t)),()=>!0))(t)&&0==(t=>d(L(t)))(t),D=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=Map,E=t=>new T(t),z=(t,e)=>t?.get(e),R=(t,e,a)=>c(a)?(A(t,e),t):t?.set(e,a),V=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):R(t,e,a()),z(t,e)},N=(t,e,a,s,n=0)=>g((a?V:z)(t,e[n],n>d(e)-2?a:E),o=>{if(n>d(e)-2)return s?.(o)&&R(t,e[n]),o;const r=N(o,e,a,s,n+1);return b(o)&&R(t,e[n]),r}),O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r())))(t),j=(t=16)=>{return e=(t,e)=>t+O[63&e],$(new Uint8Array(t)).reduce(e,"");var e},k=(t,e)=>e?[t,e]:[t],x=(t,e)=>((t??"")>(e??"")?t:e)??"",B=(t="")=>k(((t=[])=>S.fromEntries(t))(),t),F=/^\d+$/,U=t=>new Set(y(t)||c(t)?t:[t]),q=E(),G=E(),I=(t,e,a,s,n,o,r,i={},u=0,S=[])=>{let C,m,L,H=0,D=0,T=0;V(q,S,()=>0),V(G,S,()=>[]);const O=E(),[$,j,k,x,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!P(t)||!P(e),e.setContent]:w("Store type not supported by this Persister"))(r,t,u),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?v(t):null)??""+e++,e=>{F.test(e)&&d(t)<1e3&&f(t,e)}]})(),s=E();return[(a,n,o,r=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return R(s,c,[a,n,o,r,i]),l=N(n,o??[""],U),u=c,l?.add(u),c},(e,a,...n)=>p(((t,e=[""])=>{const a=[],s=(t,n)=>n==d(e)?f(a,t):l(e[n])?M(t,t=>s(t,n+1)):p([e[n],null],e=>s(z(t,e),n+1));return s(t,0),a})(e,a),e=>M(e,e=>z(s,e)[0](t,...a??[],...n))),t=>g(z(s,t),([,e,n])=>(N(e,n??[""],void 0,e=>(A(e,t),b(e)?1:0)),R(s,t),a(t),n)),e=>g(z(s,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=d(r);i==d(a)?e(t,...r,...n(r)):l(a[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),Q=t=>{t!=H&&(H=t,J(O,void 0,H))},W=e=>{($&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=H&&(Q(1),D++,await rt(async()=>{await h(async()=>{const a=await e();y(a)?W(a):t?B(t):w("Content is not an array: "+a)},()=>{t&&B(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await h(async()=>m=await s(async(t,e)=>{e||t?2!=H&&(Q(1),D++,W(e??t),Q(0),await X()):await Y()}),o),it),tt=async()=>(m&&(await h(()=>n(m),o),m=void 0),it),et=async t=>(1!=H&&(Q(2),T++,await rt(async()=>{await h(()=>a(j,t),o),Q(0)})),it),at=async()=>(st(),await et(),L=t.addDidFinishTransactionListener(()=>{const t=k();x(t)&&et(t)}),it),st=async()=>(L&&(t.delListener(L),L=void 0),it),nt=()=>!c(L),ot=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},rt=async(...t)=>(f(z(G,S),...t),await(async()=>{if(!z(q,S)){for(R(q,S,1);!c(C=v(z(G,S)));)await h(C,o);R(q,S,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!c(m),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:ot,getStatus:()=>H,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:rt,getStore:()=>t,destroy:()=>(z(G,S).splice(0,void 0),ot()),getStats:()=>({loads:D,saves:T}),...i};return _(it)},J=(t,a,s,n,o)=>{const r=j(),i=new BroadcastChannel(a);return((t,a,s,n,o,r,i,u,y={})=>{let d,w=0,p=0,f=0;const v=E(),b=()=>j(11),M=(t,e,s,n)=>{p++,r?.(t,e,s,n),a(t,e,s,n)},S=async(t,a,s,n)=>new e((e,r)=>{const i=n+"."+j(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{A(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);R(v,i,[t,(t,a)=>{clearTimeout(c),A(v,i),e([t,a,n])}]),M(t,i,a,s)}),C=(t,[e,a])=>{H(e,([e,a],s)=>{const n=D(t[0],s,B);H(e,([t,e],a)=>{const s=D(n[0],a,B);H(t,([t,e],a)=>s[0][a]=k(t,e)),s[1]=x(s[1],e)}),n[1]=x(n[1],a)}),t[1]=x(t[1],a)},m=(e=null,a,s=b())=>h(async()=>{c(a)&&([a,e,s]=await S(null,1,"",s));const[n,o]=a,[r,i]=t.getMergeableContentHashes();let l=B();if(r!=n){const[a,n]=(await S(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!P(n)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(n),s))[0];if(C(l,a),!P(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),s))[0];C(l,a)}}}return[l,i==o?B():(await S(e,7,t.getMergeableValueHashes(),s))[0],1]},u),L=I(t,async()=>{const t=await m();return!t||P(t[0][0])&&P(t[1][0])?void 0:t},async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,u,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:p,receives:f}),...y},1);return s((e,a,s,n)=>{const o=w||L.isAutoLoading();f++,i?.(e,a,s,n),0==s?g(z(v,a),([t,a])=>l(t)||t==e?a(n,e):0):2==s&&o?m(e,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(u):3==s&&o?d?.(void 0,n):g(1==s&&(w||L.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{M(e,a,0,t)})}),L})(t,(t,e,a,s)=>i.postMessage([r,t,e,a,s]),t=>{i.onmessage=({data:[e,a,s,n,o]})=>l(a)||a==r?t(e,s,n,o):0},()=>{i.close()},.01,s,n,o,{getChannelName:()=>a})};export{J as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,o=a.floor,r=a.random,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,u=s(i),g=s(c),y=t=>Array.isArray(t),d=t=>t.length,w=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,...e)=>t.push(...e),v=t=>t.shift(),b=t=>c(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),S=Object,C=t=>S.getPrototypeOf(t),m=S.entries,L=S.keys,_=S.freeze,H=(t,e)=>p(m(t),([t,a])=>e(a,t)),P=t=>(t=>!i(t)&&u(C(t),t=>t==S.prototype||i(C(t)),()=>!0))(t)&&0==(t=>d(L(t)))(t),D=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=Map,E=t=>new T(t),z=(t,e)=>t?.get(e),R=(t,e,a)=>c(a)?(A(t,e),t):t?.set(e,a),V=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(z(t,e)):R(t,e,a()),z(t,e)},N=(t,e,a,s,n=0)=>g((a?V:z)(t,e[n],n>d(e)-2?a:E),o=>{if(n>d(e)-2)return s?.(o)&&R(t,e[n]),o;const r=N(o,e,a,s,n+1);return b(o)&&R(t,e[n]),r}),O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r())))(t),j=(t=16)=>{return e=(t,e)=>t+O[63&e],$(new Uint8Array(t)).reduce(e,"");var e},k=(t,e)=>e?[t,e]:[t],x=(t,e)=>((t??"")>(e??"")?t:e)??"",B=(t="")=>k(((t=[])=>S.fromEntries(t))(),t),F=/^\d+$/,U=t=>new Set(y(t)||c(t)?t:[t]),q=E(),G=E(),I=(t,e,a,s,n,o,r,i={},u=0,S=[])=>{let C,m,L,H=0,D=0,T=0;V(q,S,()=>0),V(G,S,()=>[]);const O=E(),[$,j,k,x,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!P(t)||!P(e),e.setContent]:w("Store type not supported by this Persister"))(r,t,u),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?v(t):null)??""+e++,e=>{F.test(e)&&d(t)<1e3&&f(t,e)}]})(),s=E();return[(a,n,o,r=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return R(s,c,[a,n,o,r,i]),l=N(n,o??[""],U),u=c,l?.add(u),c},(e,a,...n)=>p(((t,e=[""])=>{const a=[],s=(t,n)=>n==d(e)?f(a,t):l(e[n])?M(t,t=>s(t,n+1)):p([e[n],null],e=>s(z(t,e),n+1));return s(t,0),a})(e,a),e=>M(e,e=>z(s,e)[0](t,...a??[],...n))),t=>g(z(s,t),([,e,n])=>(N(e,n??[""],void 0,e=>(A(e,t),b(e)?1:0)),R(s,t),a(t),n)),e=>g(z(s,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=d(r);i==d(a)?e(t,...r,...n(r)):l(a[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),Q=t=>{t!=H&&(H=t,J(O,void 0,H))},W=e=>{($&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=H&&(Q(1),D++,await rt(async()=>{await h(async()=>{const a=await e();y(a)?W(a):t?B(t):w("Content is not an array: "+a)},()=>{t&&B(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await h(async()=>m=await s(async(t,e)=>{e||t?2!=H&&(Q(1),D++,W(e??t),Q(0),await X()):await Y()}),o),it),tt=async()=>(m&&(await h(()=>n(m),o),m=void 0),it),et=async t=>(1!=H&&(Q(2),T++,await rt(async()=>{await h(()=>a(j,t),o),Q(0)})),it),at=async()=>(st(),await et(),L=t.addDidFinishTransactionListener(()=>{const t=k();x(t)&&et(t)}),it),st=async()=>(L&&(t.delListener(L),L=void 0),it),nt=()=>!c(L),ot=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},rt=async(...t)=>(f(z(G,S),...t),await(async()=>{if(!z(q,S)){for(R(q,S,1);!c(C=v(z(G,S)));)await h(C,o);R(q,S,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!c(m),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:ot,getStatus:()=>H,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:rt,getStore:()=>t,destroy:()=>(z(G,S).splice(0,void 0),ot()),getStats:()=>({loads:D,saves:T}),...i};return _(it)},J=(t,a,s,n,o)=>{const r=j(),i=new BroadcastChannel(a);return((t,a,s,n,o,r,i,u,y={})=>{let d,w=0,p=0,f=0;const v=E(),b=()=>j(11),M=(t,e,s,n)=>{p++,r?.(t,e,s,n),a(t,e,s,n)},S=async(t,a,s,n)=>new e((e,r)=>{const i=n+"."+j(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{A(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);R(v,i,[t,(t,a)=>{clearTimeout(c),A(v,i),e([t,a,n])}]),M(t,i,a,s)}),C=(t,[e,a])=>{H(e,([e,a],s)=>{const n=D(t[0],s,B);H(e,([t,e],a)=>{const s=D(n[0],a,B);H(t,([t,e],a)=>s[0][a]=k(t,e)),s[1]=x(s[1],e)}),n[1]=x(n[1],a)}),t[1]=x(t[1],a)},m=(e=null,a,s=b())=>h(async()=>{c(a)&&([a,e,s]=await S(null,1,"",s));const[n,o]=a,[r,i]=t.getMergeableContentHashes();let l=B();if(r!=n){const[a,n]=(await S(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!P(n)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(n),s))[0];if(C(l,a),!P(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),s))[0];C(l,a)}}}return[l,i==o?B():(await S(e,7,t.getMergeableValueHashes(),s))[0],1]},u),L=I(t,async()=>{const t=await m();return!t||P(t[0][0])&&P(t[1][0])?void 0:t},async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,u,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:p,receives:f}),...y},1);return s((e,a,s,n)=>{const o=w||L.isAutoLoading();f++,i?.(e,a,s,n),0==s?g(z(v,a),([t,a])=>l(t)||t==e?a(n,e):0):2==s&&o?m(e,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(u):3==s&&o?d?.(void 0,n):g(1==s&&(w||L.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{M(e,a,0,t)})}),L})(t,(t,e,a,s)=>i.postMessage([r,t,e,a,s]),t=>{i.onmessage=({data:[e,a,s,n,o]})=>l(a)||a==r?t(e,s,n,o):0},()=>{i.close()},.01,s,n,o,{getChannelName:()=>a})};export{J as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,r=(t,e=0)=>setTimeout(t,1e3*e),o=a.floor,i=a.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,y=s(c),g=s(l),d=t=>Array.isArray(t),w=t=>t.length,h=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),M=t=>l(t)||0==(t=>t?.size??0)(t),A=(t,e)=>t?.forEach(e),S=(t,e)=>t?.delete(e),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,_=C.keys,H=C.freeze,P=(t,e)=>f(L(t),([t,a])=>e(a,t)),D=t=>(t=>!c(t)&&y(m(t),t=>t==C.prototype||c(m(t)),()=>!0))(t)&&0==(t=>w(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=Map,z=t=>new E(t),R=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(S(t,e),t):t?.set(e,a),O=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(R(t,e)):V(t,e,a()),R(t,e)},$=(t,e,a,s,n=0)=>g((a?O:R)(t,e[n],n>w(e)-2?a:z),r=>{if(n>w(e)-2)return s?.(r)&&V(t,e[n]),r;const o=$(r,e,a,s,n+1);return M(r)&&V(t,e[n]),o}),j=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*i())))(t),x=(t=16)=>{return e=(t,e)=>t+j[63&e],k(new Uint8Array(t)).reduce(e,"");var e},F=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",U=(t="")=>F(((t=[])=>C.fromEntries(t))(),t),q=/^\d+$/,B=t=>new Set(d(t)||l(t)?t:[t]),G=z(),I=z(),J=(t,e,a,s,n,r,o,i={},c=0,y=[])=>{let C,m,L,_=0,P=0,T=0;O(G,y,()=>0),O(I,y,()=>[]);const E=z(),[j,k,x,F,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!D(t)||!D(e),e.setContent]:h("Store type not supported by this Persister"))(o,t,c),[U,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?b(t):null)??""+e++,e=>{q.test(e)&&w(t)<1e3&&v(t,e)}]})(),s=z();return[(a,n,r,o=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return V(s,c,[a,n,r,o,i]),l=$(n,r??[""],B),u=c,l?.add(u),c},(e,a,...n)=>f(((t,e=[""])=>{const a=[],s=(t,n)=>n==w(e)?v(a,t):u(e[n])?A(t,t=>s(t,n+1)):f([e[n],null],e=>s(R(t,e),n+1));return s(t,0),a})(e,a),e=>A(e,e=>R(s,e)[0](t,...a??[],...n))),t=>g(R(s,t),([,e,n])=>($(e,n??[""],void 0,e=>(S(e,t),M(e)?1:0)),V(s,t),a(t),n)),e=>g(R(s,e),([e,,a=[],s,n])=>{const r=(...o)=>{const i=w(o);i==w(a)?e(t,...o,...n(o)):u(a[i])?f(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),Q=t=>{t!=_&&(_=t,J(E,void 0,_))},W=e=>{(j&&d(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=_&&(Q(1),P++,await ot(async()=>{await p(async()=>{const a=await e();d(a)?W(a):t?N(t):h("Content is not an array: "+a)},()=>{t&&N(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await p(async()=>m=await s(async(t,e)=>{e||t?2!=_&&(Q(1),P++,W(e??t),Q(0),await X()):await Y()}),r),it),tt=async()=>(m&&(await p(()=>n(m),r),m=void 0),it),et=async t=>(1!=_&&(Q(2),T++,await ot(async()=>{await p(()=>a(k,t),r),Q(0)})),it),at=async()=>(st(),await et(),L=t.addDidFinishTransactionListener(()=>{const t=x();F(t)&&et(t)}),it),st=async()=>(L&&(t.delListener(L),L=void 0),it),nt=()=>!l(L),rt=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},ot=async(...t)=>(v(R(I,y),...t),await(async()=>{if(!R(G,y)){for(V(G,y,1);!l(C=b(R(I,y)));)await p(C,r);V(G,y,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!l(m),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:rt,getStatus:()=>_,addStatusListener:t=>U(t,E),delListener:e=>(K(e),t),schedule:ot,getStore:()=>t,destroy:()=>(R(I,y).splice(0,void 0),rt()),getStats:()=>({loads:P,saves:T}),...i};return H(it)},K=z(),Q=(t,a,s,n)=>{const o=x();return((t,a,s,n,o,i,c,y,d={})=>{let w,h=0,f=0,v=0;const b=z(),M=()=>x(11),A=(t,e,s,n)=>{f++,i?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e((e,i)=>{const c=n+"."+x(4),l=r(()=>{S(b,c),i(`No response from ${t??"anyone"} to ${c}, `+a)},o);V(b,c,[t,(t,a)=>{clearTimeout(l),S(b,c),e([t,a,n])}]),A(t,c,a,s)}),m=(t,[e,a])=>{P(e,([e,a],s)=>{const n=T(t[0],s,U);P(e,([t,e],a)=>{const s=T(n[0],a,U);P(t,([t,e],a)=>s[0][a]=F(t,e)),s[1]=N(s[1],e)}),n[1]=N(n[1],a)}),t[1]=N(t[1],a)},L=(e=null,a,s=M())=>p(async()=>{l(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[o,i]=t.getMergeableContentHashes();let c=U();if(o!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(c=a,!D(n)){const[a,r]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(m(c,a),!D(r)){const a=(await C(e,6,t.getMergeableCellHashes(r),s))[0];m(c,a)}}}return[c,i==r?U():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]},y),_=J(t,async()=>{const t=await L();return!t||D(t[0][0])&&D(t[1][0])?void 0:t},async(e,a)=>a?A(null,M(),3,a):A(null,M(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,y,2,{startSync:async t=>(h=1,await _.startAutoPersisting(t)),stopSync:async()=>(h=0,await _.stopAutoPersisting(),_),destroy:async()=>(await _.stopSync(),n(),_),getSynchronizerStats:()=>({sends:f,receives:v}),...d},1);return s((e,a,s,n)=>{const r=h||_.isAutoLoading();v++,c?.(e,a,s,n),0==s?g(R(b,a),([t,a])=>u(t)||t==e?a(n,e):0):2==s&&r?L(e,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(y):3==s&&r?w?.(void 0,n):g(1==s&&(h||_.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{A(e,a,0,t)})}),_})(t,(t,e,a,s)=>r(()=>{return u(t)?(n=(t,n)=>t!=o?n(o,e,a,s):0,A(K,(t,e)=>n(e,t))):R(K,t)?.(o,e,a,s);var n}),t=>{V(K,o,t)},()=>{S(K,o)},.01,a,s,n)};export{Q as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,r=(t,e=0)=>setTimeout(t,1e3*e),o=a.floor,i=a.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,y=s(c),g=s(l),d=t=>Array.isArray(t),w=t=>t.length,h=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),M=t=>l(t)||0==(t=>t?.size??0)(t),A=(t,e)=>t?.forEach(e),S=(t,e)=>t?.delete(e),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,_=C.keys,H=C.freeze,P=(t,e)=>f(L(t),([t,a])=>e(a,t)),D=t=>(t=>!c(t)&&y(m(t),t=>t==C.prototype||c(m(t)),()=>!0))(t)&&0==(t=>w(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=Map,z=t=>new E(t),R=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(S(t,e),t):t?.set(e,a),O=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(R(t,e)):V(t,e,a()),R(t,e)},$=(t,e,a,s,n=0)=>g((a?O:R)(t,e[n],n>w(e)-2?a:z),r=>{if(n>w(e)-2)return s?.(r)&&V(t,e[n]),r;const o=$(r,e,a,s,n+1);return M(r)&&V(t,e[n]),o}),j=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),k=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*i())))(t),x=(t=16)=>{return e=(t,e)=>t+j[63&e],k(new Uint8Array(t)).reduce(e,"");var e},F=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",U=(t="")=>F(((t=[])=>C.fromEntries(t))(),t),q=/^\d+$/,B=t=>new Set(d(t)||l(t)?t:[t]),G=z(),I=z(),J=(t,e,a,s,n,r,o,i={},c=0,y=[])=>{let C,m,L,_=0,P=0,T=0;O(G,y,()=>0),O(I,y,()=>[]);const E=z(),[j,k,x,F,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!D(t)||!D(e),e.setContent]:h("Store type not supported by this Persister"))(o,t,c),[U,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?b(t):null)??""+e++,e=>{q.test(e)&&w(t)<1e3&&v(t,e)}]})(),s=z();return[(a,n,r,o=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return V(s,c,[a,n,r,o,i]),l=$(n,r??[""],B),u=c,l?.add(u),c},(e,a,...n)=>f(((t,e=[""])=>{const a=[],s=(t,n)=>n==w(e)?v(a,t):u(e[n])?A(t,t=>s(t,n+1)):f([e[n],null],e=>s(R(t,e),n+1));return s(t,0),a})(e,a),e=>A(e,e=>R(s,e)[0](t,...a??[],...n))),t=>g(R(s,t),([,e,n])=>($(e,n??[""],void 0,e=>(S(e,t),M(e)?1:0)),V(s,t),a(t),n)),e=>g(R(s,e),([e,,a=[],s,n])=>{const r=(...o)=>{const i=w(o);i==w(a)?e(t,...o,...n(o)):u(a[i])?f(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),Q=t=>{t!=_&&(_=t,J(E,void 0,_))},W=e=>{(j&&d(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=_&&(Q(1),P++,await ot(async()=>{await p(async()=>{const a=await e();d(a)?W(a):t?N(t):h("Content is not an array: "+a)},()=>{t&&N(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await p(async()=>m=await s(async(t,e)=>{e||t?2!=_&&(Q(1),P++,W(e??t),Q(0),await X()):await Y()}),r),it),tt=async()=>(m&&(await p(()=>n(m),r),m=void 0),it),et=async t=>(1!=_&&(Q(2),T++,await ot(async()=>{await p(()=>a(k,t),r),Q(0)})),it),at=async()=>(st(),await et(),L=t.addDidFinishTransactionListener(()=>{const t=x();F(t)&&et(t)}),it),st=async()=>(L&&(t.delListener(L),L=void 0),it),nt=()=>!l(L),rt=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},ot=async(...t)=>(v(R(I,y),...t),await(async()=>{if(!R(G,y)){for(V(G,y,1);!l(C=b(R(I,y)));)await p(C,r);V(G,y,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!l(m),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:rt,getStatus:()=>_,addStatusListener:t=>U(t,E),delListener:e=>(K(e),t),schedule:ot,getStore:()=>t,destroy:()=>(R(I,y).splice(0,void 0),rt()),getStats:()=>({loads:P,saves:T}),...i};return H(it)},K=z(),Q=(t,a,s,n)=>{const o=x();return((t,a,s,n,o,i,c,y,d={})=>{let w,h=0,f=0,v=0;const b=z(),M=()=>x(11),A=(t,e,s,n)=>{f++,i?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e((e,i)=>{const c=n+"."+x(4),l=r(()=>{S(b,c),i(`No response from ${t??"anyone"} to ${c}, `+a)},o);V(b,c,[t,(t,a)=>{clearTimeout(l),S(b,c),e([t,a,n])}]),A(t,c,a,s)}),m=(t,[e,a])=>{P(e,([e,a],s)=>{const n=T(t[0],s,U);P(e,([t,e],a)=>{const s=T(n[0],a,U);P(t,([t,e],a)=>s[0][a]=F(t,e)),s[1]=N(s[1],e)}),n[1]=N(n[1],a)}),t[1]=N(t[1],a)},L=(e=null,a,s=M())=>p(async()=>{l(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[o,i]=t.getMergeableContentHashes();let c=U();if(o!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(c=a,!D(n)){const[a,r]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(m(c,a),!D(r)){const a=(await C(e,6,t.getMergeableCellHashes(r),s))[0];m(c,a)}}}return[c,i==r?U():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]},y),_=J(t,async()=>{const t=await L();return!t||D(t[0][0])&&D(t[1][0])?void 0:t},async(e,a)=>a?A(null,M(),3,a):A(null,M(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,y,2,{startSync:async t=>(h=1,await _.startAutoPersisting(t)),stopSync:async()=>(h=0,await _.stopAutoPersisting(),_),destroy:async()=>(await _.stopSync(),n(),_),getSynchronizerStats:()=>({sends:f,receives:v}),...d},1);return s((e,a,s,n)=>{const r=h||_.isAutoLoading();v++,c?.(e,a,s,n),0==s?g(R(b,a),([t,a])=>u(t)||t==e?a(n,e):0):2==s&&r?L(e,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(y):3==s&&r?w?.(void 0,n):g(1==s&&(h||_.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{A(e,a,0,t)})}),_})(t,(t,e,a,s)=>r(()=>{return u(t)?(n=(t,n)=>t!=o?n(o,e,a,s):0,A(K,(t,e)=>n(e,t))):R(K,t)?.(o,e,a,s);var n}),t=>{V(K,o,t)},()=>{S(K,o)},.01,a,s,n)};export{Q as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(t,e)=>((t??"")>(e??"")?t:e)??"",Q=(t="")=>I(H(),t),X=/^\d+$/,Y=t=>new Set(d(t)||l(t)?t:[t]),Z=$(),tt=$(),et=(e,a,s,n,r,o,i,c={},g=0,w=[])=>{let f,S,C,m=0,L=0,P=0;U(Z,w,()=>0),U(tt,w,()=>[]);const _=$(),[H,D,T,N,z]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!O(t)||!O(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,g),[R,J,q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?A(e):null)??t+a++,t=>{X.test(t)&&v(e)<1e3&&M(e,t)}]})(),n=$();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return F(n,l,[s,r,o,i,c]),u=W(r,o??[t],Y),g=l,u?.add(g),l},(a,s,...r)=>b(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?M(s,t):u(a[e])?k(t,t=>n(t,e+1)):b([a[e],null],a=>n(j(t,a),e+1));return n(e,0),s})(a,s),t=>k(t,t=>j(n,t)[0](e,...s??[],...r))),e=>y(j(n,e),([,a,r])=>(W(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),F(n,e),s(e),r)),t=>y(j(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=v(o);i==v(a)?t(e,...o,...n(o)):u(a[i])?b(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),B=t=>{t!=m&&(m=t,J(_,void 0,m))},G=t=>{(H&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},I=async()=>{rt()&&e.__?.[0]?.()&&await at()},K=async t=>(2!=m&&(B(1),L++,await it(async()=>{await h(async()=>{const e=await a();d(e)?G(e):t?z(t):p("Content is not an array: "+e)},()=>{t&&z(t)}),B(0),await I()})),ct),Q=async t=>(et(),await K(t),await h(async()=>S=await n(async(t,e)=>{e||t?2!=m&&(B(1),L++,G(e??t),B(0),await I()):await K()}),o),ct),et=async()=>(S&&(await h(()=>r(S),o),S=void 0),ct),at=async t=>(1!=m&&(B(2),P++,await it(async()=>{await h(()=>s(D,t),o),B(0)})),ct),st=async()=>(nt(),await at(),C=e.addDidFinishTransactionListener(()=>{const t=T();N(t)&&at(t)}),ct),nt=async()=>(C&&(e.delListener(C),C=void 0),ct),rt=()=>!l(C),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(M(j(tt,w),...t),await(async()=>{if(!j(Z,w)){for(F(Z,w,1);!l(f=A(j(tt,w)));)await h(f,o);F(Z,w,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:et,isAutoLoading:()=>!l(S),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,Q]:[Q,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>m,addStatusListener:t=>R(t,_),delListener:t=>(q(t),e),schedule:it,getStore:()=>e,destroy:()=>(j(tt,w).splice(0,void 0),ot()),getStats:()=>({loads:L,saves:P}),...c};return E(ct)},at=async(e,a,s=1,n,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),c=((e,a,s,n,r,o,i,c,g={})=>{let d,w=0,v=0,p=0;const b=$(),S=()=>G(11),M=(t,e,s,n)=>{v++,o?.(t,e,s,n),a(t,e,s,n)},A=async(t,e,a,s)=>f((n,o)=>{const i=s+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);F(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),n([t,e,s])}]),M(t,i,e,a)}),C=(t,[e,a])=>{D(e,([e,a],s)=>{const n=T(t[0],s,Q);D(e,([t,e],a)=>{const s=T(n[0],a,Q);D(t,([t,e],a)=>s[0][a]=I(t,e)),s[1]=K(s[1],e)}),n[1]=K(n[1],a)}),t[1]=K(t[1],a)},m=(a=null,s,n=S())=>h(async()=>{l(s)&&([s,a,n]=await A(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let u=Q();if(i!=r){const[t,s]=(await A(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!O(s)){const[t,r]=(await A(a,5,e.getMergeableRowHashes(s),n))[0];if(C(u,t),!O(r)){const t=(await A(a,6,e.getMergeableCellHashes(r),n))[0];C(u,t)}}}return[u,c==o?Q():(await A(a,7,e.getMergeableValueHashes(),n))[0],1]},c),L=et(e,async()=>{const t=await m();return!t||O(t[0][0])&&O(t[1][0])?void 0:t},async(t,a)=>a?M(null,S(),3,a):M(null,S(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,c,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:v,receives:p}),...g},1);return s((t,a,s,n)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,s,n),0==s?y(j(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&r?m(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(c):3==s&&r?d?.(void 0,n):y(1==s&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...s)=>a.send(((e,...a)=>{return s=e??t,n=N(a,(t,e)=>l(e)?"":e),s+"\n"+n;var s,n})(e,...s)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var s,n,r;-1!==a&&(s=w(t,0,a),n=w(t,a+1),e(s,...(r=n,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},s,n,r,o,{getWebSocket:()=>a});return f(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),s(),t(c)},a=i("open",()=>e()),s=i("error",e)}else t(c)})};export{at as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(t,e)=>((t??"")>(e??"")?t:e)??"",Q=(t="")=>I(H(),t),X=/^\d+$/,Y=t=>new Set(d(t)||l(t)?t:[t]),Z=$(),tt=$(),et=(e,a,s,n,r,o,i,c={},g=0,w=[])=>{let f,S,C,m=0,L=0,P=0;U(Z,w,()=>0),U(tt,w,()=>[]);const _=$(),[H,D,T,N,z]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!O(t)||!O(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,g),[R,J,q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?A(e):null)??t+a++,t=>{X.test(t)&&v(e)<1e3&&M(e,t)}]})(),n=$();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return F(n,l,[s,r,o,i,c]),u=W(r,o??[t],Y),g=l,u?.add(g),l},(a,s,...r)=>b(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?M(s,t):u(a[e])?k(t,t=>n(t,e+1)):b([a[e],null],a=>n(j(t,a),e+1));return n(e,0),s})(a,s),t=>k(t,t=>j(n,t)[0](e,...s??[],...r))),e=>y(j(n,e),([,a,r])=>(W(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),F(n,e),s(e),r)),t=>y(j(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=v(o);i==v(a)?t(e,...o,...n(o)):u(a[i])?b(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),B=t=>{t!=m&&(m=t,J(_,void 0,m))},G=t=>{(H&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},I=async()=>{rt()&&e.__?.[0]?.()&&await at()},K=async t=>(2!=m&&(B(1),L++,await it(async()=>{await h(async()=>{const e=await a();d(e)?G(e):t?z(t):p("Content is not an array: "+e)},()=>{t&&z(t)}),B(0),await I()})),ct),Q=async t=>(et(),await K(t),await h(async()=>S=await n(async(t,e)=>{e||t?2!=m&&(B(1),L++,G(e??t),B(0),await I()):await K()}),o),ct),et=async()=>(S&&(await h(()=>r(S),o),S=void 0),ct),at=async t=>(1!=m&&(B(2),P++,await it(async()=>{await h(()=>s(D,t),o),B(0)})),ct),st=async()=>(nt(),await at(),C=e.addDidFinishTransactionListener(()=>{const t=T();N(t)&&at(t)}),ct),nt=async()=>(C&&(e.delListener(C),C=void 0),ct),rt=()=>!l(C),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(M(j(tt,w),...t),await(async()=>{if(!j(Z,w)){for(F(Z,w,1);!l(f=A(j(tt,w)));)await h(f,o);F(Z,w,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:et,isAutoLoading:()=>!l(S),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,Q]:[Q,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>m,addStatusListener:t=>R(t,_),delListener:t=>(q(t),e),schedule:it,getStore:()=>e,destroy:()=>(j(tt,w).splice(0,void 0),ot()),getStats:()=>({loads:L,saves:P}),...c};return E(ct)},at=async(e,a,s=1,n,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),c=((e,a,s,n,r,o,i,c,g={})=>{let d,w=0,v=0,p=0;const b=$(),S=()=>G(11),M=(t,e,s,n)=>{v++,o?.(t,e,s,n),a(t,e,s,n)},A=async(t,e,a,s)=>f((n,o)=>{const i=s+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);F(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),n([t,e,s])}]),M(t,i,e,a)}),C=(t,[e,a])=>{D(e,([e,a],s)=>{const n=T(t[0],s,Q);D(e,([t,e],a)=>{const s=T(n[0],a,Q);D(t,([t,e],a)=>s[0][a]=I(t,e)),s[1]=K(s[1],e)}),n[1]=K(n[1],a)}),t[1]=K(t[1],a)},m=(a=null,s,n=S())=>h(async()=>{l(s)&&([s,a,n]=await A(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let u=Q();if(i!=r){const[t,s]=(await A(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!O(s)){const[t,r]=(await A(a,5,e.getMergeableRowHashes(s),n))[0];if(C(u,t),!O(r)){const t=(await A(a,6,e.getMergeableCellHashes(r),n))[0];C(u,t)}}}return[u,c==o?Q():(await A(a,7,e.getMergeableValueHashes(),n))[0],1]},c),L=et(e,async()=>{const t=await m();return!t||O(t[0][0])&&O(t[1][0])?void 0:t},async(t,a)=>a?M(null,S(),3,a):M(null,S(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,c,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:v,receives:p}),...g},1);return s((t,a,s,n)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,s,n),0==s?y(j(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&r?m(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(c):3==s&&r?d?.(void 0,n):y(1==s&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...s)=>a.send(((e,...a)=>{return s=e??t,n=N(a,(t,e)=>l(e)?"":e),s+"\n"+n;var s,n})(e,...s)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var s,n,r;-1!==a&&(s=w(t,0,a),n=w(t,a+1),e(s,...(r=n,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},s,n,r,o,{getWebSocket:()=>a});return f(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),s(),t(c)},a=i("open",()=>e()),s=i("error",e)}else t(c)})};export{at as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=Math,o=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,i=n.floor,c=n.random,l=t=>null==t,y=t=>void 0===t,d=t=>null===t,u=o(l),g=o(y),w=t=>Array.isArray(t),v=(t,e,a)=>t.slice(e,a),h=t=>t.length,S=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),A=(t,e,a)=>t.reduce(e,a),M=(t,...e)=>t.push(...e),C=t=>t.shift(),L=t=>t?.size??0,m=(P=L,t=>A(H(t),(t,e)=>t+P(e),0));var P;const _=t=>y(t)||0==L(t),H=t=>[...t?.values()??[]],D=(t,e)=>t?.forEach(e),T=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=t=>!l(t)&&u(O(t),t=>t==k.prototype||l(O(t)),()=>!0),z=k.keys,N=k.freeze,R=(t=[])=>k.fromEntries(t),V=(t,e)=>f(E(t),([t,a])=>e(a,t)),x=t=>I(t)&&0==(t=>h(z(t)))(t),J=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),$=Map,j=t=>new $(t),F=t=>[...t?.keys()??[]],U=(t,e)=>t?.get(e),W=(t,e,a)=>y(a)?(T(t,e),t):t?.set(e,a),q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(U(t,e)):W(t,e,a()),U(t,e)},B=(t,e,a,s,n=0)=>g((a?q:U)(t,e[n],n>h(e)-2?a:j),o=>{if(n>h(e)-2)return s?.(o)&&W(t,e[n]),o;const r=B(o,e,a,s,n+1);return _(o)&&W(t,e[n]),r}),G=/^\d+$/,K=t=>new Set(w(t)||y(t)?t:[t]),Q=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?C(e):null)??t+a++,t=>{G.test(t)&&h(e)<1e3&&M(e,t)}]})(),o=j();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const y=s(1);var d,u;return W(o,y,[n,r,i,c,l]),d=B(r,i??[t],K),u=y,d?.add(u),y},(e,s,...n)=>f(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?M(s,t):d(a[e])?D(t,t=>n(t,e+1)):f([a[e],null],a=>n(U(t,a),e+1));return n(e,0),s})(e,s),t=>D(t,t=>U(o,t)[0](a,...s??[],...n))),e=>g(U(o,e),([,a,s])=>(B(a,s??[t],void 0,t=>(T(t,e),_(t)?1:0)),W(o,e),n(e),s)),t=>g(U(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=h(r);i==h(e)?t(a,...r,...n(r)):d(e[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},X=JSON.stringify,Y=JSON.parse,Z=t=>""===t?void 0:w(t)?b(t,Z):I(t)?((t,e)=>R(((t,e)=>b(E(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,Z):t,tt=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(v(t,0,a),v(t,a+1))},et=(t,e)=>t+"\n"+e,at=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),st=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>i(256*c())),nt=(e=16)=>A(st(new Uint8Array(e)),(t,e)=>t+at[63&e],t),ot=(t,e)=>e?[t,e]:[t],rt=(t,e)=>((t??"")>(e??"")?t:e)??"",it=(t="")=>ot(R(),t),ct=j(),lt=j(),yt=/\/([^?]*)/,dt=(a,n,o)=>{const r=j(),i=j(),c=j(),l=j(),[u,v,h]=Q(()=>H),A=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},P=(e,a,s)=>n=>tt(n,(n,o)=>{const r=et(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,D(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):U(a,n)?.send(r)});a.on("connection",(a,u)=>{return g((h=u.url,b=yt,h?.match(b)),([,h])=>g(u.headers["sec-websocket-key"],async u=>{const b=q(c,h,j),L=q(l,h,()=>[0]),m=P(u,b,L);_(b)&&(v(r,void 0,h,1),await(async(e,a,r)=>g(await(n?.(a)),a=>{e[0]=1,e[1]=w(a)?a[0]:a;const n=P("S",r,e);e[2]=((e,a,n,o,r,i,c,l,u={})=>{let v,h=0,f=0,b=0;const A=j(),L=()=>nt(11),m=(t,e,s,n)=>{f++,a(t,e,s,n)},P=async(t,e,a,n)=>new s((s,o)=>{const i=n+"."+nt(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{T(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);W(A,i,[t,(t,e)=>{clearTimeout(c),T(A,i),s([t,e,n])}]),m(t,i,e,a)}),_=(t,[e,a])=>{V(e,([e,a],s)=>{const n=J(t[0],s,it);V(e,([t,e],a)=>{const s=J(n[0],a,it);V(t,([t,e],a)=>s[0][a]=ot(t,e)),s[1]=rt(s[1],e)}),n[1]=rt(n[1],a)}),t[1]=rt(t[1],a)},H=(a=null,s,n=L())=>p(async()=>{y(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=it();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!x(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(_(l,t),!x(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];_(l,t)}}}return[l,c==r?it():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},l),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,u,g,v=0,h=0,f=0;q(ct,l,()=>0),q(lt,l,()=>[]);const b=j(),[A,L,m,P,_]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!x(t)||!x(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!x(t)||!x(e),e.setContent]:S("Store type not supported by this Persister"))(r,t,c),[H,D,T]=Q(()=>K),k=t=>{t!=v&&(v=t,D(b,void 0,v))},O=e=>{(A&&w(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{F()&&t.__?.[0]?.()&&await V()},I=async t=>(2!=v&&(k(1),h++,await G(async()=>{await p(async()=>{const a=await e();w(a)?O(a):t?_(t):S("Content is not an array: "+a)},()=>{t&&_(t)}),k(0),await E()})),K),z=async t=>(R(),await I(t),await p(async()=>u=await s(async(t,e)=>{e||t?2!=v&&(k(1),h++,O(e??t),k(0),await E()):await I()}),o),K),R=async()=>(u&&(await p(()=>n(u),o),u=void 0),K),V=async t=>(1!=v&&(k(2),f++,await G(async()=>{await p(()=>a(L,t),o),k(0)})),K),J=async()=>($(),await V(),g=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&V(t)}),K),$=async()=>(g&&(t.delListener(g),g=void 0),K),F=()=>!y(g),B=async(t=!1)=>{const[e,a]=t?[$,R]:[R,$];return await e(),await a(),K},G=async(...t)=>(M(U(lt,l),...t),await(async()=>{if(!U(ct,l)){for(W(ct,l,1);!y(d=C(U(lt,l)));)await p(d,o);W(ct,l,0)}})(),K),K={load:I,startAutoLoad:z,stopAutoLoad:R,isAutoLoading:()=>!y(u),save:V,startAutoSave:J,stopAutoSave:$,isAutoSaving:F,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[J,z]:[z,J];return await a(t),await s(t),K},stopAutoPersisting:B,getStatus:()=>v,addStatusListener:t=>H(t,b),delListener:e=>(T(e),t),schedule:G,getStore:()=>t,destroy:()=>(U(lt,l).splice(0,void 0),B()),getStats:()=>({loads:h,saves:f}),...i};return N(K)})(e,async()=>{const t=await H();return!t||x(t[0][0])&&x(t[1][0])?void 0:t},async(t,a)=>a?m(null,L(),3,a):m(null,L(),2,e.getMergeableContentHashes()),t=>v=t,()=>v=void 0,l,2,{startSync:async t=>(h=1,await D.startAutoPersisting(t)),stopSync:async()=>(h=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:b}),...u},1);return n((t,a,s,n)=>{const o=h||D.isAutoLoading();b++,0==s?g(U(A,a),([e,a])=>d(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{v?.(void 0,t)}).catch(l):3==s&&o?v?.(void 0,n):g(1==s&&(h||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{m(t,a,0,e)})}),D})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>et(e??t,X(a,(t,e)=>y(e)?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>tt(t,(t,a)=>{return e(t,...(s=a,Z(Y(s))));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=w(a)?a[1]:t=>0}))(L,h,b)),W(b,u,a),v(i,[h],u,1),a.on("message",t=>{const e=t.toString("utf8");0==L[0]?m(e):M(L[4],e)}),1==L[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(L),f(L[4],m),L[4]=[]),a.on("close",async()=>{T(b,u),v(i,[h],u,-1),_(b)&&(await A(L),T(l,h),T(c,h),v(r,void 0,h,-1))}),o&&a.on(e,o)}));var h,b}),o&&a.on(e,o);const H={getWebSocketServer:()=>a,getPathIds:()=>F(c),getClientIds:t=>F(U(c,t)),addPathIdsListener:t=>u(t,r),addClientIdsListener:(t,e)=>u(e,i,[t]),delListener:t=>(h(t),H),getStats:()=>({paths:L(c),clients:m(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=l,e=A,b([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return N(H)};export{dt as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),
|
|
1
|
+
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=Math,o=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,i=n.floor,c=n.random,l=t=>null==t,y=t=>void 0===t,d=t=>null===t,u=o(l),g=o(y),w=t=>Array.isArray(t),v=(t,e,a)=>t.slice(e,a),h=t=>t.length,S=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),A=(t,e,a)=>t.reduce(e,a),M=(t,...e)=>t.push(...e),C=t=>t.shift(),L=t=>t?.size??0,m=(P=L,t=>A(H(t),(t,e)=>t+P(e),0));var P;const _=t=>y(t)||0==L(t),H=t=>[...t?.values()??[]],D=(t,e)=>t?.forEach(e),T=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=t=>!l(t)&&u(O(t),t=>t==k.prototype||l(O(t)),()=>!0),z=k.keys,N=k.freeze,R=(t=[])=>k.fromEntries(t),V=(t,e)=>f(E(t),([t,a])=>e(a,t)),x=t=>I(t)&&0==(t=>h(z(t)))(t),J=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),$=Map,j=t=>new $(t),F=t=>[...t?.keys()??[]],U=(t,e)=>t?.get(e),W=(t,e,a)=>y(a)?(T(t,e),t):t?.set(e,a),q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(U(t,e)):W(t,e,a()),U(t,e)},B=(t,e,a,s,n=0)=>g((a?q:U)(t,e[n],n>h(e)-2?a:j),o=>{if(n>h(e)-2)return s?.(o)&&W(t,e[n]),o;const r=B(o,e,a,s,n+1);return _(o)&&W(t,e[n]),r}),G=/^\d+$/,K=t=>new Set(w(t)||y(t)?t:[t]),Q=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?C(e):null)??t+a++,t=>{G.test(t)&&h(e)<1e3&&M(e,t)}]})(),o=j();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const y=s(1);var d,u;return W(o,y,[n,r,i,c,l]),d=B(r,i??[t],K),u=y,d?.add(u),y},(e,s,...n)=>f(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?M(s,t):d(a[e])?D(t,t=>n(t,e+1)):f([a[e],null],a=>n(U(t,a),e+1));return n(e,0),s})(e,s),t=>D(t,t=>U(o,t)[0](a,...s??[],...n))),e=>g(U(o,e),([,a,s])=>(B(a,s??[t],void 0,t=>(T(t,e),_(t)?1:0)),W(o,e),n(e),s)),t=>g(U(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=h(r);i==h(e)?t(a,...r,...n(r)):d(e[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},X=JSON.stringify,Y=JSON.parse,Z=t=>""===t?void 0:w(t)?b(t,Z):I(t)?((t,e)=>R(((t,e)=>b(E(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,Z):t,tt=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(v(t,0,a),v(t,a+1))},et=(t,e)=>t+"\n"+e,at=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),st=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>i(256*c())),nt=(e=16)=>A(st(new Uint8Array(e)),(t,e)=>t+at[63&e],t),ot=(t,e)=>e?[t,e]:[t],rt=(t,e)=>((t??"")>(e??"")?t:e)??"",it=(t="")=>ot(R(),t),ct=j(),lt=j(),yt=/\/([^?]*)/,dt=(a,n,o)=>{const r=j(),i=j(),c=j(),l=j(),[u,v,h]=Q(()=>H),A=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},P=(e,a,s)=>n=>tt(n,(n,o)=>{const r=et(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,D(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):U(a,n)?.send(r)});a.on("connection",(a,u)=>{return g((h=u.url,b=yt,h?.match(b)),([,h])=>g(u.headers["sec-websocket-key"],async u=>{const b=q(c,h,j),L=q(l,h,()=>[0]),m=P(u,b,L);_(b)&&(v(r,void 0,h,1),await(async(e,a,r)=>g(await(n?.(a)),a=>{e[0]=1,e[1]=w(a)?a[0]:a;const n=P("S",r,e);e[2]=((e,a,n,o,r,i,c,l,u={})=>{let v,h=0,f=0,b=0;const A=j(),L=()=>nt(11),m=(t,e,s,n)=>{f++,a(t,e,s,n)},P=async(t,e,a,n)=>new s((s,o)=>{const i=n+"."+nt(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{T(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);W(A,i,[t,(t,e)=>{clearTimeout(c),T(A,i),s([t,e,n])}]),m(t,i,e,a)}),_=(t,[e,a])=>{V(e,([e,a],s)=>{const n=J(t[0],s,it);V(e,([t,e],a)=>{const s=J(n[0],a,it);V(t,([t,e],a)=>s[0][a]=ot(t,e)),s[1]=rt(s[1],e)}),n[1]=rt(n[1],a)}),t[1]=rt(t[1],a)},H=(a=null,s,n=L())=>p(async()=>{y(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=it();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!x(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(_(l,t),!x(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];_(l,t)}}}return[l,c==r?it():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},l),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,u,g,v=0,h=0,f=0;q(ct,l,()=>0),q(lt,l,()=>[]);const b=j(),[A,L,m,P,_]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!x(t)||!x(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!x(t)||!x(e),e.setContent]:S("Store type not supported by this Persister"))(r,t,c),[H,D,T]=Q(()=>K),k=t=>{t!=v&&(v=t,D(b,void 0,v))},O=e=>{(A&&w(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{F()&&t.__?.[0]?.()&&await V()},I=async t=>(2!=v&&(k(1),h++,await G(async()=>{await p(async()=>{const a=await e();w(a)?O(a):t?_(t):S("Content is not an array: "+a)},()=>{t&&_(t)}),k(0),await E()})),K),z=async t=>(R(),await I(t),await p(async()=>u=await s(async(t,e)=>{e||t?2!=v&&(k(1),h++,O(e??t),k(0),await E()):await I()}),o),K),R=async()=>(u&&(await p(()=>n(u),o),u=void 0),K),V=async t=>(1!=v&&(k(2),f++,await G(async()=>{await p(()=>a(L,t),o),k(0)})),K),J=async()=>($(),await V(),g=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&V(t)}),K),$=async()=>(g&&(t.delListener(g),g=void 0),K),F=()=>!y(g),B=async(t=!1)=>{const[e,a]=t?[$,R]:[R,$];return await e(),await a(),K},G=async(...t)=>(M(U(lt,l),...t),await(async()=>{if(!U(ct,l)){for(W(ct,l,1);!y(d=C(U(lt,l)));)await p(d,o);W(ct,l,0)}})(),K),K={load:I,startAutoLoad:z,stopAutoLoad:R,isAutoLoading:()=>!y(u),save:V,startAutoSave:J,stopAutoSave:$,isAutoSaving:F,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[J,z]:[z,J];return await a(t),await s(t),K},stopAutoPersisting:B,getStatus:()=>v,addStatusListener:t=>H(t,b),delListener:e=>(T(e),t),schedule:G,getStore:()=>t,destroy:()=>(U(lt,l).splice(0,void 0),B()),getStats:()=>({loads:h,saves:f}),...i};return N(K)})(e,async()=>{const t=await H();return!t||x(t[0][0])&&x(t[1][0])?void 0:t},async(t,a)=>a?m(null,L(),3,a):m(null,L(),2,e.getMergeableContentHashes()),t=>v=t,()=>v=void 0,l,2,{startSync:async t=>(h=1,await D.startAutoPersisting(t)),stopSync:async()=>(h=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:b}),...u},1);return n((t,a,s,n)=>{const o=h||D.isAutoLoading();b++,0==s?g(U(A,a),([e,a])=>d(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{v?.(void 0,t)}).catch(l):3==s&&o?v?.(void 0,n):g(1==s&&(h||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{m(t,a,0,e)})}),D})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>et(e??t,X(a,(t,e)=>y(e)?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>tt(t,(t,a)=>{return e(t,...(s=a,Z(Y(s))));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=w(a)?a[1]:t=>0}))(L,h,b)),W(b,u,a),v(i,[h],u,1),a.on("message",t=>{const e=t.toString("utf8");0==L[0]?m(e):M(L[4],e)}),1==L[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(L),f(L[4],m),L[4]=[]),a.on("close",async()=>{T(b,u),v(i,[h],u,-1),_(b)&&(await A(L),T(l,h),T(c,h),v(r,void 0,h,-1))}),o&&a.on(e,o)}));var h,b}),o&&a.on(e,o);const H={getWebSocketServer:()=>a,getPathIds:()=>F(c),getClientIds:t=>F(U(c,t)),addPathIdsListener:t=>u(t,r),addClientIdsListener:(t,e)=>u(e,i,[t]),delListener:t=>(h(t),H),getStats:()=>({paths:L(c),clients:m(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=l,e=A,b([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return N(H)};export{dt as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),
|
|
1
|
+
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=Math,r=t=>(e,s,a)=>t(e)?a?.():s(e),i=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),c=n.floor,l=n.random,g=t=>null==t,u=t=>void 0===t,d=t=>null===t,h=r(g),w=r(u),y=t=>Array.isArray(t),p=(t,e,s)=>t.slice(e,s),S=t=>t.length,v=t=>{throw Error(t)},C=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),m=Object,P=t=>m.getPrototypeOf(t),k=m.entries,x=t=>!g(t)&&h(P(t),t=>t==m.prototype||g(P(t)),()=>!0),L=m.keys,T=m.freeze,I=(t=[])=>m.fromEntries(t),_=(t,e)=>f(k(t),([t,s])=>e(s,t)),H=t=>x(t)&&0==(t=>S(L(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):x(t)?((t,e)=>I(((t,e)=>b(k(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(p(t,0,s),p(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>u(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>u(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),q=(t,e,s)=>u(s)?(F(t,e),t):t?.set(e,s),B=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(j(t,e)):q(t,e,s()),j(t,e)},G=(t,e,s,a,n=0)=>w((s?B:j)(t,e[n],n>S(e)-2?s:$),r=>{if(n>S(e)-2)return a?.(r)&&q(t,e[n]),r;const i=G(r,e,s,a,n+1);return U(r)&&q(t,e[n]),i}),K=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=i.crypto?t=>i.crypto.getRandomValues(t):t=>b(t,()=>c(256*l())),X=(t=16)=>{return e=(t,e)=>t+K[63&e],Q(new Uint8Array(t)).reduce(e,"");var e},Y=(t,e)=>e?[t,e]:[t],Z=(t,e)=>((t??"")>(e??"")?t:e)??"",tt=(t="")=>Y(I(),t),et=/^\d+$/,st=t=>new Set(y(t)||u(t)?t:[t]),at=$(),nt=$(),rt=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let h,p,b,m=0,P=0,k=0;B(at,g,()=>0),B(nt,g,()=>[]);const x=$(),[L,I,_,D,O]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!H(t)||!H(e),e.setContent]:v("Store type not supported by this Persister"))(o,t,l),[R,E,N]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?A(t):null)??e+s++,e=>{et.test(e)&&S(t)<1e3&&M(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=ct;const l=s(1);var g,u;return q(n,l,[a,r,i,o,c]),g=G(r,i??[e],st),u=l,g?.add(u),l},(s,a,...r)=>f(((t,s=[e])=>{const a=[],n=(t,e)=>e==S(s)?M(a,t):d(s[e])?V(t,t=>n(t,e+1)):f([s[e],null],s=>n(j(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>j(n,e)[0](t,...a??[],...r))),t=>w(j(n,t),([,s,r])=>(G(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),q(n,t),a(t),r)),e=>w(j(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=S(i);o==S(s)?e(t,...i,...n(i)):d(s[o])?f(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),W=t=>{t!=m&&(m=t,E(x,void 0,m))},z=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async()=>{rt()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=m&&(W(1),P++,await ot(async()=>{await C(async()=>{const e=await s();y(e)?z(e):t?O(t):v("Content is not an array: "+e)},()=>{t&&O(t)}),W(0),await J()})),ct),Q=async t=>(X(),await K(t),await C(async()=>p=await n(async(t,e)=>{e||t?2!=m&&(W(1),P++,z(e??t),W(0),await J()):await K()}),i),ct),X=async()=>(p&&(await C(()=>r(p),i),p=void 0),ct),Y=async t=>(1!=m&&(W(2),k++,await ot(async()=>{await C(()=>a(I,t),i),W(0)})),ct),Z=async()=>(tt(),await Y(),b=t.addDidFinishTransactionListener(()=>{const t=_();D(t)&&Y(t)}),ct),tt=async()=>(b&&(t.delListener(b),b=void 0),ct),rt=()=>!u(b),it=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),ct},ot=async(...t)=>(M(j(nt,g),...t),await(async()=>{if(!j(at,g)){for(q(at,g,1);!u(h=A(j(nt,g)));)await C(h,i);q(at,g,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!u(p),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),ct},stopAutoPersisting:it,getStatus:()=>m,addStatusListener:t=>R(t,x),delListener:e=>(N(e),t),schedule:ot,getStore:()=>t,destroy:()=>(j(nt,g).splice(0,void 0),it()),getStats:()=>({loads:P,saves:k}),...c};return T(ct)},it=/\/([^?]*)/,ot="S",ct=t=>{return(s=new URL(t.url).pathname,a=it,s?.match(a))?.[1]??e;var s,a},lt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,gt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),ut=()=>gt(426,null,"Upgrade required");class dt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await w(await this.createPersister(),async t=>{const s=((t,s,n,r,i,c,l,g,h={})=>{let y,p=0,S=0,v=0;const f=$(),b=()=>X(11),M=(t,e,a,n)=>{S++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+X(4),l=o(()=>{F(f,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);q(f,c,[t,(t,e)=>{clearTimeout(l),F(f,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{_(e,([e,s],a)=>{const n=D(t[0],a,tt);_(e,([t,e],s)=>{const a=D(n[0],s,tt);_(t,([t,e],s)=>a[0][s]=Y(t,e)),a[1]=Z(a[1],e)}),n[1]=Z(n[1],s)}),t[1]=Z(t[1],s)},P=(s=null,a,n=b())=>C(async()=>{u(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=tt();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?tt():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},g),k=rt(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,b(),3,s):M(null,b(),2,t.getMergeableContentHashes()),t=>y=t,()=>y=void 0,g,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:S,receives:v}),...h},1);return n((e,s,a,n)=>{const r=p||k.isAutoLoading();v++,0==a?w(j(f,s),([t,s])=>d(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{y?.(void 0,t)}).catch(g):3==a&&r?y?.(void 0,n):w(1==a&&(p||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(ot,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),o(s.startSync)}))}fetch(t){const s=ct(t);return w(lt(t),t=>{const[a,n]=(r=new WebSocketPair,m.values(r));var r,i;return i=this.#s(),0==S(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(ot,null,1,e)),gt(101,a)},ut)}webSocketMessage(t,e){w(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==S(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=ot&&this.#t?.(r),f(this.#s(),t=>{t!=a&&t.send(r)})):s==ot?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ht=t=>(e,s)=>lt(e)?s[t].get(s[t].idFromName(ct(e))).fetch(e):ut();export{dt as WsServerDurableObject,ht as getWsServerDurableObjectFetch};
|
|
Binary file
|