arrow-effects-extensions / arrow.effects.extensions / IOBracket

IOBracket

@extension interface IOBracket : Bracket<ForIO, Throwable>, IOMonadThrow

Functions

bracket open fun <A, B> IOOf<A>.bracket(release: (A) -> IOOf<Unit>, use: (A) -> IOOf<B>): IO<B>
bracketCase open fun <A, B> IOOf<A>.bracketCase(release: (A, ExitCase<Throwable>) -> IOOf<Unit>, use: (A) -> IOOf<B>): IO<B>
guarantee open fun <A> IOOf<A>.guarantee(finalizer: IOOf<Unit>): IO<A>
guaranteeCase open fun <A> IOOf<A>.guaranteeCase(finalizer: (ExitCase<Throwable>) -> IOOf<Unit>): IO<A>

Extension Functions

catch fun <A> ApplicativeError<ForIO, Throwable>.catch(arg1: () -> A): IO<A>
just fun <A> A.just(): IO<A>
just fun <F, E, A> A.just(BR: Bracket<F, E>): Resource<F, E, A>

Inheritors

IOMonadDefer interface IOMonadDefer : MonadDefer<ForIO>, IOBracket