package Ġio . c raig m iller 1 6 0 . kotlin . result Ċ Ċ fun Ġ< T , R > ĠResult < T >. flatMap ( transform : Ġ( T ) Ġ-> ĠResult < R >): ĠResult < R > Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ-> Ġtransform ( get OrThrow ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthis Ġas ĠResult < R > ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġ< T > ĠResult < T >. flat Recover ( transform : Ġ( Throwable ) Ġ-> ĠResult < T >): ĠResult < T > Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ-> Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġtransform ( exception OrNull () !! ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġ< T > ĠResult < T >. flat Recover Catch ing ( transform : Ġ( Throwable ) Ġ-> ĠResult < T >): ĠResult < T > Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ-> Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransform ( exception OrNull () !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. flatten () ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ fun Ġ< T > ĠResult < Result < T >> . flatten (): ĠResult < T > Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ-> Ġget OrThrow () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠResult . failure ( exception OrNull () !! ) ĊĠĠĠĠĠĠĠ Ġ}