Package Exports
- d3-utils
- d3-utils/get
- d3-utils/lifecycle
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (d3-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
d3-utils
Small utils to make developing with d3 easier, inspired by d3-jetpack and d3-starterkit
Install
npm install d3-utils
Usage
var d3 = require('d3')
var lifecycle = require('d3-utils/lifecycle')
var ƒ = require('d3-utils/get')
var o = require('d3-utils/compose')
var scale = {x: d3.scale.linear().range([0, 1000])}
d3.selectAll('li')
.data(someDataArray) // [{label: 'Hello world', x: 0.5}, ...]
.call(lifecycle(
enter => enter.append('li').text(ƒ('label')),
update => update.style('top', o(ƒ('x'), scale.x)),
exit => exit.remove()
))
API
utils.lifecycle([enter], [update], [exit])
Makes handeling the lifecycle of a D3 selection a bit easier.
enter
Type: Function
Default noop
Calls this function with selection.enter()
update
Type: Function
Default noop
Calls this function with selection
exit
Type: Function
Default noop
Calls this function with selection.exit()
utils.get(prop, [default])
Returns a function that accesses prop
and returns it, optionally returning
default
if null
prop
Type: String
Retrieve value with key prop
from whatever object is called on the returining
function
default
Type: Any
Default null
Default value to return
utils.compose([fn...])
Takes any number of functions and composes them from left to right, returning the compose function, eg:
f(g(h(x))) === utils.compose(h, g, f)(x)