Projekt

Obecné

Profil

Stáhnout (877 Bajtů) Statistiky
| Větev: | Revize:
1
var eq = require('./eq'),
2
    isArrayLike = require('./isArrayLike'),
3
    isIndex = require('./_isIndex'),
4
    isObject = require('./isObject');
5

    
6
/**
7
 * Checks if the given arguments are from an iteratee call.
8
 *
9
 * @private
10
 * @param {*} value The potential iteratee value argument.
11
 * @param {*} index The potential iteratee index or key argument.
12
 * @param {*} object The potential iteratee object argument.
13
 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
14
 *  else `false`.
15
 */
16
function isIterateeCall(value, index, object) {
17
  if (!isObject(object)) {
18
    return false;
19
  }
20
  var type = typeof index;
21
  if (type == 'number'
22
        ? (isArrayLike(object) && isIndex(index, object.length))
23
        : (type == 'string' && index in object)
24
      ) {
25
    return eq(object[index], value);
26
  }
27
  return false;
28
}
29

    
30
module.exports = isIterateeCall;
(224-224/590)