tinybase 7.0.0-beta.2 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/common/index.d.ts +1 -1
- package/@types/mergeable-store/index.d.ts +1 -1
- package/@types/mergeable-store/with-schemas/index.d.ts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-pglite/index.d.ts +5 -1
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +5 -1
- package/@types/persisters/persister-postgres/index.d.ts +4 -0
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -0
- package/@types/queries/index.d.ts +1 -1
- package/@types/store/index.d.ts +21 -19
- package/@types/store/with-schemas/index.d.ts +15 -13
- package/agents.md +62 -0
- package/checkpoints/index.js +8 -6
- package/checkpoints/with-schemas/index.js +8 -6
- package/common/index.js +4 -3
- package/common/with-schemas/index.js +4 -3
- package/index.js +60 -30
- package/indexes/index.js +7 -5
- package/indexes/with-schemas/index.js +7 -5
- package/mergeable-store/index.js +51 -21
- package/mergeable-store/with-schemas/index.js +51 -21
- package/metrics/index.js +7 -5
- package/metrics/with-schemas/index.js +7 -5
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -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-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +78 -46
- package/omni/with-schemas/index.js +78 -46
- package/package.json +3 -3
- package/persisters/index.js +14 -10
- package/persisters/persister-automerge/index.js +12 -8
- package/persisters/persister-automerge/with-schemas/index.js +12 -8
- package/persisters/persister-browser/index.js +12 -8
- package/persisters/persister-browser/with-schemas/index.js +12 -8
- package/persisters/persister-cr-sqlite-wasm/index.js +14 -10
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +14 -10
- package/persisters/persister-durable-object-sql-storage/index.js +14 -10
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +14 -10
- package/persisters/persister-durable-object-storage/index.js +12 -8
- package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -8
- package/persisters/persister-electric-sql/index.js +14 -10
- package/persisters/persister-electric-sql/with-schemas/index.js +14 -10
- package/persisters/persister-expo-sqlite/index.js +14 -10
- package/persisters/persister-expo-sqlite/with-schemas/index.js +14 -10
- package/persisters/persister-file/index.js +12 -8
- package/persisters/persister-file/with-schemas/index.js +12 -8
- package/persisters/persister-indexed-db/index.js +12 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +12 -8
- package/persisters/persister-libsql/index.js +14 -10
- package/persisters/persister-libsql/with-schemas/index.js +14 -10
- package/persisters/persister-partykit-client/index.js +12 -8
- package/persisters/persister-partykit-client/with-schemas/index.js +12 -8
- package/persisters/persister-partykit-server/index.js +4 -3
- package/persisters/persister-partykit-server/with-schemas/index.js +4 -3
- package/persisters/persister-pglite/index.js +13 -9
- package/persisters/persister-pglite/with-schemas/index.js +13 -9
- package/persisters/persister-postgres/index.js +13 -9
- package/persisters/persister-postgres/with-schemas/index.js +13 -9
- package/persisters/persister-powersync/index.js +14 -10
- package/persisters/persister-powersync/with-schemas/index.js +14 -10
- package/persisters/persister-react-native-mmkv/index.js +12 -8
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +12 -8
- package/persisters/persister-react-native-sqlite/index.js +14 -10
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +14 -10
- package/persisters/persister-remote/index.js +14 -10
- package/persisters/persister-remote/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite-bun/index.js +14 -10
- package/persisters/persister-sqlite-bun/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite-wasm/index.js +14 -10
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite3/index.js +14 -10
- package/persisters/persister-sqlite3/with-schemas/index.js +14 -10
- package/persisters/persister-yjs/index.js +18 -12
- package/persisters/persister-yjs/with-schemas/index.js +18 -12
- package/persisters/with-schemas/index.js +14 -10
- package/queries/index.js +17 -12
- package/queries/with-schemas/index.js +17 -12
- package/readme.md +2 -2
- package/relationships/index.js +7 -5
- package/relationships/with-schemas/index.js +7 -5
- package/releases.md +100 -12
- package/store/index.js +48 -18
- package/store/with-schemas/index.js +48 -18
- package/synchronizers/index.js +13 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +14 -10
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +14 -10
- package/synchronizers/synchronizer-local/index.js +14 -10
- package/synchronizers/synchronizer-local/with-schemas/index.js +14 -10
- package/synchronizers/synchronizer-ws-client/index.js +13 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server/index.js +13 -9
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-simple/index.js +5 -4
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +5 -4
- package/synchronizers/with-schemas/index.js +13 -9
- package/ui-react/index.js +9 -6
- package/ui-react/with-schemas/index.js +9 -6
- package/ui-react-dom/index.js +14 -7
- package/ui-react-dom/with-schemas/index.js +14 -7
- package/ui-react-inspector/index.js +53 -23
- package/ui-react-inspector/with-schemas/index.js +53 -23
- package/with-schemas/index.js +60 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,n)=>t(e)?n?.():a(e),n=globalThis,s=(t,e=0)=>setTimeout(t,1e3*e),r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=a(i),u=a(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),v=(t,...e)=>t.push(...e),f=t=>t.shift(),b=t=>c(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),C=(t,e)=>t?.delete(e),A=Object,S=t=>A.getPrototypeOf(t),m=A.entries,L=A.keys,T=A.freeze,H=(t,e)=>p(m(t),([t,a])=>e(a,t)),P=t=>(t=>!i(t)&&g(S(t),t=>t==A.prototype||i(S(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]),E=t=>new Map(t),z=(t,e)=>t?.get(e),R=(t,e,a)=>void 0===a?(C(t,e),t):t?.set(e,a),V=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(z(t,e)):R(t,e,a()),z(t,e)},O=(t,e,a,n,s=0)=>u((a?V:z)(t,e[s],s>d(e)-2?a:E),r=>{if(s>d(e)-2)return n?.(r)&&R(t,e[s]),r;const o=O(r,e,a,n,s+1);return b(r)&&R(t,e[s]),o}),$=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r.random())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],F=(t,e)=>((t??"")>(e??"")?t:e)??"",N=(t="")=>x(((t=[])=>A.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(y(t)||c(t)?t:[t]),B=E(),G=E(),I=(t,e,a,n,s,r,o,i={},g=0,A=[])=>{let S,m,L,H=0,D=0,$=0;V(B,A,()=>0),V(G,A,()=>[]);const j=E(),[k,x,F,N,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!P(t)||!P(e),e.setContent]:w("Store type not supported by this Persister"))(o,t,g),[J,K,Q]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?f(t):null)??""+e++,e=>{U.test(e)&&d(t)<1e3&&v(t,e)}]})(),n=E();return[(a,s,r,o=[],i=()=>[])=>{t??=rt;const c=e(1);var l,g;return R(n,c,[a,s,r,o,i]),l=O(s,r??[""],q),g=c,l?.add(g),c},(e,a,...s)=>p(((t,e=[""])=>{const a=[],n=(t,s)=>s==d(e)?v(a,t):null===e[s]?M(t,t=>n(t,s+1)):p([e[s],null],e=>n(z(t,e),s+1));return n(t,0),a})(e,a),e=>M(e,e=>z(n,e)[0](t,...a??[],...s))),t=>u(z(n,t),([,e,s])=>(O(e,s??[""],void 0,e=>(C(e,t),b(e)?1:0)),R(n,t),a(t),s)),e=>u(z(n,e),([e,,a=[],n,s])=>{const r=(...o)=>{const i=d(o);i==d(a)?e(t,...o,...s(o)):l(a[i])?p(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),W=t=>{t!=H&&(H=t,K(j,void 0,H))},X=e=>{(k&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},Y=async t=>(2!=H&&(W(1),D++,await st(async()=>{await h(async()=>{const a=await e();y(a)?X(a):t?I(t):w("Content is not an array: "+a)},()=>{t&&I(t)}),W(0)})),rt),Z=async t=>(_(),await Y(t),await h(async()=>m=await n(async(t,e)=>{e||t?2!=H&&(W(1),D++,X(e??t),W(0)):await Y()}),r),rt),_=async()=>(m&&(await h(()=>s(m),r),m=void 0),rt),tt=async t=>(1!=H&&(W(2),$++,await st(async()=>{await h(()=>a(x,t),r),W(0)})),rt),et=async()=>(at(),await tt(),L=t.addDidFinishTransactionListener(()=>{const t=F();N(t)&&tt(t)}),rt),at=async()=>(L&&(t.delListener(L),L=void 0),rt),nt=async(t=!1)=>{const[e,a]=t?[at,_]:[_,at];return await e(),await a(),rt},st=async(...t)=>(v(z(G,A),...t),await(async()=>{if(!z(B,A)){for(R(B,A,1);!c(S=f(z(G,A)));)await h(S,r);R(B,A,0)}})(),rt),rt={load:Y,startAutoLoad:Z,stopAutoLoad:_,isAutoLoading:()=>!c(m),save:tt,startAutoSave:et,stopAutoSave:at,isAutoSaving:()=>!c(L),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[et,Z]:[Z,et];return await a(t),await n(t),rt},stopAutoPersisting:nt,getStatus:()=>H,addStatusListener:t=>J(t,j),delListener:e=>(Q(e),t),schedule:st,getStore:()=>t,destroy:()=>(z(G,A).splice(0,void 0),nt()),getStats:()=>({loads:D,saves:$}),...i};return T(rt)},J=E(),K=(t,a,n,r)=>{const o=k();return((t,a,n,r,o,i,g,y,d={})=>{let w,p=0,v=0,f=0;const b=E(),M=()=>k(11),A=(t,e,n,s)=>{v++,i?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,n,r)=>new e((e,i)=>{const c=r+"."+k(4),l=s(()=>{C(b,c),i(`No response from ${t??"anyone"} to ${c}, `+a)},o);R(b,c,[t,(t,a)=>{clearTimeout(l),C(b,c),e([t,a,r])}]),A(t,c,a,n)}),m=(t,[e,a])=>{H(e,([e,a],n)=>{const s=D(t[0],n,N);H(e,([t,e],a)=>{const n=D(s[0],a,N);H(t,([t,e],a)=>n[0][a]=x(t,e)),n[1]=F(n[1],e)}),s[1]=F(s[1],a)}),t[1]=F(t[1],a)},L=(e=null,a,n=M())=>h(async()=>{c(a)&&([a,e,n]=await S(null,1,"",n));const[s,r]=a,[o,i]=t.getMergeableContentHashes();let l=N();if(o!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!P(s)){const[a,r]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(m(l,a),!P(r)){const a=(await S(e,6,t.getMergeableCellHashes(r),n))[0];m(l,a)}}}return[l,i==r?N():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]},y),T=I(t,async()=>{const t=await L();return!t||P(t[0][0])&&P(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=>(p=1,await T.startAutoPersisting(t)),stopSync:async()=>(p=0,await T.stopAutoPersisting(),T),destroy:async()=>(await T.stopSync(),r(),T),getSynchronizerStats:()=>({sends:v,receives:f}),...d},1);return n((e,a,n,s)=>{const r=p||T.isAutoLoading();f++,g?.(e,a,n,s),0==n?u(z(b,a),([t,a])=>l(t)||t==e?a(s,e):0):2==n&&r?L(e,s,a??void 0).then(t=>{w?.(void 0,t)}).catch(y):3==n&&r?w?.(void 0,s):u(1==n&&(p||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{A(e,a,0,t)})}),T})(t,(t,e,a,n)=>s(()=>{return l(t)?(s=(t,s)=>t!=o?s(o,e,a,n):0,M(J,(t,e)=>s(e,t))):z(J,t)?.(o,e,a,n);var s}),t=>{R(J,o,t)},()=>{C(J,o)},.01,a,n,r)};export{K as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),S=t=>t.shift(),M=Object,C=t=>M.getPrototypeOf(t),A=M.entries,m=M.keys,L=M.freeze,P=(t,e)=>p(A(t),([t,a])=>e(a,t)),T=t=>(t=>!i(t)&&g(C(t),t=>t==M.prototype||i(C(t)),()=>!0))(t)&&0==(t=>w(m(t)))(t),E=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),H=JSON.stringify,D=JSON.parse,O=t=>c(t)||0==(t=>t?.size??0)(t),N=(t,e)=>t?.forEach(e),z=(t,e)=>t?.delete(e),R=t=>new Map(t),V=(t,e)=>t?.get(e),k=(t,e,a)=>void 0===a?(z(t,e),t):t?.set(e,a),x=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(V(t,e)):k(t,e,a()),V(t,e)},J=(t,e,a,n,s=0)=>u((a?x:V)(t,e[s],s>w(e)-2?a:R),r=>{if(s>w(e)-2)return n?.(r)&&k(t,e[s]),r;const o=J(r,e,a,n,s+1);return O(r)&&k(t,e[s]),o}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=s.crypto?t=>s.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r.random())))(t),F=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},U=(t,e)=>e?[t,e]:[t],W=(t,e)=>((t??"")>(e??"")?t:e)??"",q=(t="")=>U(((t=[])=>M.fromEntries(t))(),t),B=/^\d+$/,G=t=>new Set(y(t)||c(t)?t:[t]),I=R(),K=R(),Q=(e,a,n,s,r,o,i,g={},d=0,v=[])=>{let M,C,A,m=0,P=0,E=0;x(I,v,()=>0),x(K,v,()=>[]);const H=R(),[D,$,j,F,U]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!T(t)||!T(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!T(t)||!T(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,d),[W,q,Q]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?S(e):null)??t+a++,t=>{B.test(t)&&w(e)<1e3&&b(e,t)}]})(),s=R();return[(n,r,o,i=[],c=()=>[])=>{e??=ot;const l=a(1);var g,u;return k(s,l,[n,r,o,i,c]),g=J(r,o??[t],G),u=l,g?.add(u),l},(a,n,...r)=>p(((e,a=[t])=>{const n=[],s=(t,e)=>e==w(a)?b(n,t):null===a[e]?N(t,t=>s(t,e+1)):p([a[e],null],a=>s(V(t,a),e+1));return s(e,0),n})(a,n),t=>N(t,t=>V(s,t)[0](e,...n??[],...r))),e=>u(V(s,e),([,a,r])=>(J(a,r??[t],void 0,t=>(z(t,e),O(t)?1:0)),k(s,e),n(e),r)),t=>u(V(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=w(o);i==w(a)?t(e,...o,...s(o)):l(a[i])?p(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),X=t=>{t!=m&&(m=t,q(H,void 0,m))},Y=t=>{(D&&y(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Z=async t=>(2!=m&&(X(1),P++,await rt(async()=>{await h(async()=>{const e=await a();y(e)?Y(e):t?U(t):f("Content is not an array: "+e)},()=>{t&&U(t)}),X(0)})),ot),_=async t=>(tt(),await Z(t),await h(async()=>C=await s(async(t,e)=>{e||t?2!=m&&(X(1),P++,Y(e??t),X(0)):await Z()}),o),ot),tt=async()=>(C&&(await h(()=>r(C),o),C=void 0),ot),et=async t=>(1!=m&&(X(2),E++,await rt(async()=>{await h(()=>n($,t),o),X(0)})),ot),at=async()=>(nt(),await et(),A=e.addDidFinishTransactionListener(()=>{const t=j();F(t)&&et(t)}),ot),nt=async()=>(A&&(e.delListener(A),A=void 0),ot),st=async(t=!1)=>{const[e,a]=t?[nt,tt]:[tt,nt];return await e(),await a(),ot},rt=async(...t)=>(b(V(K,v),...t),await(async()=>{if(!V(I,v)){for(k(I,v,1);!c(M=S(V(K,v)));)await h(M,o);k(I,v,0)}})(),ot),ot={load:Z,startAutoLoad:_,stopAutoLoad:tt,isAutoLoading:()=>!c(C),save:et,startAutoSave:at,stopAutoSave:nt,isAutoSaving:()=>!c(A),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[at,_]:[_,at];return await a(t),await n(t),ot},stopAutoPersisting:st,getStatus:()=>m,addStatusListener:t=>W(t,H),delListener:t=>(Q(t),e),schedule:rt,getStore:()=>e,destroy:()=>(V(K,v).splice(0,void 0),st()),getStats:()=>({loads:P,saves:E}),...g};return L(ot)},X=async(e,a,n=1,s,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),g=((e,a,n,s,r,o,i,g,y={})=>{let d,w=0,f=0,p=0;const b=R(),S=()=>F(11),M=(t,e,n,s)=>{f++,o?.(t,e,n,s),a(t,e,n,s)},C=async(t,e,a,n)=>v((s,o)=>{const i=n+"."+F(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{z(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);k(b,i,[t,(t,e)=>{clearTimeout(c),z(b,i),s([t,e,n])}]),M(t,i,e,a)}),A=(t,[e,a])=>{P(e,([e,a],n)=>{const s=E(t[0],n,q);P(e,([t,e],a)=>{const n=E(s[0],a,q);P(t,([t,e],a)=>n[0][a]=U(t,e)),n[1]=W(n[1],e)}),s[1]=W(s[1],a)}),t[1]=W(t[1],a)},m=(a=null,n,s=S())=>h(async()=>{c(n)&&([n,a,s]=await C(null,1,t,s));const[r,o]=n,[i,l]=e.getMergeableContentHashes();let g=q();if(i!=r){const[t,n]=(await C(a,4,e.getMergeableTableHashes(),s))[0];if(g=t,!T(n)){const[t,r]=(await C(a,5,e.getMergeableRowHashes(n),s))[0];if(A(g,t),!T(r)){const t=(await C(a,6,e.getMergeableCellHashes(r),s))[0];A(g,t)}}}return[g,l==o?q():(await C(a,7,e.getMergeableValueHashes(),s))[0],1]},g),L=Q(e,async()=>{const t=await m();return!t||T(t[0][0])&&T(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,g,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),s(),L),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n((t,a,n,s)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,n,s),0==n?u(V(b,a),([e,a])=>l(e)||e==t?a(s,t):0):2==n&&r?m(t,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==n&&r?d?.(void 0,s):u(1==n&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...n)=>a.send(((e,...a)=>{return n=e??t,s=H(a,(t,e)=>void 0===e?"":e),n+"\n"+s;var n,s})(e,...n)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var n,s,r;-1!==a&&(n=d(t,0,a),s=d(t,a+1),e(n,...(r=s,D(r,(t,e)=>""===e?void 0:e))))})(t))(e.toString("utf8"),t)),()=>{a.close()},n,s,r,o,{getWebSocket:()=>a});return v(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),n(),t(g)},a=i("open",()=>e()),n=i("error",e)}else t(g)})};export{X as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),S=t=>t.shift(),M=Object,C=t=>M.getPrototypeOf(t),A=M.entries,m=M.keys,L=M.freeze,P=(t,e)=>p(A(t),([t,a])=>e(a,t)),T=t=>(t=>!i(t)&&g(C(t),t=>t==M.prototype||i(C(t)),()=>!0))(t)&&0==(t=>w(m(t)))(t),E=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),H=JSON.stringify,D=JSON.parse,O=t=>c(t)||0==(t=>t?.size??0)(t),N=(t,e)=>t?.forEach(e),z=(t,e)=>t?.delete(e),R=t=>new Map(t),V=(t,e)=>t?.get(e),k=(t,e,a)=>void 0===a?(z(t,e),t):t?.set(e,a),x=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(V(t,e)):k(t,e,a()),V(t,e)},J=(t,e,a,n,s=0)=>u((a?x:V)(t,e[s],s>w(e)-2?a:R),r=>{if(s>w(e)-2)return n?.(r)&&k(t,e[s]),r;const o=J(r,e,a,n,s+1);return O(r)&&k(t,e[s]),o}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=s.crypto?t=>s.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r.random())))(t),F=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},U=(t,e)=>e?[t,e]:[t],W=(t,e)=>((t??"")>(e??"")?t:e)??"",q=(t="")=>U(((t=[])=>M.fromEntries(t))(),t),B=/^\d+$/,G=t=>new Set(y(t)||c(t)?t:[t]),I=R(),K=R(),Q=(e,a,n,s,r,o,i,g={},d=0,v=[])=>{let M,C,A,m=0,P=0,E=0;x(I,v,()=>0),x(K,v,()=>[]);const H=R(),[D,$,j,F,U]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!T(t)||!T(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!T(t)||!T(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,d),[W,q,Q]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?S(e):null)??t+a++,t=>{B.test(t)&&w(e)<1e3&&b(e,t)}]})(),s=R();return[(n,r,o,i=[],c=()=>[])=>{e??=ot;const l=a(1);var g,u;return k(s,l,[n,r,o,i,c]),g=J(r,o??[t],G),u=l,g?.add(u),l},(a,n,...r)=>p(((e,a=[t])=>{const n=[],s=(t,e)=>e==w(a)?b(n,t):null===a[e]?N(t,t=>s(t,e+1)):p([a[e],null],a=>s(V(t,a),e+1));return s(e,0),n})(a,n),t=>N(t,t=>V(s,t)[0](e,...n??[],...r))),e=>u(V(s,e),([,a,r])=>(J(a,r??[t],void 0,t=>(z(t,e),O(t)?1:0)),k(s,e),n(e),r)),t=>u(V(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=w(o);i==w(a)?t(e,...o,...s(o)):l(a[i])?p(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),X=t=>{t!=m&&(m=t,q(H,void 0,m))},Y=t=>{(D&&y(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Z=async t=>(2!=m&&(X(1),P++,await rt(async()=>{await h(async()=>{const e=await a();y(e)?Y(e):t?U(t):f("Content is not an array: "+e)},()=>{t&&U(t)}),X(0)})),ot),_=async t=>(tt(),await Z(t),await h(async()=>C=await s(async(t,e)=>{e||t?2!=m&&(X(1),P++,Y(e??t),X(0)):await Z()}),o),ot),tt=async()=>(C&&(await h(()=>r(C),o),C=void 0),ot),et=async t=>(1!=m&&(X(2),E++,await rt(async()=>{await h(()=>n($,t),o),X(0)})),ot),at=async()=>(nt(),await et(),A=e.addDidFinishTransactionListener(()=>{const t=j();F(t)&&et(t)}),ot),nt=async()=>(A&&(e.delListener(A),A=void 0),ot),st=async(t=!1)=>{const[e,a]=t?[nt,tt]:[tt,nt];return await e(),await a(),ot},rt=async(...t)=>(b(V(K,v),...t),await(async()=>{if(!V(I,v)){for(k(I,v,1);!c(M=S(V(K,v)));)await h(M,o);k(I,v,0)}})(),ot),ot={load:Z,startAutoLoad:_,stopAutoLoad:tt,isAutoLoading:()=>!c(C),save:et,startAutoSave:at,stopAutoSave:nt,isAutoSaving:()=>!c(A),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[at,_]:[_,at];return await a(t),await n(t),ot},stopAutoPersisting:st,getStatus:()=>m,addStatusListener:t=>W(t,H),delListener:t=>(Q(t),e),schedule:rt,getStore:()=>e,destroy:()=>(V(K,v).splice(0,void 0),st()),getStats:()=>({loads:P,saves:E}),...g};return L(ot)},X=async(e,a,n=1,s,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),g=((e,a,n,s,r,o,i,g,y={})=>{let d,w=0,f=0,p=0;const b=R(),S=()=>F(11),M=(t,e,n,s)=>{f++,o?.(t,e,n,s),a(t,e,n,s)},C=async(t,e,a,n)=>v((s,o)=>{const i=n+"."+F(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{z(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);k(b,i,[t,(t,e)=>{clearTimeout(c),z(b,i),s([t,e,n])}]),M(t,i,e,a)}),A=(t,[e,a])=>{P(e,([e,a],n)=>{const s=E(t[0],n,q);P(e,([t,e],a)=>{const n=E(s[0],a,q);P(t,([t,e],a)=>n[0][a]=U(t,e)),n[1]=W(n[1],e)}),s[1]=W(s[1],a)}),t[1]=W(t[1],a)},m=(a=null,n,s=S())=>h(async()=>{c(n)&&([n,a,s]=await C(null,1,t,s));const[r,o]=n,[i,l]=e.getMergeableContentHashes();let g=q();if(i!=r){const[t,n]=(await C(a,4,e.getMergeableTableHashes(),s))[0];if(g=t,!T(n)){const[t,r]=(await C(a,5,e.getMergeableRowHashes(n),s))[0];if(A(g,t),!T(r)){const t=(await C(a,6,e.getMergeableCellHashes(r),s))[0];A(g,t)}}}return[g,l==o?q():(await C(a,7,e.getMergeableValueHashes(),s))[0],1]},g),L=Q(e,async()=>{const t=await m();return!t||T(t[0][0])&&T(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,g,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),s(),L),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n((t,a,n,s)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,n,s),0==n?u(V(b,a),([e,a])=>l(e)||e==t?a(s,t):0):2==n&&r?m(t,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==n&&r?d?.(void 0,s):u(1==n&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...n)=>a.send(((e,...a)=>{return n=e??t,s=H(a,(t,e)=>void 0===e?"":e),n+"\n"+s;var n,s})(e,...n)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var n,s,r;-1!==a&&(n=d(t,0,a),s=d(t,a+1),e(n,...(r=s,D(r,(t,e)=>""===e?void 0:e))))})(t))(e.toString("utf8"),t)),()=>{a.close()},n,s,r,o,{getWebSocket:()=>a});return v(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),n(),t(g)},a=i("open",()=>e()),n=i("error",e)}else t(g)})};export{X as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=
|
|
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),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,h=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=k.keys,z=k.freeze,N=(t,e)=>p(E(t),([t,a])=>e(a,t)),R=t=>(t=>!c(t)&&d(O(t),t=>t==k.prototype||c(O(t)),()=>!0))(t)&&0==(t=>v(I(t)))(t),V=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),x=t=>new Map(t),J=t=>[...t?.keys()??[]],$=(t,e)=>t?.get(e),j=(t,e,a)=>void 0===a?(D(t,e),t):t?.set(e,a),F=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.($(t,e)):j(t,e,a()),$(t,e)},U=(t,e,a,s,n=0)=>y((a?F:$)(t,e[n],n>v(e)-2?a:x),o=>{if(n>v(e)-2)return s?.(o)&&j(t,e[n]),o;const r=U(o,e,a,s,n+1);return P(o)&&j(t,e[n]),r}),W=/^\d+$/,q=t=>new Set(u(t)||l(t)?t:[t]),B=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{W.test(t)&&v(e)<1e3&&C(e,t)}]})(),o=x();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const g=s(1);var d,y;return j(o,g,[n,r,i,c,l]),d=U(r,i??[t],q),y=g,d?.add(y),g},(e,s,...n)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?C(s,t):null===a[e]?H(t,t=>n(t,e+1)):p([a[e],null],a=>n($(t,a),e+1));return n(e,0),s})(e,s),t=>H(t,t=>$(o,t)[0](a,...s??[],...n))),e=>y($(o,e),([,a,s])=>(U(a,s??[t],void 0,t=>(D(t,e),P(t)?1:0)),j(o,e),n(e),s)),t=>y($(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=v(r);i==v(e)?t(a,...r,...n(r)):g(e[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},G=JSON.stringify,K=JSON.parse,Q=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(w(t,0,a),w(t,a+1))},X=(t,e)=>t+"\n"+e,Y=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Z=o.crypto?t=>o.crypto.getRandomValues(t):t=>f(t,()=>i(256*r.random())),_=(e=16)=>b(Z(new Uint8Array(e)),(t,e)=>t+Y[63&e],t),tt=(t,e)=>e?[t,e]:[t],et=(t,e)=>((t??"")>(e??"")?t:e)??"",at=(t="")=>tt(((t=[])=>k.fromEntries(t))(),t),st=x(),nt=x(),ot=/\/([^?]*)/,rt=(a,n,o)=>{const r=x(),i=x(),c=x(),d=x(),[w,v,b]=B(()=>k),m=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},T=(e,a,s)=>n=>Q(n,(n,o)=>{const r=X(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,H(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):$(a,n)?.send(r)});a.on("connection",(a,w)=>{return y((f=w.url,b=ot,f?.match(b)),([,f])=>y(w.headers["sec-websocket-key"],async w=>{const b=F(c,f,x),A=F(d,f,()=>[0]),L=T(w,b,A);P(b)&&(v(r,void 0,f,1),await(async(e,a,r)=>y(await(n?.(a)),a=>{e[0]=1,e[1]=u(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,i,c,d,w={})=>{let v,p=0,f=0,b=0;const A=x(),L=()=>_(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+"."+_(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{D(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);j(A,i,[t,(t,e)=>{clearTimeout(c),D(A,i),s([t,e,n])}]),m(t,i,e,a)}),T=(t,[e,a])=>{N(e,([e,a],s)=>{const n=V(t[0],s,at);N(e,([t,e],a)=>{const s=V(n[0],a,at);N(t,([t,e],a)=>s[0][a]=tt(t,e)),s[1]=et(s[1],e)}),n[1]=et(n[1],a)}),t[1]=et(t[1],a)},H=(a=null,s,n=L())=>S(async()=>{l(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let g=at();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(g=t,!R(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(T(g,t),!R(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];T(g,t)}}}return[g,c==r?at():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},d),k=((t,e,a,s,n,o,r,i={},c=0,g=[])=>{let d,y,w,v=0,p=0,f=0;F(st,g,()=>0),F(nt,g,()=>[]);const b=x(),[A,L,m,P,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!R(t)||!R(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!R(t)||!R(e),e.setContent]:h("Store type not supported by this Persister"))(r,t,c),[H,D,k]=B(()=>K),O=t=>{t!=v&&(v=t,D(b,void 0,v))},E=e=>{(A&&u(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},I=async t=>(2!=v&&(O(1),p++,await G(async()=>{await S(async()=>{const a=await e();u(a)?E(a):t?T(t):h("Content is not an array: "+a)},()=>{t&&T(t)}),O(0)})),K),N=async t=>(V(),await I(t),await S(async()=>y=await s(async(t,e)=>{e||t?2!=v&&(O(1),p++,E(e??t),O(0)):await I()}),o),K),V=async()=>(y&&(await S(()=>n(y),o),y=void 0),K),J=async t=>(1!=v&&(O(2),f++,await G(async()=>{await S(()=>a(L,t),o),O(0)})),K),U=async()=>(W(),await J(),w=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&J(t)}),K),W=async()=>(w&&(t.delListener(w),w=void 0),K),q=async(t=!1)=>{const[e,a]=t?[W,V]:[V,W];return await e(),await a(),K},G=async(...t)=>(C($(nt,g),...t),await(async()=>{if(!$(st,g)){for(j(st,g,1);!l(d=M($(nt,g)));)await S(d,o);j(st,g,0)}})(),K),K={load:I,startAutoLoad:N,stopAutoLoad:V,isAutoLoading:()=>!l(y),save:J,startAutoSave:U,stopAutoSave:W,isAutoSaving:()=>!l(w),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[U,N]:[N,U];return await a(t),await s(t),K},stopAutoPersisting:q,getStatus:()=>v,addStatusListener:t=>H(t,b),delListener:e=>(k(e),t),schedule:G,getStore:()=>t,destroy:()=>($(nt,g).splice(0,void 0),q()),getStats:()=>({loads:p,saves:f}),...i};return z(K)})(e,async()=>{const t=await H();return!t||R(t[0][0])&&R(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,d,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:f,receives:b}),...w},1);return n((t,a,s,n)=>{const o=p||k.isAutoLoading();b++,0==s?y($(A,a),([e,a])=>g(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{v?.(void 0,t)}).catch(d):3==s&&o?v?.(void 0,n):y(1==s&&(p||k.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)})}),k})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>X(e??t,G(a,(t,e)=>void 0===e?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>Q(t,(t,a)=>{return e(t,...(s=a,K(s,(t,e)=>""===e?void 0:e)));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=u(a)?a[1]:t=>0}))(A,f,b)),j(b,w,a),v(i,[f],w,1),a.on("message",t=>{const e=t.toString("utf8");0==A[0]?L(e):C(A[4],e)}),1==A[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})(A),p(A[4],L),A[4]=[]),a.on("close",async()=>{D(b,w),v(i,[f],w,-1),P(b)&&(await m(A),D(d,f),D(c,f),v(r,void 0,f,-1))}),o&&a.on(e,o)}));var f,b}),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>J(c),getClientIds:t=>J($(c,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,i,[t]),delListener:t=>(b(t),k),getStats:()=>({paths:A(c),clients:L(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=d,e=m,f([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return z(k)};export{rt as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=
|
|
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),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,h=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=k.keys,z=k.freeze,N=(t,e)=>p(E(t),([t,a])=>e(a,t)),R=t=>(t=>!c(t)&&d(O(t),t=>t==k.prototype||c(O(t)),()=>!0))(t)&&0==(t=>v(I(t)))(t),V=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),x=t=>new Map(t),J=t=>[...t?.keys()??[]],$=(t,e)=>t?.get(e),j=(t,e,a)=>void 0===a?(D(t,e),t):t?.set(e,a),F=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.($(t,e)):j(t,e,a()),$(t,e)},U=(t,e,a,s,n=0)=>y((a?F:$)(t,e[n],n>v(e)-2?a:x),o=>{if(n>v(e)-2)return s?.(o)&&j(t,e[n]),o;const r=U(o,e,a,s,n+1);return P(o)&&j(t,e[n]),r}),W=/^\d+$/,q=t=>new Set(u(t)||l(t)?t:[t]),B=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{W.test(t)&&v(e)<1e3&&C(e,t)}]})(),o=x();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const g=s(1);var d,y;return j(o,g,[n,r,i,c,l]),d=U(r,i??[t],q),y=g,d?.add(y),g},(e,s,...n)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?C(s,t):null===a[e]?H(t,t=>n(t,e+1)):p([a[e],null],a=>n($(t,a),e+1));return n(e,0),s})(e,s),t=>H(t,t=>$(o,t)[0](a,...s??[],...n))),e=>y($(o,e),([,a,s])=>(U(a,s??[t],void 0,t=>(D(t,e),P(t)?1:0)),j(o,e),n(e),s)),t=>y($(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=v(r);i==v(e)?t(a,...r,...n(r)):g(e[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},G=JSON.stringify,K=JSON.parse,Q=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(w(t,0,a),w(t,a+1))},X=(t,e)=>t+"\n"+e,Y=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Z=o.crypto?t=>o.crypto.getRandomValues(t):t=>f(t,()=>i(256*r.random())),_=(e=16)=>b(Z(new Uint8Array(e)),(t,e)=>t+Y[63&e],t),tt=(t,e)=>e?[t,e]:[t],et=(t,e)=>((t??"")>(e??"")?t:e)??"",at=(t="")=>tt(((t=[])=>k.fromEntries(t))(),t),st=x(),nt=x(),ot=/\/([^?]*)/,rt=(a,n,o)=>{const r=x(),i=x(),c=x(),d=x(),[w,v,b]=B(()=>k),m=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},T=(e,a,s)=>n=>Q(n,(n,o)=>{const r=X(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,H(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):$(a,n)?.send(r)});a.on("connection",(a,w)=>{return y((f=w.url,b=ot,f?.match(b)),([,f])=>y(w.headers["sec-websocket-key"],async w=>{const b=F(c,f,x),A=F(d,f,()=>[0]),L=T(w,b,A);P(b)&&(v(r,void 0,f,1),await(async(e,a,r)=>y(await(n?.(a)),a=>{e[0]=1,e[1]=u(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,i,c,d,w={})=>{let v,p=0,f=0,b=0;const A=x(),L=()=>_(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+"."+_(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{D(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);j(A,i,[t,(t,e)=>{clearTimeout(c),D(A,i),s([t,e,n])}]),m(t,i,e,a)}),T=(t,[e,a])=>{N(e,([e,a],s)=>{const n=V(t[0],s,at);N(e,([t,e],a)=>{const s=V(n[0],a,at);N(t,([t,e],a)=>s[0][a]=tt(t,e)),s[1]=et(s[1],e)}),n[1]=et(n[1],a)}),t[1]=et(t[1],a)},H=(a=null,s,n=L())=>S(async()=>{l(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let g=at();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(g=t,!R(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(T(g,t),!R(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];T(g,t)}}}return[g,c==r?at():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},d),k=((t,e,a,s,n,o,r,i={},c=0,g=[])=>{let d,y,w,v=0,p=0,f=0;F(st,g,()=>0),F(nt,g,()=>[]);const b=x(),[A,L,m,P,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!R(t)||!R(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!R(t)||!R(e),e.setContent]:h("Store type not supported by this Persister"))(r,t,c),[H,D,k]=B(()=>K),O=t=>{t!=v&&(v=t,D(b,void 0,v))},E=e=>{(A&&u(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},I=async t=>(2!=v&&(O(1),p++,await G(async()=>{await S(async()=>{const a=await e();u(a)?E(a):t?T(t):h("Content is not an array: "+a)},()=>{t&&T(t)}),O(0)})),K),N=async t=>(V(),await I(t),await S(async()=>y=await s(async(t,e)=>{e||t?2!=v&&(O(1),p++,E(e??t),O(0)):await I()}),o),K),V=async()=>(y&&(await S(()=>n(y),o),y=void 0),K),J=async t=>(1!=v&&(O(2),f++,await G(async()=>{await S(()=>a(L,t),o),O(0)})),K),U=async()=>(W(),await J(),w=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&J(t)}),K),W=async()=>(w&&(t.delListener(w),w=void 0),K),q=async(t=!1)=>{const[e,a]=t?[W,V]:[V,W];return await e(),await a(),K},G=async(...t)=>(C($(nt,g),...t),await(async()=>{if(!$(st,g)){for(j(st,g,1);!l(d=M($(nt,g)));)await S(d,o);j(st,g,0)}})(),K),K={load:I,startAutoLoad:N,stopAutoLoad:V,isAutoLoading:()=>!l(y),save:J,startAutoSave:U,stopAutoSave:W,isAutoSaving:()=>!l(w),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[U,N]:[N,U];return await a(t),await s(t),K},stopAutoPersisting:q,getStatus:()=>v,addStatusListener:t=>H(t,b),delListener:e=>(k(e),t),schedule:G,getStore:()=>t,destroy:()=>($(nt,g).splice(0,void 0),q()),getStats:()=>({loads:p,saves:f}),...i};return z(K)})(e,async()=>{const t=await H();return!t||R(t[0][0])&&R(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,d,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:f,receives:b}),...w},1);return n((t,a,s,n)=>{const o=p||k.isAutoLoading();b++,0==s?y($(A,a),([e,a])=>g(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{v?.(void 0,t)}).catch(d):3==s&&o?v?.(void 0,n):y(1==s&&(p||k.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)})}),k})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>X(e??t,G(a,(t,e)=>void 0===e?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>Q(t,(t,a)=>{return e(t,...(s=a,K(s,(t,e)=>""===e?void 0:e)));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=u(a)?a[1]:t=>0}))(A,f,b)),j(b,w,a),v(i,[f],w,1),a.on("message",t=>{const e=t.toString("utf8");0==A[0]?L(e):C(A[4],e)}),1==A[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})(A),p(A[4],L),A[4]=[]),a.on("close",async()=>{D(b,w),v(i,[f],w,-1),P(b)&&(await m(A),D(d,f),D(c,f),v(r,void 0,f,-1))}),o&&a.on(e,o)}));var f,b}),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>J(c),getClientIds:t=>J($(c,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,i,[t]),delListener:t=>(b(t),k),getStats:()=>({paths:A(c),clients:L(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=d,e=m,f([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return z(k)};export{rt 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=
|
|
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),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},p=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},S=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=A.keys,T=A.freeze,x=(t,e)=>S(P(t),([t,s])=>e(s,t)),L=t=>(t=>!l(t)&&d(m(t),t=>t==A.prototype||l(m(t)),()=>!0))(t)&&0==(t=>v(k(t)))(t),I=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),H=JSON.stringify,D=JSON.parse,O=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(w(t,0,s),w(t,s+1))},R=(t,...s)=>E(t??e,H(s,(t,e)=>void 0===e?"":e)),E=(t,e)=>t+"\n"+e,N=t=>g(t)||0==(t=>t?.size??0)(t),W=(t,e)=>t?.forEach(e),z=(t,e)=>t?.delete(e),U=t=>new Map(t),V=(t,e)=>t?.get(e),F=(t,e,s)=>void 0===s?(z(t,e),t):t?.set(e,s),J=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(V(t,e)):F(t,e,s()),V(t,e)},$=(t,e,s,a,n=0)=>h((s?J:V)(t,e[n],n>v(e)-2?s:U),r=>{if(n>v(e)-2)return a?.(r)&&F(t,e[n]),r;const i=$(r,e,s,a,n+1);return N(r)&&F(t,e[n]),i}),j=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),q=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>c(256*o.random())),B=(t=16)=>{return e=(t,e)=>t+j[63&e],q(new Uint8Array(t)).reduce(e,"");var e},G=(t,e)=>e?[t,e]:[t],K=(t,e)=>((t??"")>(e??"")?t:e)??"",Q=(t="")=>G(((t=[])=>A.fromEntries(t))(),t),X=/^\d+$/,Y=t=>new Set(y(t)||g(t)?t:[t]),Z=U(),_=U(),tt=(t,s,a,n,r,i,o,c={},l=0,d=[])=>{let w,b,A,m=0,P=0,k=0;J(Z,d,()=>0),J(_,d,()=>[]);const x=U(),[I,H,D,O,R]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!s),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!L(t)||!L(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[E,j,q]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?M(t):null)??e+s++,e=>{X.test(e)&&v(t)<1e3&&f(t,e)}]})(),n=U();return[(a,r,i,o=[],c=()=>[])=>{t??=it;const l=s(1);var g,u;return F(n,l,[a,r,i,o,c]),g=$(r,i??[e],Y),u=l,g?.add(u),l},(s,a,...r)=>S(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?f(a,t):null===s[e]?W(t,t=>n(t,e+1)):S([s[e],null],s=>n(V(t,s),e+1));return n(t,0),a})(s,a),e=>W(e,e=>V(n,e)[0](t,...a??[],...r))),t=>h(V(n,t),([,s,r])=>($(s,r??[e],void 0,e=>(z(e,t),N(e)?1:0)),F(n,t),a(t),r)),e=>h(V(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):u(s[o])?S(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),B=t=>{t!=m&&(m=t,j(x,void 0,m))},G=e=>{(I&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},K=async t=>(2!=m&&(B(1),P++,await rt(async()=>{await p(async()=>{const e=await s();y(e)?G(e):t?R(t):C("Content is not an array: "+e)},()=>{t&&R(t)}),B(0)})),it),Q=async t=>(tt(),await K(t),await p(async()=>b=await n(async(t,e)=>{e||t?2!=m&&(B(1),P++,G(e??t),B(0)):await K()}),i),it),tt=async()=>(b&&(await p(()=>r(b),i),b=void 0),it),et=async t=>(1!=m&&(B(2),k++,await rt(async()=>{await p(()=>a(H,t),i),B(0)})),it),st=async()=>(at(),await et(),A=t.addDidFinishTransactionListener(()=>{const t=D();O(t)&&et(t)}),it),at=async()=>(A&&(t.delListener(A),A=void 0),it),nt=async(t=!1)=>{const[e,s]=t?[at,tt]:[tt,at];return await e(),await s(),it},rt=async(...t)=>(f(V(_,d),...t),await(async()=>{if(!V(Z,d)){for(F(Z,d,1);!g(w=M(V(_,d)));)await p(w,i);F(Z,d,0)}})(),it),it={load:K,startAutoLoad:Q,stopAutoLoad:tt,isAutoLoading:()=>!g(b),save:et,startAutoSave:st,stopAutoSave:at,isAutoSaving:()=>!g(A),startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[st,Q]:[Q,st];return await s(t),await a(t),it},stopAutoPersisting:nt,getStatus:()=>m,addStatusListener:t=>E(t,x),delListener:e=>(q(e),t),schedule:rt,getStore:()=>t,destroy:()=>(V(_,d).splice(0,void 0),nt()),getStats:()=>({loads:P,saves:k}),...c};return T(it)},et=/\/([^?]*)/,st="S",at=t=>{return(s=new URL(t.url).pathname,a=et,s?.match(a))?.[1]??e;var s,a},nt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,rt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),it=()=>rt(426,null,"Upgrade required");class ot extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await h(await this.createPersister(),async t=>{const s=((t,s,n,r,o,c,l,d,y={})=>{let w,v=0,C=0,S=0;const b=U(),f=()=>B(11),M=(t,e,a,n)=>{C++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+B(4),l=i(()=>{z(b,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},o);F(b,c,[t,(t,e)=>{clearTimeout(l),z(b,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{x(e,([e,s],a)=>{const n=I(t[0],a,Q);x(e,([t,e],s)=>{const a=I(n[0],s,Q);x(t,([t,e],s)=>a[0][s]=G(t,e)),a[1]=K(a[1],e)}),n[1]=K(n[1],s)}),t[1]=K(t[1],s)},P=(s=null,a,n=f())=>p(async()=>{g(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=Q();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!L(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!L(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?Q():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},d),k=tt(t,async()=>{const t=await P();return!t||L(t[0][0])&&L(t[1][0])?void 0:t},async(e,s)=>s?M(null,f(),3,s):M(null,f(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,d,2,{startSync:async t=>(v=1,await k.startAutoPersisting(t)),stopSync:async()=>(v=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:C,receives:S}),...y},1);return n((e,s,a,n)=>{const r=v||k.isAutoLoading();S++,0==a?h(V(b,s),([t,s])=>u(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{w?.(void 0,t)}).catch(d):3==a&&r?w?.(void 0,n):h(1==a&&(v||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(st,R(t,e,s,a)),t=>this.#t=e=>((t,e)=>O(t,(t,s)=>{return e(t,...(a=s,D(a,(t,e)=>""===e?void 0:e)));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),i(s.startSync)}))}fetch(t){const s=at(t);return h(nt(t),t=>{const[a,n]=(r=new WebSocketPair,A.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(R(st,null,1,e)),rt(101,a)},it)}webSocketMessage(t,e){h(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){O(s.toString(),(s,n)=>{const r=E(t,n);this.onMessage(t,s,n),s==e?(t!=st&&this.#t?.(r),S(this.#s(),t=>{t!=a&&t.send(r)})):s==st?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 ct=t=>(e,s)=>nt(e)?s[t].get(s[t].idFromName(at(e))).fetch(e):it();export{ot as WsServerDurableObject,ct as getWsServerDurableObjectFetch};
|
|
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=
|
|
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),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},p=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},S=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=A.keys,T=A.freeze,x=(t,e)=>S(P(t),([t,s])=>e(s,t)),L=t=>(t=>!l(t)&&d(m(t),t=>t==A.prototype||l(m(t)),()=>!0))(t)&&0==(t=>v(k(t)))(t),I=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),H=JSON.stringify,D=JSON.parse,O=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(w(t,0,s),w(t,s+1))},R=(t,...s)=>E(t??e,H(s,(t,e)=>void 0===e?"":e)),E=(t,e)=>t+"\n"+e,N=t=>g(t)||0==(t=>t?.size??0)(t),W=(t,e)=>t?.forEach(e),z=(t,e)=>t?.delete(e),U=t=>new Map(t),V=(t,e)=>t?.get(e),F=(t,e,s)=>void 0===s?(z(t,e),t):t?.set(e,s),J=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(V(t,e)):F(t,e,s()),V(t,e)},$=(t,e,s,a,n=0)=>h((s?J:V)(t,e[n],n>v(e)-2?s:U),r=>{if(n>v(e)-2)return a?.(r)&&F(t,e[n]),r;const i=$(r,e,s,a,n+1);return N(r)&&F(t,e[n]),i}),j=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),q=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>c(256*o.random())),B=(t=16)=>{return e=(t,e)=>t+j[63&e],q(new Uint8Array(t)).reduce(e,"");var e},G=(t,e)=>e?[t,e]:[t],K=(t,e)=>((t??"")>(e??"")?t:e)??"",Q=(t="")=>G(((t=[])=>A.fromEntries(t))(),t),X=/^\d+$/,Y=t=>new Set(y(t)||g(t)?t:[t]),Z=U(),_=U(),tt=(t,s,a,n,r,i,o,c={},l=0,d=[])=>{let w,b,A,m=0,P=0,k=0;J(Z,d,()=>0),J(_,d,()=>[]);const x=U(),[I,H,D,O,R]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!s),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!L(t)||!L(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[E,j,q]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?M(t):null)??e+s++,e=>{X.test(e)&&v(t)<1e3&&f(t,e)}]})(),n=U();return[(a,r,i,o=[],c=()=>[])=>{t??=it;const l=s(1);var g,u;return F(n,l,[a,r,i,o,c]),g=$(r,i??[e],Y),u=l,g?.add(u),l},(s,a,...r)=>S(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?f(a,t):null===s[e]?W(t,t=>n(t,e+1)):S([s[e],null],s=>n(V(t,s),e+1));return n(t,0),a})(s,a),e=>W(e,e=>V(n,e)[0](t,...a??[],...r))),t=>h(V(n,t),([,s,r])=>($(s,r??[e],void 0,e=>(z(e,t),N(e)?1:0)),F(n,t),a(t),r)),e=>h(V(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):u(s[o])?S(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),B=t=>{t!=m&&(m=t,j(x,void 0,m))},G=e=>{(I&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},K=async t=>(2!=m&&(B(1),P++,await rt(async()=>{await p(async()=>{const e=await s();y(e)?G(e):t?R(t):C("Content is not an array: "+e)},()=>{t&&R(t)}),B(0)})),it),Q=async t=>(tt(),await K(t),await p(async()=>b=await n(async(t,e)=>{e||t?2!=m&&(B(1),P++,G(e??t),B(0)):await K()}),i),it),tt=async()=>(b&&(await p(()=>r(b),i),b=void 0),it),et=async t=>(1!=m&&(B(2),k++,await rt(async()=>{await p(()=>a(H,t),i),B(0)})),it),st=async()=>(at(),await et(),A=t.addDidFinishTransactionListener(()=>{const t=D();O(t)&&et(t)}),it),at=async()=>(A&&(t.delListener(A),A=void 0),it),nt=async(t=!1)=>{const[e,s]=t?[at,tt]:[tt,at];return await e(),await s(),it},rt=async(...t)=>(f(V(_,d),...t),await(async()=>{if(!V(Z,d)){for(F(Z,d,1);!g(w=M(V(_,d)));)await p(w,i);F(Z,d,0)}})(),it),it={load:K,startAutoLoad:Q,stopAutoLoad:tt,isAutoLoading:()=>!g(b),save:et,startAutoSave:st,stopAutoSave:at,isAutoSaving:()=>!g(A),startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[st,Q]:[Q,st];return await s(t),await a(t),it},stopAutoPersisting:nt,getStatus:()=>m,addStatusListener:t=>E(t,x),delListener:e=>(q(e),t),schedule:rt,getStore:()=>t,destroy:()=>(V(_,d).splice(0,void 0),nt()),getStats:()=>({loads:P,saves:k}),...c};return T(it)},et=/\/([^?]*)/,st="S",at=t=>{return(s=new URL(t.url).pathname,a=et,s?.match(a))?.[1]??e;var s,a},nt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,rt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),it=()=>rt(426,null,"Upgrade required");class ot extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await h(await this.createPersister(),async t=>{const s=((t,s,n,r,o,c,l,d,y={})=>{let w,v=0,C=0,S=0;const b=U(),f=()=>B(11),M=(t,e,a,n)=>{C++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+B(4),l=i(()=>{z(b,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},o);F(b,c,[t,(t,e)=>{clearTimeout(l),z(b,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{x(e,([e,s],a)=>{const n=I(t[0],a,Q);x(e,([t,e],s)=>{const a=I(n[0],s,Q);x(t,([t,e],s)=>a[0][s]=G(t,e)),a[1]=K(a[1],e)}),n[1]=K(n[1],s)}),t[1]=K(t[1],s)},P=(s=null,a,n=f())=>p(async()=>{g(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=Q();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!L(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!L(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?Q():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},d),k=tt(t,async()=>{const t=await P();return!t||L(t[0][0])&&L(t[1][0])?void 0:t},async(e,s)=>s?M(null,f(),3,s):M(null,f(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,d,2,{startSync:async t=>(v=1,await k.startAutoPersisting(t)),stopSync:async()=>(v=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:C,receives:S}),...y},1);return n((e,s,a,n)=>{const r=v||k.isAutoLoading();S++,0==a?h(V(b,s),([t,s])=>u(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{w?.(void 0,t)}).catch(d):3==a&&r?w?.(void 0,n):h(1==a&&(v||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(st,R(t,e,s,a)),t=>this.#t=e=>((t,e)=>O(t,(t,s)=>{return e(t,...(a=s,D(a,(t,e)=>""===e?void 0:e)));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),i(s.startSync)}))}fetch(t){const s=at(t);return h(nt(t),t=>{const[a,n]=(r=new WebSocketPair,A.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(R(st,null,1,e)),rt(101,a)},it)}webSocketMessage(t,e){h(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){O(s.toString(),(s,n)=>{const r=E(t,n);this.onMessage(t,s,n),s==e?(t!=st&&this.#t?.(r),S(this.#s(),t=>{t!=a&&t.send(r)})):s==st?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 ct=t=>(e,s)=>nt(e)?s[t].get(s[t].idFromName(at(e))).fetch(e):it();export{ot as WsServerDurableObject,ct as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>
|
|
1
|
+
const e=e=>void 0===e,n=(t=e,(e,n,s)=>t(e)?s?.():n(e));var t;const s=(e,n,t)=>e.slice(n,t),o=(e,n)=>e?.delete(n),c=Object.freeze,r=e=>new Map(e),a=(e,n)=>e?.get(n),d=(e,n,t)=>void 0===t?(o(e,n),e):e?.set(n,t),i=/\/([^?]*)/,v=t=>{const v=r();return t.on("connection",(t,c)=>{return n((l=c.url,u=i,l?.match(u)),([,i])=>n(c.headers["sec-websocket-key"],async n=>{const c=(f=r,g=l=v,h=u=i,g?.has(h)||d(l,u,f()),a(l,u));var l,u,f,g,h;d(c,n,t),t.on("message",e=>(e=>{const t=e.indexOf("\n");-1!==t&&((e,t)=>{const s=((e,n)=>e+"\n"+n)(n,t);""===e?(e=>{((e,n)=>{e?.forEach(n)})(e,(e,t)=>{return o=e,t!==n?o.send(s):0;var o})})(c):a(c,e)?.send(s)})(s(e,0,t),s(e,t+1))})(e.toString("utf8"))),t.on("close",()=>{o(c,n),(n=>e(n)||0==(e=>e?.size??0)(n))(c)&&o(v,i)})}));var l,u}),c({getWebSocketServer:()=>t,destroy:async()=>{v.clear(),t.close()}})};export{v as createWsServerSimple};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>
|
|
1
|
+
const e=e=>void 0===e,n=(t=e,(e,n,s)=>t(e)?s?.():n(e));var t;const s=(e,n,t)=>e.slice(n,t),o=(e,n)=>e?.delete(n),c=Object.freeze,r=e=>new Map(e),a=(e,n)=>e?.get(n),d=(e,n,t)=>void 0===t?(o(e,n),e):e?.set(n,t),i=/\/([^?]*)/,v=t=>{const v=r();return t.on("connection",(t,c)=>{return n((l=c.url,u=i,l?.match(u)),([,i])=>n(c.headers["sec-websocket-key"],async n=>{const c=(f=r,g=l=v,h=u=i,g?.has(h)||d(l,u,f()),a(l,u));var l,u,f,g,h;d(c,n,t),t.on("message",e=>(e=>{const t=e.indexOf("\n");-1!==t&&((e,t)=>{const s=((e,n)=>e+"\n"+n)(n,t);""===e?(e=>{((e,n)=>{e?.forEach(n)})(e,(e,t)=>{return o=e,t!==n?o.send(s):0;var o})})(c):a(c,e)?.send(s)})(s(e,0,t),s(e,t+1))})(e.toString("utf8"))),t.on("close",()=>{o(c,n),(n=>e(n)||0==(e=>e?.size??0)(n))(c)&&o(v,i)})}));var l,u}),c({getWebSocketServer:()=>t,destroy:async()=>{v.clear(),t.close()}})};export{v as createWsServerSimple};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,n)=>t(e)?n?.():a(e),n=globalThis,s=Math,o=s.floor,r=t=>null==t,i=t=>void 0===t,l=t=>null===t,c=a(r),g=a(i),u=t=>Array.isArray(t),y=t=>t.length,d=t=>{throw Error(t)},w=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),h=(t,...e)=>t.push(...e),p=t=>t.shift(),v=t=>i(t)||0==(t=>t?.size??0)(t),b=(t,e)=>t?.forEach(e),C=(t,e)=>t?.delete(e),M=Object,A=t=>M.getPrototypeOf(t),S=M.entries,D=M.keys,H=M.freeze,T=(t,e)=>f(S(t),([t,a])=>e(a,t)),m=t=>(t=>!r(t)&&c(A(t),t=>t==M.prototype||r(A(t)),()=>!0))(t)&&0==(t=>y(D(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),P=t=>new Map(t),G=(t,e)=>t?.get(e),R=(t,e,a)=>void 0===a?(C(t,e),t):t?.set(e,a),E=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(G(t,e)):R(t,e,a()),G(t,e)},V=(t,e,a,n,s=0)=>g((a?E:G)(t,e[s],s>y(e)-2?a:P),o=>{if(s>y(e)-2)return n?.(o)&&R(t,e[s]),o;const r=V(o,e,a,n,s+1);return v(o)&&R(t,e[s]),r}),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),O=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*s.random())))(t),$=(t=16)=>{return e=(t,e)=>t+z[63&e],O(new Uint8Array(t)).reduce(e,"");var e},j=(t,e)=>e?[t,e]:[t],k=(t,e)=>((t??"")>(e??"")?t:e)??"",x=(t="")=>j(((t=[])=>M.fromEntries(t))(),t),F=/^\d+$/,N=t=>new Set(u(t)||i(t)?t:[t]),U=P(),q=P(),B=(t,e,a,n,s,o,r,c={},M=0,A=[])=>{let S,D,T,L=0,z=0,O=0;E(U,A,()=>0),E(q,A,()=>[]);const $=P(),[j,k,x,B,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!m(t)||!m(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!m(t)||!m(e),e.setContent]:d("Store type not supported by this Persister"))(r,t,M),[J,K,Q]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?p(t):null)??""+e++,e=>{F.test(e)&&y(t)<1e3&&h(t,e)}]})(),n=P();return[(a,s,o,r=[],i=()=>[])=>{t??=ot;const l=e(1);var c,g;return R(n,l,[a,s,o,r,i]),c=V(s,o??[""],N),g=l,c?.add(g),l},(e,a,...s)=>f(((t,e=[""])=>{const a=[],n=(t,s)=>s==y(e)?h(a,t):null===e[s]?b(t,t=>n(t,s+1)):f([e[s],null],e=>n(G(t,e),s+1));return n(t,0),a})(e,a),e=>b(e,e=>G(n,e)[0](t,...a??[],...s))),t=>g(G(n,t),([,e,s])=>(V(e,s??[""],void 0,e=>(C(e,t),v(e)?1:0)),R(n,t),a(t),s)),e=>g(G(n,e),([e,,a=[],n,s])=>{const o=(...r)=>{const i=y(r);i==y(a)?e(t,...r,...s(r)):l(a[i])?f(n[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=L&&(L=t,K($,void 0,L))},X=e=>{(j&&u(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},Y=async t=>(2!=L&&(W(1),z++,await st(async()=>{await w(async()=>{const a=await e();u(a)?X(a):t?I(t):d("Content is not an array: "+a)},()=>{t&&I(t)}),W(0)})),ot),Z=async t=>(_(),await Y(t),await w(async()=>D=await n(async(t,e)=>{e||t?2!=L&&(W(1),z++,X(e??t),W(0)):await Y()}),o),ot),_=async()=>(D&&(await w(()=>s(D),o),D=void 0),ot),tt=async t=>(1!=L&&(W(2),O++,await st(async()=>{await w(()=>a(k,t),o),W(0)})),ot),et=async()=>(at(),await tt(),T=t.addDidFinishTransactionListener(()=>{const t=x();B(t)&&tt(t)}),ot),at=async()=>(T&&(t.delListener(T),T=void 0),ot),nt=async(t=!1)=>{const[e,a]=t?[at,_]:[_,at];return await e(),await a(),ot},st=async(...t)=>(h(G(q,A),...t),await(async()=>{if(!G(U,A)){for(R(U,A,1);!i(S=p(G(q,A)));)await w(S,o);R(U,A,0)}})(),ot),ot={load:Y,startAutoLoad:Z,stopAutoLoad:_,isAutoLoading:()=>!i(D),save:tt,startAutoSave:et,stopAutoSave:at,isAutoSaving:()=>!i(T),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[et,Z]:[Z,et];return await a(t),await n(t),ot},stopAutoPersisting:nt,getStatus:()=>L,addStatusListener:t=>J(t,$),delListener:e=>(Q(e),t),schedule:st,getStore:()=>t,destroy:()=>(G(q,A).splice(0,void 0),nt()),getStats:()=>({loads:z,saves:O}),...c};return H(ot)},I={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},J=(t,a,n,s,o,r,c,u,y={})=>{let d,f=0,h=0,p=0;const v=P(),b=()=>$(11),M=(t,e,n,s)=>{h++,r?.(t,e,n,s),a(t,e,n,s)},A=async(t,a,n,s)=>new e((e,r)=>{const i=s+"."+$(4),l=((t,e=0)=>setTimeout(t,1e3*e))(()=>{C(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);R(v,i,[t,(t,a)=>{clearTimeout(l),C(v,i),e([t,a,s])}]),M(t,i,a,n)}),S=(t,[e,a])=>{T(e,([e,a],n)=>{const s=L(t[0],n,x);T(e,([t,e],a)=>{const n=L(s[0],a,x);T(t,([t,e],a)=>n[0][a]=j(t,e)),n[1]=k(n[1],e)}),s[1]=k(s[1],a)}),t[1]=k(t[1],a)},D=(e=null,a,n=b())=>w(async()=>{i(a)&&([a,e,n]=await A(null,1,"",n));const[s,o]=a,[r,l]=t.getMergeableContentHashes();let c=x();if(r!=s){const[a,s]=(await A(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!m(s)){const[a,o]=(await A(e,5,t.getMergeableRowHashes(s),n))[0];if(S(c,a),!m(o)){const a=(await A(e,6,t.getMergeableCellHashes(o),n))[0];S(c,a)}}}return[c,l==o?x():(await A(e,7,t.getMergeableValueHashes(),n))[0],1]},u),H=B(t,async()=>{const t=await D();return!t||m(t[0][0])&&m(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=>(f=1,await H.startAutoPersisting(t)),stopSync:async()=>(f=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),s(),H),getSynchronizerStats:()=>({sends:h,receives:p}),...y},1);return n((e,a,n,s)=>{const o=f||H.isAutoLoading();p++,c?.(e,a,n,s),0==n?g(G(v,a),([t,a])=>l(t)||t==e?a(s,e):0):2==n&&o?D(e,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(u):3==n&&o?d?.(void 0,s):g(1==n&&(f||H.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{M(e,a,0,t)})}),H};export{I as Message,J as createCustomSynchronizer};
|
|
Binary file
|