[英]TypeScript: Getting the type signature of values in a dynamically keyed object
我想在類型 object 中引用值類型,我從庫中導入並且不控制。
我正在使用無服務器 TypeScript package,它提供了一種名為AWS
的類型,如下所示:
{
...
functions?: {
[k: string]: {
name: string;
...
}
}
}
我知道可以使用AWS["functions"]
引用整個函數子對象的類型
我的問題是,如何以編程方式詢問該子對象的值的子類型?
請參閱下面的代碼,其中“TYPE_HERE”指示我要在哪里填寫類型。
import type { AWS } from "@serverless/typescript";
export default (): TYPE_HERE => ({
name: "",
...
});
當它作為動態鍵的 value 屬性存在時,我如何 state 使用根類型甚至類型AWS["functions"]
的類型?
這應該有效:
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
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.