Skip to content
This repository has been archived by the owner on Dec 20, 2020. It is now read-only.

christophehurpeau/yielded

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yielded NPM version Build Status Code Climate

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:

About

Another generator runner

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published