text: '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));
  };