Task.acquireRelease<R,T,E,>(unnamed 0: { acquire: (signal?: AbortSignal) => Promise<R>; release: (resource: R) => Promise<void>; use: (resource: R) => Task<T, E>; }): Task<T, E>
Acquires a resource, runs a task that uses it, and releases it regardless of success or failure. Useful for resource lifecycle management when the use computation is a composed Task chain.
The acquire function receives an optional AbortSignal that is active when
the task is run with a signal. The release function always runs and does
not receive a signal — cleanup should not be cancellable.