You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
600 B
18 lines
600 B
require('../../modules/web.dom-collections.iterator'); |
|
var classof = require('../../internals/classof'); |
|
var hasOwn = require('../../internals/has-own-property'); |
|
var isPrototypeOf = require('../../internals/object-is-prototype-of'); |
|
var method = require('../array/virtual/keys'); |
|
|
|
var ArrayPrototype = Array.prototype; |
|
|
|
var DOMIterables = { |
|
DOMTokenList: true, |
|
NodeList: true |
|
}; |
|
|
|
module.exports = function (it) { |
|
var own = it.keys; |
|
return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.keys) |
|
|| hasOwn(DOMIterables, classof(it)) ? method : own; |
|
};
|
|
|