package Ġcom . exp edi ag roup . scal ars . types Ċ Ċ import Ġcom . ibm . icu . util . UL oc ale Ċ import Ġgraphql . language . StringValue Ċ import Ġgraphql . schema . Co erc ing Ċ import Ġgraphql . schema . Co erc ing Parse Literal Exception Ċ import Ġgraphql . schema . Co erc ing Parse Value Exception Ċ import Ġgraphql . schema . Co erc ing Serialize Exception Ċ import Ġgraphql . schema . GraphQL Scalar Type Ċ Ċ val Ġgraphql Locale Type : ĠGraphQL Scalar Type Ġ= ĠGraphQL Scalar Type . new Scalar () ĊĠĠĠ Ġ. name (" Locale ") ĊĠĠĠ Ġ. description (" A Ġtype Ġrepresenting Ġa ĠLocale Ġsuch Ġas Ġen _ US Ġor Ġfr _ FR ") ĊĠĠĠ Ġ. co erc ing ( object Ġ: ĠCo erc ing < UL oc ale , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Value ( input : ĠAny ): ĠU Locale Ġ= Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠU Locale ( serialize ( input )) ĊĠĠĠĠĠĠĠ Ġ}. getOrElse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠCo erc ing Parse Value Exception (" Expected Ġvalid ĠU Locale Ġbut Ġwas Ġ$ input ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Literal ( input : ĠAny ): ĠU Locale Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= Ġ( input Ġas ? ĠString Value )?. value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠU Locale ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. getOrElse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠCo erc ing Parse Literal Exception (" Expected Ġvalid ĠU Locale Ġliteral Ġbut Ġwas Ġ$ locale ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialize ( data Fetcher Result : ĠAny ): ĠString Ġ= Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Fetcher Result . toString () ĊĠĠĠĠĠĠĠ Ġ}. getOrElse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠCo erc ing Serialize Exception (" Data Ġfetch er Ġresult Ġ$ data Fetcher Result Ġcannot Ġbe Ġserialized Ġto Ġa ĠString ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġ. build () Ċ