curry
TypeScript-first curry function without upcast
✨ Features
- ⚡ Multi runtime support (
Deno
,Node.js
and Browsers) - 📚 Pure TypeScript and provides type definition
- 🌎 Universal module, providing
ES modules
andCommonjs
- 📦 Optimized, super slim size
- 📄 TSDoc-style comments
Package name
Deno: curry
(deno.land,
nest.land)
Node.js: curry-rice
(npm)
The origin of the word curry-rice
is Rice and curry 🍛.
⚡ Example
const replace = (from: string, to: string, val: string) => val.replace(from, to)
const curriedReplace = curry(replace)
const curriedReplace('hello', 'hi', 'hello world') // 'hi world'
const curriedReplace('hello')('hi', 'hello world') // 'hi world'
const curriedReplace('hello','hi')('hello world') // 'hi world'
const curriedReplace('hello')('hi')('hello world') // 'hi world'
💫 Usage
curry
provides multi platform modules.
🦕 Deno
deno.land
import { curry } from "https://deno.land/x/curry/mod.ts";
curry(AnyFn);
nest.land
import { curry } from "https://x.nest.land/curry/mod.ts";
curry(AnyFn);
📦 Node.js
NPM package name is
curry-rice
.
Install
npm i curry-rice
or
yarn add curry-rice
ES modules
import { curry } from "curry-rice";
curry(AnyFn);
Commonjs
const { curry } = require("curry-rice");
curry(AnyFn);
🌐 Browser
The module that bundles the dependencies is obtained from skypack.
<script type="module">
import { curry } from "https://cdn.skypack.dev/curry-rice";
curry(AnyFn)
</script>
💚 Supports
ie is no longer supported to reduce bundle size.
The TypeScript version must be 4.1.0
or higher.
This project provides ES modules
and Commonjs
.
If you have an opinion about what to support, you can open an issue to discuss it.
The browserslist
has the following settings.
defaults
last 8 version
not IE <= 11
not ie_mob <= 11
node 6
Deno |
Node.js |
Edge |
Firefox |
Chrome |
Safari |
iOS Safari |
Samsung |
Opera |
---|---|---|---|---|---|---|---|---|
^1.6.0 |
^6.17.0 |
^83 |
^78 |
^83 |
^11 |
^12.0 |
^7.2 |
^68 |
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check
issues.
🌱 Show your support
Give a ⭐️ if this project helped you!
💡 License
Copyright © 2021-present TomokiMiyauci.
Released under the MIT license