package Ġdev . pet us ka . kon . serialization Ċ Ċ import Ġdev . pet us ka . kon . core . K Object Ċ import Ġdev . pet us ka . kon . core . k arr Ċ import Ġdev . pet us ka . kon . core . k obj Ċ import Ġkotlinx . serialization . json . JsonArray Ċ import Ġkotlinx . serialization . json . Json Element Ċ import Ġkotlinx . serialization . json . Json Null Ċ import Ġkotlinx . serialization . json . JsonObject Ċ import Ġkotlinx . serialization . json . Json Primitive Ċ import Ġkotlinx . serialization . json . boolean OrNull Ċ import Ġkotlinx . serialization . json . content OrNull Ċ import Ġkotlinx . serialization . json . double OrNull Ċ import Ġkotlinx . serialization . json . int OrNull Ċ Ċ /** Ċ Ġ* ĠConverts Ġa Ġgiven Ġkotlinx - serialization Ġ[ JsonObject ] Ġto Ġ[ K Object ] Ċ Ġ* Ġ@ receiver Ġkotlinx - serialization Ġ[ JsonObject ] Ġto Ġconvert Ċ Ġ* Ġ@ return Ġconverted Ġ[ K Object ] Ċ Ġ*/ Ċ public Ġfun ĠJsonObject . to K Object (): ĠK Object Ġ= Ġk obj Ġ{ ĊĠ Ġthis @ to K Object . entries . forEach Ġ{ Ġ( k , Ġv ) Ġ-> Ġk Ġto Ġv . to K Element () Ġ} Ċ } Ċ Ċ private Ġfun ĠJson Element ?. to K Element (): ĠAny ? Ġ= ĊĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠJson Null ? Ġ-> Ġnull ĊĠĠĠ Ġis ĠJson Primitive Ġ-> Ġ{ ĊĠĠĠĠĠ Ġif Ġ( this . isString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . content OrNull ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġboolean OrNull ĊĠĠĠĠĠĠĠĠĠ Ġ?: Ġcontent OrNull ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . contains (". ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdouble OrNull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint OrNull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġis ĠJson Array Ġ-> Ġk arr ( items Ġ= Ġmap ( Json Element ? :: to K Element ). to Typed Array ()) ĊĠĠĠ Ġis ĠJsonObject Ġ-> Ġk obj Ġ{ Ġthis @ to K Element . entries . forEach Ġ{ Ġ( k , Ġv ) Ġ-> Ġk Ġto Ġv . to K Element () Ġ} Ġ} ĊĠĠĠ Ġelse Ġ-> Ġerror ("${ this !! :: class } Ġis Ġnot Ġa Ġvalid ĠK ON Ġelement ") ĊĠ Ġ} Ċ