mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-07 01:57:50 +00:00
Use Object.create in baseCreate (even if shimmed).
This commit is contained in:
committed by
John-David Dalton
parent
4643679d79
commit
607fe2a5f6
15
lodash.js
15
lodash.js
@@ -1315,6 +1315,7 @@
|
|||||||
|
|
||||||
/** Built-in value references. */
|
/** Built-in value references. */
|
||||||
var Buffer = moduleExports ? context.Buffer : undefined,
|
var Buffer = moduleExports ? context.Buffer : undefined,
|
||||||
|
objectCreate = Object.create,
|
||||||
Reflect = context.Reflect,
|
Reflect = context.Reflect,
|
||||||
Symbol = context.Symbol,
|
Symbol = context.Symbol,
|
||||||
Uint8Array = context.Uint8Array,
|
Uint8Array = context.Uint8Array,
|
||||||
@@ -2373,17 +2374,9 @@
|
|||||||
* @param {Object} prototype The object to inherit from.
|
* @param {Object} prototype The object to inherit from.
|
||||||
* @returns {Object} Returns the new object.
|
* @returns {Object} Returns the new object.
|
||||||
*/
|
*/
|
||||||
var baseCreate = (function() {
|
function baseCreate(proto) {
|
||||||
function object() {}
|
return isObject(proto) ? objectCreate(proto) : {};
|
||||||
return function(prototype) {
|
}
|
||||||
if (isObject(prototype)) {
|
|
||||||
object.prototype = prototype;
|
|
||||||
var result = new object;
|
|
||||||
object.prototype = undefined;
|
|
||||||
}
|
|
||||||
return result || {};
|
|
||||||
};
|
|
||||||
}());
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.delay` and `_.defer` which accepts an array
|
* The base implementation of `_.delay` and `_.defer` which accepts an array
|
||||||
|
|||||||
@@ -82,9 +82,6 @@
|
|||||||
funcProto._method = noop;
|
funcProto._method = noop;
|
||||||
|
|
||||||
// Set bad shims.
|
// Set bad shims.
|
||||||
setProperty(Object, '_create', Object.create);
|
|
||||||
setProperty(Object, 'create', noop);
|
|
||||||
|
|
||||||
setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols);
|
setProperty(Object, '_getOwnPropertySymbols', Object.getOwnPropertySymbols);
|
||||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||||
|
|
||||||
@@ -133,11 +130,6 @@
|
|||||||
|
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
setProperty(objectProto, 'propertyIsEnumerable', objectProto._propertyIsEnumerable);
|
||||||
|
|
||||||
if (Object._create) {
|
|
||||||
Object.create = Object._create;
|
|
||||||
} else {
|
|
||||||
delete Object.create;
|
|
||||||
}
|
|
||||||
if (Object._getOwnPropertySymbols) {
|
if (Object._getOwnPropertySymbols) {
|
||||||
Object.getOwnPropertySymbols = Object._getOwnPropertySymbols;
|
Object.getOwnPropertySymbols = Object._getOwnPropertySymbols;
|
||||||
} else {
|
} else {
|
||||||
@@ -174,7 +166,6 @@
|
|||||||
|
|
||||||
delete funcProto._method;
|
delete funcProto._method;
|
||||||
delete objectProto._propertyIsEnumerable;
|
delete objectProto._propertyIsEnumerable;
|
||||||
delete Object._create;
|
|
||||||
delete Object._getOwnPropertySymbols;
|
delete Object._getOwnPropertySymbols;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -467,7 +467,6 @@
|
|||||||
funcProto._method = noop;
|
funcProto._method = noop;
|
||||||
|
|
||||||
// Set bad shims.
|
// Set bad shims.
|
||||||
setProperty(Object, 'create', noop);
|
|
||||||
|
|
||||||
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
var _getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
||||||
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
setProperty(Object, 'getOwnPropertySymbols', undefined);
|
||||||
@@ -520,7 +519,6 @@
|
|||||||
root._ = oldDash;
|
root._ = oldDash;
|
||||||
|
|
||||||
// Restore built-in methods.
|
// Restore built-in methods.
|
||||||
setProperty(Object, 'create', create);
|
|
||||||
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
setProperty(objectProto, 'propertyIsEnumerable', _propertyIsEnumerable);
|
||||||
setProperty(root, 'Buffer', Buffer);
|
setProperty(root, 'Buffer', Buffer);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user