T

PathToType

Convert a collection path array into a Target type

Signature

ts
export type PathToType<T extends string[], Target = unknown>
  = T extends [infer Head, ...infer Rest]
    ? Head extends `${number}`
      ? Rest extends string[]
        ? Array<PathToType<Rest, Target>>
        : never
      : Rest extends string[]
        ? { [K in Head & string]: PathToType<Rest, Target> }
        : never
    : Target;

Type Parameters

Textends string[]
Target= unknown