mirror of
https://github.com/musix-org/musix-oss
synced 2024-11-14 03:30:18 +00:00
23 lines
737 B
JavaScript
23 lines
737 B
JavaScript
|
var toIndexedObject = require('../internals/to-indexed-object');
|
||
|
var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
||
|
|
||
|
var toString = {}.toString;
|
||
|
|
||
|
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
||
|
? Object.getOwnPropertyNames(window) : [];
|
||
|
|
||
|
var getWindowNames = function (it) {
|
||
|
try {
|
||
|
return nativeGetOwnPropertyNames(it);
|
||
|
} catch (error) {
|
||
|
return windowNames.slice();
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
||
|
module.exports.f = function getOwnPropertyNames(it) {
|
||
|
return windowNames && toString.call(it) == '[object Window]'
|
||
|
? getWindowNames(it)
|
||
|
: nativeGetOwnPropertyNames(toIndexedObject(it));
|
||
|
};
|