aboutsummaryrefslogtreecommitdiff
path: root/utils/assert/assert-defined.ts
blob: 87af0e592fd0c13bb3ff3becdadead709db8f984 (plain)
1
2
3
4
5
6
7
/** Throw if a value is null or undefined; return the narrowed value. */
export function assertDefined<T>(value: T, message?: string): NonNullable<T> {
  if (value === null || value === undefined) {
    throw new Error(message ?? 'Expected value to be defined')
  }
  return value as NonNullable<T>
}