| 277 | * @categories combinators |
| 278 | */ |
| 279 | export const clear = <A, E>(self: FiberSet<A, E>): Effect.Effect<void> => |
| 280 | Effect.withFiberRuntime((clearFiber) => { |
| 281 | if (self.state._tag === "Closed") { |
| 282 | return Effect.void |
| 283 | } |
| 284 | return Effect.forEach(self.state.backing, (fiber) => |
| 285 | // will be removed by the observer |
| 286 | Fiber.interruptAs(fiber, FiberId.combine(clearFiber.id(), internalFiberId))) |
| 287 | }) |
| 288 | |
| 289 | const constInterruptedFiber = (function() { |
| 290 | let fiber: Fiber.RuntimeFiber<never, never> | undefined = undefined |