( acquire: Micro<A, E, R>, release: (a: A, exit: MicroExit<unknown, unknown>) => Micro<void> )
| 3439 | * @category resources & finalization |
| 3440 | */ |
| 3441 | export const acquireRelease = <A, E, R>( |
| 3442 | acquire: Micro<A, E, R>, |
| 3443 | release: (a: A, exit: MicroExit<unknown, unknown>) => Micro<void> |
| 3444 | ): Micro<A, E, R | MicroScope> => |
| 3445 | uninterruptible(flatMap( |
| 3446 | scope, |
| 3447 | (scope) => tap(acquire, (a) => scope.addFinalizer((exit) => release(a, exit))) |
| 3448 | )) |
| 3449 | |
| 3450 | /** |
| 3451 | * Add a finalizer to the current `MicroScope`. |
nothing calls this directly
no test coverage detected