package Ġcom . ap ol log raph ql . apollo 3 . api Ċ Ċ import Ġcom . ap ol log raph ql . apollo 3 . annotations . A pol lo Deprecated Since Ċ import Ġcom . ap ol log raph ql . apollo 3 . annotations . A pol lo Deprecated Since . Version . v 3 _ 0 _ 0 Ċ import Ġcom . ap ol log raph ql . apollo 3 . annotations . A pol lo Deprecated Since . Version . v 3 _ 2 _ 1 Ċ import Ġcom . ap ol log raph ql . apollo 3 . annotations . A pol lo Internal Ċ import Ġcom . ap ol log raph ql . apollo 3 . api . internal . Version 2 Custom Type Adapter To Adapter Ċ import Ġkotlin . jvm . Jvm Field Ċ Ċ /** Ċ Ġ* ĠA Ġwrapper Ġaround Ġa ĠMap < String , Ġ[ Adapter ]> Ġused Ġto Ġretrieve Ġcustom Ġscalar Ġadapters Ġat Ġruntime Ċ Ġ*/ Ċ class ĠCustom Scalar Adapters Ġprivate Ġconstructor ( ĊĠĠĠ Ġcustom Scalar Adapters : ĠMap < String , ĠAdapter <* >>, ĊĠĠĠ Ġ// ĠWe Ġp ig gy back ĠCustom Scalar Adapters Ġto Ġpass Ġaround Ġa Ġcontext Ġwhich Ġis Ġused Ġin Ġthe ĠAdapter s Ġat Ġparse Ġtime . ĊĠĠĠ Ġ// ĠThis Ġis Ġcurrently Ġused Ġfor Ġ@ skip /@ include Ġand Ġ@ defer . ĊĠĠĠ Ġ// ĠIde ally Ġit Ġshould Ġbe Ġpassed Ġas Ġits Ġown Ġparameter Ġbut Ġwe 're Ġavoid ing Ġa Ġbreaking Ġchange . ĊĠĠĠ Ġ// ĠSee Ġhttps :// github . com / ap ol log raph ql / apollo - kotlin / pull / 3 8 1 3 ĊĠĠĠ Ġval Ġadapter Context : ĠAdapter Context , Ċ ) Ġ: ĠExecutionContext . Element Ġ{ ĊĊĠ Ġprivate Ġval Ġadapters Map : ĠMap < String , ĠAdapter <* >> Ġ= Ġcustom Scalar Adapters ĊĊĠ Ġfun Ġ< T Ġ: ĠAny > Ġresponse Adapter For ( custom Scalar : ĠCustom Scalar Type ): ĠAdapter < T > Ġ{ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġadapters Map [ custom Scalar . name ] Ġ!= Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġadapters Map [ custom Scalar . name ] ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠ Ġ* ĠBelow Ġare Ġshortcuts Ġto Ġsave Ġthe Ġusers Ġa Ġcall Ġto Ġ` register Custom Scalar Adapter ` ĊĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠ Ġcustom Scalar . className Ġ== Ġ" com . ap ol log raph ql . apollo 3 . api . Upload " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠUpload Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . String ", Ġ" java . lang . String ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠString Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Boolean ", Ġ" java . lang . Boolean ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠBoolean Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Int ", Ġ" java . lang . Int ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠInt Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Double ", Ġ" java . lang . Double ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠDouble Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Long ", Ġ" java . lang . Long ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠLong Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Float ", Ġ" java . lang . Float ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠFloat Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġcustom Scalar . className Ġin ĠlistOf (" kotlin . Any ", Ġ" java . lang . Object ") Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ ĠAny Adapter ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Can 't Ġmap ĠGraphQL Ġtype : Ġ`${ custom Scalar . name }` Ġto : Ġ`${ custom Scalar . className }`. ĠDid Ġyou Ġforget Ġto Ġadd Ġa ĠCustom Scalar Adapter ?") ĊĠĠĠ Ġ} Ġas ĠAdapter < T > ĊĠ Ġ} ĊĊĠ Ġ@ Deprecated (" Use Ġadapter Context . variables () Ġinstead ", ĠReplace With (" adapter Context . variables () ")) ĊĠ Ġ@ A pol lo Deprecated Since ( v 3 _ 2 _ 1 ) ĊĠ Ġfun Ġvariables () Ġ= Ġadapter Context . variables () ĊĊĠ Ġoverride Ġval Ġkey : ĠExecutionContext . Key < *> ĊĠĠĠ Ġget () Ġ= ĠKey ĊĊĠ Ġcompanion Ġobject ĠKey Ġ: ĠExecutionContext . Key < Custom Scalar Adapters > Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġempty Ġ[ Custom Scalar Adapters ]. ĠIf Ġthe Ġmodels Ġwere Ġgenerated Ġwith Ġsome Ġcustom Ġscal ars , Ġparsing Ġwill Ġfail ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval ĠEmpty Ġ= ĠBuilder (). build () ĊĠ Ġ} ĊĊĠ Ġfun ĠnewBuilder () Ġ= ĠBuilder (). addAll ( this ) ĊĊĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠ Ġprivate Ġval Ġadapters Map : ĠMutable Map < String , ĠAdapter <* >> Ġ= Ġmutable Map Of () ĊĠĠĠ Ġprivate Ġvar Ġadapter Context : ĠAdapter Context Ġ= ĠAdapter Context . Builder (). build () ĊĊĠĠĠ Ġfun Ġ< T > Ġadd ( ĊĠĠĠĠĠĠĠ Ġcustom Scalar Type : ĠCustom Scalar Type , ĊĠĠĠĠĠĠĠ Ġcustom Scalar Adapter : ĠAdapter < T >, ĊĠĠĠ Ġ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠ Ġadapters Map [ custom Scalar Type . name ] Ġ= Ġcustom Scalar Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġ@ Opt In ( A pol lo Internal :: class ) ĊĠĠĠ Ġ@ Deprecated (" Used Ġfor Ġbackward Ġcompatibility Ġwith Ġ 2 . x ") ĊĠĠĠ Ġ@ A pol lo Deprecated Since ( v 3 _ 0 _ 0 ) ĊĠĠĠ Ġfun Ġ< T > Ġadd ( ĊĠĠĠĠĠĠĠ Ġcustom Scalar Type : ĠCustom Scalar Type , ĊĠĠĠĠĠĠĠ Ġcustom Type Adapter : ĠCustom Type Adapter < T >, ĊĠĠĠ Ġ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠ Ġadapters Map [ custom Scalar Type . name ] Ġ= ĠVersion 2 Custom Type Adapter To Adapter ( custom Type Adapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd All ( custom Scalar Adapters : ĠCustom Scalar Adapters ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠ Ġthis . adapters Map . put All ( custom Scalar Adapters . adapters Map ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠ Ġadapters Map . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġfun Ġbuild () Ġ= ĠCustom Scalar Adapters ( adapters Map , Ġadapter Context ) ĊĊĠĠĠ Ġfun Ġadapter Context ( adapter Context : ĠAdapter Context ): ĠBuilder Ġ= Ġapply Ġ{ ĊĠĠĠĠĠ Ġthis . adapter Context Ġ= Ġadapter Context ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Deprecated (" Use ĠAdapter Context . Builder . variables () Ġinstead ") ĊĠĠĠ Ġ@ A pol lo Deprecated Since ( v 3 _ 2 _ 1 ) ĊĠĠĠ Ġfun Ġvariables ( variables : ĠExec utable . Variables ): ĠBuilder Ġ= Ġapply Ġ{ ĊĠĠĠĠĠ Ġadapter Context Ġ= Ġadapter Context . newBuilder (). variables ( variables ). build () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ