MCPcopy Create free account
hub / github.com/Effect-TS/effect / onMessage

Function onMessage

packages/effect/src/unstable/socket/Socket.ts:639–654  ·  view source on GitHub ↗
(event: MessageEvent)

Source from the content-addressed store, hash-verified

637 let open = false
638
639 function onMessage(event: MessageEvent) {
640 if (event.data instanceof Blob) {
641 const effect = Effect.flatMap(
642 Effect.promise(() => event.data.arrayBuffer() as Promise<ArrayBuffer>),
643 (buffer) => {
644 const result = handler(new Uint8Array(buffer))
645 return Effect.isEffect(result) ? result : Effect.void
646 }
647 )
648 return run(effect)
649 }
650 const result = handler(event.data instanceof ArrayBuffer ? new Uint8Array(event.data) : event.data)
651 if (Effect.isEffect(result)) {
652 run(result)
653 }
654 }
655 function onError(cause: Event) {
656 ws.removeEventListener("message", onMessage)
657 ws.removeEventListener("close", onClose)

Callers 1

runRawFunction · 0.70

Calls 3

handlerFunction · 0.50
runFunction · 0.50
arrayBufferMethod · 0.45

Tested by

no test coverage detected