UNPKG

f-utility

Version:

functional utilities

60 lines (48 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.every = exports.some = exports.which = exports.__which = undefined; var _some = require("fast.js/array/some"); var _some2 = _interopRequireDefault(_some); var _every = require("fast.js/array/every"); var _every2 = _interopRequireDefault(_every); var _katsuCurry = require("katsu-curry"); var _flip = require("./flip"); var _triplet = require("./triplet"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var keys = Object.keys; var __which = exports.__which = function __which(compare, fn, o) { // allows us to pass functions to compare first var arecomp = (0, _flip.flip)(compare); return (0, _triplet.triplet)(Array.isArray, arecomp(fn), (0, _katsuCurry.pipe)(keys, arecomp(function (key) { return fn(o[key], key); })), o); }; var which = exports.which = (0, _katsuCurry.curry)(__which); /** * array.some(fn) but curried and lazy * @method some * @param {function} predicate * @param {Array} iterable * @returns {boolean} * @public * @example * import {some} from 'f-utility' * some((x) => x === `j`, [`j`, `k`, `l`]) // true * some((x) => x === `z`, [`j`, `k`, `l`]) // false */ var some = exports.some = which(_some2["default"]); /** * array.every(fn) but curried and lazy * @method every * @param {function} predicate * @param {Array} iterable * @returns {boolean} * @public * @example * import {isNumber, every} from 'f-utility' * every(isNumber, [0, 1, 2, 3, 4]) // true * every(isNumber, [0, 1, 2, 3, `four`]) // false */ var every = exports.every = which(_every2["default"]);