package Ġcom . dark labs . data . remote . source . jo ke Ċ Ċ import Ġcom . dark labs . data . remote . Safe Result Ċ import Ġcom . dark labs . data . remote . api . Jo ke ApiService Ċ import Ġcom . dark labs . data . remote . model . Jo ke Response Ċ import Ġcom . dark labs . data . remote . safe Api Call Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġclass ĠRemote Jo ke Source Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġjo ke ApiService : ĠJo ke ApiService , ĊĠĠĠ Ġprivate Ġval Ġdispatcher : ĠCor outine Dispatcher Ġ= ĠDispatch ers . IO Ċ ) Ġ: ĠRemote Jo ke Source Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetRandom J okes (): ĠSafe Result < Jo ke Response > Ġ= Ġsafe Api Call ( dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjo ke ApiService . getRandom J okes () ĊĠĠĠ Ġ} Ċ Ċ }