--- /dev/null
+require('../../modules/web.dom-collections.iterator');
+var keys = require('../array/virtual/keys');
+var classof = require('../../internals/classof');
+var ArrayPrototype = Array.prototype;
+
+var DOMIterables = {
+ DOMTokenList: true,
+ NodeList: true
+};
+
+module.exports = function (it) {
+ var own = it.keys;
+ return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.keys)
+ // eslint-disable-next-line no-prototype-builtins
+ || DOMIterables.hasOwnProperty(classof(it)) ? keys : own;
+};