co-lodash

Co extension for lodash

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
co-lodash
100.2.07 years ago8 years agoMinified + gzip package size for co-lodash in KB

Readme

co-lodash
Extend lodash to make it work with co.

API

- .extendProperties(target, src) - .isGenerator(obj) - .isAsyncFunction(obj) - .sleep(mill) - .coEach(collection, fn) // fn params (item, index, collection) - .coMap(collection, fn) // fn params (item, index, collection) - .coReduce(collection, fn, memo) // fn params (memo, item, index, collection)

Example

var _ = require('co-lodash'); // yes, it can do exactly the same as lodash, because it is lodash with some extendsions.

console.log(_.extendProperties({}, { get foo() { return 1; }}));

co(function *() {
    yield* _.coEach([1,2,3,4,5], function* (v) {
        console.log('each:', v);
        yield _.sleep(1000);
    });

    console.log(yield* _.coMap([1,2,3,4,5], function *(v) {
        console.log('map:', v);
        yield _.sleep(1000);
        return v * 2;
    }));

    console.log(yield* _.coReduce([1,2,3,4,5], function*(m, v) {
        console.log('reduce:', v);
        yield _.sleep(1000);
        return m + v;
    }, 0));

    console.log(yield* _.coFilter([1,2,3,4,5], function*(v) {
        yield _.sleep(1000);
        return v % 2;
    }, 0));
});