UNPKG

typedash

Version:

modern, type-safe collection of utility functions

27 lines (25 loc) 820 B
//#region src/functions/assertNever/assertNever.ts /** * Throws an error if a value is of type `never`. * Used for exhaustive checks. * @param inclusive The value to check. * @param noThrow If `true`, returns `undefined` instead of throwing an error. * @returns This function never returns a value, but throws an error if `inclusive` is of type `never`. * @example * ```typescript * assertNever('foo' as never); // throws an error * assertNever('foo' as never, true); // returns undefined * ``` */ function assertNever(inclusive, noThrow = false) { if (noThrow) return; throw new Error(`Unexpected inclusive value: ${inclusive}`); } //#endregion Object.defineProperty(exports, 'assertNever', { enumerable: true, get: function () { return assertNever; } }); //# sourceMappingURL=assertNever-EOgaGI1R.cjs.map