You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
consul/ui/packages/consul-ui/app/utils/maybe-call.js

18 lines
471 B

/**
* Promise aware conditional function call
*
* @param {function} cb - The function to possibily call
* @param {function} [what] - A function returning a boolean resolving promise
* @returns {function} - function when called returns a Promise that resolves the argument it is called with
*/
export default function(cb, what) {
return function(res) {
return what.then(function(bool) {
if (bool) {
cb();
}
return res;
});
};
}