()
| 144 | * @since 2.0.0 |
| 145 | */ |
| 146 | export const make = <A = unknown, E = unknown>(): Effect.Effect<FiberHandle<A, E>, never, Scope.Scope> => |
| 147 | Effect.acquireRelease( |
| 148 | Effect.sync(() => makeUnsafe<A, E>()), |
| 149 | (handle) => { |
| 150 | const state = handle.state |
| 151 | if (state._tag === "Closed") return Effect.void |
| 152 | handle.state = { _tag: "Closed" } |
| 153 | return state.fiber ? |
| 154 | Deferred.into( |
| 155 | Effect.asVoid(Fiber.interruptAs(state.fiber, internalFiberId)), |
| 156 | handle.deferred |
| 157 | ) : |
| 158 | Deferred.done(handle.deferred, Exit.void) |
| 159 | } |
| 160 | ) |
| 161 | |
| 162 | /** |
| 163 | * Creates a scoped run function that forks effects into a new `FiberHandle`. |
no test coverage detected