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