expectExitFailure<A extends Object, E extends Object> function

E expectExitFailure<A extends Object, E extends Object>(
  1. Exit<A, E> exit
)

Extract a typed failure or throw an assertion-oriented exception.

Implementation

E expectExitFailure<A extends Object, E extends Object>(Exit<A, E> exit) {
  return switch (exit) {
    ExitFailure<A, E>(:final error) => error,
    _ => throw BetterEffectTestExpectationException(
      expected: 'ExitFailure<$A, $E>',
      actual: exit,
    ),
  };
}