react-router-ga
Version:
[](https://npm.im/react-router-ga) [](https://npm.im/react-router-ga) [](https://ope
43 lines (32 loc) • 811 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getLineInfo = getLineInfo;
exports.SourceLocation = exports.Position = void 0;
var _whitespace = require("./whitespace");
class Position {
constructor(line, col) {
this.line = line;
this.column = col;
}
}
exports.Position = Position;
class SourceLocation {
constructor(start, end) {
this.start = start;
this.end = end;
}
}
exports.SourceLocation = SourceLocation;
function getLineInfo(input, offset) {
let line = 1;
let lineStart = 0;
let match;
_whitespace.lineBreakG.lastIndex = 0;
while ((match = _whitespace.lineBreakG.exec(input)) && match.index < offset) {
line++;
lineStart = _whitespace.lineBreakG.lastIndex;
}
return new Position(line, offset - lineStart);
}