import {TransactionIsolationType, TransactionPropagationType} from "../../../enum" import {ITransaction} from "../../interface" import {ConstructorType} from "../../type" export default class Transaction implements ITransaction{ public isolation: TransactionIsolationType = TransactionIsolationType.READ_COMMITED public propagation: TransactionPropagationType = TransactionPropagationType.REQUIRED public cost: ConstructorType public methodName: string public method: Function constructor({ isolation = TransactionIsolationType.READ_COMMITED, propagation = TransactionPropagationType.REQUIRED, cost = Transaction, methodName = '', method = function(){} } = {}){ this.isolation = isolation this.propagation = propagation this.cost = cost this.methodName = methodName this.method = method } }