typescript - 如何在不知道键的情况下提取对象每个值的返回类型
问题描述
编辑:我编辑了整个问题以使其更清楚,抱歉造成误解
鉴于这两个对象
const check = {
string: () => (str: any): string => "check stuff",
number: () => (num: any): number => 123,
email: () => (str: any): string => "email check"
}
const myobject =
{
name: check.string(),
age: check.number(),
email: check.email(),
test: check.number()
}
理想情况下,我想提取这种类型,并且应该以一种我不必在每次创建新检查对象时手动编写类型的方式对其进行概括
type CustomType = {
name: string;
age: number;
email: string;
test: number;
}
解决方案
type GetType<T> = {
[K in keyof T]: T[K] extends (...args: any) => any ? ReturnType<T[K]> : T[K]
}
type CheckedType = GetType<typeof myobject>;
推荐阅读
- flutter - 调整按钮以适应不同的屏幕尺寸
- c# - 如何在 Visual Studio 2019 中添加 Google MyBusiness C# 客户端库
- android - Firebase 身份验证不断在空对象引用上提供 com.google.firebase.auth.FirebaseAuth.getCurrentUser()'
- node.js - Passport 使用 NextJs 和 Express 为每个请求调用 deserializeUser
- elm - Elm:以字节为单位的搜索数
- javascript - 我们如何从所有用户那里获取唯一的机器 ID 或某个 ID,以查看他们是否已更新到部署的最新 Angular 版本?
- powerbi - 计算power bi中所有字段具有一定值的不同用户数
- ios - IOS 上的 NotificationHub 注册问题(React Native)
- pyspark - 如何正确使用 Pyspark 中的 ChiSquareTest 函数?
- php - XAMPP 能够在打印 HTTP 后修改标头