0.3.1 • Published 10 years ago

yielded v0.3.1

Weekly downloads
5
License
MIT
Repository
github
Last release
10 years ago

yielded

Another generator runner

yielded doesn't help you with callback generator, it uses promises. To convert a function with a callback to a promise, you can use springbokjs-utils promiseCallback.

Installation

npm install --save yielded

How to use

var Y = require('yielded');
var fs = require('springbokjs-utils/fs');

Y.run(function* () {
    try {
        var fileContents = yield fs.readFile('./myFile.json');
        console.log(JSON.parse(fileContents));
    } catch (err) {
        console.error(err);
    }
});

Parallel executions

With arrays

You can use arrays with values and promises:

Y.run(function* () {
    var result = yield [
        1,
        2,
        new Promise(function(resolve, reject) {
            setTimeout(function() {
                resolve(3);
            });
        }),
        new Promise(function(resolve, reject) {
            resolve(4);
        }),
    ];
    console.log(result);
    // [1, 2, 3, 4]
});

Iterator inside

var Y = require('yielded');
var fs = require('springbokjs-utils/fs');

var readFileContents = function* () {
    try {
        var fileContents = yield fs.readFile('./myFile.json');
        console.log(JSON.parse(fileContents));
    } catch (err) {
        console.error(err);
    }
};

Y.run(function* () {
    var result = yield readFileContents();
    console.log(result);
});

Credits

This library is an attempt to understand generators and yields, the result of my research of other libraries and taking the parts I like from them. Libraries I took inspiration from are: