UNPKG

f-utility

Version:

functional utilities

30 lines (27 loc) 891 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.triplet = exports.__triplet = undefined; var _katsuCurry = require("katsu-curry"); /** * a ternary statement, but curried and lazy and where each case is a function * @method triplet * @param {function} cnFn - anything to be evaluated as truthy * @param {function} bFn - b function * @param {function} aFn - a function * @param {mixed} o - input * @returns {*} anything * @public * @example * import {triplet} from 'f-utility' * const test = (x) => x % 2 === 0 * const double = (x) => x * 2 * const half = (x) => x / 2 * triplet(test, double, half, 100) // 200 * triplet(test, double, half, 5) // 2.5 */ var __triplet = exports.__triplet = function __triplet(cnFn, bFn, aFn, o) { return cnFn(o) ? aFn(o) : bFn(o); }; var triplet = exports.triplet = (0, _katsuCurry.curry)(__triplet);