package Ġcom . the man ol . react basket . data Ċ Ċ import Ġcom . the man ol . react basket . domain . Pager Ċ import Ġio . reactivex . Single Ċ Ċ class ĠP ager Impl Ġ: ĠP ager Ġ{ ĊĊĠĠĠ Ġvar ĠcurrentPage Ġ= Ġ 1 ĊĠĠĠ Ġvar Ġnext Page : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtotal Pages Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġlast Page Loaded Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġstart ( ĊĠĠĠĠĠĠĠ Ġget Initial : Ġ( Int ) Ġ-> ĠSingle < Pag inated Data Entity < T >> ĊĠĠĠ Ġ): ĠSingle < Pag inated Data Entity < T >> Ġ{ ĊĠĠĠĠĠĠĠ ĠcurrentPage Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġnext Page Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġlast Page Loaded Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġreturn Ġget Initial ( currentPage ). do On Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcurrentPage Ġ= Ġit . meta . currentPage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Ġ= Ġit . meta . next Page ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Pages Ġ= Ġit . meta . total Pages ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġmore ( ĊĠĠĠĠĠĠĠ Ġget More : Ġ( Int ) Ġ-> ĠSingle < Pag inated Data Entity < T >> ĊĠĠĠ Ġ): ĠSingle < Pag inated Data Entity < T >> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnext Page ?. let Ġ{ Ġnext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( next Ġ!= Ġlast Page Loaded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Page Loaded Ġ= Ġnext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget More ( next ). do On Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcurrentPage Ġ= Ġit . meta . currentPage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Ġ= Ġit . meta . next Page ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. do OnError Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Page Loaded Ġ= ĠcurrentPage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }