node/tools/eslint/node_modules/es5-ext/object/to-array.js
Michaël Zasso 2d441493a4 tools: update eslint to v1.10.3
PR-URL: https://github.com/nodejs/io.js/pull/2286
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-13 23:15:39 +01:00

19 lines
510 B
JavaScript

'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;
};