Socket
Socket
Sign inDemoInstall

chamda

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    chamda

chain interface for ramda


Version published
Maintainers
1
Install size
621 kB
Created

Readme

Source

Chamda

Chamda is a incredibly thin wrapper around the amazing Ramda library to provide chaining.

Chain all the things!

While I think Ramda is great as-is, sometimes having a clear path of how data is being transformed can be more readable and straightforward. Eventually, Chamda doesn't aim to replace Ramda but to provide an additional way of consuming it.

Installation and usage

First

npm install chamda --save

and then

// plain Ramda can (and will) still be useful!
import {cR, R} from './chamda';

// well, it's just like Ramda
// with the last argument chained away
const foo = cR([1, 2, 3, 4]).median().end();

// use .end() to return the transformed value
const diff = (a, b) => a - b;
const invDiff = cR(diff).flip().end();

// here's what motivated me to write Chamda
const planet = (radius, mass) => ({radius, mass});
const myPlanet = planet(10, 5);
// with Chamda the order is natural
const jupiter = cR(planet(100, 80)).assoc('earth-sized-storms', {count: 1}).end();
// while Ramda sometimes feels swapped
const saturn = R.assoc('rings', {count: 9}, planet(80, 60));
// it just depends on how you think about the actions
// (are the moons that add themselves to a planet or does the planet get its moons by itself?)
const addMoonsTo = R.flip(R.assoc('moons'));
let neptune = planet(70, 10);
neptune = cR(neptune).assoc('moons', {count: 9}).end();
let uranus = planet(80, 42);
uranus = addMoonsTo(uranus, {count: 7});

License

ISC

Keywords

FAQs

Last updated on 25 Jan 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc