| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- "use strict";
 
- exports.__esModule = true;
 
- exports.LinesAndColumns = void 0;
 
- var LF = '\n';
 
- var CR = '\r';
 
- var LinesAndColumns = /** @class */ (function () {
 
-     function LinesAndColumns(string) {
 
-         this.string = string;
 
-         var offsets = [0];
 
-         for (var offset = 0; offset < string.length;) {
 
-             switch (string[offset]) {
 
-                 case LF:
 
-                     offset += LF.length;
 
-                     offsets.push(offset);
 
-                     break;
 
-                 case CR:
 
-                     offset += CR.length;
 
-                     if (string[offset] === LF) {
 
-                         offset += LF.length;
 
-                     }
 
-                     offsets.push(offset);
 
-                     break;
 
-                 default:
 
-                     offset++;
 
-                     break;
 
-             }
 
-         }
 
-         this.offsets = offsets;
 
-     }
 
-     LinesAndColumns.prototype.locationForIndex = function (index) {
 
-         if (index < 0 || index > this.string.length) {
 
-             return null;
 
-         }
 
-         var line = 0;
 
-         var offsets = this.offsets;
 
-         while (offsets[line + 1] <= index) {
 
-             line++;
 
-         }
 
-         var column = index - offsets[line];
 
-         return { line: line, column: column };
 
-     };
 
-     LinesAndColumns.prototype.indexForLocation = function (location) {
 
-         var line = location.line, column = location.column;
 
-         if (line < 0 || line >= this.offsets.length) {
 
-             return null;
 
-         }
 
-         if (column < 0 || column > this.lengthOfLine(line)) {
 
-             return null;
 
-         }
 
-         return this.offsets[line] + column;
 
-     };
 
-     LinesAndColumns.prototype.lengthOfLine = function (line) {
 
-         var offset = this.offsets[line];
 
-         var nextOffset = line === this.offsets.length - 1
 
-             ? this.string.length
 
-             : this.offsets[line + 1];
 
-         return nextOffset - offset;
 
-     };
 
-     return LinesAndColumns;
 
- }());
 
- exports.LinesAndColumns = LinesAndColumns;
 
- exports["default"] = LinesAndColumns;
 
 
  |