1/**
2 * A specialized version of `_.every` for arrays without support for
3 * iteratee shorthands.
4 *
5 * @private
6 * @param {Array} [array] The array to iterate over.
7 * @param {Function} predicate The function invoked per iteration.
8 * @returns {boolean} Returns `true` if all elements pass the predicate check,
9 *  else `false`.
10 */
11function arrayEvery(array, predicate) {
12  var index = -1,
13      length = array == null ? 0 : array.length;
14
15  while (++index < length) {
16    if (!predicate(array[index], index, array)) {
17      return false;
18    }
19  }
20  return true;
21}
22
23module.exports = arrayEvery;
24