easy-pick
- in -> mapped an union
todo[key]
-> indexed- keyof -> lookup
- extends -> constraints
easy-readonly
- in -> mapped a interface
- readonly -> readonly
easy-tuple-to-obj
- in -> mapped a array
- @ts-expect-error -> 注释
easy-first-of-array
- extends
tuple["length"]
- extends + union type (unsupport)
- infer
easy-tuple-of-length
tuple["length"]
-> valuearray["length"]
-> type of number- as const + typeof -> readonly
easy-exclude
- extends
- T extends U ? never : T;
easy-await
- infer
- T extends Promise ? T : never;
easy-if
- 类型兼容性
- null 在严格模式和非严格模式下的区别
-
- Important!
easy-concat
- spread
[...T]
easy-includes
- infer-spread
- extends 约束
- 模块规范:
- 文件内有 export/import 那么该文件是模块
- 使用时需要有对应的导出和引入
- 文件内没有时就是全局可用的
easy-push-unshift
- spread
[...T, U]
easy-myparameters
- infer
- extends (...args: infer X) => any ? X : never
- [microsoft/TypeScript#24897]
medium-get-return-type
- like easy-myparameters
- T extends (...args: any[]) => infer X ? X : never
medium-omit
[P in keyof T as P extends K ? never : P] : T[P]
Pick<T, Exclude<keyof T, K>>
- how to use
as
?
放假回家过年了,年后回来继续更,新年快乐 UU 们~