Sha256: 67702f1dd5b2f4f8db49334bc2b0c4c851ef6e007d86a269045a2158718d97b9

Contents?: true

Size: 1.28 KB

Versions: 62

Compression:

Stored size: 1.28 KB

Contents

/* */ 
var ctx = require('./$.ctx'),
    IObject = require('./$.iobject'),
    toObject = require('./$.to-object'),
    toLength = require('./$.to-length');
module.exports = function(TYPE) {
  var IS_MAP = TYPE == 1,
      IS_FILTER = TYPE == 2,
      IS_SOME = TYPE == 3,
      IS_EVERY = TYPE == 4,
      IS_FIND_INDEX = TYPE == 6,
      NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  return function($this, callbackfn, that) {
    var O = toObject($this),
        self = IObject(O),
        f = ctx(callbackfn, that, 3),
        length = toLength(self.length),
        index = 0,
        result = IS_MAP ? Array(length) : IS_FILTER ? [] : undefined,
        val,
        res;
    for (; length > index; index++)
      if (NO_HOLES || index in self) {
        val = self[index];
        res = f(val, index, O);
        if (TYPE) {
          if (IS_MAP)
            result[index] = res;
          else if (res)
            switch (TYPE) {
              case 3:
                return true;
              case 5:
                return val;
              case 6:
                return index;
              case 2:
                result.push(val);
            }
          else if (IS_EVERY)
            return false;
        }
      }
    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
  };
};

Version data entries

62 entries across 31 versions & 1 rubygems

Version Path
sequenceserver-3.1.3 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.1.3 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-3.1.2 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-3.1.2 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.1.1 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-3.1.1 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.1.0 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-3.1.0 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.0.1 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-3.0.1 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.0 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-3.0 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-2.2.0 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-2.2.0 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-2.1.0 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-2.1.0 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-2.0.0 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-2.0.0 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js
sequenceserver-2.0.0.rc8 public/vendor/npm/core-js@1.1.2/library/modules/$.array-methods.js
sequenceserver-2.0.0.rc8 public/vendor/npm/core-js@1.1.2/modules/$.array-methods.js