package Ġio . bk bn . s ke leg ro . yml Ċ Ċ class ĠYaml File Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠTAB Ġ= Ġ" Ġ Ġ" ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġadd Indent ( level : ĠInt ): ĠString Ġ= ĠTAB . repeat ( level ) ĊĠ Ġprivate Ġval Ġsb Ġ= ĠStringBuilder () ĊĠ Ġprivate Ġvar Ġlevel Ġ= Ġ 0 ĊĊĠ Ġin fix Ġfun ĠString . eq ( value : ĠAny ) Ġ= Ġsb . append Indent ed ("$ this : Ġ$ value ") ĊĠ Ġin fix Ġfun ĠString . req ( value : ĠAny ) Ġ= Ġ"$ this : Ġ$ value " ĊĊĠ Ġin fix Ġfun ĠString . block ( block : Ġ() Ġ-> ĠUnit ): ĠString Ġ{ ĊĠĠĠ Ġsb . append Indent ed ("$ this :") ĊĠĠĠ Ġlevel ++ ĊĠĠĠ Ġblock . invoke () ĊĠĠĠ Ġlevel -- ĊĠĠĠ Ġreturn Ġthis ĊĠ Ġ} ĊĊĠ Ġfun Ġindent ( block : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlevel ++ ĊĠĠĠ Ġblock . invoke () ĊĠĠĠ Ġlevel -- ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun ĠString . unary Minus (): ĠString Ġ{ ĊĠĠĠ Ġsb . append Indent ed ("- Ġ$ this ") ĊĠĠĠ Ġreturn Ġthis ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun ĠString . unary Plus () Ġ{ ĊĠĠĠ Ġthis . lines (). forEach Ġ{ Ġsb . append Indent ed ( it ) Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠtoString () Ġ= Ġsb . toString () ĊĠ Ġprivate Ġfun ĠStringBuilder . append Indent ed ( value : ĠAny ) Ġ= Ġappend Line ("${ add Indent ( level )} $ value ") Ċ } Ċ Ċ fun Ġyaml File ( ĊĠ Ġinit : ĠYaml File . () Ġ-> ĠUnit Ċ ): ĠYaml File Ġ{ ĊĠ Ġval Ġaction Ġ= ĠYaml File () ĊĠ Ġaction . init () ĊĠ Ġreturn Ġaction Ċ } Ċ