You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
686 B
31 lines
686 B
8 months ago
|
var isObject = require('./isObject');
|
||
|
|
||
|
/** Built-in value references. */
|
||
|
var objectCreate = Object.create;
|
||
|
|
||
|
/**
|
||
|
* The base implementation of `_.create` without support for assigning
|
||
|
* properties to the created object.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Object} proto The object to inherit from.
|
||
|
* @returns {Object} Returns the new object.
|
||
|
*/
|
||
|
var baseCreate = (function() {
|
||
|
function object() {}
|
||
|
return function(proto) {
|
||
|
if (!isObject(proto)) {
|
||
|
return {};
|
||
|
}
|
||
|
if (objectCreate) {
|
||
|
return objectCreate(proto);
|
||
|
}
|
||
|
object.prototype = proto;
|
||
|
var result = new object;
|
||
|
object.prototype = undefined;
|
||
|
return result;
|
||
|
};
|
||
|
}());
|
||
|
|
||
|
module.exports = baseCreate;
|