@har-sdk/core
Version:
The base package can be used to import specification files (i.e. HAR, OAS and Postman Collection) and detect their type.
38 lines • 1.2 kB
JavaScript
export class BaseSyntaxErrorDetailsExtractor {
get lineOffsets() {
if (!this._lineOffsets) {
let offset = 0;
this._lineOffsets = [
0,
...(this.source || '')
.split('\n')
.map((line) => (offset += line.length + 1))
];
}
return this._lineOffsets;
}
extract(error, source) {
this.source = source;
this._lineOffsets = undefined;
const message = this.extractMessage(error);
const offset = this.extractOffset(error);
const snippet = this.extractSnippet(error);
return {
message,
...(offset !== undefined ? { offset } : {}),
...(snippet !== undefined ? { snippet } : {})
};
}
extractSnippet(_error) {
return undefined;
}
extractMessage(error) {
return error.message;
}
calculateOffset(lineNumber, columnNumber) {
return lineNumber <= this.lineOffsets.length
? this.lineOffsets[lineNumber - 1] + columnNumber - 1
: this.source.length;
}
}
//# sourceMappingURL=BaseSyntaxErrorDetailsExtractor.js.map