/**
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */

var mapObject_1;
var hasRequiredMapObject;

function requireMapObject () {
	if (hasRequiredMapObject) return mapObject_1;
	hasRequiredMapObject = 1;

	var hasOwnProperty = Object.prototype.hasOwnProperty;
	/**
	 * Executes the provided `callback` once for each enumerable own property in the
	 * object and constructs a new object from the results. The `callback` is
	 * invoked with three arguments:
	 *
	 *  - the property value
	 *  - the property name
	 *  - the object being traversed
	 *
	 * Properties that are added after the call to `mapObject` will not be visited
	 * by `callback`. If the values of existing properties are changed, the value
	 * passed to `callback` will be the value at the time `mapObject` visits them.
	 * Properties that are deleted before being visited are not visited.
	 *
	 * @grep function objectMap()
	 * @grep function objMap()
	 *
	 * @param {?object} object
	 * @param {function} callback
	 * @param {*} context
	 * @return {?object}
	 */

	function mapObject(object, callback, context) {
	  if (!object) {
	    return null;
	  }

	  var result = {};

	  for (var name in object) {
	    if (hasOwnProperty.call(object, name)) {
	      result[name] = callback.call(context, object[name], name, object);
	    }
	  }

	  return result;
	}

	mapObject_1 = mapObject;
	return mapObject_1;
}

export { requireMapObject as __require };
//# sourceMappingURL=mapObject.js.map
