下面是我尝试过的,它工作正常,但我想利用
infer
中的 typescript
来使这个函数返回一个特定值:
function one() {
return "one";
}
interface IConfig = {
isDebugMode: () => 'prod' | 'development',
};
function one() : IConfig['isDebugMode'] {
return process.env.mode;
}
类似这样的
type inference
:
type SettingReturnType<T> = T extends () => infer R ? R : never;
interface Config {
mode: () => 'dev' | 'prod';
}
function getApiUrl(): SettingReturnType<Config['mode']> {
return 'prod';
}