package Ġshut tle . database . util Ċ Ċ import Ġcom . squareup . sql de light . Trans acter Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ suspend Ġinline Ġfun Ġ< T Ġ: ĠTrans acter > ĠT . suspend Transaction ( ĊĠĠĠ Ġdispatcher : ĠCor outine Dispatcher , ĊĠĠĠ Ġcross inline Ġblock : ĠT . () Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġwith Context ( dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtransaction Ġ{ Ġblock () Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< T Ġ: ĠTrans acter , ĠR > ĠT . suspend Transaction With Result ( ĊĠĠĠ Ġdispatcher : ĠCor outine Dispatcher , ĊĠĠĠ Ġcross inline Ġblock : ĠT . () Ġ-> ĠR Ċ ): ĠR Ġ= Ġwith Context ( dispatcher ) Ġ{ ĊĠĠĠ Ġtransaction With Result Ġ{ Ġblock () Ġ} Ċ } Ċ