У меня здесь интерфейс параметров команды (они помещаются в массив command.params
)
export interface CommandParam {
name: string
resolve: (input: string) => unknown
onMissing?: () => unknown
onFail?: () => unknown
}
Этот метод обрабатывает введенные аргументы и возвращает значения, типы которых определяются типом возвращаемого значения CommandParam.resolve
private async resolveParams (
command: Command,
args: Array<string>,
): Promise<{[k: string]: unknown}> {
Как мне заменить возвращаемый тип unknown
массивом типов? Чтобы продемонстрировать то, что я хочу, обычный сценарий для выполнения sh это будет (Не настоящий рабочий сценарий из-за ReturnType, но это демонстрирует мою точку зрения)
command.params.map((p) => ReturnType<typeof p.resolve>)
Я почти уверен, что это возможно, потому что нечто подобное делается здесь