UNPKG

apr-intercept

Version:

Intercepts errors, the Go way!

43 lines (38 loc) 2.92 kB
(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://img.shields.io/npm/v/apr-intercept.svg?style=flat-square)](https://www.npmjs.com/package/apr-intercept) [![](https://img.shields.io/npm/l/apr-intercept.svg?style=flat-square)](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