@scinorandex/slex
Version:
No fuss lexer generator
25 lines • 722 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ColumnAndRow = void 0;
class ColumnAndRow {
constructor(row, column) {
this.column = column;
this.row = row;
}
getActualRow() {
return this.row + 1;
}
getActualColumn() {
return this.column;
}
static calculate(index, source) {
const lines = source.split("\n", -1);
let currentLine = 0;
let column = index;
for (; column > lines[currentLine].length; column -= lines[currentLine++].length + 1)
;
return new ColumnAndRow(currentLine, column);
}
}
exports.ColumnAndRow = ColumnAndRow;
//# sourceMappingURL=ColumnAndRow.js.map