В настоящее время я передаю обратный вызов для синтаксического анализа необработанных значений, чтобы указать c generi c types
protected constructValue<TResult>(key: string, parser: Function): TResult {
const rawValue: string = /* assign raw value here */;
return parser(rawValue);
}
Есть ли способ убедиться, что функция парсера должна быть обратный вызов, который возвращает значение типа generi c? Так что это будет работать
constructValue<number>('myKey', Number)
, но это не будет
constructValue<number>('myKey', value => value === 'true')
, потому что анализатор возвращает логическое значение, а не число.