UNPKG

co-dash

Version:

Lodash inspired library for generator functions

80 lines (62 loc) 1.44 kB
# co-dash Lodash-inspired library for generators ## Install Install the [package](https://npmjs.org/package/co-dash) with [npm](http://npmjs.org): ```sh $ npm install co-dash ``` ## Usage ### `codash.once(fn)` ```js const co = require('co'); const { once } = require('co-dash'); let getData = once(getData); co(function*(){ let data1 = yield getData(); let data2 = yield getData(); // result is cached, getData is only called once }) ``` ### `codash.filter(arr, fn)` ```js const co = require('co'); const fs = require('co-fs'); const { filter } = require('co-dash'); co(function*(){ yield filter(['test1.log','test2.log'], fs.exists); }) ``` ### `codash.map(arr, fn)` ```js const co = require('co'); const fs = require('co-fs'); const { map } = require('co-dash'); co(function*(){ let files = yield map(['test1.log','test2.log'], fs.readFile); //returns [ '...', '...' ]; array of files data }) ``` ### `codash.each(arr, fn)` ```js const co = require('co'); const fs = require('co-fs'); const { each } = require('co-dash'); co(function*(){ yield each(['test1.log','test2.log'], *function(fileName){ console.log(yield fs.stat(fileName)) }); }) ``` ### `codash.reduce(arr, fn, init)` ```js const co = require('co'); const fs = require('co-fs'); const { reduce } = require('co-dash'); co(function*(){ let sum = yield reduce(['test1.log','test2.log'], *function(a, b){ return a + b }); }) ``` ## License MIT