bethlehem
![npm weekly downloads](https://badgen.net/npm/dw/bethlehem)
Bethlehem is a minimal functional programming library for JavaScript. It is inspired by Ramda but has some significant differences.
Usage
First, install bethlehem (tips: because there are known problems before v1.3.0, it is better to set your minimum version of bethlehem to 1.3.0):
yarn add bethlehem@^1.3.0
npm i bethlehem@^1.3.0
Then, cherry-pick the function(s) you want:
import { compose, add } from 'bethlehem'
const { compose, add } = require('bethlehem')
Or import everything:
import * as B from 'bethlehem'
const B = require('bethlehem')
Because bethlehem specified ESM build file in the module
field of package.json
, your module bundler will do tree-shaking for you.
If you want to use bethlehem without any bundler with your browser, you can use the UMD build. Add a script tag to your HTML file:
<script src="https://unpkg.com/bethlehem/dist/b.umd.production.js"></script>
And you can access everything in the B
global variable.
Benchmark
The benchmarks between bethlehem, ramda and rambda is still a work in progress. There is an external repo that stores some benchmark data about possible internal implementations of bethlehem.
Development
Before running any command, install all the dependencies using yarn install
or npm install
.
yarn watch
npm run watch
This will run ava in watch mode. Test suite will be rerun if there's any change in src
or in the test file.
yarn test
npm run test
This will run ava in verbose mode. All test suites will be ran and their titles will be displayed in the output.
yarn build
npm run build
This will build all source code and put them in the dist
folder. Declarations will be also built.
yarn build:docs
npm run build:docs
This will build the documents into the docs
folder using TypeDoc.