Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/remeda/remeda
A utility library for JavaScript and TypeScript.
https://github.com/remeda/remeda
functional programming typescript utility
Last synced: 5 days ago
JSON representation
A utility library for JavaScript and TypeScript.
- Host: GitHub
- URL: https://github.com/remeda/remeda
- Owner: remeda
- License: mit
- Created: 2018-05-07T08:56:53.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T13:26:23.000Z (2 months ago)
- Last Synced: 2024-10-29T16:04:48.521Z (2 months ago)
- Topics: functional, programming, typescript, utility
- Language: TypeScript
- Homepage: http://remedajs.com
- Size: 4.29 MB
- Stars: 4,505
- Watchers: 18
- Forks: 136
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-tiny-js - remeda - 90 tree-shakable helpers [(list).](https://bundlephobia.com/package/remeda) (Generic Utilities / Reactive Programming)
- awesome-list - remeda
- awesome-web-dev - remeda
- jimsghstars - remeda/remeda - A utility library for JavaScript and TypeScript. (TypeScript)
README
# Remeda
The first "data-first" and "data-last" utility library designed especially for TypeScript.
[![GitHub License](https://img.shields.io/github/license/remeda/remeda?style=flat-square)](https://github.com/remeda/remeda?tab=MIT-1-ov-file#readme)
![GitHub top language](https://img.shields.io/github/languages/top/remeda/remeda?logo=typescript&style=flat-square)
[![NPM](https://img.shields.io/npm/v/remeda?logo=npm&style=flat-square)](https://www.npmjs.org/package/remeda)
[![NPM Downloads](https://img.shields.io/npm/dm/remeda?logo=npm&style=flat-square)](https://npmtrends.com/remeda)
![GitHub Repo stars](https://img.shields.io/github/stars/remeda/remeda?logo=github&style=flat-square)
[![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/npm/remeda?logo=librariesdotio&style=flat-square)](https://libraries.io/npm/remeda/sourcerank)
[![Codecov](https://img.shields.io/codecov/c/github/remeda/remeda?logo=codecov&style=flat-square)](https://codecov.io/gh/remeda/remeda)
[![GitHub branch status](https://img.shields.io/github/checks-status/remeda/remeda/main?logo=github&style=flat-square)](https://github.com/remeda/remeda/actions/workflows)
[![GitHub Release Date](https://img.shields.io/github/release-date/remeda/remeda?logo=npm&style=flat-square)](https://github.com/remeda/remeda/releases)
[![Commits](https://img.shields.io/github/commit-activity/y/remeda/remeda?logo=github&style=flat-square)](https://github.com/remeda/remeda/commits/main/)
[![All contributors](https://img.shields.io/github/contributors/remeda/remeda?logo=github&style=flat-square)](https://github.com/remeda/remeda/graphs/contributors)## Documentation
Read the full docs and API reference on [remedajs.com/docs](https://remedajs.com/docs).
Migrating from other libraries? Check out our migration guides for [Lodash](https://remedajs.com/migrate/lodash) and [Ramda](https://remedajs.com/migrate/ramda)!
Interested in contributing? Read the [contributing guide](CONTRIBUTING.md).
## Features
- First-class TypeScript support, with types that are as specific as possible.
- Supports data-first (`R.filter(array, fn)`) and data-last (`R.filter(fn)(array)`) approaches.
- Lazy evaluation support with `pipe` and `piped`.
- Runtime and types are both extensively tested, with full code coverage.
- Tree-shakable, supports CJS and ESM.
- Fully documented with JSDoc, supports in-editor function documentation.## Getting started
### Installation
```bash
npm install remeda
pnpm add remeda
yarn add remeda
bun install remeda
```### Usage
```js
// Import everything:
import * as R from "remeda";// Or import methods individually:
// import { pipe, tap, unique, take } from "remeda";R.pipe(
[1, 2, 2, 3, 3, 4, 5, 6],
R.tap((value) => console.log(`Got ${value}`)),
R.unique(),
R.take(3),
); // => [1, 2, 3]// Console output:
// Got 1
// Got 2
// Got 2
// Got 3
```### Getting help
Questions, bug reports, and feature requests are tracked in [GitHub issues](https://github.com/remeda/remeda/issues).
## Contributors
Made with [contrib.rocks](https://contrib.rocks).