package Ġorg . jetbrains . idl 2 k Ċ Ċ import Ġjava . io . File Ċ Ċ fun ĠBuild Web Id l . js Generator ( out Dir : ĠFile , Ġcopyright Notice : ĠString ) Ġ{ ĊĊĠĠĠ Ġout Dir . delete Re cursively () ĊĠĠĠ Ġout Dir . mkdir s () ĊĊĠĠĠ Ġall Packages . forEach Ġ{ Ġpkg Ġ-> ĊĠĠĠĠĠĠĠ ĠFile ( out Dir , Ġpkg Ġ+ Ġ". kt "). buffered Writer (). use Ġ{ Ġw Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Generating Ġfor Ġpackage Ġ$ pkg ...") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln ( copyright Notice ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln ("// ĠNOTE : ĠTHIS ĠFILE ĠIS ĠAUTO - GENERATED , ĠDO ĠNOT ĠEDIT !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln ("// ĠSee Ġlibraries / tools / idl 2 k Ġfor Ġdetails ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln ("@ file : Suppress (\" NE ST ED _ CLASS _ IN _ EXTERNAL _ INTERFACE \") ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln (" package Ġ$ pkg ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln (" import Ġkotlin . js .* ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Packages . filter Ġ{ Ġit Ġ!= Ġpkg Ġ}. forEach Ġ{ Ġimport Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln (" import Ġ$ import .* ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . append ln () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġw . render ( pkg , Ġdefinitions , Ġun ions , Ġrepository . enums . values . toList (), Ġm dn Cache ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }