UNPKG

@eggjs/tegg-transaction-decorator

Version:

tegg transaction decorator

19 lines 1.76 kB
import { PropagationType } from '@eggjs/tegg-types'; import { TransactionMetadataUtil } from '../util/index.js'; export function Transactional(params) { const propagation = params?.propagation || PropagationType.REQUIRED; if (!Object.values(PropagationType).includes(propagation)) { throw new Error(`unknown propagation type ${propagation}`); } const datasourceName = params?.datasourceName; return function (target, propertyKey) { const constructor = target.constructor; TransactionMetadataUtil.setIsTransactionClazz(constructor); TransactionMetadataUtil.addTransactionMetadata(constructor, { propagation, method: propertyKey, datasourceName, }); }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRyYW5zYWN0aW9uYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBNEI7SUFDeEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxFQUFFLFdBQVcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sRUFBRSxjQUFjLENBQUM7SUFFOUMsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLFdBQVcsR0FBc0IsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUMxRCx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRCx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUU7WUFDMUQsV0FBVztZQUNYLE1BQU0sRUFBRSxXQUFXO1lBQ25CLGNBQWM7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIn0=