coz-bud-loader
Version:
Bud loader for coz.
148 lines (121 loc) • 8.08 kB
JavaScript
/**
* Evaluate bud content.
* @memberof module:coz-bud-loader/lib
* @function evaluateBud
* @param {object|function} bud - Module to evaluate.
* @returns {Promise}
*/
;
/** @lends evaluateBud */
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
function evaluateBud(_x) {
return _evaluateBud.apply(this, arguments);
}
function _evaluateBud() {
_evaluateBud = (0, _asyncToGenerator2.default)(
/*#__PURE__*/
_regenerator.default.mark(function _callee2(buds) {
var results, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, bud;
return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
buds = [].concat(buds || []);
results = [];
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context2.prev = 5;
_iterator = buds[Symbol.iterator]();
case 7:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
_context2.next = 13;
break;
}
bud = _step.value;
return _context2.delegateYield(
/*#__PURE__*/
_regenerator.default.mark(function _callee() {
var load;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.t0 = (0, _typeof2.default)(bud);
_context.next = _context.t0 === 'function' ? 3 : 10;
break;
case 3:
load = bud;
_context.next = 6;
return new Promise(function (resolve, reject) {
var promise = load(function (err, bud) {
err ? reject(err) : resolve(bud);
});
if (promise) {
promise.then(resolve, reject);
}
});
case 6:
bud = _context.sent;
bud = [].concat(bud || []).map(function (bud) {
return Object.assign({}, load, bud);
});
results.push(bud);
return _context.abrupt("break", 12);
case 10:
results.push(bud);
return _context.abrupt("break", 12);
case 12:
case "end":
return _context.stop();
}
}
}, _callee);
})(), "t0", 10);
case 10:
_iteratorNormalCompletion = true;
_context2.next = 7;
break;
case 13:
_context2.next = 19;
break;
case 15:
_context2.prev = 15;
_context2.t1 = _context2["catch"](5);
_didIteratorError = true;
_iteratorError = _context2.t1;
case 19:
_context2.prev = 19;
_context2.prev = 20;
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
case 22:
_context2.prev = 22;
if (!_didIteratorError) {
_context2.next = 25;
break;
}
throw _iteratorError;
case 25:
return _context2.finish(22);
case 26:
return _context2.finish(19);
case 27:
return _context2.abrupt("return", results.reduce(function (a, b) {
return [].concat(a, b);
}, []));
case 28:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[5, 15, 19, 27], [20,, 22, 26]]);
}));
return _evaluateBud.apply(this, arguments);
}
module.exports = evaluateBud;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV2YWx1YXRlX2J1ZC5qcyJdLCJuYW1lcyI6WyJldmFsdWF0ZUJ1ZCIsImJ1ZHMiLCJjb25jYXQiLCJyZXN1bHRzIiwiYnVkIiwibG9hZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvbWlzZSIsImVyciIsInRoZW4iLCJtYXAiLCJPYmplY3QiLCJhc3NpZ24iLCJwdXNoIiwicmVkdWNlIiwiYSIsImIiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQVFBO0FBRUE7Ozs7Ozs7Ozs7U0FDZUEsVzs7Ozs7Ozs0QkFBZixrQkFBMkJDLElBQTNCO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRUEsWUFBQUEsSUFBSSxHQUFHLEdBQUdDLE1BQUgsQ0FBVUQsSUFBSSxJQUFJLEVBQWxCLENBQVA7QUFDSUUsWUFBQUEsT0FGTixHQUVnQixFQUZoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBR2tCRixJQUhsQjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUdXRyxZQUFBQSxHQUhYO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDBEQUltQkEsR0FKbkI7QUFBQSxzREFLVyxVQUxYO0FBQUE7O0FBQUE7QUFNWUMsc0JBQUFBLElBTlosR0FNbUJELEdBTm5CO0FBQUE7QUFBQSw2QkFPb0IsSUFBSUUsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUMzQyw0QkFBSUMsT0FBTyxHQUFHSixJQUFJLENBQUMsVUFBQ0ssR0FBRCxFQUFNTixHQUFOLEVBQWM7QUFDL0JNLDBCQUFBQSxHQUFHLEdBQUdGLE1BQU0sQ0FBQ0UsR0FBRCxDQUFULEdBQWlCSCxPQUFPLENBQUNILEdBQUQsQ0FBM0I7QUFDRCx5QkFGaUIsQ0FBbEI7O0FBR0EsNEJBQUlLLE9BQUosRUFBYTtBQUNYQSwwQkFBQUEsT0FBTyxDQUFDRSxJQUFSLENBQWFKLE9BQWIsRUFBc0JDLE1BQXRCO0FBQ0Q7QUFDRix1QkFQVyxDQVBwQjs7QUFBQTtBQU9RSixzQkFBQUEsR0FQUjtBQWVRQSxzQkFBQUEsR0FBRyxHQUFHLEdBQUdGLE1BQUgsQ0FBVUUsR0FBRyxJQUFJLEVBQWpCLEVBQXFCUSxHQUFyQixDQUF5QixVQUFDUixHQUFEO0FBQUEsK0JBQzdCUyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCVCxJQUFsQixFQUF3QkQsR0FBeEIsQ0FENkI7QUFBQSx1QkFBekIsQ0FBTjtBQUdBRCxzQkFBQUEsT0FBTyxDQUFDWSxJQUFSLENBQWFYLEdBQWI7QUFsQlI7O0FBQUE7QUFxQlFELHNCQUFBQSxPQUFPLENBQUNZLElBQVIsQ0FBYVgsR0FBYjtBQXJCUjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUEsOENBeUJTRCxPQUFPLENBQUNhLE1BQVIsQ0FBZSxVQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxxQkFBVSxHQUFHaEIsTUFBSCxDQUFVZSxDQUFWLEVBQWFDLENBQWIsQ0FBVjtBQUFBLGFBQWYsRUFBMEMsRUFBMUMsQ0F6QlQ7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQTRCQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCcEIsV0FBakIiLCJzb3VyY2VSb290IjoiLi4vLi4vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdmFsdWF0ZSBidWQgY29udGVudC5cbiAqIEBtZW1iZXJvZiBtb2R1bGU6Y296LWJ1ZC1sb2FkZXIvbGliXG4gKiBAZnVuY3Rpb24gZXZhbHVhdGVCdWRcbiAqIEBwYXJhbSB7b2JqZWN0fGZ1bmN0aW9ufSBidWQgLSBNb2R1bGUgdG8gZXZhbHVhdGUuXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqL1xuXG4ndXNlIHN0cmljdCdcblxuLyoqIEBsZW5kcyBldmFsdWF0ZUJ1ZCAqL1xuYXN5bmMgZnVuY3Rpb24gZXZhbHVhdGVCdWQoYnVkcykge1xuICBidWRzID0gW10uY29uY2F0KGJ1ZHMgfHwgW10pXG4gIGxldCByZXN1bHRzID0gW11cbiAgZm9yIChsZXQgYnVkIG9mIGJ1ZHMpIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiBidWQpIHtcbiAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICAgICAgbGV0IGxvYWQgPSBidWRcbiAgICAgICAgYnVkID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIGxldCBwcm9taXNlID0gbG9hZCgoZXJyLCBidWQpID0+IHtcbiAgICAgICAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShidWQpXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICAgICAgcHJvbWlzZS50aGVuKHJlc29sdmUsIHJlamVjdClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIGJ1ZCA9IFtdLmNvbmNhdChidWQgfHwgW10pLm1hcCgoYnVkKSA9PlxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIGxvYWQsIGJ1ZClcbiAgICAgICAgKVxuICAgICAgICByZXN1bHRzLnB1c2goYnVkKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzdWx0cy5wdXNoKGJ1ZClcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKChhLCBiKSA9PiBbXS5jb25jYXQoYSwgYiksIFtdKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGV2YWx1YXRlQnVkXG4iXX0=