package Ġuk . ac . imp erial . vim c . demo . app Ċ Ċ import Ġcom . github . sal om on br ys . kot son . json Serializer Ċ import Ġcom . github . sal om on br ys . kot son . register Type Adapter Ċ import Ġcom . google . gson .* Ċ import Ġuk . ac . imp erial . vim c . demo . app . models . Outcome Ċ import Ġuk . ac . imp erial . vim c . demo . app . models . Result Ċ import Ġuk . ac . imp erial . vim c . demo . app . models . Result Status Ċ Ċ object ĠSerializer Ċ { ĊĠĠĠ Ġprivate Ġval ĠtoString Serializer Ġ= Ġjson Serializer < Any > Ġ{ ĠJson Primitive ( it . src . toString ()) Ġ} ĊĠĠĠ Ġprivate Ġval Ġrange Serializer Ġ= Ġjson Serializer < Int Range > Ġ{ ĊĠĠĠĠĠĠĠ ĠJsonObject (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property (" start ", Ġit . src . first ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property (" end ", Ġit . src . last ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġoutcome Serializer Ġ= Ġjson Serializer < Outcome > Ġ{ ĊĠĠĠĠĠĠĠ ĠJsonObject (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property (" year ", Ġit . src . year ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property ( Outcome . Keys . deaths , Ġit . src . deaths ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property ( Outcome . Keys . cases , Ġit . src . cases ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property ( Outcome . Keys . d alys , Ġit . src . d alys ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property ( Outcome . Keys . fv ps , Ġit . src . fv ps ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Property ( Outcome . Keys . deaths A verted , Ġit . src . deaths A verted ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġenum Serializer Ġ= Ġjson Serializer < Any > Ġ{ ĊĠĠĠĠĠĠĠ ĠJson Primitive ( it . src . toString (). toLowerCase ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġgson : ĠGson Ġ= ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pretty Print ing () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. disable Html Esc aping () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setField Naming Policy ( Field Naming Policy . LOWER _ CASE _ WITH _ UNDER SCO RES ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter < java . time . LocalDate >( toString Serializer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter < java . time . Instant >( toString Serializer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter ( range Serializer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter ( outcome Serializer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. register Type Adapter < Result Status >( enum Serializer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠ Ġfun Ġto Result ( data : ĠAny ?): ĠString Ġ= ĠtoJson ( Result ( Result Status . SUCCESS , Ġdata , Ġempty List ())) ĊĠĠĠ Ġfun ĠtoJson ( result : ĠResult ): ĠString Ġ= ĠSerializer . gson . toJson ( result ) Ċ }