'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; module.exports = function chunk(size) { var _this = this; var chunks = []; var index = 0; if (Array.isArray(this.items)) { do { var items = this.items.slice(index, index + size); var collection = new this.constructor(items); chunks.push(collection); index += size; } while (index < this.items.length); } else if (_typeof(this.items) === 'object') { var keys = Object.keys(this.items); var _loop = function _loop() { var keysOfChunk = keys.slice(index, index + size); var collection = new _this.constructor({}); keysOfChunk.forEach(function (key) { return collection.put(key, _this.items[key]); }); chunks.push(collection); index += size; }; do { _loop(); } while (index < keys.length); } else { chunks.push(new this.constructor([this.items])); } return new this.constructor(chunks); };