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