| var _curry2 = |
| /*#__PURE__*/ |
| require("./internal/_curry2"); |
| |
| var _assertPromise = |
| /*#__PURE__*/ |
| require("./internal/_assertPromise"); |
| /** |
| * Returns the result of applying the onFailure function to the value inside |
| * a failed promise. This is useful for handling rejected promises |
| * inside function compositions. |
| * |
| * @func |
| * @memberOf R |
| * @since v0.26.0 |
| * @category Function |
| * @sig (e -> b) -> (Promise e a) -> (Promise e b) |
| * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b) |
| * @param {Function} onFailure The function to apply. Can return a value or a promise of a value. |
| * @param {Promise} p |
| * @return {Promise} The result of calling `p.then(null, onFailure)` |
| * @see R.then |
| * @example |
| * |
| * var failedFetch = (id) => Promise.reject('bad ID'); |
| * var useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' }) |
| * |
| * //recoverFromFailure :: String -> Promise ({firstName, lastName}) |
| * var recoverFromFailure = R.pipe( |
| * failedFetch, |
| * R.otherwise(useDefault), |
| * R.then(R.pick(['firstName', 'lastName'])), |
| * ); |
| * recoverFromFailure(12345).then(console.log) |
| */ |
| |
| |
| var otherwise = |
| /*#__PURE__*/ |
| _curry2(function otherwise(f, p) { |
| _assertPromise('otherwise', p); |
| |
| return p.then(null, f); |
| }); |
| |
| module.exports = otherwise; |