var unsupportedIterableToArray = babel_require("./unsupportedIterableToArray");

function _createForOfIteratorHelper(r, e) {
    var t;
    if ("undefined" == typeof Symbol || null == r[Symbol.iterator]) {
        if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
            t && (r = t);
            var n = 0, o = function() {};
            return {
                s: o,
                n: function() {
                    return n >= r.length ? {
                        done: !0
                    } : {
                        done: !1,
                        value: r[n++]
                    };
                },
                e: function(r) {
                    throw r;
                },
                f: o
            };
        }
        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var a, u = !0, i = !1;
    return {
        s: function() {
            t = r[Symbol.iterator]();
        },
        n: function() {
            var r = t.next();
            return u = r.done, r;
        },
        e: function(r) {
            i = !0, a = r;
        },
        f: function() {
            try {
                u || null == t.return || t.return();
            } finally {
                if (i) throw a;
            }
        }
    };
}

gmodule.exports = _createForOfIteratorHelper;