用途:这是一个 fp-ts 类型速查参考,用于在编写 TypeScript 函数式代码时快速决定应使用哪种类型,并查找常用导入与简短写法。
主要能力:提供类型选择决策树。若操作非异步且涉及错误,用 Either<Error, Value>;非异步且值可能缺失,用 Option<Value>;否则直接用值。若操作异步且涉及错误,用 TaskEither<Error, Value>;异步且值可能缺失,用 TaskOption<Value>;异步且无错误,用 Task<Value>。
常用导入:import { pipe, flow } from 'fp-ts/function';import * as O from 'fp-ts/Option';import * as E from 'fp-ts/Either';import * as TE from 'fp-ts/TaskEither';import * as T from 'fp-ts/Task';import * as A from 'fp-ts/Array'。
一行式模式:包装可空值用 O.fromNullable(value);默认值用 O.getOrElse(() => default);存在时转换用 O.map(fn);串联可选值用 O.flatMap(fn);包装 try/catch 用 E.tryCatch(() => risky(), toError);包装异步用 TE.tryCatch(() => fetch(url), toError);运行管道用 pipe(value, fn1, fn2, fn3)。
模式匹配:Option 用 pipe(maybe, O.match(() => 'nothing', (val) => got ${val}));Either 用 pipe(result, E.match((err) => error: ${err}, (val) => success: ${val}))。
适用场景:需要快速回忆 fp-ts 类型选择、导入路径或常见组合子写法时。限制:资料未提供版本要求、安装步骤、完整 API 覆盖或错误处理细节,暂未提供。