package Ġorg . chron op ol is . replic ate . batch . rs ync Ċ Ċ /** Ċ Ġ* ĠA Ġclass Ġto Ġden ote Ġwhether Ġan Ġoperation Ġpassed Ġor Ġfailed Ġ( similar Ġto Ġa ĠTry ). ĠPretty Ġsimilar Ġto Ċ Ġ* Ġwhat Ġis Ġdone Ġin ĠP la id ... Ġnot Ġsaying ĠI Ġgot Ġthe Ġidea Ġfrom Ġthere Ġor Ġanything Ġ:) Ċ Ġ* Ċ Ġ* ĠFood Ġfor Ġthought : Ġshould Ġwe Ġhave Ġany Ġhelper Ġmethods Ġ( map , Ġrun ) Ġwhich Ġwe Ġcan Ġuse Ġto Ġapply Ċ Ġ* Ġfunctions Ġon Ġthe Ġevent Ġof Ġsuccess ? ĠAlternatively , Ġshould Ġwe Ġlook Ġinto Ġusing Ġa Ġmore Ġwell Ġdefined Ċ Ġ* Ġversion Ġof Ġthis Ġsuch Ġas ĠTry , Ġor Ġeven Ġthe Ġnew Ġkotlin . Result Ġfrom Ġ 1 . 3 ? Ċ Ġ* Ċ Ġ* Ġ@ author Ġsh ake Ċ Ġ*/ Ċ sealed Ġclass ĠResult < out ĠT Ġ: ĠAny > Ġ{ ĊĠĠĠ Ġdata Ġclass ĠSuccess < out ĠT Ġ: ĠAny >( val Ġdata : ĠT ) Ġ: ĠResult < T >() ĊĠĠĠ Ġdata Ġclass ĠError < out ĠT Ġ: ĠAny >( val Ġexception : ĠException ) Ġ: ĠResult < T >() Ċ } Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġto Ġmake Ġa ĠSequence < Result < T >> Ġinto Ġa ĠResult < List < T >> Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠAny > ĠSequence < Result < T >> . as Result (): ĠResult < List < T >> Ġ{ ĊĠĠĠ Ġval Ġmut Result Ġ= ĠResult . Success < Mutable List < T >>( mutable ListOf ()) ĊĠĠĠ Ġfor Ġ( result Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġmut Result . data . add ( result . data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Error Ġ-> Ġreturn ĠResult . Error ( result . exception ) Ġ// Ġshort Ġcircuit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmut Result Ċ } ĊĊ