UNPKG

dashp

Version:

Utilities for monadic promises.

28 lines (21 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unless = exports.when = exports.unlessElse = exports.whenElse = void 0; var _Future = require("./Future"); var _curry = require("./internal/curry"); var _identity = _interopRequireDefault(require("./internal/identity")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const whenElse = (0, _curry.curry4)("whenElse", (predicate, consequent, alternative, p) => { const branch = x => (0, _Future.of)(predicate(x)).then(bool => bool === true ? consequent(x) : alternative(x)); return (0, _Future.of)(p).then(branch); }); exports.whenElse = whenElse; const unlessElse = (0, _curry.curry4)("unlessElse", (predicate, consequent, alternative, p) => whenElse(predicate, alternative, consequent, p)); exports.unlessElse = unlessElse; const when = (0, _curry.curry3)("when", (predicate, consequent, p) => whenElse(predicate, consequent, _identity.default, p)); exports.when = when; const unless = (0, _curry.curry3)("unless", (predicate, consequent, p) => unlessElse(predicate, consequent, _identity.default, p)); exports.unless = unless; //# sourceMappingURL=when.js.map