type Tx = PgTransaction<
NodePgQueryResultHKT,
Record<string, unknown>,
ExtractTablesWithRelations<Record<string, unknown>>
>;
export class TransactionContext extends Context.Tag("TransactionContext")<
TransactionContext,
Tx
>() {
static provide = <A, E, R>(self: Effect.Effect<A, E, R>, tx: Tx) =>
Effect.provide(self, Context.make(this, tx));
}
type Tx = PgTransaction<
NodePgQueryResultHKT,
Record<string, unknown>,
ExtractTablesWithRelations<Record<string, unknown>>
>;
export class TransactionContext extends Context.Tag("TransactionContext")<
TransactionContext,
Tx
>() {
static provide = <A, E, R>(self: Effect.Effect<A, E, R>, tx: Tx) =>
Effect.provide(self, Context.make(this, tx));
}