UNPKG

hinoki

Version:

sane, simple dependency injection and more

36 lines (31 loc) 687 B
var hinoki = require('hinoki'); var factories = { count: function(xs) { return xs.length; }, mean: function(xs, count) { var reducer = function(acc, x) { return acc + x; }; return xs.reduce(reducer, 0) / count; }, meanOfSquares: function(xs, count) { var reducer = function(acc, x) { return acc + x * x; }; return xs.reduce(reducer, 0) / count; }, variance: function(mean, meanOfSquares) { return meanOfSquares - mean * mean; } }; var values = { xs: [1, 2, 3, 6] }; var lifetime = { factories: factories, values: values }; hinoki(lifetime, 'mean', console.log).then(function(mean) { console.log(mean); // -> 3 });