@blakek/curry

中文文档
2.0.2发布于 2020/06/15MITTypeScriptESM + CJS零依赖近 30 天下载 14.5万

简单的咖喱功能

中文使用文档
文档目录9 节
  1. 安装
  2. 使用量
  3. 类型脚本
  4. API 密码
  5. curry
  6. curryRight
  7. 捐款
  8. 有用的命令
  9. 许可证

咖喱

简单的咖喱功能

一个简单的帮助者来包裹一个函数并逐渐接受(即部分应用) 参数.

这个软件包在技术上是一种辅助器部分应用,但 curry 有点 比较容易记住和更好的软件包函数名称 partiallyApply。 。 。 .

安装

使用 雅伦数字 :

$ yarn add @blakek/curry

...或使用 无数字 :

$ npm i --save @blakek/curry

使用量

import { curry, curryRight } from '@blakek/curry';

// Simple curry usage
const multiply = (a, b) => a * b;
const timesTwo = curry(multiply)(2);
timesTwo(5); //» 10

// Specify number of arguments
const sum = (...args) => args.reduce((a, b) => a + b, 0);
const topFiveTotal = curry(sum, 5);
topFiveTotal(1, 5, 6)(6)(7); //» 25

// Reverse arguments
const prop = (object, key) => object[key];
const getName = curryRight(prop)('name');
getName({ name: 'John Smith', age: 42 }); //» 'John Smith'

类型脚本

许多功能的类型是推断出来的. 然而,一些职能,如 变量函数,需要明确类型:

const add = (...args: number[]) => args.reduce((a, b) => a + b, 0);

const addFourItems = curry(add, 4) as VariadicCurry<
  // argument types
  [number, number, number, number],
  // return type
  number
>;

// Includes helpers for functions accepting <=5 args
const addTwo = curry(add, 2) as Curry2<number, number, number>;

API 密码

curry

curry(fn: Function, arity?: number): any;

返回一个函数的参数,直到所有函数都存在 提供.

curryRight

curryRight(fn: Function, arity?: number): any;

与 curry,但一旦提供了限制,则撤销所有参数. 为需要提供针对具体情况的论据这一共同用途提供了条件 在提供第一个论据之前.

例如:

import { curryRight } from '@blakek/curry';

const users = [
  { username: 'blakek' },
  { username: 'gsandf' },
  { username: 'google' }
];

const prop = (object, key) => object[key];
const getUsername = curryRight(prop)('username');
users.map(getUsername); //» [ 'blakek', 'gsandf', 'google' ]

捐款

节点.js 财务报告和审定财务报表 雅伦 要求与该项目合作.

要安装所有依赖, 运行 :

yarn

有用的命令

yarn build将工程构建为 ./dist
yarn format按照 Pretier 样式格式化源
yarn test运行项目测试
yarn test --watch运行工程测试, 监视文件更改

许可证

麻省理工学院

版本与发布记录

@blakek/curry 共发布 4 个版本,首次发布于 2020/06/04;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.2latest2020/06/156 年前
2.0.12020/06/156 年前
2.0.02020/06/156 年前
1.0.02020/06/046 年前

关于 @blakek/curry 的常见问题

@blakek/curry 是什么?

简单的咖喱功能

如何安装 @blakek/curry?

在项目目录运行 npm install @blakek/curry,或使用 pnpm add / yarn add / bun add。

@blakek/curry 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@blakek/curry 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@blakek/curry 可以商用吗?

@blakek/curry 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@blakek/curry 的下载量有多少?

根据 npm 官方下载统计,@blakek/curry 在 2026/10/09 – 2026/11/07 这 30 天内被下载 145,223 次,日均约 4,841 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@blakek/curry 还在维护吗?

最新版本 2.0.2 发布于 2020/06/15(6 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/06/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。