123456789101112131415161718192021222324 |
- 'use strict';
- /* eslint-disable es/no-object-getownpropertynames -- safe */
- var classof = require('../internals/classof-raw');
- var toIndexedObject = require('../internals/to-indexed-object');
- var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
- var arraySlice = require('../internals/array-slice');
-
- var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
- ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function (it) {
- try {
- return $getOwnPropertyNames(it);
- } catch (error) {
- return arraySlice(windowNames);
- }
- };
-
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
- module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && classof(it) === 'Window'
- ? getWindowNames(it)
- : $getOwnPropertyNames(toIndexedObject(it));
- };
|