package Ġcom . github . d ane ko . android . i ab Ċ Ċ import Ġcom . github . d ane ko . android . i ab . exception . I ab Response Exception Ċ import Ġcom . github . d ane ko . android . i ab . model . Google Play Response Ċ import Ġf j . data . Validation Ċ import Ġrx . Observable Ċ Ċ internal Ġfun Ġ< E Ġ: ĠThrowable , ĠT > Ġfrom Validation ( valid : ĠValidation < E , ĠT >): ĠObservable < T > Ġ= ĊĠĠĠĠĠĠĠ ĠObservable . create < T > Ġ{ Ġsubs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalid . validation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe Ġ-> Ġsubs . onError ( e ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubs . onNext ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubs . on Completed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ internal Ġfun Ġcheck Google Play Response ( ĊĠĠĠĠĠĠĠ Ġresponse : ĠGoogle Play Response , ĊĠĠĠĠĠĠĠ Ġcause : ĠException Ġ= ĠException ()): ĠObservable < Google Play Response > Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ(! response . is Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ""" not Ġsuccess Ġresponse Ċ response : Ġcode :${ response . code } Ġ/ Ġdesc :${ response . description } Ċ response ĠBundle : Ġ Ġ$ response Ċ """ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . error < Google Play Response >( I ab Response Exception ( response , Ġmessage , Ġcause )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . just ( response ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ internal Ġfun Ġ< A , ĠE , ĠB > Ġf j . data . Validation < E , ĠA >. fail Map ( f : Ġ( E ) Ġ-> ĠB ): Ġf j . data . Validation < B , ĠA > Ġ= ĊĠĠĠĠĠĠĠ Ġf j . data . Validation . validation ( to Either (). left (). map Ġ{ Ġf ( it ) Ġ}) Ċ