UNPKG

monguito

Version:

MongoDB Abstract Repository implementation for Node.js

24 lines (23 loc) 959 B
import { ClientSession, Connection } from 'mongoose'; /** * Models a callback function that writes to and reads from the database using a session. */ type DbCallback<T> = (session: ClientSession) => Promise<T>; /** * Specifies transaction options. * @property {ClientSession} session (optional) - a transaction session, required to run the operation within an existing transaction. */ export type TransactionOptions = { session?: ClientSession; }; /** * Runs the provided callback function within a transaction and commits the changes to the database * iff it has run successfully. * * @param {DbCallback<T>} callback a callback function that writes to and reads from the database using a session. * @param {TransactionOptions} options (optional) some options about the transaction. */ export declare function runInTransaction<T>(callback: DbCallback<T>, options?: TransactionOptions & { connection?: Connection; }): Promise<T>; export {};