3 var _ = require('lodash');
5 /*----------------------------------------------------------------------------*/
8 * Creates a hash object. If a `properties` object is provided, its own
9 * enumerable properties are assigned to the created object.
12 * @param {Object} [properties] The properties to assign to the object.
13 * @returns {Object} Returns the new hash object.
15 function Hash(properties) {
16 return _.transform(properties, function(result, value, key) {
17 result[key] = (_.isPlainObject(value) && !(value instanceof Hash))
23 Hash.prototype = Object.create(null);