@toreda/types
Version:
Common mappings, aliases, and types used in Toreda TypeScript packages.
7 lines (6 loc) • 301 B
TypeScript
import { ANY } from './any';
import { PrimitiveOrConstructor } from './primitive/or/constructor';
import { TypeMap } from './type/map';
export declare type Guarded<T extends PrimitiveOrConstructor> = T extends {
new (...args: ANY[]): infer U;
} ? U : T extends keyof TypeMap ? TypeMap[T] : never;