You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取AWS类型中未显式命名的对象属性内部接口类型?

提取@serverless/typescript中未导出的Lambda配置类型

你可以通过两种方式提取这个字符串索引对应的类型:

方法一:直接索引访问

因为functions是可选属性(带?),首先用NonNullable排除undefined和null,再通过[string]访问字符串索引对应的值类型:

type AwsLambdaConfig = NonNullable<AWS['functions']>[string];

方法二:条件类型推断(更通用)

如果需要适配不同类型的索引键,或者想让逻辑更清晰,可以用条件类型结合infer来提取索引值类型:

// 定义通用的索引值提取工具类型
type ExtractIndexValue<T> = T extends { [key: string]: infer U } ? U : never;

// 提取Lambda配置类型
type AwsLambdaConfig = ExtractIndexValue<NonNullable<AWS['functions']>>;

两种方法本质都是先处理functions的可选性,再拿到索引签名对应的具体类型。前者更简洁,后者扩展性更强,比如后续如果索引键类型变化,只需调整工具类型里的索引键类型即可。

内容的提问来源于stack exchange,提问作者fraxture

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 12:02:33