1 var $iterators = require('./es6.array.iterator')
2 , redefine = require('./_redefine')
3 , global = require('./_global')
4 , hide = require('./_hide')
5 , Iterators = require('./_iterators')
6 , wks = require('./_wks')
7 , ITERATOR = wks('iterator')
8 , TO_STRING_TAG = wks('toStringTag')
9 , ArrayValues = Iterators.Array;
11 for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){
12 var NAME = collections[i]
13 , Collection = global[NAME]
14 , proto = Collection && Collection.prototype
17 if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);
18 if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);
19 Iterators[NAME] = ArrayValues;
20 for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);