Ensure getOwnPropertySymbols is passed an object to avoid errors in V8.

This commit is contained in:
John-David Dalton
2016-03-04 07:33:16 -08:00
parent 0589dd6909
commit 8e6f3e48d0

View File

@@ -5063,9 +5063,18 @@
* @param {Object} object The object to query.
* @returns {Array} Returns the array of symbols.
*/
var getSymbols = getOwnPropertySymbols || function() {
return [];
};
function getSymbols(object) {
// Coerce `object` to an object to avoid non-object errors in V8.
// See https://bugs.chromium.org/p/v8/issues/detail?id=3443 for more details.
return getOwnPropertySymbols(Object(object));
}
// Fallback for IE < 11.
if (!getOwnPropertySymbols) {
getSymbols = function() {
return [];
};
}
/**
* Creates an array of the own and inherited enumerable symbol properties