Blame view

node_modules/es5-ext/object/to-array.js 510 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  'use strict';
  
  var callable = require('./valid-callable')
    , forEach  = require('./for-each')
  
    , call = Function.prototype.call
  
    , defaultCb = function (value, key) { return [key, value]; };
  
  module.exports = function (obj/*, cb, thisArg, compareFn*/) {
  	var a = [], cb = arguments[1], thisArg = arguments[2];
  	cb = (cb == null) ? defaultCb : callable(cb);
  
  	forEach(obj, function (value, key, obj, index) {
  		a.push(call.call(cb, thisArg, value, key, this, index));
  	}, obj, arguments[3]);
  	return a;
  };