/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠMax ĠPi lot to Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . max pilot to . kon Ċ Ċ import Ġcom . max pilot to . kon . protocols . Json Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . net . URL Ċ import Ġjava . text . DateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠJson Array Ġ: ĠJson , ĠMutable List < Any ?> Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlist : ĠMutable List < JsonValue > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNumber Ġof Ġelements Ġin Ġthis Ġ[ JsonArray ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġval Ġsize : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlist . size ĊĊĠĠĠ Ġconstructor () Ġ: Ġthis ( listOf ()) ĊĊĠĠĠ Ġconstructor ( string : ĠString ) Ġ: Ġthis ( Json Parser ( string ). next Array ()) ĊĊĠĠĠ Ġconstructor ( json Array : ĠJson Array ) Ġ: Ġthis ( json Array . list ) ĊĊĠĠĠ Ġconstructor ( list : ĠList < JsonValue >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . list Ġ= Ġlist . to Mutable List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . join ToString (",", Ġ"[", Ġ"] ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( index : ĠInt ): ĠJson Value Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist [ index ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset ( index : ĠInt , Ġelement : ĠAny ?): ĠJson Value Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . set ( index , Ġwrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( element : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . contains ( wrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains All ( elements : ĠCollection < Any ?> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . contains All ( wrap ( elements )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠindexOf ( element : ĠAny ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . indexOf ( wrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsize Ġ== Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġiterator (): ĠMutable Iterator < JsonValue > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlast IndexOf ( element : ĠAny ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . lastIndexOf ( wrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( element : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . add ( wrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( index : ĠInt , Ġelement : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . add ( index , Ġwrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd All ( index : ĠInt , Ġelements : ĠCollection < Any ?> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . addAll ( index , Ġwrap ( elements )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd All ( elements : ĠCollection < Any ?> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( wrap ( elements )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist Iterator (): ĠMutable List Iterator < Any ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Value List (). to Mutable List (). list Iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist Iterator ( index : ĠInt ): ĠMutable List Iterator < Any ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Value List (). to Mutable List (). list Iterator ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( element : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . remove ( wrap ( element )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove All ( elements : ĠCollection < Any ?> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . removeAll ( wrap ( elements )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove At ( index : ĠInt ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . remove At ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretain All ( elements : ĠCollection < Any ?> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . retain All ( wrap ( elements )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsub List ( from Index : ĠInt , Ġto Index : ĠInt ): ĠMutable List < Any ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Value List (). sub List ( from Index , Ġto Index ). to Mutable List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġun wrapped Ġvalue Ġat Ġthe Ġgiven Ġ[ index ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetValue ( index : ĠInt ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist [ index ]. content ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġan Ġiterator Ġthat Ġiter ates Ġthrough Ġthe Ġun wrapped Ġvalues Ġof Ġthis Ġ[ JsonArray ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġ[ iterator ] Ġmethod Ġwill Ġreturn Ġan Ġiterator Ġof Ġ[ JsonValue ], Ġthis Ġinstead Ġreturns ĊĠĠĠĠ Ġ* Ġan Ġiterator Ġof Ġ[ Any ] Ġwhich Ġare Ġthe Ġun wrapped Ġvalues Ġinside Ġeach Ġof Ġthe Ġ[ JsonValue ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġvalues (): ĠMutable Iterator < Any ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġto Value List (). to Mutable List (). iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa ĠList Ġcontaining Ġall Ġof Ġthe Ġun wrapped Ġvalues Ġof Ġthis Ġ[ JsonArray ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Value List (): ĠList < Any ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. content ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa ĠList Ġcontaining Ġall Ġof Ġthe Ġvalues Ġof Ġthis Ġ[ JsonArray ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto List (): ĠList < JsonValue > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠString ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠtoString List (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. asString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠNumber ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Number List (): ĠList < Number > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Number () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ JsonObject ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto JsonObject List (): ĠList < JsonObject > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as JsonObject () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠInt ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Int List (): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Int () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠLong ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Long List (): ĠList < Long > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Long () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠBoolean ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Boolean List (): ĠList < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Boolean () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠDouble ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Double List (): ĠList < Double > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Double () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠFloat ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Float List (): ĠList < Float > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Float () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠByte ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Byte List (): ĠList < Byte > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Byte () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠShort ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Short List (): ĠList < Short > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Short () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠChar ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Char List (): ĠList < Char > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Char () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Date ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Date List (): ĠList < Date > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Date () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Date ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Date List ( date Format : ĠDate Format ): ĠList < Date > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Date ( date Format ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Date ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Date List ( ĊĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault () ĊĠĠĠ Ġ): ĠList < Date > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Date ( format , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Calendar ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Calendar List (): ĠList < Calendar > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Calendar () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Calendar ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Calendar List ( date Format : ĠDate Format ): ĠList < Calendar > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Calendar ( date Format ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Calendar ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Calendar List ( ĊĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠ Ġlocale : ĠLocale Ġ= ĠLocale . getDefault () ĊĠĠĠ Ġ): ĠList < Calendar > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Calendar ( format , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ Int Range ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Range List (): ĠList < Int Range > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Range () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ BigDecimal ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto BigDecimal List (): ĠList < BigDecimal > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as BigDecimal () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ URL ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto URL List (): ĠList < URL > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as URL () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof ĠEnum Ġof Ġtype Ġ[ T ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠEnum < T >> Ġto Enum List ( ĊĠĠĠĠĠĠĠ Ġtransform : Ġ( String ) Ġ-> ĠString Ġ= Ġ{ Ġit . capitalize () Ġ} ĊĠĠĠ Ġ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġto List () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ it ]. as Enum < T >( transform ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġ[ T ], Ġwhich Ġvalues ĊĠĠĠĠ Ġ* Ġare Ġparsed Ġusing Ġthe Ġ[ transform ] Ġblock ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< T > Ġto List ( transform : Ġ( JsonValue ) Ġ-> ĠT ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġto List () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransform ( list [ it ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthis Ġ[ JsonArray ] Ġas Ġa ĠList Ġof Ġobjects Ġof Ġtype Ġ[ T ], Ġthe Ġvalues ĊĠĠĠĠ Ġ* Ġare Ġparsed Ġusing Ġthe Ġ[ transform ] Ġblock ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote : ĠThis Ġ[ JsonArray ] Ġmust Ġbe Ġan Ġarray Ġof Ġ[ JsonObject ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinline Ġfun Ġ< T > Ġto Object List ( transform : Ġ( JsonObject ) Ġ-> ĠT ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġto JsonObject List () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠList ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransform ( list [ it ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }