package Ġcom . mi . m vi . domain . use case . auth Ċ Ċ import Ġcom . mi . m vi . domain . data state . Data State Ċ import Ġcom . mi . m vi . domain . repository . Auth Repository Ċ import Ġcom . mi . m vi . domain . view state . Auth ViewState Ċ import Ġkotlinx . coroutines . Dispatch ers . IO Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow On Ċ Ċ @ Experimental Cor outines Api Ċ class ĠLogin UseCase ( private Ġval Ġrepository : ĠAuth Repository ) Ġ{ ĊĊĠĠĠ Ġfun Ġinvoke ( email : ĠString , Ġpassword : ĠString ): ĠFlow < Data State < Auth ViewState >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . login ( email , Ġpassword ). flow On ( IO ) ĊĠĠĠ Ġ} Ċ } Ċ