_baseCreate.js
 1  var isObject = require('./isObject');
 2  
 3  /** Built-in value references. */
 4  var objectCreate = Object.create;
 5  
 6  /**
 7   * The base implementation of `_.create` without support for assigning
 8   * properties to the created object.
 9   *
10   * @private
11   * @param {Object} proto The object to inherit from.
12   * @returns {Object} Returns the new object.
13   */
14  var baseCreate = (function() {
15    function object() {}
16    return function(proto) {
17      if (!isObject(proto)) {
18        return {};
19      }
20      if (objectCreate) {
21        return objectCreate(proto);
22      }
23      object.prototype = proto;
24      var result = new object;
25      object.prototype = undefined;
26      return result;
27    };
28  }());
29  
30  module.exports = baseCreate;