ts-sql-query
Version:
Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
45 lines (44 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MySql2PoolQueryRunner = void 0;
const PromiseBasedPoolQueryRunner_1 = require("./PromiseBasedPoolQueryRunner");
const MySql2QueryRunner_1 = require("./MySql2QueryRunner");
class MySql2PoolQueryRunner extends PromiseBasedPoolQueryRunner_1.PromiseBasedPoolQueryRunner {
constructor(pool, database = 'mySql') {
super();
this.pool = pool;
this.database = database;
}
useDatabase(database) {
if (database !== 'mariaDB' && database !== 'mySql') {
throw new Error('Unsupported database: ' + database + '. MySql2PoolQueryRunner only supports mySql or mariaDB databases');
}
else {
// @ts-ignore
this.database = database;
}
}
getNativeRunner() {
return this.pool;
}
addParam(params, value) {
params.push(value);
return '?';
}
createQueryRunner() {
return new Promise((resolve, reject) => {
this.pool.getConnection((error, mysql2Connection) => {
if (error) {
reject(error);
}
else {
resolve(new MySql2QueryRunner_1.MySql2QueryRunner(mysql2Connection, this.database));
}
});
});
}
releaseQueryRunner(queryRunner) {
queryRunner.getNativeRunner().release();
}
}
exports.MySql2PoolQueryRunner = MySql2PoolQueryRunner;