package Ġio . github . gm val ent ino 8 . github . sample . presentation . core . contract Ċ Ċ /** Ċ Ġ* ĠState Ċ Ġ* Ċ Ġ* ĠH older Ġfor Ġview Ġstates Ġand Ġevents Ċ Ġ*/ Ċ data Ġclass ĠState < VS Ġ: ĠView State , ĠE Ġ: ĠEvent >( ĊĠĠĠ Ġval Ġview State : ĠVS , ĊĠĠĠ Ġval Ġevent : ĠE ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġevents : ĠList < E > Ġ= Ġempty List () Ċ ) Ġ: ĠContract Ġ{ ĊĠĠĠ Ġfun Ġsend ( event : ĠE ): ĠState < VS , ĠE > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdated Events Ġ= Ġevents Ġ+ Ġevent ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . copy ( event Ġ= Ġupdated Events . first OrNull (), Ġevents Ġ= Ġupdated Events ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprocess ( event : ĠE ): ĠState < VS , ĠE > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdated Events Ġ= Ġevents . filter Not Ġ{ Ġit . id Ġ== Ġevent . id Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . copy ( event Ġ= Ġupdated Events . first OrNull (), Ġevents Ġ= Ġupdated Events ) ĊĠĠĠ Ġ} Ċ } Ċ