import Transaction from "../../../type/impl/transaction/Transaction" import {TransactionIsolationType, TransactionPropagationType} from "../../../enum" import {PojoType} from "../../../type/type" import DecorateRegistCenter from "../../DecorateRegistCenter" export function Transactional({isolation = TransactionIsolationType.DEFAULT, propagation = TransactionPropagationType.REQUIRED, dao = undefined} = {}): Function{ return function(prototype: any, methodName: string, desc: PojoType): void{ DecorateRegistCenter.registTransactions(new Transaction({ cost: prototype.constructor, isolation, propagation, methodName, method: desc.value })) } }