Clojure's immutable data API for JavaScript's own data structures, using the function bind operator.
import { inc, update } from 'zaphod';
const state = { count: 0 };
state::update('count', inc)
// => { count: 1 }
However, you don't need to know Clojure to make the most of Zaphod. This library is just a set of JavaScript functions that make working with immutable data more fun!
Find the docs, cheatsheet and rationale at the website.
npm install --save zaphod
# or
https://unpkg.com/zaphod
Check out the getting started guide for an in-depth explanation on configuring Babel to work with the function-bind operator.