blob: ffa6a52acd8617ae35ffd2bb2721e2f3a4c8bc9d [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001var isObject = require('./isObject');
2
3/** Built-in value references. */
4var 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 */
14var 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
30module.exports = baseCreate;