Turns sync functions into ES6's async generator functions with Nathan Rajlich's (A.K.A TooTallNate) degenerator
Get it: $ npm install degenerator
Example Usage:
Say we have few sync function like:
1
2
3
4
5
6
7
8
9
10
11
| function foo () {
return baz();
}
function bar () {
return foo(baz);
}
function baz () {
return bar();
}
|
Some degenerator magic!
1
2
3
| var degenerator = require('degenerator')
var js = fs.readFileSync(sourceName, 'utf8');
var compiled = (js, ['foo','bar','baz']);
|
The complied source would be:
1
2
3
4
5
6
7
8
9
| function* foo() {
return yield baz();
}
function* bar() {
return yield foo(baz);
}
function* baz() {
return yield bar();
}
|
GIF FTW!