/* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof Ġ" Y Remote ĠComp anion " Ġproject Ċ Ġ* Ċ Ġ* ĠAuthor : ĠRoman ĠG lad ys he v Ġ< rem icol lab @ gmail . com > Ċ Ġ* ĠLicense : ĠBSD Ġ 3 - clause Ġ" New " Ġor Ġ" Rev ised " ĠLicense Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠBSD - 3 - Clause Ċ Ġ* ĠLicense Ġtext Ġis Ġavailable Ġin Ġthe ĠLICENSE Ġfile Ġand Ġonline : Ċ Ġ* Ġhttp :// www . opensource . org / licenses / BSD - 3 - Clause Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġrem ico Ċ Ġ*/ Ċ package Ġrem ico . y remote comp anion . common . serialization Ċ Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . Serialization Exception Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . descriptors . build Class Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ Ċ object ĠAny Serializer Ġ: ĠK Serializer < Any > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠSerial Descriptor ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbuild Class Serial Descriptor (" Any ") ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( decoder : ĠDecoder ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠFIXME : Ġthe Ġbelow Ġrelies Ġon Ġa Ġside Ġeffect Ġof Ġthe Ġjson Ġdecoder ; Ġfix Ġor Ġdo ĠNOT Ġtouch ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdecoder . decode Int () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠSerialization Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdecoder . decode String () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( encoder : ĠEncoder , Ġvalue : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġencoder . encode Int ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġencoder . encode String ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ