123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- const {QueryFileError} = require('./query-file-error');
- const npm = {
- os: require('os'),
- utils: require('../utils')
- };
- class PreparedStatementError extends Error {
- constructor(error, ps) {
- const isQueryFileError = error instanceof QueryFileError;
- const message = isQueryFileError ? 'Failed to initialize \'text\' from a QueryFile.' : error;
- super(message);
- this.name = this.constructor.name;
- if (isQueryFileError) {
- this.error = error;
- }
- this.result = ps;
- Error.captureStackTrace(this, this.constructor);
- }
- }
- PreparedStatementError.prototype.toString = function (level) {
- level = level > 0 ? parseInt(level) : 0;
- const gap0 = npm.utils.messageGap(level),
- gap1 = npm.utils.messageGap(level + 1),
- gap2 = npm.utils.messageGap(level + 2),
- lines = [
- 'PreparedStatementError {',
- gap1 + 'message: "' + this.message + '"',
- gap1 + 'result: {',
- gap2 + 'name: ' + npm.utils.toJson(this.result.name),
- gap2 + 'text: ' + npm.utils.toJson(this.result.text),
- gap2 + 'values: ' + npm.utils.toJson(this.result.values),
- gap1 + '}'
- ];
- if (this.error) {
- lines.push(gap1 + 'error: ' + this.error.toString(level + 1));
- }
- lines.push(gap0 + '}');
- return lines.join(npm.os.EOL);
- };
- npm.utils.addInspection(PreparedStatementError, function () {
- return this.toString();
- });
- module.exports = {PreparedStatementError};
|