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.

35 lines (34 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ManagedTransactionPoolQueryRunner = void 0; const AbstractPoolQueryRunner_1 = require("./AbstractPoolQueryRunner"); class ManagedTransactionPoolQueryRunner extends AbstractPoolQueryRunner_1.AbstractPoolQueryRunner { executeInTransaction(fn, outermostQueryRunner) { return outermostQueryRunner.executeBeginTransaction().then(() => { let result = fn(); if (Array.isArray(result)) { result = this.createAllPromise(result); } return result.then((r) => { return outermostQueryRunner.executeCommit().then(() => { return r; }); }).catch((e) => { return outermostQueryRunner.executeRollback().then(() => { throw e; }, () => { // Throw the innermost error throw e; }); }); }); } executeCombined(fn1, fn2) { return fn1().then((r1) => { return fn2().then((r2) => { return [r1, r2]; }); }); } } exports.ManagedTransactionPoolQueryRunner = ManagedTransactionPoolQueryRunner;