📄️ Pick [union, built-in]
这是个啥呢? 我理解为兼容对象的属性
📄️ Readonly [built-in, readonly, object-keys]
目的是不能修改对象的属性值
📄️ Tuple to Object
传入一个元组类型,将这个元组类型转换为对象类型,这个对象类型的键/值都是从元组中遍历出来。
📄️ First of Array [array]
实现一个通用 First 它接受一个数组T并返回它的第一个元素的类型。
📄️ Length of Tuple
创建一个通用的Length,接受一个readonly的数组,返回这个数组的长度。
📄️ Exclude [built-in]
实现内置的Exclude 类型,但不能直接使用它本身。
📄️ Awaited [promise, built-in]
假如我们有一个 Promise 对象,这个 Promise 对象会返回一个类型。在 TS 中,我们用 Promise 中的 T 来描述这个 Promise 返回的类型。请你实现一个类型,可以获取这个类型。
📄️ If [utils]
实现一个 IF 类型,它接收一个条件类型 C ,一个判断为真时的返回类型 T ,以及一个判断为假时的返回类型 F。 C 只能是 true 或者 false, T 和 F 可以是任意类型。
📄️ Concat [array]
在类型系统里实现 JavaScript 内置的 Array.concat 方法,这个类型接受两个参数,返回的新数组类型应该按照输入参数从左到右的顺序合并为一个新的数组。
📄️ Includes [array]
在类型系统里实现 JavaScript 的 Array.includes 方法,这个类型接受两个参数,返回的类型要么是 true 要么是 false。
📄️ Push
在类型系统里实现通用的 Array.push 。
📄️ Unshift
实现类型版本的 Array.unshift。
📄️ Parameters
实现内置的 Parameters 类型。