npm install @about-me/fp
# 或
pnpm add @about-me/fp
import { pipe , curry , tap , debounce } from '@about-me/fp'
// 1. 使用 pipe 创建数据处理管道
const result = pipe (
[ 1 , 2 , 3 , 4 , 5 ] ,
arr => arr . map ( x => x * 2 ) ,
tap ( x => console . log ( 'Doubled:' , x ) ) , // 调试不影响数据流
arr => arr . filter ( x => x > 5 ) ,
arr => arr . reduce ( ( sum , x ) => sum + x , 0 )
)
// 输出: 24
// 2. 使用 curry 创建专用函数
const filterBy = curry ( ( prop , value , arr ) =>
arr . filter ( item => item [ prop ] === value )
)
const users = [
{ name : 'Alice' , role : 'admin' } ,
{ name : 'Bob' , role : 'user' }
]
const getAdmins = filterBy ( 'role' ) ( 'admin' )
getAdmins ( users ) // [{ name: 'Alice', role: 'admin' }]
// 3. 使用 debounce 优化搜索
const searchAPI = debounce ( ( query : string ) => {
fetch ( `/api/search?q=${ query } ` )
} , 300 )
input . addEventListener ( 'input' , e => searchAPI ( e . target . value ) )
// 输入停止 300ms 后才发送请求
完整的 API 参考文档请访问 GitHub 文档
函数
描述
使用场景
pipe
从左到右组合函数,支持同步和异步
数据转换管道、流程编排、异步操作
compose
从右到左组合函数
数学风格组合、高阶函数
函数
描述
使用场景
tap
执行副作用但不改变值,支持同步和异步
调试、日志、监控、异步日志
以下是 txt 格式的文档文件列表,包括 llms.txt 和 llms-full.txt。这些文件供大型语言模型(LLM)访问本库的编程文档及 API。
在 AI 编程助手(Claude、Copilot、Cursor 等)中引用文档:
@llms/llms.txt
请帮我使用 `@about-me/fp` 创建一个数据处理管道:
1. 过滤活跃用户
2. 按评分排序
3. 添加元数据
4. 在每一步记录日志
llms.txt 和 llms-full.txt 的区别
llms.txt :索引文件,包含 API 链接和简要描述,LLM 需点击链接获取详细内容
llms-full.txt :完整文档,所有内容在单个文件中,无需额外访问
注意:llms-full.txt 文件较大,可能超出部分 LLM 的上下文窗口限制。