"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Custom Opticss error base class. Will format `ErrorLocation` into thrown
* error message if provided.
*/
class OpticssError extends Error {
constructor(message, location) {
super(message);
this.origMessage = message;
this._location = location;
super.message = this.annotatedMessage();
}
annotatedMessage() {
let loc = this.location;
if (!loc) {
return this.origMessage;
}
let filename = loc.filename || "";
let line = loc.line ? `:${loc.line}` : "";
let column = loc.column ? `:${loc.column}` : "";
let locMessage = ` (${filename}${line}${column})`;
let constructor = this.constructor;
let prefix = constructor.prefix || OpticssError.prefix;
return `Opticss ${prefix}: ${this.origMessage}${locMessage}`;
}
get location() {
return this._location;
}
}
OpticssError.prefix = "Error";
exports.OpticssError = OpticssError;
/**
* Custom Opticss error type for template analysis errors.
*/
class TemplateError extends OpticssError {
constructor(message, location) {
super(message, location);
}
}
TemplateError.prefix = "TemplateError";
exports.TemplateError = TemplateError;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBOzs7R0FHRztBQUNILGtCQUEwQixTQUFRLEtBQUs7SUFJckMsWUFBWSxPQUFlLEVBQUUsUUFBd0I7UUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUNELElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFVBQVUsR0FBRyxLQUFLLFFBQVEsR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUM7UUFDbEQsSUFBSSxXQUFXLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDeEQsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3ZELE9BQU8sV0FBVyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O0FBMUJNLG1CQUFNLEdBQUcsT0FBTyxDQUFDO0FBRDFCLG9DQTZCQztBQUVEOztHQUVHO0FBQ0gsbUJBQTJCLFNBQVEsWUFBWTtJQUU3QyxZQUFZLE9BQWUsRUFBRSxRQUF3QjtRQUNuRCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O0FBSE0sb0JBQU0sR0FBRyxlQUFlLENBQUM7QUFEbEMsc0NBS0MifQ== |