Blame view

node_modules/es5-ext/array/#/map/shim.js 648 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  'use strict';
  
  var isPlainArray = require('../../is-plain-array')
    , callable     = require('../../../object/valid-callable')
  
    , isArray = Array.isArray, map = Array.prototype.map
    , forEach = Array.prototype.forEach, call = Function.prototype.call;
  
  module.exports = function (callbackFn/*, thisArg*/) {
  	var result, thisArg;
  	if (!this || !isArray(this) || isPlainArray(this)) {
  		return map.apply(this, arguments);
  	}
  	callable(callbackFn);
  	thisArg = arguments[1];
  	result = new this.constructor(this.length);
  	forEach.call(this, function (val, i, self) {
  		result[i] = call.call(callbackFn, thisArg, val, i, self);
  	});
  	return result;
  };