Lellansin / coolest

A faster node coroutine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

coolest

Convert a generator (support yield a thenable object) to a function that return a promise object.

Demo

const assert = require('assert');
const coolest = require('../coolest');

const test = coolest(function*(arg) {
  assert.equal(yield arg, 123);
  assert.equal(yield Promise.resolve(123), 123);
  try {
    yield Promise.reject(123);
  } catch (error) {
    assert.equal(error, 123);
  }
  return 123;
});

test(123).then(result => {
  assert.equal(result, 123);
});

About

A faster node coroutine

License:Other


Languages

Language:JavaScript 95.3%Language:Shell 4.7%