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