(request: R)
| 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( |
no test coverage detected