Мне нужна в машинописи (или, по крайней мере, в JavaScript) функция, которую я могу вызывать / использовать как массив: myFunc [someInput]
Я знаю, что я могу сделать что-то вроде:
interface IInputs {
"someInput1": someType,
"someInput2": someType,
}
interface someType {
// ...
}
var myFunc: IInputs;
Итак, я могу написать:
myFunc["someInput1"]
Первая проблема заключается в том, что мне приходится жестко кодировать каждый возможный ввод.Ввод является строкой, но может быть любой строкой.Другая заключается в том, что моя функция должна вызывать другую («нормальную») просто так:
myFunc[input: string] : any {
//...
return anotherFunc(input);
}
Я упростил свою задачу, чтобы показать только соответствующие факты.