@freemework/common
Version:
Common library of the Freemework Project.
42 lines • 1.91 kB
JavaScript
import { FExecutionContext, FExecutionContextBase, FExecutionElement } from "../execution_context/index.js";
import { FInitable } from "../lifecycle/f_initable.js";
export class FSqlConnectionFactoryExecutionContext extends FExecutionContextBase {
_sqlConnectionFactory;
static async create(prevContext, sqlConnectionFactory) {
if (FInitable.instanceOf(sqlConnectionFactory)) {
await sqlConnectionFactory.init(prevContext);
}
return new FSqlConnectionFactoryExecutionContext(prevContext, sqlConnectionFactory);
}
static of(executionContext) {
const sqlFactoryExecutionContext = FExecutionContext.getExecutionContext(executionContext, FSqlConnectionFactoryExecutionContext);
return new FSqlConnectionFactoryExecutionElement(sqlFactoryExecutionContext, sqlFactoryExecutionContext._sqlConnectionFactory);
}
get sqlConnectionFactory() {
return this._sqlConnectionFactory;
}
constructor(prevContext, sqlConnectionFactory) {
super(prevContext);
this._sqlConnectionFactory = sqlConnectionFactory;
}
}
export class FSqlConnectionFactoryExecutionElement extends FExecutionElement {
_sqlConnectionFactory;
constructor(owner, sqlConnectionFactory) {
super(owner);
this._sqlConnectionFactory = sqlConnectionFactory;
}
create(executionContext) {
return this._sqlConnectionFactory.create(executionContext);
}
usingConnection(executionContext, worker) {
return this._sqlConnectionFactory.usingConnection(executionContext, worker);
}
usingConnectionWithTransaction(executionContext, worker) {
return this._sqlConnectionFactory.usingConnectionWithTransaction(executionContext, worker);
}
get sqlConnectionFactory() {
return this._sqlConnectionFactory;
}
}
//# sourceMappingURL=f_sql_connection_factory_execution_context.js.map