wishthis/node_modules/es5-ext/object/to-array.js

22 lines
570 B
JavaScript
Raw Normal View History

2022-01-21 08:28:41 +00:00
"use strict";
var callable = require("./valid-callable")
, isValue = require("./is-value")
, forEach = require("./for-each")
, call = Function.prototype.call
, defaultCb = function (value, key) { return [key, value]; };
2022-03-14 15:40:45 +00:00
module.exports = function (obj /*, cb, thisArg, compareFn*/) {
2022-01-21 08:28:41 +00:00
var a = [], cb = arguments[1], thisArg = arguments[2];
cb = isValue(cb) ? callable(cb) : defaultCb;
forEach(
obj,
function (value, key, targetObj, index) {
a.push(call.call(cb, thisArg, value, key, this, index));
},
obj, arguments[3]
);
return a;
};