MCPcopy
hub / github.com/Effect-TS/effect / onMessage

Function onMessage

packages/platform-browser/src/internal/workerRunner.ts:56–78  ·  view source on GitHub ↗
(portId: number)

Source from the content-addressed store, hash-verified

54 }
55
56 function onMessage(portId: number) {
57 return function(event: MessageEvent) {
58 const message = event.data as Runner.BackingRunner.Message<I>
59 if (message[0] === 0) {
60 const result = handler(portId, message[1])
61 if (Effect.isEffect(result)) {
62 const fiber = runFork(result)
63 fiber.addObserver(onExit)
64 FiberSet.unsafeAdd(fiberSet, fiber)
65 }
66 } else {
67 const port = ports.get(portId)
68 if (!port) {
69 return
70 } else if (ports.size === 1) {
71 // let the last port close with the outer scope
72 return Deferred.unsafeDone(closeLatch, Exit.void)
73 }
74 ports.delete(portId)
75 Effect.runFork(Scope.close(port[1], Exit.void))
76 }
77 }
78 }
79 function onMessageError(error: MessageEvent) {
80 Deferred.unsafeDone(
81 closeLatch,

Callers 1

handlePortFunction · 0.70

Calls 6

unsafeDoneMethod · 0.80
addObserverMethod · 0.65
getMethod · 0.65
closeMethod · 0.65
handlerFunction · 0.50
runForkFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…