19 lines
408 B
JavaScript
19 lines
408 B
JavaScript
|
"use strict";
|
||
|
|
||
|
var callable = require("./valid-callable")
|
||
|
, forEach = require("./for-each")
|
||
|
, call = Function.prototype.call;
|
||
|
|
||
|
module.exports = function (obj, cb /*, thisArg*/) {
|
||
|
var result = {}, thisArg = arguments[2];
|
||
|
callable(cb);
|
||
|
forEach(
|
||
|
obj,
|
||
|
function (value, key, targetObj, index) {
|
||
|
result[call.call(cb, thisArg, key, value, this, index)] = value;
|
||
|
},
|
||
|
obj
|
||
|
);
|
||
|
return result;
|
||
|
};
|