Hyperlinkv0.8.0-beta.28

UndefinedOr

UndefinedOr.getOrThrowWithconsteffect/UndefinedOr.ts:88
(onUndefined: () => unknown): <A>(self: A | undefined) => A
<A>(self: A | undefined, onUndefined: () => unknown): A

Returns the defined value, or throws the value produced by onUndefined when the input is undefined.

When to use

Use when you need fail-fast unwrapping of an A | undefined value and want to provide the thrown error for the undefined case.

Details

Defined values are returned unchanged. When the input is undefined, onUndefined is called and its result is thrown.

export const getOrThrowWith: {
  (onUndefined: () => unknown): <A>(self: A | undefined) => A
  <A>(self: A | undefined, onUndefined: () => unknown): A
} = dual(2, <A>(self: A | undefined, onUndefined: () => unknown): A => {
  if (self !== undefined) {
    return self
  }
  throw onUndefined()
})
Referenced by 1 symbols