@webex/common
Version:
Common utilities for Cisco Webex
39 lines (36 loc) • 959 B
JavaScript
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = tap;
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
/*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
/**
* Injects code into a promise chain without modifying the promise chain's result
* @param {Function} fn
* @returns {Promise}
* @example
* function f() {
* return Promise.resolve(5);
* }
*
* f()
* .then(tap(() => 12))
* // => 5
*/
function tap(fn) {
return function (r) {
return new _promise.default(function (resolve) {
resolve(fn(r));
}).then(function () {
return r;
}).catch(function () {
return r;
});
};
}
//# sourceMappingURL=tap.js.map
;