31 lines
684 B
JavaScript
31 lines
684 B
JavaScript
|
import isObject from './isObject.js';
|
||
|
|
||
|
/** 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;
|
||
|
};
|
||
|
}());
|
||
|
|
||
|
export default baseCreate;
|