my-idlers/node_modules/collect.js/dist/methods/take.js

34 lines
978 B
JavaScript
Raw Normal View History

'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 take(length) {
var _this = this;
if (!Array.isArray(this.items) && _typeof(this.items) === 'object') {
var keys = Object.keys(this.items);
var slicedKeys = void 0;
if (length < 0) {
slicedKeys = keys.slice(length);
} else {
slicedKeys = keys.slice(0, length);
}
var collection = {};
keys.forEach(function (prop) {
if (slicedKeys.indexOf(prop) !== -1) {
collection[prop] = _this.items[prop];
}
});
return new this.constructor(collection);
}
if (length < 0) {
return new this.constructor(this.items.slice(length));
}
return new this.constructor(this.items.slice(0, length));
};