lupdo
Version:
Database Abstraction Layer for Node js
29 lines (28 loc) • 923 B
JavaScript
;
import PdoStatement from './pdo-statement';
import PdoTransactionPreparedStatement from './pdo-transaction-prepared-statement';
export class PdoTransaction {
constructor(connection) {
this.connection = connection;
this.instances = {
preparedStatement: PdoTransactionPreparedStatement,
statement: PdoStatement,
};
}
async commit() {
return await this.connection.commit();
}
async rollback() {
return await this.connection.rollback();
}
async exec(sql) {
return await this.connection.exec(sql);
}
async prepare(sql) {
return new this.instances.preparedStatement(this.connection, sql, await this.connection.prepare(sql));
}
async query(sql) {
return new this.instances.statement(this.connection, sql, ...(await this.connection.query(sql)));
}
}
export default PdoTransaction;