mirror of
https://github.com/toss/es-toolkit.git
synced 2024-12-26 01:12:56 +03:00
A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash.
984d56728e
* feat(compat): implement methodOf * make lint happy * Update docs/ko/reference/compat/util/methodOf.md * Update docs/ja/reference/compat/util/methodOf.md * Update docs/ko/reference/compat/util/methodOf.md --------- Co-authored-by: Sojin Park <raon0211@toss.im> Co-authored-by: Sojin Park <raon0211@gmail.com> |
||
---|---|---|
.circleci | ||
.github | ||
.scripts | ||
.vscode | ||
.yarn/sdks | ||
benchmarks | ||
docs | ||
src | ||
tests | ||
.attw.json | ||
.gitignore | ||
.npmignore | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc.cjs | ||
.yarnrc.yml | ||
CHANGELOG.md | ||
codecov.yml | ||
eslint.config.mjs | ||
jsr.json | ||
LICENSE | ||
package.json | ||
README-ja_jp.md | ||
README-ko_kr.md | ||
README-zh_hans.md | ||
README.md | ||
rollup.config.mjs | ||
SECURITY.md | ||
tsconfig.json | ||
vitest.config.mts | ||
yarn.lock |
es-toolkit ·
es-toolkit is a state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
- es-toolkit offers a variety of everyday utility functions with modern implementations, such as debounce, delay, chunk, sum, and pick.
- Designed with performance in mind, es-toolkit achieves 2-3× better performance in modern JavaScript environments.
- es-toolkit supports tree shaking out of the box, and reduces JavaScript code by up to 97% compared to other libraries.
- es-toolkit includes built-in TypeScript support, with straightforward yet robust types. It also provides useful type guards such as isNotNil.
- es-toolkit is utilized by several popular open-source libraries, such as Storybook and ink.
- es-toolkit is battle-tested with 100% test coverage, ensuring reliability and robustness.
Examples
// import from '@es-toolkit/es-toolkit' in jsr.
import { chunk, debounce } from 'es-toolkit';
const debouncedLog = debounce(message => {
console.log(message);
}, 300);
// This call will be debounced
debouncedLog('Hello, world!');
const array = [1, 2, 3, 4, 5, 6];
const chunkedArray = chunk(array, 2);
console.log(chunkedArray);
// Output: [[1, 2], [3, 4], [5, 6]]
Contributing
We welcome contribution from everyone in the community. Read below for detailed contribution guide.
License
MIT © Viva Republica, Inc. See LICENSE for details.