package Ġcom . example . ni j ata hm ad li . data . repository . mapper Ċ Ċ import Ġcom . example . ni j ata hm ad li . common . Data Result Ċ import Ġcom . example . ni j ata hm ad li . common . mapper . Mapper Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠNetwork To Domain Data Result Mapper < I , ĠO > Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval ĠobjectMapper : ĠMapper < I , ĠO > Ċ ) Ġ: ĠMapper < Data Result < I >, ĠData Result < O >> Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠData Result < I >): ĠData Result < O > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( input ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠData Result . Success Ġ-> ĠData Result . Success ( object Mapper . map ( input . value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠData Result . Failure Ġ-> Ġinput ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }