| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 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; |