ui5plugin-parser
Version:
27 lines (26 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RangeAdapter = void 0;
const LineColumn = require("line-column");
const PositionAdapter_1 = require("./PositionAdapter");
class RangeAdapter {
static offsetsRange(content, positionBegin, positionEnd) {
const lineColumn = LineColumn(content);
const lineColumnBegin = lineColumn.fromIndex(positionBegin);
const lineColumnEnd = lineColumn.fromIndex(positionEnd);
if (lineColumnBegin && lineColumnEnd) {
const positionBegin = { column: lineColumnBegin.col - 1, line: lineColumnBegin.line };
const positionEnd = { column: lineColumnEnd.col - 1, line: lineColumnEnd.line };
return { start: positionBegin, end: positionEnd };
}
}
static acornPositionsToRange(positionBegin, positionEnd) {
return { start: positionBegin, end: positionEnd };
}
static acornLocationToRange(location) {
const vscodePositionBegin = PositionAdapter_1.PositionAdapter.acornPositionToPosition(location.start);
const vscodePositionEnd = PositionAdapter_1.PositionAdapter.acornPositionToPosition(location.end);
return { start: vscodePositionBegin, end: vscodePositionEnd };
}
}
exports.RangeAdapter = RangeAdapter;