Socket
Socket
Sign inDemoInstall

chamda

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chamda

chain interface for ramda


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
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

Package last updated on 25 Jan 2016

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc