.
This commit is contained in:
		
							
								
								
									
										62
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
"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;
 | 
			
		||||
		Reference in New Issue
	
	Block a user