raviger
Version:
React routing with hooks
7 lines (6 loc) • 428 B
TypeScript
export type EmptyRecord = Record<string | number | symbol, never>;
export type ValueOf<T> = T[keyof T];
export type NonEmptyRecord<Params> = Params extends EmptyRecord ? undefined : {
[Key in keyof Params]: Params[Key];
};
export type Split<Value extends string, Separator extends string> = Value extends `${infer Head}${Separator}${infer Tail}` ? [Head, ...Split<Tail, Separator>] : Value extends Separator ? [] : [Value];