| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 'use strict';var wellKnownSymbol = require('../internals/well-known-symbol');var ITERATOR = wellKnownSymbol('iterator');var SAFE_CLOSING = false;try {  var called = 0;  var iteratorWithReturn = {    next: function () {      return { done: !!called++ };    },    'return': function () {      SAFE_CLOSING = true;    }  };  iteratorWithReturn[ITERATOR] = function () {    return this;  };  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing  Array.from(iteratorWithReturn, function () { throw 2; });} catch (error) { /* empty */ }module.exports = function (exec, SKIP_CLOSING) {  try {    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;  } catch (error) { return false; } // workaround of old WebKit + `eval` bug  var ITERATION_SUPPORT = false;  try {    var object = {};    object[ITERATOR] = function () {      return {        next: function () {          return { done: ITERATION_SUPPORT = true };        }      };    };    exec(object);  } catch (error) { /* empty */ }  return ITERATION_SUPPORT;};
 |