simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

createForOfIteratorHelper.js (1399B)


      1 import unsupportedIterableToArray from "./unsupportedIterableToArray.js";
      2 export default function _createForOfIteratorHelper(o, allowArrayLike) {
      3   var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
      4 
      5   if (!it) {
      6     if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
      7       if (it) o = it;
      8       var i = 0;
      9 
     10       var F = function F() {};
     11 
     12       return {
     13         s: F,
     14         n: function n() {
     15           if (i >= o.length) return {
     16             done: true
     17           };
     18           return {
     19             done: false,
     20             value: o[i++]
     21           };
     22         },
     23         e: function e(_e) {
     24           throw _e;
     25         },
     26         f: F
     27       };
     28     }
     29 
     30     throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
     31   }
     32 
     33   var normalCompletion = true,
     34       didErr = false,
     35       err;
     36   return {
     37     s: function s() {
     38       it = it.call(o);
     39     },
     40     n: function n() {
     41       var step = it.next();
     42       normalCompletion = step.done;
     43       return step;
     44     },
     45     e: function e(_e2) {
     46       didErr = true;
     47       err = _e2;
     48     },
     49     f: function f() {
     50       try {
     51         if (!normalCompletion && it["return"] != null) it["return"]();
     52       } finally {
     53         if (didErr) throw err;
     54       }
     55     }
     56   };
     57 }