typeorm-transactional-async-callbacks
Version:
A Transactional Method Decorator for typeorm that uses cls-hooked to handle and propagate transactions between different repositories and service methods. Inpired by Spring Trasnactional Annotation and Sequelize CLS
14 lines (13 loc) • 597 B
TypeScript
import { DataSourceName } from '../common';
import { IsolationLevel } from '../enums/isolation-level';
import { Propagation } from '../enums/propagation';
export interface WrapInTransactionOptions {
/**
* For compatibility with `typeorm-transactional-cls-hooked` we use `connectionName`
*/
connectionName?: DataSourceName;
propagation?: Propagation;
isolationLevel?: IsolationLevel;
name?: string | symbol;
}
export declare const wrapInTransaction: <Fn extends (this: unknown, ...args: unknown[]) => ReturnType<Fn>>(fn: Fn, options?: WrapInTransactionOptions) => Fn;