UNPKG

remeda

Version:

A utility library for JavaScript and Typescript.

18 lines (15 loc) 583 B
import { Tagged } from 'type-fest'; declare const RemedaErrorSymbol: unique symbol; type RemedaTypeErrorOptions = { type?: unknown; metadata?: unknown; }; /** * Used for reporting type errors in a more useful way than `never`. */ type RemedaTypeError<Name extends string, Message extends string, Options extends RemedaTypeErrorOptions = {}> = Tagged<Options extends { type: infer T; } ? T : typeof RemedaErrorSymbol, `RemedaTypeError(${Name}): ${Message}.`, Options extends { metadata: infer Metadata; } ? Metadata : never>; export type { RemedaTypeError as R };