package Ġcom . example . song . rek ot in . reducer Ċ Ċ import Ġcom . example . song . rek ot in . action . Good bye World Ċ import Ġcom . example . song . rek ot in . action . HelloWorld Ċ import Ġcom . example . song . rek ot in . state . G reeting State Ċ import Ġorg . re kotlin . Action Ċ Ċ /** Ċ Ġ* Ġ@ author Ġs . li ao Ċ Ġ* Ġ@ email Ċ Ġ* Ġ@ date Ġ 5 / 3 / 2 0 2 1 Ġ 1 0 : 4 6 ĠAM Ċ Ġ* Ġ@ desc Ċ Ġ*/ Ċ fun Ġg reeting Reducer ( action : ĠAction , Ġstate : ĠG reeting State ?): ĠG reeting State Ġ{ ĊĠĠĠ Ġstate Ġ?: Ġreturn ĠG reeting State () ĊĊĠĠĠ Ġreturn Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠHello World Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . copy ( greeting Ġ= Ġstate . greeting Ġ+ Ġ" long Ġtime Ġno Ġsee .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠGood bye World Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . copy ( greeting Ġ= Ġstate . greeting Ġ+ Ġ" see Ġyou Ġnext Ġtime .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG reeting State () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }