MCPcopy Index your code
hub / github.com/Effect-TS/effect / send

Function send

packages/experimental/src/Machine.ts:527–552  ·  view source on GitHub ↗
(request: R)

Source from the content-addressed store, hash-verified

525 })
526
527 const send = <R extends Machine.Public<M>>(request: R) =>
528 Effect.flatMap(
529 requestContext(request),
530 (item) => {
531 if (!item[3]) {
532 return Queue.offer(requests, item).pipe(
533 Effect.zipRight(Deferred.await(item[1])),
534 Effect.onInterrupt(() => Deferred.interrupt(item[1]))
535 )
536 }
537 const [, deferred, span] = item
538 return Effect.useSpan(`Machine.send ${request._tag}`, {
539 parent: span,
540 attributes: {
541 "effect.machine": runState.identifier,
542 ...request
543 },
544 kind: "client",
545 captureStackTrace: false
546 }, (span) =>
547 Queue.offer(requests, [request, deferred, span, true]).pipe(
548 Effect.zipRight(Deferred.await(deferred)),
549 Effect.onInterrupt(() => Deferred.interrupt(deferred))
550 ))
551 }
552 )
553
554 const sendIgnore = <R extends Machine.Public<M>>(request: R) =>
555 Effect.flatMap(

Callers 2

sendExternalFunction · 0.70
sendUnknownFunction · 0.70

Calls 5

requestContextFunction · 0.85
pipeMethod · 0.65
offerMethod · 0.65
awaitMethod · 0.45
interruptMethod · 0.45

Tested by

no test coverage detected