curry
TypeScript-first curry function without upcast
β¨ Features
- β‘ Multi runtime support (
Deno
,Node.js
and Browsers) - π Pure TypeScript and provides type definition
- :earth_americas: Universal module, providing
ES modules
andCommonjs
- :package: 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);
:package: 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);
:globe_with_meridians: 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 |
:handshake: 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