package Ġjav atest . color ha ake . com . example 3 . reducer . main Ċ Ċ import Ġjav atest . color ha ake . com . example 3 . model . AppState Ċ import Ġcom . y her iat ovy ch . red uctor . Actions Ċ import Ġcom . y her iat ovy ch . red uctor . Commands Ċ import Ġcom . y her iat ovy ch . red uctor . Pair Ċ import Ġcom . y her iat ovy ch . red uctor . Reducer Ċ import Ġcom . y her iat ovy ch . red uctor . annotations . Auto Reducer Ċ import Ġcom . y her iat ovy ch . red uctor . observable . Epic Commands Ċ import Ġjav atest . color ha ake . com . example 3 . model . ImageData Ċ import Ġjav atest . color ha ake . com . example 3 . model . Response Ċ import Ġjav atest . color ha ake . com . example 3 . network . Network Api Ċ Ċ @ Auto Reducer Ċ abstract Ġclass ĠMain Reducer Ġ: ĠRed ucer < AppState > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmain Actions Ġ= ĠActions . from ( Main Actions :: class . java ) ĊĊĠĠĠ Ġ@ Auto Reducer . Action ( value Ġ= ĠMain Actions . VIEW _ READY , Ġfrom Ġ= ĠMain Actions :: class ) ĊĠĠĠ Ġfun Ġview Ready ( state : ĠApp State ): ĠPair < AppState , ĠCommands < AppState >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPair . create ( state ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Auto Reducer . Action ( value Ġ= ĠMain Actions . SEARCH _ I MAGES , Ġfrom Ġ= ĠMain Actions :: class ) ĊĠĠĠ Ġfun Ġsearch Images ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate : ĠApp State , Ġterm : ĠString , Ġpage : ĠInt Ġ= Ġ 1 ĊĠĠĠ Ġ): ĠPair < AppState , ĠCommands < AppState >> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( term . isEmpty () Ġ|| Ġpage Ġ< Ġ 1 ) Ġreturn ĠPair . create ( state ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠPair . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠE pic Commands . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork Api . search Data ( term , Ġpage ). map ( main Actions :: search Images Res ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Auto Reducer . Action ( value Ġ= ĠMain Actions . SEARCH _ I MAGES _ RES , Ġfrom Ġ= ĠMain Actions :: class ) ĊĠĠĠ Ġfun Ġsearch Images Res ( state : ĠApp State , Ġres : ĠResponse < ImageData >): ĠPair < AppState , ĠCommands < AppState >> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( res . metadata . isNot Success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPair . create ( state ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠPair . create ( state . with Search ImageData ( res )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate (): ĠMain Reducer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMain Reducer Impl () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ