code: function getRange(start, limit, raw, store) {
        // Monitor values
        start = start || start === 0 ? parseInt(start) : null;
        limit = limit || limit === 0 ? parseInt(limit) : null;
  
        var data = raw == false ? store.data.asObject() : Object.assign({}, store.rootData.asObject());
        var rangeData = {};
        var isArray = store.data.__sorted && !raw;
        
        if (isArray) {
          data = raw == false ? store.data.asArray() : Object.assign({}, store.rootData.asObject());
          rangeData = [];
        }
        
        var size = Object.keys(data).length;
  
        if (
          start &&
          typeof start == "number" &&
          (limit || typeof limit == "number")
        ) {
          var index = 1;
  
          function rangeLoop(item) {
            // Check start item key
            if (index >= start && index <= limit) {
              if (isArray) {
                rangeData.push(data[item]);
              } else {
                rangeData[item] = data[item];
              }
            }
            index++;
          }
          // Loop through data object items
          if (isArray) {
            for (var i = 0; i < data.length; i++) {
              rangeLoop(i);
              if (index > limit) {
                break;
              }
            }
          } else {
            for (var key in data) {
              rangeLoop(key);
              if (index > limit) {
                break;
              }
            }
          }
        } else {
          vcomet.error.log("store", "Incorrect range values format");
        }
        // Update store data object
        store.rangeData = new Result(rangeData, store, store.data.__sorted);
        store.size = size;
  
      }
docs: /*
  @function getRange
  @description Store data get by range
  @param {Number} start [Data start item index]
  @param {Number} limit [Data limit item index]
  @param {Object} store [Store element]