(effect: Effect.Effect<A, E, R>)
| 167 | ) |
| 168 | |
| 169 | const scoped = <A, E, R>(effect: Effect.Effect<A, E, R>) => |
| 170 | Effect.flatMap(Scope.make(), (scope) => |
| 171 | Effect.onExit(Scope.extend(effect, scope), (exit) => { |
| 172 | if (ejectedScopes.has(scope)) { |
| 173 | return Effect.void |
| 174 | } |
| 175 | return Scope.close(scope, exit) |
| 176 | })) |
| 177 | |
| 178 | /** |
| 179 | * @since 1.0.0 |