UNPKG

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
"use strict"; 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;