code: function (start, stop, line) {
          var p1 = this.pointOnLine(line, start);
          var p2 = this.pointOnLine(line, stop);
  
          if (p1.index > p2.index || (p1.index === p2.index && p1.t > p2.t)) {
              var tmp = p1;
              p1 = p2;
              p2 = tmp;
          }
  
          var slice = [p1.point];
  
          var l = p1.index + 1;
          var r = p2.index;
  
          if (!equals(line[l], slice[0]) && l <= r)
              slice.push(line[l]);
  
          for (var i = l + 1; i <= r; i++) {
              slice.push(line[i]);
          }
  
          if (!equals(line[r], p2.point))
              slice.push(p2.point);
  
          return slice;
      }
docs: Returns a part of the given line between the start and the stop points (or their closest points on the line).
  
  @param {Array<number>} start point [longitude, latitude]
  @param {Array<number>} stop point [longitude, latitude]
  @param {Array<Array<number>>} line
  @returns {Array<Array<number>>} line part of a line
  @example
  var line2 = ruler.lineSlice([-67.04, 50.5], [-67.05, 50.56], line1);
  //=line2