UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

64 lines (63 loc) 2.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.every = void 0; const arrayEvery_1 = __importDefault(require("./.internal/arrayEvery")); const baseEvery_1 = __importDefault(require("./.internal/baseEvery")); const getIteratee_1 = __importDefault(require("./.internal/getIteratee")); const isIterateeCall_1 = __importDefault(require("./.internal/isIterateeCall")); const isArray_1 = __importDefault(require("./isArray")); /** * Checks if `predicate` returns truthy for **all** elements of `collection`. * Iteration is stopped once `predicate` returns falsey. The predicate is * invoked with three arguments: (value, index|key, collection). * * **Note:** This method returns `true` for * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of * elements of empty collections. * * @since 5.3.0 * @category Collection * @param collection The collection to iterate over. * @param predicate The function invoked per iteration. * @param guard Enables use as an iteratee for methods like `map`. * @returns Returns `true` if all elements pass the predicate check, * else `false`. * @example * * ```js * every([true, 1, null, 'yes'], Boolean); * // => false * * var users = [ * { 'user': 'barney', 'age': 36, 'active': false }, * { 'user': 'fred', 'age': 40, 'active': false } * ]; * * // The `matches` iteratee shorthand. * every(users, { 'user': 'barney', 'active': false }); * // => false * * // The `matchesProperty` iteratee shorthand. * every(users, ['active', false]); * // => true * * // The `property` iteratee shorthand. * every(users, 'active'); * // => false * ``` */ function every(collection, predicate, guard) { if (guard && (0, isIterateeCall_1.default)(collection, predicate, guard)) { predicate = undefined; } if ((0, isArray_1.default)(collection)) { return (0, arrayEvery_1.default)(collection, (0, getIteratee_1.default)(predicate, 3)); } return (0, baseEvery_1.default)(collection, (0, getIteratee_1.default)(predicate, 3)); } exports.every = every; exports.default = every;