package Ġkr . spark web . multi platform . util Ċ Ċ data Ġclass ĠResource < out ĠT >( val Ġstatus : ĠStatus , Ġval Ġdata : ĠT ?, Ġval Ġexception : ĠThrowable ?) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġsuccess ( data : ĠT ?): ĠResource < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResource ( Status . SUCCESS , Ġdata , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġerror ( e : ĠThrowable ?): ĠResource < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResource ( Status . ERROR , Ġnull , Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġloading ( data : ĠT ?): ĠResource < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResource ( Status . LOADING , Ġdata , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġ< T > ĠResource < T >. is Successful (): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( data Ġ!= Ġnull Ġ|| Ġdata Ġis ĠUnit ) Ġ&& Ġ( status Ġ== ĠStatus . SUCCESS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠStatus Ġ{ ĊĠĠĠĠĠĠĠ ĠERROR , ĠLO ADING , ĠSUCCESS ; ĊĠĠĠ Ġ} Ċ } Ċ