Поскольку T
может быть любого типа на CliParser
, он слишком широк для OptionsToType
. Вы можете ограничить это, выполнив:
export class CliParser<T extends Array<{ name: Array<string>, type: keyof TypeMapping }>> {
opts: OptionsToType<T>;
constructor() {
}
}
Определенно немного некрасиво. Вы можете сделать Array<{ name: Array<string>, type: keyof TypeMapping }>
своим собственным типом.