All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dataprism.sql.CatsTransactionalDb.scala Maven / Gradle / Ivy

The newest version!
package dataprism.sql
import scala.util.NotGiven

import cats.effect.kernel.{MonadCancelThrow, Resource}

trait CatsTransactionalDb[F[_]: MonadCancelThrow, Codec[_]] extends CatsDb[F, Codec], TransactionalDb[F, Codec]:

  override def transaction[A](f: TransactionDb[F, Codec] ?=> F[A])(using NotGiven[TransactionDb[F, Codec]]): F[A] =
    transactionResource.use(db => f(using db))

  def transactionResource(using NotGiven[TransactionDb[F, Codec]]): Resource[F, CatsTransactionDb[F, Codec]]




© 2015 - 2025 Weber Informatics LLC | Privacy Policy