apr-intercept
Version:
Intercepts errors, the Go way!
43 lines (38 loc) • 2.92 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('apr-intercept', factory) :
(global['apr-intercept'] = factory());
}(this, (function () { 'use strict';
/**
* <a id="intercept"></a>
* Intercepts errors, the Go way!
*
* [](https://www.npmjs.com/package/apr-intercept) [](https://www.npmjs.com/package/apr-intercept)
*
* @kind function
* @name intercept
* @param {Promise} input
* @returns {Promise}
*
* @example
* import ctch from 'apr-intercept';
*
* const [err1, res1] = await ctch(fn(1));
* const [err2, res2] = await ctch(fn(1));
* const [, res3] = await ctch(fn(3));
*/
var intercept = function (p) {
return new Promise(function (resolve) {
return p.then(function () {
for (var _len = arguments.length, res = Array(_len), _key = 0; _key < _len; _key++) {
res[_key] = arguments[_key];
}
return resolve([null].concat(res));
}, function (err) {
return resolve([err, undefined]);
});
});
};
return intercept;
})));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi9Vc2Vycy9yYW1pdG9zL3NyYy9naXRodWIuY29tL3Nlcmdpb3JhbW9zL2Fwci9wYWNrYWdlcy9pbnRlcmNlcHQvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiA8YSBpZD1cImludGVyY2VwdFwiPjwvYT5cbiAqIEludGVyY2VwdHMgZXJyb3JzLCB0aGUgR28gd2F5IVxuICpcbiAqIFshW10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vdi9hcHItaW50ZXJjZXB0LnN2Zz9zdHlsZT1mbGF0LXNxdWFyZSldKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2Fwci1pbnRlcmNlcHQpIFshW10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9ucG0vbC9hcHItaW50ZXJjZXB0LnN2Zz9zdHlsZT1mbGF0LXNxdWFyZSldKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2Fwci1pbnRlcmNlcHQpXG4gKlxuICogQGtpbmQgZnVuY3Rpb25cbiAqIEBuYW1lIGludGVyY2VwdFxuICogQHBhcmFtIHtQcm9taXNlfSBpbnB1dFxuICogQHJldHVybnMge1Byb21pc2V9XG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCBjdGNoIGZyb20gJ2Fwci1pbnRlcmNlcHQnO1xuICpcbiAqIGNvbnN0IFtlcnIxLCByZXMxXSA9IGF3YWl0IGN0Y2goZm4oMSkpO1xuICogY29uc3QgW2VycjIsIHJlczJdID0gYXdhaXQgY3RjaChmbigxKSk7XG4gKiBjb25zdCBbLCByZXMzXSA9IGF3YWl0IGN0Y2goZm4oMykpO1xuICovXG5tb2R1bGUuZXhwb3J0cyA9IHAgPT5cbiAgbmV3IFByb21pc2UocmVzb2x2ZSA9PlxuICAgIHAudGhlbihcbiAgICAgICguLi5yZXMpID0+IHJlc29sdmUoW251bGwsIC4uLnJlc10pLFxuICAgICAgZXJyID0+IHJlc29sdmUoW2VyciwgdW5kZWZpbmVkXSlcbiAgICApXG4gICk7XG4iXSwibmFtZXMiOlsibW9kdWxlIiwiUHJvbWlzZSIsInAiLCJ0aGVuIiwicmVzIiwicmVzb2x2ZSIsImVyciIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQUEsYUFBQSxHQUFpQjtTQUNmLElBQUlDLE9BQUosQ0FBWTtXQUNWQyxFQUFFQyxJQUFGLENBQ0U7d0NBQUlDLEdBQUo7V0FBQTs7O2FBQVlDLFNBQVMsSUFBVCxTQUFrQkQsR0FBbEIsRUFBWjtLQURGLEVBRUU7YUFBT0MsUUFBUSxDQUFDQyxHQUFELEVBQU1DLFNBQU4sQ0FBUixDQUFQO0tBRkYsQ0FEVTtHQUFaLENBRGU7Q0FBakI7Ozs7Ozs7OyJ9