package Ġcom . bed rest . app . data . model Ċ Ċ sealed Ġclass ĠResult Data < out ĠR > Ġ{ ĊĊĠĠĠ Ġdata Ġclass ĠSuccess < out ĠT >( val Ġdata : ĠT ) Ġ: ĠResult Data < T >() ĊĠĠĠ Ġdata Ġclass ĠError ( val Ġmessage : ĠString ?) Ġ: ĠResult Data < Nothing >() ĊĠĠĠ Ġobject ĠLoading Ġ: ĠResult Data < Nothing >() ĊĊĠĠĠ Ġvar Ġstatus Ġ= ĠStatus . LOADING ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoading Ġ-> ĠStatus . LOADING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess Ġ-> ĠStatus . SUCCESS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠError Ġ-> ĠStatus . ERROR ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSuccess < *> Ġ-> Ġ" Success [ data =$ data ]" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠError Ġ-> Ġ" Error [ exception =$ message ]" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoading Ġ-> Ġ" Loading " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }