@knorm/knorm
Version:
A JavaScript ORM written using ES6 classes
35 lines (34 loc) • 926 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const KnormError_1 = require("./KnormError");
class QueryError extends KnormError_1.KnormError {
constructor(...args) {
super(...args);
const { error, query } = this._parseArguments(args);
if (query) {
this.query = query;
}
if (error) {
this.originalError = error;
}
}
_parseArguments(args) {
let error;
let query;
if (args[0] instanceof Error) {
error = args[0];
}
else {
[{ error, query }] = args;
}
return { error, query };
}
formatMessage(...args) {
const { error, query } = this._parseArguments(args);
if (query) {
return `${query.model.name}: ${error.message}`;
}
return error.message;
}
}
exports.QueryError = QueryError;