最近给 typed-pipeline 升级到 TypeScript 5,顺手把类型系统能力拉满了。这篇文章记录用到的每一个类型技法。
目标
我们要实现的是:
const p = fpipe(
(x: number) => x * 2, // number → number
(n: number) => `val: ${n}`, // number → string
(s: string) => s.length, // string → number
)
await p(5) // Promise<number>,类型正确推断
大约 6 分钟
