package Ġcom . ap ol log raph ql . apollo 3 . ast Ċ Ċ import Ġok io . Buffered Sink Ċ Ċ class ĠSDL Writer ( ĊĠĠĠ Ġprivate Ġval Ġsink : ĠBuffered Sink , ĊĠĠĠ Ġprivate Ġval Ġindent : ĠString , Ċ ) Ġ{ ĊĠ Ġprivate Ġvar Ġindent Count Ġ= Ġ 0 ĊĠ Ġprivate Ġvar Ġbol Ġ= Ġtrue ĊĊĠ Ġfun Ġindent () Ġ{ ĊĠĠĠ Ġindent Count Ġ+= Ġ 1 ĊĠ Ġ} ĊĊĠ Ġfun Ġun indent () Ġ{ ĊĠĠĠ Ġindent Count Ġ-= Ġ 1 ĊĠ Ġ} ĊĊĠ Ġfun Ġwrite ( string : ĠString ) Ġ{ ĊĠĠĠ Ġstring . forEach Ġ{ ĊĠĠĠĠĠ Ġif Ġ( it Ġ== Ġ'\ n ') Ġ{ ĊĠĠĠĠĠĠĠ Ġbol Ġ= Ġtrue ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bol ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbol Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġrepeat ( indent Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġsink . write Utf 8 ( indent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġsink . write Utf 8 Code Point ( it . toInt ()) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠSDL Writer . write Description ( description : ĠString ?) Ġ{ ĊĠ Ġif Ġ(! description . isNull Or Blank ()) Ġ{ ĊĠĠĠ Ġwrite ("\" \" \" ${ description . encode To GraphQL Triple Quoted ()} \" \" \"\ n ") ĊĠ Ġ} Ċ } Ċ internal Ġfun ĠSDL Writer . write Inline String ( string : ĠString ?) Ġ{ ĊĠ Ġif Ġ( string Ġ== Ġnull ) Ġ{ ĊĠĠĠ Ġreturn ĊĠ Ġ} ĊĠ Ġwrite ("\" ${ string . encode To GraphQL Single Quoted ()} \" ") Ċ }