conditional-types相关内容
正在尝试创建一个简单的实用程序,它将: 在给定数组中按原样返回 或基于给定的可选参数进行转换。 代码如下: type MapperFn = (val: T) => U; interface mapperOpts { cb?: MapperFn } interface mapper { map
..
在TypeScrip(或者可能是其他技术)中使用新的条件类型,有没有一种方法可以根据它们的修饰符从接口中只挑选某些属性?例如,拥有... interface I1 { readonly n: number s: string } 我想在前一个类型的基础上创建一个新类型,如下所示: interface I2 { s: string } 推荐答案 更新
..
我正在尝试创建实现递归类型转换的通用映射类型。 非常感谢@jcalz为https://stackoverflow.com/a/60437613/1401634提供优雅的解决方案。 (请注意,票证具有不同的作用域,不与此票证重复) 如下所示,当前映射类型不支持元组或联合类型。 是否有办法支持联合类型并使规范通过? 游乐场就绪👉Playground Link /*
..
我正在努力想出一种使用TypeORM提高类型安全性的方法。下面是一些TypeORM实体定义示例。 import { BaseEntity, Entity, Column, ManyToMany, JoinTable, ManyToOne, OneToMany } from 'typeorm'; @Entity() class Product extends BaseEntity { @
..
导出类型 Parser = NumberParser |字符串解析器;类型 NumberParser = (输入:字符串) =>数量 |外交错误;type StringParser = (input: string) =>字符串 |外交错误;导出接口架构{[key: string]: 解析器 |架构;}导出类型 RawType= {[keyof T 中的属性]:T[Property] exten
..
以下功能主要取自 打字稿手册部分使用条件类型,但它不起作用: function test(a: T): T extends true ?字符串:数字{返回一个?“1":1} Typescript 报告: 输入'1 |“1"' 不能分配给类型 'T extends true ?字符串:数字'.类型 '1' 不能分配给类型 'T extends true ?字符串:数字'. 我想我遗漏了一些明
..
我有一个带有两个属性的 TypeScript 接口(type:string 和 args:object).args 可能具有不同的属性,具体取决于 type.我需要对 args 应用什么类型定义,以便编译器/自动完成功能知道 args 允许哪些属性? 这有点类似于我在 Redux 中使用 Actions 的方式,它有一个 type 和一个 payload 并且在我的 reducer 中,编译
..
我正在寻找一种方法来为以下具有两个已知键和一个已知类型的未知键的对象创建 TypeScript 类型: interface ComboObject {已知:布尔值字段:数字[U:字符串]:字符串}const 组合对象:组合对象 = {已知:真实领域:123未知名称:'值'} 该代码不起作用,因为 TypeScript 要求所有属性都匹配给定索引签名的类型.但是,我不想使用索引签名,我想键入一个
..
在 TypeScript 中使用新的条件类型(或者可能是另一种技术),有没有办法根据它们的修饰符从接口中只选择某些属性?例如,有... 接口 I1 {只读 n:数字s:字符串} 我想在前一个类型的基础上创建一个新类型,如下所示: 接口 I2 {s:字符串} 解决方案 2018-10 更新:@MattMcCutchen已经发现它是可以检测readonly字段(使下面删除的段落无效),如这个
..
假设我有一些联合类型: var MyComplexType = MyType1 |我的类型 2 |我的类型3 |... |我的类型N 其中 MyType{N} 具有这种签名: type MyType1 = {类型:字符串,数据:} 我知道我可以使用一种类型保护函数,例如.: function isMyComplexTypeOfMyType1(item: MyComp
..
使用 TypeScript 2.8 新的条件泛型类型特性,是否可以提取 React.ComponentType 组件的 TProps ?我想要一种可以在 ComponentType 或 TProps 本身上工作的类型,因此您可以 - 作为开发人员 - 通过两者之一: 例如: interface TestProps {富:字符串;}const TestComponent 扩展 React.C
..
是否可以根据 TypeScript 中的条件类型使函数具有强制或可选参数? 这是我目前得到的: const foo = (第一个:T,第二个:T 扩展字符串?布尔值:未定义) =>不明确的;foo('foo', true);//好的,正如预期的那样富(2,真);//不行,正如预期的那样富(2,未定义);//好的,正如预期的那样富(2);//编译错
..
在 TypeScript 中,我正在研究一个通用的“转换器"函数,该函数将获取一个对象并通过重命名其某些属性(包括嵌套数组和嵌套对象中的属性)来改变其形状. 实际重命名运行时代码很简单,但我无法弄清楚 TypeScript 类型.我的类型定义适用于标量属性和嵌套对象.但是如果属性是数组值,则类型定义会丢失数组元素的类型信息.如果对象上有任何可选属性,类型信息也会丢失. 我正在尝试做的事
..
我正在尝试定义帮助器类型来确定嵌套对象值的类型,同时还考虑任何可选的父键,例如在这样的(或更深的)结构中: type Foo = { a: { b?: number;} };type Foo2 = { a?: { b: number } }; 就我而言,Foo 和 Foo2 中 b 的类型应该被推断为 number |未定义.在 Foo2 中, b 本身不是可选的,但是因为 a 是,对于我的查
..
我正在尝试创建一个实现递归类型转换的通用映射类型. 非常感谢@jcalz 提供了来自 https://stackoverflow.com/a/60437613/1401634 的优雅解决方案. (注意票据的范围不同,与此票据不重复) 如下图,当前映射类型不支持元组或联合类型. 有没有办法支持联合类型并使规范通过? 游乐场准备👉游乐场链接 /*** 递归类型转换.支
..
我在操场上有一个TypeScript代码段.请看看那里打字稿游乐场或此处: 枚举MyTypes {FIRST ="FIRST",SECOND ="SECOND",第三=“第三"}输入TFirst = {类型:MyTypes.FIRSTfoo:字串}类型TSecond = {类型:MyTypes.SECONDfoo:字串}类型TThird = {类型:MyTypes.THIRD条:字符串}类型TC
..
我正在尝试使用条件映射类型仅获取特定类型的对象的键作为函数中的参数. 但是,我遇到了一个问题,当我这样做时,不能正确地推断出正确的类型. 我创建了一个示例来演示(interface TraversableType{ name: string; } interface TypeOne extends TraversableType{ typeNotTraversable: string;
..
问题 假设我有这样的代码: //我们可能会收到的事件: 枚举EventType {PlaySong,SeekTo,StopSong}; //回调将通过以下方式处理: type PlaySongCallback =(name:string)=>虚空 类型SeekToCallback =(秒:数字)=>虚空 类型StopSongCallback =()=>虚空
..
我正在将一些设置存储到本地存储中,我想在从存储中获取值(最好也插入)时键入响应。 据我所见,最好的方法似乎是使用函数重载。所以这就是我现在所拥有的并且可以正常工作: export enum SettingsKey { hasOnboarded ='hasOnboarded', phoneNumber ='phoneNumber' } 导出异步功能getSetting(存储:
..
说我有以下两种类型: export type CollectionNames = 'twitter:tweets' | 'twitter:users' | 'twitter:metadata-cashtag' export type CollectionType = T extends 'twitter:tweets' ? T
..