iterator-close-all.js 416 B

12345678910111213141516
  1. 'use strict';
  2. var iteratorClose = require('../internals/iterator-close');
  3. module.exports = function (iters, kind, value) {
  4. for (var i = iters.length - 1; i >= 0; i--) {
  5. if (iters[i] === undefined) continue;
  6. try {
  7. value = iteratorClose(iters[i].iterator, kind, value);
  8. } catch (error) {
  9. kind = 'throw';
  10. value = error;
  11. }
  12. }
  13. if (kind === 'throw') throw value;
  14. return value;
  15. };