Comparing version 0.14.0 to 0.14.1
@@ -1,8 +0,8 @@ | ||
var _ = require("./_"); | ||
var Promise = require("./_").Promise; | ||
var tryErr = {}; | ||
function tryCatch (gen, key, val) { | ||
function tryCatch (step, key) { | ||
try { | ||
return gen[key](val); | ||
return step(key); | ||
} catch (err) { | ||
@@ -18,27 +18,27 @@ tryErr.err = err; | ||
return new _.Promise(function (resolve, reject) { | ||
function genNext (val) { | ||
return step("next", val); | ||
} | ||
function genNext (val) { | ||
return step("next", val); | ||
} | ||
function genThrow (val) { | ||
return step("throw", val); | ||
} | ||
function genThrow (val) { | ||
return step("throw", val); | ||
} | ||
function step (key, val) { | ||
var info = tryCatch(gen, key, val); | ||
function step (key, val) { | ||
var info = gen[key](val); | ||
if (info === tryErr) | ||
return reject(info.err); | ||
if (info.done) { | ||
resolve(info.value); | ||
} else { | ||
return _.Promise.resolve(info.value).then(genNext, genThrow); | ||
} | ||
if (info.done) { | ||
return Promise.resolve(info.value); | ||
} else { | ||
return Promise.resolve(info.value).then(genNext, genThrow); | ||
} | ||
} | ||
return step("next"); | ||
}); | ||
var ret = tryCatch(step, "next"); | ||
if (ret === tryErr) | ||
return Promise.reject(ret.err); | ||
else | ||
return ret; | ||
}; | ||
}; |
/* | ||
Yaku v0.14.0 | ||
Yaku v0.14.1 | ||
(c) 2015 Yad Smood. http://ysmood.org | ||
@@ -4,0 +4,0 @@ License MIT |
{ | ||
"name": "yaku", | ||
"version": "0.14.0", | ||
"version": "0.14.1", | ||
"description": "A light-weight ES6 Promises/A+ implementation that doesn't hurt.", | ||
@@ -42,2 +42,3 @@ "main": "lib/yaku.js", | ||
"bluebird": "3.3.4", | ||
"co": "^4.6.0", | ||
"core-js": "2.2.1", | ||
@@ -61,3 +62,4 @@ "es6-promise": "3.1.2", | ||
"browser": true, | ||
"node": true | ||
"node": true, | ||
"es6": true | ||
}, | ||
@@ -64,0 +66,0 @@ "extends": "eslint:recommended", |
@@ -1074,4 +1074,15 @@ <a href="http://promisesaplus.com/"> | ||
## async/await generator wrapper | ||
``` | ||
Node v5.6.0 | ||
OS darwin | ||
Arch x64 | ||
CPU Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz | ||
yaku: 117ms | ||
co: 283ms | ||
bluebird: 643ms | ||
``` | ||
# Contribute | ||
@@ -1078,0 +1089,0 @@ |
86720
1112
16