如何解决TypeScript:获取动态键控对象中值的类型签名
我想引用我从库中导入的类型对象中的值类型,但不进行控制。
我正在使用无服务器 TypeScript 包,它提供了一个名为 username score
0 1 0.000800
2 1 0.000009
4 2 0.009800
7 3 0.019000
8 3 0.000100
的类型,如下所示:
AWS
我知道可以用
{
...
functions?: {
[k: string]: {
name: string;
...
}
}
}
引用整个函数子对象的类型
我的问题是,如何以编程方式请求该子对象的值的子类型?
请参阅下面的代码,其中“TYPE_HERE”表示我想在哪里填写类型。
AWS["functions"]
当它作为动态键的值属性存在时,如何使用根类型甚至类型 import type { AWS } from "@serverless/typescript";
export default (): TYPE_HERE => ({
name: "",...
});
来声明类型?
解决方法
这应该有效:
interface AWS {
functions?: {
[k: string]: {
name: string;
}
}
}
type FnType
= NonNullable<AWS["functions"]> extends { [K: string]: infer R } ? R : never
const d = (): FnType => ({
name: "",dd: '',// error
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。