@ir-kit/openapi-kotlin 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +259 -0
  3. package/dist/generate.d.ts +41 -0
  4. package/dist/generate.d.ts.map +1 -0
  5. package/dist/generate.js +64 -0
  6. package/dist/generate.js.map +1 -0
  7. package/dist/index.d.ts +6 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +6 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/ir/constants.d.ts +6 -0
  12. package/dist/ir/constants.d.ts.map +1 -0
  13. package/dist/ir/constants.js +6 -0
  14. package/dist/ir/constants.js.map +1 -0
  15. package/dist/ir/identifiers.d.ts +23 -0
  16. package/dist/ir/identifiers.d.ts.map +1 -0
  17. package/dist/ir/identifiers.js +71 -0
  18. package/dist/ir/identifiers.js.map +1 -0
  19. package/dist/ir/impl/body.d.ts +30 -0
  20. package/dist/ir/impl/body.d.ts.map +1 -0
  21. package/dist/ir/impl/body.js +116 -0
  22. package/dist/ir/impl/body.js.map +1 -0
  23. package/dist/ir/impl/decode.d.ts +14 -0
  24. package/dist/ir/impl/decode.d.ts.map +1 -0
  25. package/dist/ir/impl/decode.js +110 -0
  26. package/dist/ir/impl/decode.js.map +1 -0
  27. package/dist/ir/impl/headers.d.ts +8 -0
  28. package/dist/ir/impl/headers.d.ts.map +1 -0
  29. package/dist/ir/impl/headers.js +22 -0
  30. package/dist/ir/impl/headers.js.map +1 -0
  31. package/dist/ir/impl/index.d.ts +23 -0
  32. package/dist/ir/impl/index.d.ts.map +1 -0
  33. package/dist/ir/impl/index.js +141 -0
  34. package/dist/ir/impl/index.js.map +1 -0
  35. package/dist/ir/impl/request.d.ts +14 -0
  36. package/dist/ir/impl/request.d.ts.map +1 -0
  37. package/dist/ir/impl/request.js +25 -0
  38. package/dist/ir/impl/request.js.map +1 -0
  39. package/dist/ir/impl/serializer.d.ts +20 -0
  40. package/dist/ir/impl/serializer.d.ts.map +1 -0
  41. package/dist/ir/impl/serializer.js +62 -0
  42. package/dist/ir/impl/serializer.js.map +1 -0
  43. package/dist/ir/impl/url.d.ts +16 -0
  44. package/dist/ir/impl/url.d.ts.map +1 -0
  45. package/dist/ir/impl/url.js +77 -0
  46. package/dist/ir/impl/url.js.map +1 -0
  47. package/dist/ir/index.d.ts +4 -0
  48. package/dist/ir/index.d.ts.map +1 -0
  49. package/dist/ir/index.js +3 -0
  50. package/dist/ir/index.js.map +1 -0
  51. package/dist/ir/operation/body.d.ts +18 -0
  52. package/dist/ir/operation/body.d.ts.map +1 -0
  53. package/dist/ir/operation/body.js +51 -0
  54. package/dist/ir/operation/body.js.map +1 -0
  55. package/dist/ir/operation/index.d.ts +7 -0
  56. package/dist/ir/operation/index.d.ts.map +1 -0
  57. package/dist/ir/operation/index.js +5 -0
  58. package/dist/ir/operation/index.js.map +1 -0
  59. package/dist/ir/operation/params.d.ts +16 -0
  60. package/dist/ir/operation/params.d.ts.map +1 -0
  61. package/dist/ir/operation/params.js +28 -0
  62. package/dist/ir/operation/params.js.map +1 -0
  63. package/dist/ir/operation/response.d.ts +26 -0
  64. package/dist/ir/operation/response.d.ts.map +1 -0
  65. package/dist/ir/operation/response.js +58 -0
  66. package/dist/ir/operation/response.js.map +1 -0
  67. package/dist/ir/operation/signature.d.ts +32 -0
  68. package/dist/ir/operation/signature.d.ts.map +1 -0
  69. package/dist/ir/operation/signature.js +53 -0
  70. package/dist/ir/operation/signature.js.map +1 -0
  71. package/dist/ir/operations.d.ts +43 -0
  72. package/dist/ir/operations.d.ts.map +1 -0
  73. package/dist/ir/operations.js +124 -0
  74. package/dist/ir/operations.js.map +1 -0
  75. package/dist/ir/runtime/index.d.ts +3 -0
  76. package/dist/ir/runtime/index.d.ts.map +1 -0
  77. package/dist/ir/runtime/index.js +2 -0
  78. package/dist/ir/runtime/index.js.map +1 -0
  79. package/dist/ir/runtime/templates.d.ts +31 -0
  80. package/dist/ir/runtime/templates.d.ts.map +1 -0
  81. package/dist/ir/runtime/templates.js +431 -0
  82. package/dist/ir/runtime/templates.js.map +1 -0
  83. package/dist/ir/schema.d.ts +11 -0
  84. package/dist/ir/schema.d.ts.map +1 -0
  85. package/dist/ir/schema.js +51 -0
  86. package/dist/ir/schema.js.map +1 -0
  87. package/dist/ir/type/context.d.ts +4 -0
  88. package/dist/ir/type/context.d.ts.map +1 -0
  89. package/dist/ir/type/context.js +2 -0
  90. package/dist/ir/type/context.js.map +1 -0
  91. package/dist/ir/type/index.d.ts +27 -0
  92. package/dist/ir/type/index.d.ts.map +1 -0
  93. package/dist/ir/type/index.js +35 -0
  94. package/dist/ir/type/index.js.map +1 -0
  95. package/dist/ir/type/primitive.d.ts +9 -0
  96. package/dist/ir/type/primitive.d.ts.map +1 -0
  97. package/dist/ir/type/primitive.js +50 -0
  98. package/dist/ir/type/primitive.js.map +1 -0
  99. package/dist/ir/type/property-naming.d.ts +26 -0
  100. package/dist/ir/type/property-naming.d.ts.map +1 -0
  101. package/dist/ir/type/property-naming.js +27 -0
  102. package/dist/ir/type/property-naming.js.map +1 -0
  103. package/dist/ir/type-ops.d.ts +13 -0
  104. package/dist/ir/type-ops.d.ts.map +1 -0
  105. package/dist/ir/type-ops.js +80 -0
  106. package/dist/ir/type-ops.js.map +1 -0
  107. package/dist/kt-compiler/decl/class.d.ts +6 -0
  108. package/dist/kt-compiler/decl/class.d.ts.map +1 -0
  109. package/dist/kt-compiler/decl/class.js +38 -0
  110. package/dist/kt-compiler/decl/class.js.map +1 -0
  111. package/dist/kt-compiler/decl/dataClass.d.ts +3 -0
  112. package/dist/kt-compiler/decl/dataClass.d.ts.map +1 -0
  113. package/dist/kt-compiler/decl/dataClass.js +18 -0
  114. package/dist/kt-compiler/decl/dataClass.js.map +1 -0
  115. package/dist/kt-compiler/decl/enum.d.ts +3 -0
  116. package/dist/kt-compiler/decl/enum.d.ts.map +1 -0
  117. package/dist/kt-compiler/decl/enum.js +32 -0
  118. package/dist/kt-compiler/decl/enum.js.map +1 -0
  119. package/dist/kt-compiler/decl/fun.d.ts +11 -0
  120. package/dist/kt-compiler/decl/fun.d.ts.map +1 -0
  121. package/dist/kt-compiler/decl/fun.js +69 -0
  122. package/dist/kt-compiler/decl/fun.js.map +1 -0
  123. package/dist/kt-compiler/decl/index.d.ts +13 -0
  124. package/dist/kt-compiler/decl/index.d.ts.map +1 -0
  125. package/dist/kt-compiler/decl/index.js +39 -0
  126. package/dist/kt-compiler/decl/index.js.map +1 -0
  127. package/dist/kt-compiler/decl/interface.d.ts +3 -0
  128. package/dist/kt-compiler/decl/interface.d.ts.map +1 -0
  129. package/dist/kt-compiler/decl/interface.js +15 -0
  130. package/dist/kt-compiler/decl/interface.js.map +1 -0
  131. package/dist/kt-compiler/decl/object.d.ts +3 -0
  132. package/dist/kt-compiler/decl/object.d.ts.map +1 -0
  133. package/dist/kt-compiler/decl/object.js +19 -0
  134. package/dist/kt-compiler/decl/object.js.map +1 -0
  135. package/dist/kt-compiler/decl/prop.d.ts +20 -0
  136. package/dist/kt-compiler/decl/prop.d.ts.map +1 -0
  137. package/dist/kt-compiler/decl/prop.js +42 -0
  138. package/dist/kt-compiler/decl/prop.js.map +1 -0
  139. package/dist/kt-compiler/decl/sealedClass.d.ts +3 -0
  140. package/dist/kt-compiler/decl/sealedClass.d.ts.map +1 -0
  141. package/dist/kt-compiler/decl/sealedClass.js +32 -0
  142. package/dist/kt-compiler/decl/sealedClass.js.map +1 -0
  143. package/dist/kt-compiler/decl/topLevel.d.ts +3 -0
  144. package/dist/kt-compiler/decl/topLevel.d.ts.map +1 -0
  145. package/dist/kt-compiler/decl/topLevel.js +5 -0
  146. package/dist/kt-compiler/decl/topLevel.js.map +1 -0
  147. package/dist/kt-compiler/decl/typeAlias.d.ts +3 -0
  148. package/dist/kt-compiler/decl/typeAlias.d.ts.map +1 -0
  149. package/dist/kt-compiler/decl/typeAlias.js +6 -0
  150. package/dist/kt-compiler/decl/typeAlias.js.map +1 -0
  151. package/dist/kt-compiler/expr.d.ts +4 -0
  152. package/dist/kt-compiler/expr.d.ts.map +1 -0
  153. package/dist/kt-compiler/expr.js +123 -0
  154. package/dist/kt-compiler/expr.js.map +1 -0
  155. package/dist/kt-compiler/format.d.ts +20 -0
  156. package/dist/kt-compiler/format.d.ts.map +1 -0
  157. package/dist/kt-compiler/format.js +27 -0
  158. package/dist/kt-compiler/format.js.map +1 -0
  159. package/dist/kt-compiler/index.d.ts +7 -0
  160. package/dist/kt-compiler/index.d.ts.map +1 -0
  161. package/dist/kt-compiler/index.js +24 -0
  162. package/dist/kt-compiler/index.js.map +1 -0
  163. package/dist/kt-compiler/stmt.d.ts +4 -0
  164. package/dist/kt-compiler/stmt.d.ts.map +1 -0
  165. package/dist/kt-compiler/stmt.js +72 -0
  166. package/dist/kt-compiler/stmt.js.map +1 -0
  167. package/dist/kt-compiler/type.d.ts +3 -0
  168. package/dist/kt-compiler/type.d.ts.map +1 -0
  169. package/dist/kt-compiler/type.js +28 -0
  170. package/dist/kt-compiler/type.js.map +1 -0
  171. package/dist/kt-dsl/decl/class.d.ts +50 -0
  172. package/dist/kt-dsl/decl/class.d.ts.map +1 -0
  173. package/dist/kt-dsl/decl/class.js +33 -0
  174. package/dist/kt-dsl/decl/class.js.map +1 -0
  175. package/dist/kt-dsl/decl/dataClass.d.ts +36 -0
  176. package/dist/kt-dsl/decl/dataClass.d.ts.map +1 -0
  177. package/dist/kt-dsl/decl/dataClass.js +25 -0
  178. package/dist/kt-dsl/decl/dataClass.js.map +1 -0
  179. package/dist/kt-dsl/decl/enum.d.ts +60 -0
  180. package/dist/kt-dsl/decl/enum.d.ts.map +1 -0
  181. package/dist/kt-dsl/decl/enum.js +38 -0
  182. package/dist/kt-dsl/decl/enum.js.map +1 -0
  183. package/dist/kt-dsl/decl/index.d.ts +11 -0
  184. package/dist/kt-dsl/decl/index.d.ts.map +1 -0
  185. package/dist/kt-dsl/decl/index.js +11 -0
  186. package/dist/kt-dsl/decl/index.js.map +1 -0
  187. package/dist/kt-dsl/decl/interface.d.ts +33 -0
  188. package/dist/kt-dsl/decl/interface.d.ts.map +1 -0
  189. package/dist/kt-dsl/decl/interface.js +24 -0
  190. package/dist/kt-dsl/decl/interface.js.map +1 -0
  191. package/dist/kt-dsl/decl/object.d.ts +34 -0
  192. package/dist/kt-dsl/decl/object.d.ts.map +1 -0
  193. package/dist/kt-dsl/decl/object.js +24 -0
  194. package/dist/kt-dsl/decl/object.js.map +1 -0
  195. package/dist/kt-dsl/decl/prop.d.ts +47 -0
  196. package/dist/kt-dsl/decl/prop.d.ts.map +1 -0
  197. package/dist/kt-dsl/decl/prop.js +28 -0
  198. package/dist/kt-dsl/decl/prop.js.map +1 -0
  199. package/dist/kt-dsl/decl/sealedClass.d.ts +68 -0
  200. package/dist/kt-dsl/decl/sealedClass.d.ts.map +1 -0
  201. package/dist/kt-dsl/decl/sealedClass.js +52 -0
  202. package/dist/kt-dsl/decl/sealedClass.js.map +1 -0
  203. package/dist/kt-dsl/decl/topLevel.d.ts +19 -0
  204. package/dist/kt-dsl/decl/topLevel.d.ts.map +1 -0
  205. package/dist/kt-dsl/decl/topLevel.js +17 -0
  206. package/dist/kt-dsl/decl/topLevel.js.map +1 -0
  207. package/dist/kt-dsl/decl/typeAlias.d.ts +23 -0
  208. package/dist/kt-dsl/decl/typeAlias.d.ts.map +1 -0
  209. package/dist/kt-dsl/decl/typeAlias.js +18 -0
  210. package/dist/kt-dsl/decl/typeAlias.js.map +1 -0
  211. package/dist/kt-dsl/decl/types.d.ts +10 -0
  212. package/dist/kt-dsl/decl/types.d.ts.map +1 -0
  213. package/dist/kt-dsl/decl/types.js +2 -0
  214. package/dist/kt-dsl/decl/types.js.map +1 -0
  215. package/dist/kt-dsl/expr/access.d.ts +48 -0
  216. package/dist/kt-dsl/expr/access.d.ts.map +1 -0
  217. package/dist/kt-dsl/expr/access.js +59 -0
  218. package/dist/kt-dsl/expr/access.js.map +1 -0
  219. package/dist/kt-dsl/expr/call.d.ts +38 -0
  220. package/dist/kt-dsl/expr/call.d.ts.map +1 -0
  221. package/dist/kt-dsl/expr/call.js +38 -0
  222. package/dist/kt-dsl/expr/call.js.map +1 -0
  223. package/dist/kt-dsl/expr/index.d.ts +7 -0
  224. package/dist/kt-dsl/expr/index.d.ts.map +1 -0
  225. package/dist/kt-dsl/expr/index.js +7 -0
  226. package/dist/kt-dsl/expr/index.js.map +1 -0
  227. package/dist/kt-dsl/expr/literal.d.ts +100 -0
  228. package/dist/kt-dsl/expr/literal.d.ts.map +1 -0
  229. package/dist/kt-dsl/expr/literal.js +108 -0
  230. package/dist/kt-dsl/expr/literal.js.map +1 -0
  231. package/dist/kt-dsl/expr/misc.d.ts +45 -0
  232. package/dist/kt-dsl/expr/misc.d.ts.map +1 -0
  233. package/dist/kt-dsl/expr/misc.js +63 -0
  234. package/dist/kt-dsl/expr/misc.js.map +1 -0
  235. package/dist/kt-dsl/expr/op.d.ts +25 -0
  236. package/dist/kt-dsl/expr/op.d.ts.map +1 -0
  237. package/dist/kt-dsl/expr/op.js +24 -0
  238. package/dist/kt-dsl/expr/op.js.map +1 -0
  239. package/dist/kt-dsl/expr/types.d.ts +93 -0
  240. package/dist/kt-dsl/expr/types.d.ts.map +1 -0
  241. package/dist/kt-dsl/expr/types.js +2 -0
  242. package/dist/kt-dsl/expr/types.js.map +1 -0
  243. package/dist/kt-dsl/file.d.ts +14 -0
  244. package/dist/kt-dsl/file.d.ts.map +1 -0
  245. package/dist/kt-dsl/file.js +9 -0
  246. package/dist/kt-dsl/file.js.map +1 -0
  247. package/dist/kt-dsl/fun.d.ts +73 -0
  248. package/dist/kt-dsl/fun.d.ts.map +1 -0
  249. package/dist/kt-dsl/fun.js +50 -0
  250. package/dist/kt-dsl/fun.js.map +1 -0
  251. package/dist/kt-dsl/index.d.ts +8 -0
  252. package/dist/kt-dsl/index.d.ts.map +1 -0
  253. package/dist/kt-dsl/index.js +8 -0
  254. package/dist/kt-dsl/index.js.map +1 -0
  255. package/dist/kt-dsl/stmt/binding.d.ts +56 -0
  256. package/dist/kt-dsl/stmt/binding.d.ts.map +1 -0
  257. package/dist/kt-dsl/stmt/binding.js +70 -0
  258. package/dist/kt-dsl/stmt/binding.js.map +1 -0
  259. package/dist/kt-dsl/stmt/control.d.ts +80 -0
  260. package/dist/kt-dsl/stmt/control.d.ts.map +1 -0
  261. package/dist/kt-dsl/stmt/control.js +77 -0
  262. package/dist/kt-dsl/stmt/control.js.map +1 -0
  263. package/dist/kt-dsl/stmt/index.d.ts +4 -0
  264. package/dist/kt-dsl/stmt/index.d.ts.map +1 -0
  265. package/dist/kt-dsl/stmt/index.js +4 -0
  266. package/dist/kt-dsl/stmt/index.js.map +1 -0
  267. package/dist/kt-dsl/stmt/types.d.ts +62 -0
  268. package/dist/kt-dsl/stmt/types.d.ts.map +1 -0
  269. package/dist/kt-dsl/stmt/types.js +2 -0
  270. package/dist/kt-dsl/stmt/types.js.map +1 -0
  271. package/dist/kt-dsl/type/builders.d.ts +75 -0
  272. package/dist/kt-dsl/type/builders.d.ts.map +1 -0
  273. package/dist/kt-dsl/type/builders.js +83 -0
  274. package/dist/kt-dsl/type/builders.js.map +1 -0
  275. package/dist/kt-dsl/type/index.d.ts +3 -0
  276. package/dist/kt-dsl/type/index.d.ts.map +1 -0
  277. package/dist/kt-dsl/type/index.js +3 -0
  278. package/dist/kt-dsl/type/index.js.map +1 -0
  279. package/dist/kt-dsl/type/types.d.ts +25 -0
  280. package/dist/kt-dsl/type/types.d.ts.map +1 -0
  281. package/dist/kt-dsl/type/types.js +2 -0
  282. package/dist/kt-dsl/type/types.js.map +1 -0
  283. package/dist/kt-dsl/visibility.d.ts +2 -0
  284. package/dist/kt-dsl/visibility.d.ts.map +1 -0
  285. package/dist/kt-dsl/visibility.js +2 -0
  286. package/dist/kt-dsl/visibility.js.map +1 -0
  287. package/dist/project/build.d.ts +33 -0
  288. package/dist/project/build.d.ts.map +1 -0
  289. package/dist/project/build.js +73 -0
  290. package/dist/project/build.js.map +1 -0
  291. package/dist/project/gradle.d.ts +48 -0
  292. package/dist/project/gradle.d.ts.map +1 -0
  293. package/dist/project/gradle.js +46 -0
  294. package/dist/project/gradle.js.map +1 -0
  295. package/dist/project/imports.d.ts +21 -0
  296. package/dist/project/imports.d.ts.map +1 -0
  297. package/dist/project/imports.js +162 -0
  298. package/dist/project/imports.js.map +1 -0
  299. package/dist/project/index.d.ts +6 -0
  300. package/dist/project/index.d.ts.map +1 -0
  301. package/dist/project/index.js +3 -0
  302. package/dist/project/index.js.map +1 -0
  303. package/dist/project/layout.d.ts +30 -0
  304. package/dist/project/layout.d.ts.map +1 -0
  305. package/dist/project/layout.js +57 -0
  306. package/dist/project/layout.js.map +1 -0
  307. package/package.json +76 -0
@@ -0,0 +1,13 @@
1
+ import type { KtDecl } from "../../kt-dsl/decl/types.js";
2
+ export declare function printDecl(d: KtDecl): string;
3
+ export { printClass } from "./class.js";
4
+ export { printDataClass } from "./dataClass.js";
5
+ export { printEnum } from "./enum.js";
6
+ export { printFun, printFunParam, printParamsBlock } from "./fun.js";
7
+ export { printInterface } from "./interface.js";
8
+ export { printObject } from "./object.js";
9
+ export { printPrimaryProp, printProp } from "./prop.js";
10
+ export { printSealedClass } from "./sealedClass.js";
11
+ export { printTopLevelFun } from "./topLevel.js";
12
+ export { printTypeAlias } from "./typeAlias.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAUzD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB3C;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { printClass } from "./class.js";
2
+ import { printDataClass } from "./dataClass.js";
3
+ import { printEnum } from "./enum.js";
4
+ import { printInterface } from "./interface.js";
5
+ import { printObject } from "./object.js";
6
+ import { printSealedClass } from "./sealedClass.js";
7
+ import { printTopLevelFun } from "./topLevel.js";
8
+ import { printTypeAlias } from "./typeAlias.js";
9
+ export function printDecl(d) {
10
+ switch (d.kind) {
11
+ case "dataClass":
12
+ return printDataClass(d);
13
+ case "class":
14
+ return printClass(d);
15
+ case "sealedClass":
16
+ return printSealedClass(d);
17
+ case "object":
18
+ return printObject(d);
19
+ case "interface":
20
+ return printInterface(d);
21
+ case "enum":
22
+ return printEnum(d);
23
+ case "typeAlias":
24
+ return printTypeAlias(d);
25
+ case "topLevelFun":
26
+ return printTopLevelFun(d);
27
+ }
28
+ }
29
+ export { printClass } from "./class.js";
30
+ export { printDataClass } from "./dataClass.js";
31
+ export { printEnum } from "./enum.js";
32
+ export { printFun, printFunParam, printParamsBlock } from "./fun.js";
33
+ export { printInterface } from "./interface.js";
34
+ export { printObject } from "./object.js";
35
+ export { printPrimaryProp, printProp } from "./prop.js";
36
+ export { printSealedClass } from "./sealedClass.js";
37
+ export { printTopLevelFun } from "./topLevel.js";
38
+ export { printTypeAlias } from "./typeAlias.js";
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KtInterface } from "../../kt-dsl/decl/interface.js";
2
+ export declare function printInterface(d: KtInterface): string;
3
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CASrD"}
@@ -0,0 +1,15 @@
1
+ import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
2
+ import { printFun } from "./fun.js";
3
+ import { printAnnotations } from "./prop.js";
4
+ export function printInterface(d) {
5
+ const annLines = printAnnotations(d.annotations, "");
6
+ const vis = visibilityPrefix(d.visibility);
7
+ const head = `${annLines}${vis}interface ${d.name}${superTypeTail(d.superTypes)}`;
8
+ if (d.funs.length === 0)
9
+ return `${head} {}`;
10
+ // Members of an interface inherit the interface's visibility — emitting
11
+ // `public` on each requirement is redundant and noisy.
12
+ const funs = d.funs.map((f) => printFun(f, INDENT, true)).join("\n\n");
13
+ return `${head} {\n${funs}\n}`;
14
+ }
15
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,aAAa,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAClF,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,CAAC;IAC7C,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC;AACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KtObject } from "../../kt-dsl/decl/object.js";
2
+ export declare function printObject(d: KtObject): string;
3
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK5D,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAc/C"}
@@ -0,0 +1,19 @@
1
+ import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
2
+ import { printFun } from "./fun.js";
3
+ import { printAnnotations, printProp } from "./prop.js";
4
+ export function printObject(d) {
5
+ const annLines = printAnnotations(d.annotations, "");
6
+ const vis = visibilityPrefix(d.visibility);
7
+ const head = `${annLines}${vis}object ${d.name}${superTypeTail(d.superTypes)}`;
8
+ const sections = [];
9
+ if (d.properties.length > 0) {
10
+ sections.push(d.properties.map((p) => printProp(p, INDENT)).join("\n"));
11
+ }
12
+ if (d.funs.length > 0) {
13
+ sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
14
+ }
15
+ if (sections.length === 0)
16
+ return head;
17
+ return `${head} {\n${sections.join("\n\n")}\n}`;
18
+ }
19
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,UAAU,WAAW,CAAC,CAAW;IACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAE/E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { KtAnnotation, KtProp } from "../../kt-dsl/decl/prop.js";
2
+ export declare function printAnnotation(a: KtAnnotation): string;
3
+ export declare function printAnnotations(annotations: ReadonlyArray<KtAnnotation>, indent: string, inline?: boolean): string;
4
+ /**
5
+ * Body-level property — emitted as `[annotations] [vis] val|var name: T [= default]`.
6
+ *
7
+ * @example
8
+ * ```kotlin
9
+ * // ktProp({ name: "id", type: ktString })
10
+ * // → public val id: String
11
+ * ```
12
+ */
13
+ export declare function printProp(p: KtProp, indent?: string): string;
14
+ /**
15
+ * Primary-constructor property — emitted as a single line inside the
16
+ * class header's parameter list. Annotations render inline so the
17
+ * ctor block stays one-per-line readable.
18
+ */
19
+ export declare function printPrimaryProp(p: KtProp, indent: string): string;
20
+ //# sourceMappingURL=prop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/prop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAItE,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAe,GACtB,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAMhE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASlE"}
@@ -0,0 +1,42 @@
1
+ import { visibilityPrefix } from "../format.js";
2
+ import { printType } from "../type.js";
3
+ export function printAnnotation(a) {
4
+ return a.args === undefined ? `@${a.name}` : `@${a.name}(${a.args})`;
5
+ }
6
+ export function printAnnotations(annotations, indent, inline = false) {
7
+ if (annotations.length === 0)
8
+ return "";
9
+ const sep = inline ? " " : "\n";
10
+ return (annotations.map((a) => `${indent}${printAnnotation(a)}`).join(sep) + sep);
11
+ }
12
+ /**
13
+ * Body-level property — emitted as `[annotations] [vis] val|var name: T [= default]`.
14
+ *
15
+ * @example
16
+ * ```kotlin
17
+ * // ktProp({ name: "id", type: ktString })
18
+ * // → public val id: String
19
+ * ```
20
+ */
21
+ export function printProp(p, indent = "") {
22
+ const annLines = printAnnotations(p.annotations, indent);
23
+ const vis = visibilityPrefix(p.visibility);
24
+ const keyword = p.mutable ? "var" : "val";
25
+ const def = p.default !== undefined ? ` = ${p.default}` : "";
26
+ return `${annLines}${indent}${vis}${keyword} ${p.name}: ${printType(p.type)}${def}`;
27
+ }
28
+ /**
29
+ * Primary-constructor property — emitted as a single line inside the
30
+ * class header's parameter list. Annotations render inline so the
31
+ * ctor block stays one-per-line readable.
32
+ */
33
+ export function printPrimaryProp(p, indent) {
34
+ const ann = p.annotations.length > 0
35
+ ? `${p.annotations.map(printAnnotation).join(" ")} `
36
+ : "";
37
+ const vis = visibilityPrefix(p.visibility);
38
+ const keyword = p.mutable ? "var" : "val";
39
+ const def = p.default !== undefined ? ` = ${p.default}` : "";
40
+ return `${indent}${ann}${vis}${keyword} ${p.name}: ${printType(p.type)}${def}`;
41
+ }
42
+ //# sourceMappingURL=prop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/prop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,eAAe,CAAC,CAAe;IAC7C,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAAwC,EACxC,MAAc,EACd,SAAkB,KAAK;IAEvB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,OAAO,CACL,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,SAAiB,EAAE;IACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,MAAc;IACxD,MAAM,GAAG,GACP,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACpD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACjF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KtSealedClass } from "../../kt-dsl/decl/sealedClass.js";
2
+ export declare function printSealedClass(d: KtSealedClass): string;
3
+ //# sourceMappingURL=sealedClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealedClass.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/sealedClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAK1C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAgBzD"}
@@ -0,0 +1,32 @@
1
+ import { INDENT, superTypeTail, visibilityPrefix } from "../format.js";
2
+ import { printFun } from "./fun.js";
3
+ import { printAnnotations, printPrimaryProp } from "./prop.js";
4
+ export function printSealedClass(d) {
5
+ const annLines = printAnnotations(d.annotations, "");
6
+ const vis = visibilityPrefix(d.visibility);
7
+ const head = `${annLines}${vis}sealed class ${d.name}${superTypeTail(d.superTypes)}`;
8
+ const sections = [];
9
+ if (d.subclasses.length > 0) {
10
+ sections.push(d.subclasses.map((sc) => printSubclass(sc, d.name, INDENT)).join("\n\n"));
11
+ }
12
+ if (d.funs.length > 0) {
13
+ sections.push(d.funs.map((f) => printFun(f, INDENT)).join("\n\n"));
14
+ }
15
+ if (sections.length === 0)
16
+ return head;
17
+ return `${head} {\n${sections.join("\n\n")}\n}`;
18
+ }
19
+ function printSubclass(sc, parent, indent) {
20
+ const annLines = sc.annotations.length > 0
21
+ ? `${sc.annotations.map((a) => `${indent}@${a.name}${a.args ? `(${a.args})` : ""}`).join("\n")}\n`
22
+ : "";
23
+ if (sc.variant === "object") {
24
+ return `${annLines}${indent}public object ${sc.name} : ${parent}()`;
25
+ }
26
+ // data class subclass
27
+ const props = sc.properties.length === 0
28
+ ? "()"
29
+ : `(\n${sc.properties.map((p) => printPrimaryProp({ ...p, inPrimary: true }, `${indent}${INDENT}`)).join(",\n")},\n${indent})`;
30
+ return `${annLines}${indent}public data class ${sc.name}${props} : ${parent}()`;
31
+ }
32
+ //# sourceMappingURL=sealedClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sealedClass.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/sealedClass.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,GAAG,gBAAgB,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAErF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CACpB,EAAoB,EACpB,MAAc,EACd,MAAc;IAEd,MAAM,QAAQ,GACZ,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAClG,CAAC,CAAC,EAAE,CAAC;IACT,IAAI,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC;IACtE,CAAC;IACD,sBAAsB;IACtB,MAAM,KAAK,GACT,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,GAAG,CAAC;IACnI,OAAO,GAAG,QAAQ,GAAG,MAAM,qBAAqB,EAAE,CAAC,IAAI,GAAG,KAAK,MAAM,MAAM,IAAI,CAAC;AAClF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KtTopLevelFun } from "../../kt-dsl/decl/topLevel.js";
2
+ export declare function printTopLevelFun(d: KtTopLevelFun): string;
3
+ //# sourceMappingURL=topLevel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topLevel.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/topLevel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,5 @@
1
+ import { printFun } from "./fun.js";
2
+ export function printTopLevelFun(d) {
3
+ return printFun(d.fun);
4
+ }
5
+ //# sourceMappingURL=topLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topLevel.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/topLevel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KtTypeAlias } from "../../kt-dsl/decl/typeAlias.js";
2
+ export declare function printTypeAlias(d: KtTypeAlias): string;
3
+ //# sourceMappingURL=typeAlias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeAlias.d.ts","sourceRoot":"","sources":["../../../src/kt-compiler/decl/typeAlias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAErD"}
@@ -0,0 +1,6 @@
1
+ import { visibilityPrefix } from "../format.js";
2
+ import { printType } from "../type.js";
3
+ export function printTypeAlias(d) {
4
+ return `${visibilityPrefix(d.visibility)}typealias ${d.name} = ${printType(d.type)}`;
5
+ }
6
+ //# sourceMappingURL=typeAlias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeAlias.js","sourceRoot":"","sources":["../../../src/kt-compiler/decl/typeAlias.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACvF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KtExpr, KtLambdaExpr } from "../kt-dsl/expr/types.js";
2
+ export declare function printExpr(e: KtExpr): string;
3
+ export declare function printLambda(c: KtLambdaExpr, indent?: string): string;
4
+ //# sourceMappingURL=expr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/expr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKpE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAmD3C;AAqDD,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAqBxE"}
@@ -0,0 +1,123 @@
1
+ import { INDENT, isSimpleIdent } from "./format.js";
2
+ import { printStmt } from "./stmt.js";
3
+ import { printType } from "./type.js";
4
+ export function printExpr(e) {
5
+ switch (e.kind) {
6
+ case "ident":
7
+ return e.name;
8
+ case "this":
9
+ return "this";
10
+ case "str":
11
+ return printStringLiteral(e.value);
12
+ case "int":
13
+ return String(e.value);
14
+ case "long":
15
+ return `${String(e.value)}L`;
16
+ case "double": {
17
+ const s = String(e.value);
18
+ return s.includes(".") ? s : `${s}.0`;
19
+ }
20
+ case "bool":
21
+ return e.value ? "true" : "false";
22
+ case "null":
23
+ return "null";
24
+ case "underscore":
25
+ return "_";
26
+ case "interp":
27
+ return printInterp(e.parts);
28
+ case "listLit":
29
+ return `listOf(${e.items.map(printExpr).join(", ")})`;
30
+ case "mapLit":
31
+ return e.pairs.length === 0
32
+ ? "mapOf()"
33
+ : `mapOf(${e.pairs.map(([k, v]) => `${printExpr(k)} to ${printExpr(v)}`).join(", ")})`;
34
+ case "member":
35
+ return `${printExpr(e.on)}.${e.name}`;
36
+ case "safeMember":
37
+ return `${printExpr(e.on)}?.${e.name}`;
38
+ case "index":
39
+ return `${printExpr(e.on)}[${printExpr(e.index)}]`;
40
+ case "notNull":
41
+ return `${printExpr(e.on)}!!`;
42
+ case "call":
43
+ return printCall(e);
44
+ case "binOp":
45
+ return `${printExpr(e.left)} ${e.op} ${printExpr(e.right)}`;
46
+ case "lambda":
47
+ return printLambda(e);
48
+ case "range":
49
+ return `${printExpr(e.low)} ${e.halfOpen ? "until" : ".."} ${printExpr(e.high)}`;
50
+ case "cast":
51
+ return `${printExpr(e.expr)} ${e.safe ? "as?" : "as"} ${printType(e.type)}`;
52
+ case "typeRef":
53
+ return `${printType(e.type)}::class`;
54
+ }
55
+ }
56
+ function printStringLiteral(s) {
57
+ // Kotlin strings: same as JSON for the basic forms, but `$` is also
58
+ // significant inside a `"…"` literal because of string templates, so
59
+ // we escape it too.
60
+ return JSON.stringify(s).replace(/\$/g, "\\$");
61
+ }
62
+ function escapeForKotlinTemplate(s) {
63
+ return s
64
+ .replace(/\\/g, "\\\\")
65
+ .replace(/"/g, '\\"')
66
+ .replace(/\n/g, "\\n")
67
+ .replace(/\r/g, "\\r")
68
+ .replace(/\t/g, "\\t")
69
+ .replace(/\$/g, "\\$");
70
+ }
71
+ function printInterp(parts) {
72
+ const inner = parts
73
+ .map((p) => {
74
+ if (typeof p === "string")
75
+ return escapeForKotlinTemplate(p);
76
+ // Bare-identifier shorthand: `$ident` is preferred to `${ident}`
77
+ // when the identifier is unambiguous.
78
+ if (p.kind === "ident" && isSimpleIdent(p.name))
79
+ return `$${p.name}`;
80
+ return `\${${printExpr(p)}}`;
81
+ })
82
+ .join("");
83
+ return `"${inner}"`;
84
+ }
85
+ function printCall(e) {
86
+ const typeArgs = e.typeArgs && e.typeArgs.length > 0
87
+ ? `<${e.typeArgs.map(printType).join(", ")}>`
88
+ : "";
89
+ const args = e.args
90
+ .map((a) => a.label === undefined
91
+ ? printExpr(a.expr)
92
+ : `${a.label} = ${printExpr(a.expr)}`)
93
+ .join(", ");
94
+ // When a call has no positional args and a trailing lambda, the
95
+ // empty parens are omitted: `client.execute { ... }`.
96
+ const head = e.args.length > 0 || !e.trailingLambda
97
+ ? `${printExpr(e.callee)}${typeArgs}(${args})`
98
+ : `${printExpr(e.callee)}${typeArgs}`;
99
+ return e.trailingLambda ? `${head} ${printLambda(e.trailingLambda)}` : head;
100
+ }
101
+ export function printLambda(c, indent = "") {
102
+ if (c.body.length === 1) {
103
+ const only = c.body[0];
104
+ const params = c.params.length === 0 ? "" : `${c.params.join(", ")} -> `;
105
+ if (only.kind === "returnExpr" || only.kind === "expr") {
106
+ const expr = only.kind === "returnExpr"
107
+ ? only.expr
108
+ : only.expr;
109
+ return `{ ${params}${printExpr(expr)} }`;
110
+ }
111
+ if (only.kind === "assign") {
112
+ return `{ ${params}${printExpr(only.target)} = ${printExpr(only.value)} }`;
113
+ }
114
+ }
115
+ if (c.body.length === 0) {
116
+ return c.params.length === 0 ? "{}" : `{ ${c.params.join(", ")} -> }`;
117
+ }
118
+ const stmts = c.body.map((s) => printStmt(s, indent + INDENT)).join("\n");
119
+ if (c.params.length === 0)
120
+ return `{\n${stmts}\n${indent}}`;
121
+ return `{ ${c.params.join(", ")} ->\n${stmts}\n${indent}}`;
122
+ }
123
+ //# sourceMappingURL=expr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/kt-compiler/expr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { KtVisibility } from "../kt-dsl/visibility.js";
2
+ export declare const INDENT = " ";
3
+ /**
4
+ * Kotlin's default visibility is `public`, but `public` is a valid
5
+ * keyword and emitting it explicitly keeps the generated source
6
+ * unambiguous when reading. `internal` / `private` / `protected`
7
+ * always need to be explicit.
8
+ */
9
+ export declare const visibilityPrefix: (v: KtVisibility) => string;
10
+ export declare const superTypeTail: (superTypes: ReadonlyArray<string>,
11
+ /** Render the first super-type as a constructor invocation
12
+ * (`Super()`) — needed for sealed-class subclasses. */
13
+ parenFirst?: boolean) => string;
14
+ export declare const indented: (lines: ReadonlyArray<string>, indent: string) => string;
15
+ /**
16
+ * True when `name` is a bare identifier safe to render after `$` in
17
+ * a string template without `${...}` braces.
18
+ */
19
+ export declare const isSimpleIdent: (name: string) => boolean;
20
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,eAAO,MAAM,MAAM,SAAS,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,YAAY,KAAG,MAAiB,CAAC;AAErE,eAAO,MAAM,aAAa,GACxB,YAAY,aAAa,CAAC,MAAM,CAAC;AACjC;wDACwD;AACxD,oBAAkB,KACjB,MAKF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,aAAa,CAAC,MAAM,CAAC,EAC5B,QAAQ,MAAM,KACb,MAAsD,CAAC;AAI1D;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OACjB,CAAC"}
@@ -0,0 +1,27 @@
1
+ export const INDENT = " ";
2
+ /**
3
+ * Kotlin's default visibility is `public`, but `public` is a valid
4
+ * keyword and emitting it explicitly keeps the generated source
5
+ * unambiguous when reading. `internal` / `private` / `protected`
6
+ * always need to be explicit.
7
+ */
8
+ export const visibilityPrefix = (v) => `${v} `;
9
+ export const superTypeTail = (superTypes,
10
+ /** Render the first super-type as a constructor invocation
11
+ * (`Super()`) — needed for sealed-class subclasses. */
12
+ parenFirst = false) => {
13
+ if (superTypes.length === 0)
14
+ return "";
15
+ if (!parenFirst)
16
+ return ` : ${superTypes.join(", ")}`;
17
+ const [head, ...rest] = superTypes;
18
+ return ` : ${head}()${rest.length > 0 ? `, ${rest.join(", ")}` : ""}`;
19
+ };
20
+ export const indented = (lines, indent) => lines.map((l) => `${indent}${l}`).join("\n");
21
+ const KOTLIN_IDENT_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
22
+ /**
23
+ * True when `name` is a bare identifier safe to render after `$` in
24
+ * a string template without `${...}` braces.
25
+ */
26
+ export const isSimpleIdent = (name) => KOTLIN_IDENT_RE.test(name);
27
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/kt-compiler/format.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAe,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAAiC;AACjC;wDACwD;AACxD,UAAU,GAAG,KAAK,EACV,EAAE;IACV,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IACnC,OAAO,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAA4B,EAC5B,MAAc,EACN,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE,CACrD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { KtFile } from "../kt-dsl/file.js";
2
+ export declare function printFile(f: KtFile): string;
3
+ export { printClass, printDataClass, printDecl, printEnum, printFun, printFunParam, printInterface, printObject, printProp, printSealedClass, printTopLevelFun, printTypeAlias, } from "./decl/index.js";
4
+ export { printExpr } from "./expr.js";
5
+ export { printStmt } from "./stmt.js";
6
+ export { printType } from "./type.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAe3C;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { printDecl } from "./decl/index.js";
2
+ export function printFile(f) {
3
+ const out = [];
4
+ if (f.pkg) {
5
+ out.push(`package ${f.pkg}`);
6
+ out.push("");
7
+ }
8
+ if (f.imports.length > 0) {
9
+ for (const imp of f.imports)
10
+ out.push(`import ${imp}`);
11
+ out.push("");
12
+ }
13
+ for (let i = 0; i < f.decls.length; i++) {
14
+ out.push(printDecl(f.decls[i]));
15
+ if (i < f.decls.length - 1)
16
+ out.push("");
17
+ }
18
+ return `${out.join("\n")}\n`;
19
+ }
20
+ export { printClass, printDataClass, printDecl, printEnum, printFun, printFunParam, printInterface, printObject, printProp, printSealedClass, printTopLevelFun, printTypeAlias, } from "./decl/index.js";
21
+ export { printExpr } from "./expr.js";
22
+ export { printStmt } from "./stmt.js";
23
+ export { printType } from "./type.js";
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kt-compiler/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KtStmt } from "../kt-dsl/stmt/types.js";
2
+ export declare function printStmt(s: KtStmt, indent?: string): string;
3
+ export declare function printBlock(body: ReadonlyArray<KtStmt>, indent: string): string;
4
+ //# sourceMappingURL=stmt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stmt.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/stmt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKtD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAmChE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,MAAM,EAAE,MAAM,GACb,MAAM,CAIR"}
@@ -0,0 +1,72 @@
1
+ import { printExpr } from "./expr.js";
2
+ import { INDENT } from "./format.js";
3
+ import { printType } from "./type.js";
4
+ export function printStmt(s, indent = "") {
5
+ switch (s.kind) {
6
+ case "val": {
7
+ const type = s.type ? `: ${printType(s.type)}` : "";
8
+ return `${indent}val ${s.name}${type} = ${printExpr(s.expr)}`;
9
+ }
10
+ case "var": {
11
+ const type = s.type ? `: ${printType(s.type)}` : "";
12
+ return `${indent}var ${s.name}${type} = ${printExpr(s.expr)}`;
13
+ }
14
+ case "assign":
15
+ return `${indent}${printExpr(s.target)} = ${printExpr(s.value)}`;
16
+ case "expr":
17
+ return `${indent}${printExpr(s.expr)}`;
18
+ case "returnExpr":
19
+ // Marker for single-expression bodies. The decl-printer recognizes
20
+ // it and renders `= expr` instead of `{ expr }`. When emitted at
21
+ // statement scope (e.g. inside a block), we treat it as a plain
22
+ // `return expr` for safety.
23
+ return `${indent}return ${printExpr(s.expr)}`;
24
+ case "return":
25
+ return s.expr === undefined
26
+ ? `${indent}return`
27
+ : `${indent}return ${printExpr(s.expr)}`;
28
+ case "throw":
29
+ return `${indent}throw ${printExpr(s.expr)}`;
30
+ case "if":
31
+ return printIf(s, indent);
32
+ case "when":
33
+ return printWhen(s, indent);
34
+ case "tryCatch":
35
+ return printTryCatch(s, indent);
36
+ case "forIn":
37
+ return `${indent}for (${s.name} in ${printExpr(s.source)}) ${printBlock(s.body, indent)}`;
38
+ }
39
+ }
40
+ export function printBlock(body, indent) {
41
+ if (body.length === 0)
42
+ return "{}";
43
+ const inner = body.map((s) => printStmt(s, indent + INDENT)).join("\n");
44
+ return `{\n${inner}\n${indent}}`;
45
+ }
46
+ function printIf(s, indent) {
47
+ const head = `${indent}if (${printExpr(s.cond)}) ${printBlock(s.then, indent)}`;
48
+ if (!s.else_)
49
+ return head;
50
+ return `${head} else ${printBlock(s.else_, indent)}`;
51
+ }
52
+ function printWhen(s, indent) {
53
+ const head = s.on === undefined ? "when" : `when (${printExpr(s.on)})`;
54
+ const lines = [`${indent}${head} {`];
55
+ for (const c of s.cases) {
56
+ const patterns = c.patterns.map(printExpr).join(", ");
57
+ lines.push(`${indent}${INDENT}${patterns} -> ${printBlock(c.body, indent + INDENT)}`);
58
+ }
59
+ if (s.default_) {
60
+ lines.push(`${indent}${INDENT}else -> ${printBlock(s.default_, indent + INDENT)}`);
61
+ }
62
+ lines.push(`${indent}}`);
63
+ return lines.join("\n");
64
+ }
65
+ function printTryCatch(s, indent) {
66
+ const body = printBlock(s.body, indent);
67
+ const catches = s.catches
68
+ .map((c) => ` catch (${c.name}: ${printType(c.type)}) ${printBlock(c.body, indent)}`)
69
+ .join("");
70
+ return `${indent}try ${body}${catches}`;
71
+ }
72
+ //# sourceMappingURL=stmt.js.map