У меня есть тип, в котором я хочу использовать выводимый тип возврата из одного свойства в качестве аргумента в другом свойстве.
желаемое использование:
const options = {
include: [
(x: /* I want this x to be inferred as boolean */) => {}
],
transform: (_) => true,
}
type Transformer<T extends object> = (value: ValueOf<T>) => any
type TransformerReturnType<F> = F extends (v: any) => infer U ? U : any
interface Options<Input extends object, T = Transformer<Input>> {
exclude: ((value: TransformerReturnType<T>) => boolean)[],
transform?: T,
}
Есть ли так, чтобы машинопись могла лениво вычислять тип возвращаемого результата преобразования из использования?
Ваш,