()
| 152 | * @since 2.0.0 |
| 153 | */ |
| 154 | export const make = <A = unknown, E = unknown>(): Effect.Effect<FiberSet<A, E>, never, Scope.Scope> => |
| 155 | Effect.acquireRelease( |
| 156 | Effect.sync(() => makeUnsafe(new Set(), Deferred.makeUnsafe())), |
| 157 | (set) => |
| 158 | Effect.suspend(() => { |
| 159 | const state = set.state |
| 160 | if (state._tag === "Closed") return Effect.void |
| 161 | set.state = { _tag: "Closed" } |
| 162 | const fibers = state.backing |
| 163 | return Fiber.interruptAll(fibers).pipe( |
| 164 | Deferred.into(set.deferred) |
| 165 | ) |
| 166 | }) |
| 167 | ) |
| 168 | |
| 169 | /** |
| 170 | * Creates a scoped run function that forks effects into a new `FiberSet`. |
no test coverage detected