Ramda Adjunct
This library is a community maintained extension of Ramda.
Motivation
It seems to be very common for people to create their own utils and recipes composing the Ramda functions and creating yet more complex aggregate functions. Ramda Adjunct tries to eliminate this repetitive wheel of reinvention and centralize most aggregate utils in its codebase.
Benefits
As a maintainers, we see three main benefits in Ramda Adjunct.
Centralization
All Ramda recipes and aggregate utils not present in Ramda are centralized here. There is no more need for everybody to create their own utils in their own codebases.
Tests
Creating custom aggregate utils or implementing recipes from Ramda wiki creates the defectiveness problem. The problem is caused by the absence of any tests. Ramda Adjunct keeps 100% code coverage and mimics the Ramda test patterns.
Impeccable documentation
You cannot call a library great without a great documentation. Ramda Adjnuct generates its documentation directly from its codebase and uses patterns both found in Ramda and Lodash to document its API.
Requirements
- ramda >= 0.23.0
- node >=6.9.5
It doesn't mean that Ramda Adjunct won't work on lower versions of node or ramda. This just means that our tests run on these versions.
Installation
$ npm i ramda-adjunct
API Documentation
Development
If you want to contribute to this project, please consult the CONTRIBUTING.MD guideline.
Obtaining project copy
$ git clone https://github.com/char0n/ramda-adjunct
$ npm i
Running tests
$ npm run test
Running linter
$ npm run lint
Builds
$ npm run dist
The command will create three types of builds.
dist/RA.node.js
- ES5 compliant build, running on all node versions
dist/RA.web.js
- ES5 compliant build, running in browsers. Requires ramda.js
to be required before
dist/RA.web.standalone.js
- ES5 compliant build, running in browsers. It has ramda.js
pre-bundled
You can always find fresh build files in circle-ci artifacts.
Usage
Web browser
<script src="RA.web.js"></script>
or
<script src="RA.web.standalone.js"></script>
Including Ramda Adjunct into HTML document exposes global variable RA on window
object.
RA.isArray([]);
Node
const RA = require('ramda-adjunct');
RA.isArray([]);
or
const { isArray } = require('ramda-adjunct');
isArray([]);
Author
char0n (Vladimir Gorej)
vladimir.gorej@gmail.com
https://www.linkedin.com/in/vladimirgorej/