package Ġcom . core . converter Ċ Ċ import Ġcom . squareup . mos hi . Json Adapter Ċ Ċ private Ġconst Ġval ĠJSON _ DEFAULT _ STRING Ġ= Ġ"{} " Ċ Ċ interface ĠM oshi Converter Ġ{ ĊĊĠĠĠ Ġfun Ġ< T > Ġfrom JsonObject ( ĊĠĠĠĠĠĠĠ Ġjson : ĠString , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠT ? ĊĊĠĠĠ Ġfun Ġ< X , ĠY > Ġfrom JsonObject ( ĊĠĠĠĠĠĠĠ Ġjson : ĠString , ĊĠĠĠĠĠĠĠ Ġkey Type : ĠClass < X >, ĊĠĠĠĠĠĠĠ Ġvalue Type : ĠClass < Y >, ĊĠĠĠĠĠĠĠ Ġserialize Null s : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠMap < X , ĠY >? ĊĊĠĠĠ Ġfun Ġ< T > Ġfrom JsonArray ( ĊĠĠĠĠĠĠĠ Ġjson : ĠString , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠList < T >? ĊĊĠĠĠ Ġfun Ġ< T > Ġfrom JsonValue ( ĊĠĠĠĠĠĠĠ Ġjson : ĠAny , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠT ? ĊĊĠĠĠ Ġfun Ġ< T > Ġfrom JsonObject List ( ĊĠĠĠĠĠĠĠ Ġjson : ĠAny , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠList < T >? ĊĊĠĠĠ Ġfun Ġ< T > Ġto JsonObject ( ĊĠĠĠĠĠĠĠ Ġ` object `: ĠT , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ Ġserialize Null s : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠString ? ĊĊĠĠĠ Ġfun Ġ< X , ĠY > Ġto JsonObject ( ĊĠĠĠĠĠĠĠ Ġmap : ĠMap < X , ĠY >, ĊĠĠĠĠĠĠĠ Ġkey Type : ĠClass < X >, ĊĠĠĠĠĠĠĠ Ġvalue Type : ĠClass < Y >, ĊĠĠĠĠĠĠĠ Ġserialize Null s : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠString ? ĊĊĠĠĠ Ġfun Ġ< T > ĠtoJson Array ( ĊĠĠĠĠĠĠĠ Ġlist : ĠList < T >, ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ Ġserialize Null s : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ ĠonError : Ġ( Throwable ) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ): ĠString ? ĊĊĠĠĠ Ġfun Ġ< T > Ġcreate Adapter ( class Type : ĠClass < T >): ĠJson Adapter < T >? ĊĊĠĠĠ Ġfun Ġ< T > Ġcreate ListAdapter ( class Type : ĠClass < T >): ĠJson Adapter < List < T >> ? ĊĊĠĠĠ Ġfun Ġ< X , ĠY > Ġcreate Map Adapter ( ĊĠĠĠĠĠĠĠ Ġfirst Type : ĠClass < X >, ĊĠĠĠĠĠĠĠ Ġsecond Type : ĠClass < Y > ĊĠĠĠ Ġ): ĠJson Adapter < Map < X , ĠY >> ? ĊĊĠĠĠ Ġfun Ġ< T > Ġconvert ToJson ( ĊĠĠĠĠĠĠĠ Ġ` object `: ĠT , ĊĠĠĠĠĠĠĠ Ġclass Type : ĠClass < T >, ĊĠĠĠĠĠĠĠ ĠdefaultValue : ĠString Ġ= ĠJSON _ DEFAULT _ STRING ĊĠĠĠ Ġ): ĠString Ċ Ċ } Ċ