/** Exhaustiveness check for switches / discriminated unions; throws if reached. */ export function assertUnreachable(x: never): never { throw new Error( `Didn't expect to get here. Unexpected value: ${JSON.stringify(x)}`, ); } /** @link https://stackoverflow.com/a/69413184 */ export const assertType = () => {}; export type Unpacked = T extends (infer U)[] ? U : T extends (...args: unknown[]) => infer U ? U : T extends Promise ? U : T; export type Nullish = T | null | undefined; export type Unwrapped any> = Unpacked< Awaited> >;