limber-firebird-client
Version:
Cliente JavaScript/Typescrypt para Node.js de acesso a banco de dados Firebird charset ISO8859_1 e UTF8
22 lines (18 loc) • 960 B
JavaScript
module.exports = {GDSError: GDSError};
function GDSError(gdsObject) {
this.message = gdsObject && gdsObject.message || '';
const cond = ['ð', '§', 'á', 'é', 'Ã', 'ó', 'ú', 'Ã', 'Ã', 'Ã', 'Ã', 'Ã', 'â', 'ê', 'î', 'ô', 'û', 'Ã', 'Ã', 'Ã', 'Ã', 'Ã', 'Ã', 'ç', 'ã', 'õ', 'Ã', 'Ã'];
if (cond.some(el => this.message.includes(el))) {
this.message = new Buffer(this.message, 'latin1').toString('utf8')
}
const firstStatus = gdsObject && gdsObject.status && gdsObject.status.length > 0 && gdsObject.status[0] || {};
this.code = firstStatus.gdscode || -1;
this.gdserrors = gdsObject.status;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, GDSError);
} else {
this.stack = (new Error()).stack;
}
}
GDSError.prototype = Object.create(Error.prototype);
GDSError.prototype.name = 'GDSError';