Type alias CalculatedPropertyT<Path>

CalculatedPropertyT<Path>: Path extends []
    ? never
    : Path extends [infer First]
        ? Extract<First, PropertyT>
        : Path extends [...(infer Initial), infer Last]
            ? Last extends string
                ? Initial extends PropertyT[]
                    ? `${CalculatedPropertyT<Initial>}${`.${Extract<Last, PropertyT>}` | `[${Extract<Last, PropertyT>}]`}`
                    : never
                : never
            : never

Type Parameters

  • Path extends unknown[]