{"size": 1277, "ext": "js", "max_stars_repo_path": "node_modules/watchpack/node_modules/async/internal/iterator.js", "max_stars_repo_name": "WillyLu326/Angular2-MEAN", "max_stars_repo_stars_event_min_datetime": "2017-05-08T11:50:15.000Z", "max_stars_repo_stars_event_max_datetime": "2021-11-08T13:13:39.000Z", "max_issues_repo_path": "node_modules/watchpack/node_modules/async/internal/iterator.js", "max_issues_repo_name": "WillyLu326/Angular2-MEAN", "max_issues_repo_issues_event_min_datetime": "2016-04-13T01:11:15.000Z", "max_issues_repo_issues_event_max_datetime": "2016-06-08T16:58:13.000Z", "max_forks_repo_path": "node_modules/watchpack/node_modules/async/internal/iterator.js", "max_forks_repo_name": "WillyLu326/Angular2-MEAN", "max_forks_repo_forks_event_min_datetime": "2017-05-04T12:18:37.000Z", "max_forks_repo_forks_event_max_datetime": "2021-06-01T20:51:49.000Z"}
{"max_stars_count": 94, "max_issues_count": 11, "max_forks_count": 55, "avg_line_length": 25.0392156863, "max_line_length": 95, "alphanum_fraction": 0.5880971026}
'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 iterator(coll) {
    var i = -1;
    var len;
    if ((0, _isArrayLike2.default)(coll)) {
        len = coll.length;
        return function next() {
            i++;
            return i < len ? { value: coll[i], key: i } : null;
        };
    }

    var iterate = (0, _getIterator2.default)(coll);
    if (iterate) {
        return function next() {
            var item = iterate.next();
            if (item.done) return null;
            i++;
            return { value: item.value, key: i };
        };
    }

    var okeys = (0, _keys2.default)(coll);
    len = okeys.length;
    return function next() {
        i++;
        var key = okeys[i];
        return i < len ? { value: coll[key], key: key } : null;
    };
}
module.exports = exports['default'];