繁体   English   中英

如何转换类型但替换类型中的每个值

[英]How do I convert a type but replacing every value in the type

只是一个进入 typescript 世界的新开发者。 这可能看起来并不那么难,但我似乎无法从谷歌或堆栈溢出本身找到有关此问题的任何解决方案。

如何转换/转换 typescript 类型

type UsersSelect = {
    id: boolean
    created_at: boolean
    username: boolean
    discriminator: boolean
    activityMessage: boolean
    activityStatus: boolean
    userid: boolean
    lastseen: boolean
    themeId: boolean
    badges: boolean
    bannerColor: boolean
    friends: boolean
  }

type UsersSelect = {
  id: {
    public: true,
    private: true,
  },
  created_at: {
    public: true,
    private: true,
  },
  username: {
    public: true,
    private: true,
  },
  discriminator: {
    public: true,
    private: true,
  },
  activityMessage: {
    public: true,
    private: true,
  },
  userid: {
    public: false,
    private: true,
  },
  activityStatus: {
    public: true,
    private: true,
  },
  badges: {
    public: true,
    private: true,
  },
  bannerColor: {
    public: true,
    private: true,
  },
  friends: {
    public: false,
    private: true,
  },
  lastseen: {
    public: true,
    private: true,
  },
  themeId: {
    public: false,
    private: true,
  },
};

我尝试了几种可能的解决方案,但似乎都没有用。

这是你如何做到的。 您获取第一种类型的所有键并创建具有新值类型( {public: true, private: true} )的Record类型。

type UsersSelectConverted = Record<keyof UsersSelect, {public: true, private: true}>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM