package Ġcom . wo jd or . four th wall re cruit ment task . domain . use case . base Ċ Ċ import Ġcom . wo jd or . four th wall re cruit ment task . ui . util . extension . log E Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . catch Ċ import Ġkotlinx . coroutines . flow . flow On Ċ Ċ abstract Ġclass ĠBase UseCase < R >( private Ġval Ġcoroutine Dispatcher : ĠCor outine Dispatcher ) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġinvoke (): ĠFlow < Result < R >> Ġ= Ġexecute () ĊĠĠĠĠĠĠĠ Ġ. catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog E ( it . message Ġ?: Ġ" No Ġerror Ġmessage ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Result . Error ( it )) ĊĠĠĠĠĠĠĠ Ġ}. flow On ( coroutine Dispatcher ) ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġexecute (): ĠFlow < Result < R >> Ċ }