package Ġcom . github . d ud gn s 0 5 0 7 . core . util . network Ċ Ċ import Ġretrofit 2 . Response Ċ Ċ enum Ġclass ĠApi Status { ĊĠĠĠ ĠSUCCESS , ĊĠĠĠ ĠERROR , ĊĠĠĠ ĠLO ADING Ċ } Ċ Ċ sealed Ġclass ĠApi Result Ġ< out ĠT > Ġ( val Ġstatus : ĠApi Status , Ġval Ġdata : ĠT ?, Ġval Ġmessage : String ?) Ġ{ ĊĠĠĠ Ġdata Ġclass ĠSuccess < out ĠR >( val Ġ_ data : ĠR ?): ĠApi Result < R >( ĊĠĠĠĠĠĠĠ Ġstatus Ġ= ĠApi Status . SUCCESS , ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġ_ data , ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠError ( val Ġexception : ĠString ): ĠApi Result < Nothing >( ĊĠĠĠĠĠĠĠ Ġstatus Ġ= ĠApi Status . ERROR , ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġexception ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠLoading < out ĠR >( val ĠisLoading : ĠBoolean ): ĠApi Result < R >( ĊĠĠĠĠĠĠĠ Ġstatus Ġ= ĠApi Status . LOADING , ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġnull ĊĠĠĠ Ġ) Ċ } Ċ Ċ inline Ġfun ĠResponse <* >. is Success ( call : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġif ( is Successful ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcall () ĊĠĠĠ Ġ} Ċ }