web.dom-collections.for-each.js 901 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. var global = require('../internals/global');
  3. var DOMIterables = require('../internals/dom-iterables');
  4. var DOMTokenListPrototype = require('../internals/dom-token-list-prototype');
  5. var forEach = require('../internals/array-for-each');
  6. var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
  7. var handlePrototype = function (CollectionPrototype) {
  8. // some Chrome versions have non-configurable methods on DOMTokenList
  9. if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
  10. createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
  11. } catch (error) {
  12. CollectionPrototype.forEach = forEach;
  13. }
  14. };
  15. for (var COLLECTION_NAME in DOMIterables) {
  16. if (DOMIterables[COLLECTION_NAME]) {
  17. handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);
  18. }
  19. }
  20. handlePrototype(DOMTokenListPrototype);