用途
fp-types-ref 是一个针对 fp-ts 类型的快速参考技能,主要用于在 TypeScript 流程中帮助选择合适的数据类型抽象。当用户询问应该使用哪个类型、需要 Option/Either/Task 的决策帮助,或想了解 fp-ts 的导入方式时,可以借助该参考。它聚焦于导入、决策指导以及为 TypeScript 流程选择正确抽象。
主要能力
该技能提供一份紧凑的 fp-ts 类型选择与常见模式参考,核心内容包括:
- 类型选择决策树:根据操作是否异步、是否涉及错误、值是否可能缺失,给出对应类型建议。
- 常见导入片段:涵盖 function、Option、Either、TaskEither、Task、Array 等模块的导入写法。
- 一行式模式:如包装可空值、提供默认值、存在时转换、链式可选、包装 try/catch、包装异步、运行 pipe 等。
- 模式匹配示例:分别给出 Option 与 Either 的 match 用法。
使用方式
该技能以参考文档形式提供,不包含可执行安装命令或代码运行步骤。使用时,开发者根据决策树判断所需类型,参考常见导入与一行式模式编写代码,并参照模式匹配示例处理结果。资料中未提供具体的安装命令或调用方式。
适用场景
适用于以下情况:
- 需要在 Option、Either、Task、TaskEither 或相关 fp-ts 类型之间做选择。
- 任务涉及导入、决策指导,或为 TypeScript 流程选择正确抽象。
- 需要一份关于常见 fp-ts 类型选择与模式的紧凑参考。
限制
资料明确说明以下限制:
- 仅在任务清晰匹配上述范围时使用该技能。
- 不应将输出视为环境特定验证、测试或专家评审的替代品。
- 如果缺少必需输入、权限、安全边界或成功标准,应停止并请求澄清。
- 参考范围为 fp-ts 2.x 片段。需要自行提供应用变量、类型、校验器和导入,并检查已安装版本。
- map 不会捕获抛出的异常。
- Task 没有类型化错误通道;包装不当的 promise 仍可能 reject。
- 应在可能失败的边界使用 tryCatch。
官方 API 参见 fp-ts 模块。