function _asyncToGenerator(fn) {
return function () {
var gen = fn.apply(this, arguments);
return new Promise(
function (resolve, reject) {
function step(key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {