@uploadista/event-emitter-durable-object 0.1.3 → 0.2.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.
Files changed (2) hide show
  1. package/dist/index.cjs +1 -1
  2. package/package.json +6 -6
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- let e=require(`@uploadista/core/errors`),t=require(`@uploadista/core/types`),n=require(`effect`),r=require(`cloudflare:workers`);function i({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{emit:(t,i)=>n.Effect.tryPromise({try:async()=>{console.log(`[DO EventEmitter] Emitting to eventKey: ${t}`,i.substring(0,200)),await r(t).emit(i),console.log(`[DO EventEmitter] Successfully emitted to eventKey: ${t}`)},catch:n=>(console.error(`[DO EventEmitter] Failed to emit to eventKey: ${t}`,n),e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:n}))}),subscribe:(t,i)=>n.Effect.tryPromise({try:async()=>{await r(t).subscribe(i)},catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}),unsubscribe:t=>n.Effect.tryPromise({try:async()=>{await r(t).unsubscribe()},catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})})}}const a=e=>n.Layer.succeed(t.BaseEventEmitterService,i(e));var o=class extends r.DurableObject{async fetch(e){console.log(`[DO fetch] WebSocket connection request: ${e.url}`);let t=new WebSocketPair,[n,r]=Object.values(t);return this.ctx.acceptWebSocket(r),console.log(`[DO fetch] WebSocket accepted, total connections: ${this.ctx.getWebSockets().length}`),new Response(null,{status:101,webSocket:n})}async emit(e){let t=this.ctx.getWebSockets();console.log(`[DO emit] Broadcasting message to ${t.length} WebSocket(s):`,e.substring(0,200));for(let n of t)try{n.send(e)}catch(e){console.error(`Failed to send message to WebSocket:`,e)}}async subscribe(e){}async unsubscribe(){let e=this.ctx.getWebSockets();for(let t of e)t.close(1e3,`Unsubscribed`)}async webSocketMessage(e,t){console.log(`WebSocket message received: ${t}`)}async webSocketClose(e,t,n,r){if(e.readyState===WebSocket.OPEN){let n=t===1006||t<1e3||t>4999?1e3:t;e.close(n,`Durable Object closing WebSocket`)}}async webSocketError(e,t){console.error(`WebSocket error:`,t),e.readyState===WebSocket.OPEN&&e.close(1011,`WebSocket error occurred`)}};exports.UploadistaDurableObjectImpl=o,exports.durableObjectBaseEventEmitter=i,exports.durableObjectEventEmitter=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@uploadista/core/errors`),t=require(`@uploadista/core/types`),n=require(`effect`),r=require(`cloudflare:workers`);function i({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{emit:(t,i)=>n.Effect.tryPromise({try:async()=>{console.log(`[DO EventEmitter] Emitting to eventKey: ${t}`,i.substring(0,200)),await r(t).emit(i),console.log(`[DO EventEmitter] Successfully emitted to eventKey: ${t}`)},catch:n=>(console.error(`[DO EventEmitter] Failed to emit to eventKey: ${t}`,n),e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:n}))}),subscribe:(t,i)=>n.Effect.tryPromise({try:async()=>{await r(t).subscribe(i)},catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}),unsubscribe:t=>n.Effect.tryPromise({try:async()=>{await r(t).unsubscribe()},catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})})}}const a=e=>n.Layer.succeed(t.BaseEventEmitterService,i(e));var o=class extends r.DurableObject{async fetch(e){console.log(`[DO fetch] WebSocket connection request: ${e.url}`);let t=new WebSocketPair,[n,r]=Object.values(t);return this.ctx.acceptWebSocket(r),console.log(`[DO fetch] WebSocket accepted, total connections: ${this.ctx.getWebSockets().length}`),new Response(null,{status:101,webSocket:n})}async emit(e){let t=this.ctx.getWebSockets();console.log(`[DO emit] Broadcasting message to ${t.length} WebSocket(s):`,e.substring(0,200));for(let n of t)try{n.send(e)}catch(e){console.error(`Failed to send message to WebSocket:`,e)}}async subscribe(e){}async unsubscribe(){let e=this.ctx.getWebSockets();for(let t of e)t.close(1e3,`Unsubscribed`)}async webSocketMessage(e,t){console.log(`WebSocket message received: ${t}`)}async webSocketClose(e,t,n,r){if(e.readyState===WebSocket.OPEN){let n=t===1006||t<1e3||t>4999?1e3:t;e.close(n,`Durable Object closing WebSocket`)}}async webSocketError(e,t){console.error(`WebSocket error:`,t),e.readyState===WebSocket.OPEN&&e.close(1011,`WebSocket error occurred`)}};exports.UploadistaDurableObjectImpl=o,exports.durableObjectBaseEventEmitter=i,exports.durableObjectEventEmitter=a;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uploadista/event-emitter-durable-object",
3
3
  "type": "module",
4
- "version": "0.1.3",
4
+ "version": "0.2.0",
5
5
  "description": "Durable Object event emitter for Uploadista",
6
6
  "license": "MIT",
7
7
  "author": "Uploadista",
@@ -14,18 +14,18 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@cloudflare/workers-types": "4.20260131.0",
18
- "@uploadista/core": "0.1.3"
17
+ "@cloudflare/workers-types": "4.20260213.0",
18
+ "@uploadista/core": "0.2.0"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "effect": "^3.0.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@effect/vitest": "0.27.0",
25
- "effect": "3.19.15",
26
- "tsdown": "0.20.1",
25
+ "effect": "3.19.17",
26
+ "tsdown": "0.20.3",
27
27
  "vitest": "4.0.18",
28
- "@uploadista/typescript-config": "0.1.3"
28
+ "@uploadista/typescript-config": "0.2.0"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc --noEmit && tsdown",