@gdksoftware/mysql
Version:
MySQL package
54 lines • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const mysql = require("mysql");
const error_1 = require("./error");
class MySQL {
constructor(config) {
this.config = config;
}
open() {
return new Promise((resolve, reject) => {
this.checkConfiguration().then(config => {
let conn = mysql.createConnection(config);
conn.connect(err => {
if (err) {
let error = new error_1.default('Error connecting to host', err);
return reject(error);
}
resolve(conn);
});
}, (err) => {
reject(err);
});
});
}
query(query, values) {
return new Promise((resolve, reject) => {
this.open().then(conn => {
conn.query(query, values, (err, results) => {
conn.end();
if (err) {
let error = new error_1.default('Error while executing query', err);
return reject(error);
}
resolve(results);
});
}, err => {
reject(err);
});
});
}
checkConfiguration() {
return new Promise((resolve, reject) => {
if (!this.config || !this.config.host) {
let error = new error_1.default('No configuration provided');
return reject(error);
}
else {
resolve(this.config);
}
});
}
}
exports.default = MySQL;
//# sourceMappingURL=index.js.map