Compare commits

...

2 Commits

Author SHA1 Message Date
c7d33afe9d don't re-export remeda itself 2023-07-25 13:47:16 -04:00
36e81e33d7 add repository info 2023-07-25 13:15:27 -04:00
4 changed files with 26 additions and 19 deletions

View File

@ -1,17 +1,16 @@
# @yanick/remeda # @yanick/remeda
This package adds a few functions to the already awesome This package provides a few functions to the already awesome
[remeda](https://remedajs.com/) library. For convenience, it [remeda](https://remedajs.com/) library that I really want, but wasn't able to
re-export everything that remeda has. get in Remeda itself.
## Usage
Just import the additional functions from `@yanick/remeda-extra`.
``` ```
import { matches, pipe } from '@yanick/remeda'; import { pipe } from 'remeda'; // as usual
import { matches } from '@yanick/remeda-extra'; // yanick-themed bonus feature!
// equivalent to
import { pipe } from 'remeda';
import { matches } from '@yanick/remeda';
``` ```
## Additional functions ## Additional functions
@ -25,7 +24,8 @@ to return a boolean), or a value. If the value is an object, the matching
will be recursive. will be recursive.
``` ```
import { matches, pipe } from '@yanick/remeda'; import { pipe } from 'remeda';
import { matches } from '@yanick/remeda-extra';
matches( 'potato', 'potato'); // => true matches( 'potato', 'potato'); // => true
matches( 'potato', 'turnip'); // => false matches( 'potato', 'turnip'); // => false
@ -42,9 +42,12 @@ pipe( { 'a': 4, 'b': 5, 'c': 6 }, R.matches({ 'a': 4, 'c': 6 })) // => true
### `sample(target, size | { size: number, repeating: boolean })` ### `sample(target, size | { size: number, repeating: boolean })`
### `sample(size | { size: number, repeating: boolean })(target)` ### `sample(size | { size: number, repeating: boolean })(target)`
Like the `sample` that comes with Remeda, but this one shuffles its output
automatically.
Returns random elements of the array. If `size` is bigger than the array Returns random elements of the array. If `size` is bigger than the array
length and `repeating` is false, returns a number of samples equal to length and `repeating` is false, returns a number of samples equal to
the size of the whole array. the size of the whole array.
``` ```
sample([1,2,3,4],2); // [3,1] sample([1,2,3,4],2); // [3,1]

View File

@ -6,8 +6,8 @@ tasks:
build: tsc build: tsc
test: test:
deps: [ build ]
cmds: cmds:
- { task: build }
- vitest run src - vitest run src
pack: npm pack pack: npm pack

View File

@ -1,9 +1,14 @@
{ {
"name": "@yanick/remeda", "name": "@yanick/remeda-extra",
"version": "0.1.0", "version": "0.1.0",
"description": "Remeda, plus a handful of added functions", "description": "A handful of added functions for Remeda",
"repository": "https://git.babyl.ca/yanick/remeda-extra.git",
"bugs": {
"url": "https:/git.babyl.ca/yanick/remeda-extra/issues"
},
"homepage": "https:/git.babyl.ca/yanick/remeda-extra/issues",
"type": "module", "type": "module",
"main": "src/index.js", "main": "dist/index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },

View File

@ -1,3 +1,2 @@
export * from 'remeda'; export * from './matches.js';
export * from './sample.js';
export * from './matches';