package Ġpl . dz iel ins 4 2 . r xf utures Ċ Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Single Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ /** Ċ Ġ* ĠConverts Ġ` Comp letableFuture ` Ġto Ġ[ Single ] Ġthat Ġwill Ġemit Ġits Ġvalue . Ċ Ġ*/ Ċ fun Ġ< T > ĠCompletableFuture < T >. as Single (): ĠSingle < T > Ġ{ ĊĠĠĠ Ġreturn ĠSingle . create Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . when Complete Ġ{ Ġresult , Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onError ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . on Success ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠConverts Ġ` Comp letableFuture < Void >` Ġto Ġ[ Comp letable ]. Ċ Ġ*/ Ċ fun ĠCompletableFuture < Void >. as Comp letable (): ĠComp letable Ġ{ ĊĠĠĠ Ġreturn ĠComp letable . create Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . when Complete Ġ{ Ġ_, Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onError ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }