首页 > 其他分享 >[Typescript] Tips: Derive a union type from an object

[Typescript] Tips: Derive a union type from an object

时间:2022-09-26 14:00:26浏览次数:48  
标签:Typescript union object K2 keyof type

const fruitCounts = {
  apple: 12,
  banana: 23
}

type PropUnion<T extends Record<PropertyKey, any>> = {
  [K in keyof T]: {
    [K2 in K]: T[K2]
  }
}[keyof T]

type FruitCounts = PropUnion<typeof fruitCounts>

标签:Typescript,union,object,K2,keyof,type
From: https://www.cnblogs.com/Answer1215/p/16730648.html

相关文章

  • 2022-09-06 Invalid default value for prop "value": Props with type Object/Array
    前言:父级给子组件传值,子组件接收传递过来的变量报错:Invaliddefaultvalueforprop"value":PropswithtypeObject/Arraymustuseafactoryfunctiontoreturnthe......
  • #define RT_OBJECT_HOOK_CALL(func, argv) __on_##func argv
    RT_OBJECT_HOOK_CALL(rt_object_attach_hook,(object));#defineRT_OBJECT_HOOK_CALL(func,argv)__on_##funcargv展开后:__on_rt_object_attach_hook(object......
  • [Typescript] 37. Medium - KebabCase *
    Replacethe camelCase or PascalCase stringwith kebab-case.FooBarBaz -> foo-bar-bazForexampletypeFooBarBaz=KebabCase<"FooBarBaz">;constfoobarb......
  • TypeScript type 关键字
    联合类型、对象类型等都有可能不止用一次,type关键字给类型声明一个别名,就不需要再次声明同样的类型,直接引用类型别名。我在某个时候写了一个函数,其签名param是一个联合......
  • WEB自动化-10-Page Object 模型
    10PageObject模型10.1概述  在针对一个WEB页面编写自动化测试用例时,需要引用页面中的元素(数据)才能进行操作(动作)并显示出页面内容。如果编写的测试用例是直接针对......
  • 二、typescript类(一)属性和方法
    一、概述:1.类的创建:使用class关键字定义一个类;1classPersion{2}2.对象中主要包含了两个部分:属性 方法3.属性可以分为:静态属性和实例属性;直接定义的属性......
  • Typescript类型体操 - BEM style string
    题目中文Block,Element,Modifier方法(BEM)是CSS中类的流行命名约定。例如,块组件用btn表示,依赖于块的元素用btn__price表示,更改块样式的修饰符将用btn--big或者btn......
  • 【笔记】Oracle union all&for update锁
    【笔记】Oracleunionall&forupdateunionall在Oracle中有三种类型的集合操作UNION:求并,重复记录只显示一次UNIONALL:求并集,显示所有记录信息INTERSECT:求交集MINUS......
  • union和union all的区别
    从结果上来看1. UNION和UNIONALL都是将两个结果集合并为一个,但是UNION在进行表链接后会筛选掉重复的记录,UnionAll不会去除重复记录。2.Union将会按照字段的顺序进行......
  • [Typescript] 36. Medium - Merge
    Mergetwotypesintoanewtype.Keysofthesecondtypeoverrideskeysofthefirsttype.Forexampletypefoo={name:string;age:string;}typecoo=......