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 */ // @ts-expect-error helper to assert type to be another compile time export const assertType = () => {}; // eslint-disable-line 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;