UNPKG

moltres-utils

Version:
57 lines (47 loc) 1.88 kB
"use strict"; require("core-js/modules/es6.object.define-property"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _anyAtIndex = _interopRequireDefault(require("./anyAtIndex")); var _curry = _interopRequireDefault(require("../common/curry")); var _defn = _interopRequireDefault(require("../common/defn")); var _isArrayLike = _interopRequireDefault(require("../lang/isArrayLike")); var _keys = _interopRequireDefault(require("./keys")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Returns `true` if at least one of elements of the collection match the predicate, `false` otherwise. * * Dispatches to the `any` method of the collection argument, if present. * * Supports async predicates. If a predicate returns a Promise than the entire method will upgrade to async and return a Promise. * * @function * @since v0.0.3 * @category data * @sig (a -> Boolean) -> [a] -> Boolean * @param {Function} fn The predicate function. * @param {*} collection The collection to consider. * @returns {Boolean} `true` if the predicate is satisfied by at least one element, `false` otherwise. * @example * * const lessThan0 = flip(lt)(0) * const lessThan2 = flip(lt)(2) * any(lessThan0)([1, 2]) //=> false * any(lessThan2)([1, 2]) //=> true * any(lessThan2)({ a: 1, b: 2 }) //=> true * * await any(async (value) => lessThan2(value), [1, 2]) //=> true */ var any = (0, _curry.default)((0, _defn.default)('any', function (fn, collection) { if ((0, _isArrayLike.default)(collection)) { return (0, _anyAtIndex.default)(fn, 0, collection); } return (0, _anyAtIndex.default)(function (key) { return fn(collection[key], key); }, 0, (0, _keys.default)(collection)); })); var _default = any; exports.default = _default; //# sourceMappingURL=any.js.map