CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes45downloads
cond.js61 linesDownload Raw Back to lodash
1var apply = require('./_apply'),2    arrayMap = require('./_arrayMap'),3    baseIteratee = require('./_baseIteratee'),4    baseRest = require('./_baseRest');5 6/** Error message constants. */7var FUNC_ERROR_TEXT = 'Expected a function';8 9/**10 * Creates a function that iterates over `pairs` and invokes the corresponding11 * function of the first predicate to return truthy. The predicate-function12 * pairs are invoked with the `this` binding and arguments of the created13 * function.14 *15 * @static16 * @memberOf _17 * @since 4.0.018 * @category Util19 * @param {Array} pairs The predicate-function pairs.20 * @returns {Function} Returns the new composite function.21 * @example22 *23 * var func = _.cond([24 *   [_.matches({ 'a': 1 }),           _.constant('matches A')],25 *   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],26 *   [_.stubTrue,                      _.constant('no match')]27 * ]);28 *29 * func({ 'a': 1, 'b': 2 });30 * // => 'matches A'31 *32 * func({ 'a': 0, 'b': 1 });33 * // => 'matches B'34 *35 * func({ 'a': '1', 'b': '2' });36 * // => 'no match'37 */38function cond(pairs) {39  var length = pairs == null ? 0 : pairs.length,40      toIteratee = baseIteratee;41 42  pairs = !length ? [] : arrayMap(pairs, function(pair) {43    if (typeof pair[1] != 'function') {44      throw new TypeError(FUNC_ERROR_TEXT);45    }46    return [toIteratee(pair[0]), pair[1]];47  });48 49  return baseRest(function(args) {50    var index = -1;51    while (++index < length) {52      var pair = pairs[index];53      if (apply(pair[0], this, args)) {54        return apply(pair[1], this, args);55      }56    }57  });58}59 60module.exports = cond;61 
basant307/AI_Governance_Project · CoolFace