| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 'use strict';Object.defineProperty(exports, "__esModule", {    value: true});exports.default = iterator;var _isArrayLike = require('lodash/isArrayLike');var _isArrayLike2 = _interopRequireDefault(_isArrayLike);var _getIterator = require('./getIterator');var _getIterator2 = _interopRequireDefault(_getIterator);var _keys = require('lodash/keys');var _keys2 = _interopRequireDefault(_keys);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 = (0, _keys2.default)(obj);    var i = -1;    var len = okeys.length;    return function next() {        var key = okeys[++i];        return i < len ? { value: obj[key], key: key } : null;    };}function iterator(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'];
 |