'use strict'; module.exports = function partition(fn) { var _this = this; var arrays = void 0; if (Array.isArray(this.items)) { arrays = [new this.constructor([]), new this.constructor([])]; this.items.forEach(function (item) { if (fn(item) === true) { arrays[0].push(item); } else { arrays[1].push(item); } }); } else { arrays = [new this.constructor({}), new this.constructor({})]; Object.keys(this.items).forEach(function (prop) { var value = _this.items[prop]; if (fn(value) === true) { arrays[0].put(prop, value); } else { arrays[1].put(prop, value); } }); } return new this.constructor(arrays); };