UNPKG

ts-neverfalse

Version:

Automated error coalescing and aggregation to simplify advanced type evaluations in Typescript

12 lines (10 loc) 330 B
type Unique<T extends string[], Acc extends string[] = []> = T extends [ infer First extends string, ...infer Rest extends string[] ] ? First extends Acc[number] ? Unique<Rest, Acc> : Unique<Rest, [...Acc, First]> : { [K in keyof Acc]: Acc[K]; }; type R<T> = { [K in keyof T]: T[K]; }; export type { R, Unique };