| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 'use strict';Object.defineProperty(exports, "__esModule", {    value: true});exports.default = createIterator;var _isArrayLike = require('./isArrayLike.js');var _isArrayLike2 = _interopRequireDefault(_isArrayLike);var _getIterator = require('./getIterator.js');var _getIterator2 = _interopRequireDefault(_getIterator);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }function createArrayIterator(coll) {    var i = -1;    var len = coll.length;    return function next() {        return ++i < len ? { value: coll[i], key: i } : null;    };}function createES2015Iterator(iterator) {    var i = -1;    return function next() {        var item = iterator.next();        if (item.done) return null;        i++;        return { value: item.value, key: i };    };}function createObjectIterator(obj) {    var okeys = obj ? Object.keys(obj) : [];    var i = -1;    var len = okeys.length;    return function next() {        var key = okeys[++i];        if (key === '__proto__') {            return next();        }        return i < len ? { value: obj[key], key } : null;    };}function createIterator(coll) {    if ((0, _isArrayLike2.default)(coll)) {        return createArrayIterator(coll);    }    var iterator = (0, _getIterator2.default)(coll);    return iterator ? createES2015Iterator(iterator) : createObjectIterator(coll);}module.exports = exports.default;
 |