подобное только для массива функций
type DepsResult<T> = {
[P in keyof T]: T[P] extends DepFunction
? ReturnType<T[P]>
: T[P];
};
либо я не понял, какая хитрость нужна, либо это просто вот так type DepsResultA<T> = T extends DepFunction ? ReturnType<T>[] : T[]; https://www.typescriptlang.org/play?useDefineForClassFields=true&ts=3.9.2#code/C4TwDgpgBAIhYDECuA7AxsAlgexVAvFABQCUBAfFAG7aYAmA3AFBOiSzwDOy6WunBKAG8mUKAG0A1hBAAuKJ2AAnTCgDmAXXlxEqDDhTMAvs1bhoOzgCUInJABtgAHgAqlQiLHiAClFVRpEGwAMygXLTCfDSgIAA9gCBQ6AR0efVxRMSgAfigbYCQlFBdzVyjyTLF5FyjjUzYLLhs7RwBBV3cwmPjE5I5dXgNM3PzC4tK3cQ1M6qnmIA
Обсуждают сегодня