@ir-kit/openapi-kotlin 2.0.0 → 3.0.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 (297) hide show
  1. package/README.md +13 -13
  2. package/dist/ast/index.d.ts +152 -0
  3. package/dist/ast/index.d.ts.map +1 -0
  4. package/dist/ast/index.js +159 -0
  5. package/dist/ast/index.js.map +1 -0
  6. package/dist/generate.d.ts +1 -1
  7. package/dist/generate.d.ts.map +1 -1
  8. package/dist/generate.js +13 -27
  9. package/dist/generate.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/ir/identifiers.d.ts +7 -0
  15. package/dist/ir/identifiers.d.ts.map +1 -1
  16. package/dist/ir/identifiers.js +92 -3
  17. package/dist/ir/identifiers.js.map +1 -1
  18. package/dist/ir/impl/body.d.ts +4 -3
  19. package/dist/ir/impl/body.d.ts.map +1 -1
  20. package/dist/ir/impl/body.js +36 -37
  21. package/dist/ir/impl/body.js.map +1 -1
  22. package/dist/ir/impl/decode.d.ts +3 -2
  23. package/dist/ir/impl/decode.d.ts.map +1 -1
  24. package/dist/ir/impl/decode.js +16 -16
  25. package/dist/ir/impl/decode.js.map +1 -1
  26. package/dist/ir/impl/headers.d.ts +1 -1
  27. package/dist/ir/impl/headers.d.ts.map +1 -1
  28. package/dist/ir/impl/headers.js +3 -3
  29. package/dist/ir/impl/headers.js.map +1 -1
  30. package/dist/ir/impl/index.d.ts +5 -2
  31. package/dist/ir/impl/index.d.ts.map +1 -1
  32. package/dist/ir/impl/index.js +6 -7
  33. package/dist/ir/impl/index.js.map +1 -1
  34. package/dist/ir/impl/request.d.ts +6 -6
  35. package/dist/ir/impl/request.d.ts.map +1 -1
  36. package/dist/ir/impl/request.js +18 -8
  37. package/dist/ir/impl/request.js.map +1 -1
  38. package/dist/ir/impl/serializer.d.ts +4 -2
  39. package/dist/ir/impl/serializer.d.ts.map +1 -1
  40. package/dist/ir/impl/serializer.js +41 -60
  41. package/dist/ir/impl/serializer.js.map +1 -1
  42. package/dist/ir/impl/url.d.ts +1 -1
  43. package/dist/ir/impl/url.d.ts.map +1 -1
  44. package/dist/ir/impl/url.js +4 -4
  45. package/dist/ir/impl/url.js.map +1 -1
  46. package/dist/ir/index.d.ts +1 -1
  47. package/dist/ir/index.d.ts.map +1 -1
  48. package/dist/ir/index.js +1 -1
  49. package/dist/ir/index.js.map +1 -1
  50. package/dist/ir/operation/body.d.ts +1 -1
  51. package/dist/ir/operation/body.d.ts.map +1 -1
  52. package/dist/ir/operation/body.js +3 -3
  53. package/dist/ir/operation/body.js.map +1 -1
  54. package/dist/ir/operation/params.d.ts +1 -1
  55. package/dist/ir/operation/params.d.ts.map +1 -1
  56. package/dist/ir/operation/params.js +3 -3
  57. package/dist/ir/operation/params.js.map +1 -1
  58. package/dist/ir/operation/response.d.ts +3 -1
  59. package/dist/ir/operation/response.d.ts.map +1 -1
  60. package/dist/ir/operation/response.js +3 -4
  61. package/dist/ir/operation/response.js.map +1 -1
  62. package/dist/ir/operation/signature.d.ts +4 -2
  63. package/dist/ir/operation/signature.d.ts.map +1 -1
  64. package/dist/ir/operation/signature.js +5 -4
  65. package/dist/ir/operation/signature.js.map +1 -1
  66. package/dist/ir/operations.d.ts +7 -1
  67. package/dist/ir/operations.d.ts.map +1 -1
  68. package/dist/ir/operations.js +14 -17
  69. package/dist/ir/operations.js.map +1 -1
  70. package/dist/ir/runtime/index.d.ts +1 -1
  71. package/dist/ir/runtime/index.d.ts.map +1 -1
  72. package/dist/ir/runtime/index.js +1 -1
  73. package/dist/ir/runtime/index.js.map +1 -1
  74. package/dist/ir/runtime/templates.d.ts +1 -21
  75. package/dist/ir/runtime/templates.d.ts.map +1 -1
  76. package/dist/ir/runtime/templates.js +24 -428
  77. package/dist/ir/runtime/templates.js.map +1 -1
  78. package/dist/ir/schema.d.ts +3 -5
  79. package/dist/ir/schema.d.ts.map +1 -1
  80. package/dist/ir/schema.js +25 -37
  81. package/dist/ir/schema.js.map +1 -1
  82. package/dist/ir/type/context.d.ts +1 -1
  83. package/dist/ir/type/context.d.ts.map +1 -1
  84. package/dist/ir/type/index.d.ts +5 -3
  85. package/dist/ir/type/index.d.ts.map +1 -1
  86. package/dist/ir/type/index.js +12 -8
  87. package/dist/ir/type/index.js.map +1 -1
  88. package/dist/ir/type/primitive.d.ts +1 -1
  89. package/dist/ir/type/primitive.d.ts.map +1 -1
  90. package/dist/ir/type/primitive.js +1 -1
  91. package/dist/ir/type/primitive.js.map +1 -1
  92. package/dist/ir/type-ops.d.ts +2 -2
  93. package/dist/ir/type-ops.d.ts.map +1 -1
  94. package/dist/ir/type-ops.js +13 -17
  95. package/dist/ir/type-ops.js.map +1 -1
  96. package/dist/kt-compiler/index.d.ts +3 -6
  97. package/dist/kt-compiler/index.d.ts.map +1 -1
  98. package/dist/kt-compiler/index.js +7 -22
  99. package/dist/kt-compiler/index.js.map +1 -1
  100. package/dist/project/build.d.ts +1 -1
  101. package/dist/project/build.d.ts.map +1 -1
  102. package/dist/project/build.js +6 -8
  103. package/dist/project/build.js.map +1 -1
  104. package/dist/project/imports.d.ts +12 -12
  105. package/dist/project/imports.d.ts.map +1 -1
  106. package/dist/project/imports.js +60 -138
  107. package/dist/project/imports.js.map +1 -1
  108. package/dist/project/layout.d.ts +1 -1
  109. package/dist/project/layout.d.ts.map +1 -1
  110. package/dist/project/layout.js +1 -3
  111. package/dist/project/layout.js.map +1 -1
  112. package/package.json +12 -10
  113. package/runtime/APIClient.kt +140 -0
  114. package/runtime/APIError.kt +42 -0
  115. package/runtime/APIInterceptors.kt +14 -0
  116. package/runtime/APIKeyLocation.kt +7 -0
  117. package/runtime/Auth.kt +86 -0
  118. package/runtime/MultipartFormBody.kt +41 -0
  119. package/runtime/QueryStyle.kt +12 -0
  120. package/runtime/RequestOptions.kt +29 -0
  121. package/runtime/URLEncoding.kt +45 -0
  122. package/dist/kt-compiler/decl/class.d.ts +0 -6
  123. package/dist/kt-compiler/decl/class.d.ts.map +0 -1
  124. package/dist/kt-compiler/decl/class.js +0 -38
  125. package/dist/kt-compiler/decl/class.js.map +0 -1
  126. package/dist/kt-compiler/decl/dataClass.d.ts +0 -3
  127. package/dist/kt-compiler/decl/dataClass.d.ts.map +0 -1
  128. package/dist/kt-compiler/decl/dataClass.js +0 -18
  129. package/dist/kt-compiler/decl/dataClass.js.map +0 -1
  130. package/dist/kt-compiler/decl/enum.d.ts +0 -3
  131. package/dist/kt-compiler/decl/enum.d.ts.map +0 -1
  132. package/dist/kt-compiler/decl/enum.js +0 -32
  133. package/dist/kt-compiler/decl/enum.js.map +0 -1
  134. package/dist/kt-compiler/decl/fun.d.ts +0 -11
  135. package/dist/kt-compiler/decl/fun.d.ts.map +0 -1
  136. package/dist/kt-compiler/decl/fun.js +0 -69
  137. package/dist/kt-compiler/decl/fun.js.map +0 -1
  138. package/dist/kt-compiler/decl/index.d.ts +0 -13
  139. package/dist/kt-compiler/decl/index.d.ts.map +0 -1
  140. package/dist/kt-compiler/decl/index.js +0 -39
  141. package/dist/kt-compiler/decl/index.js.map +0 -1
  142. package/dist/kt-compiler/decl/interface.d.ts +0 -3
  143. package/dist/kt-compiler/decl/interface.d.ts.map +0 -1
  144. package/dist/kt-compiler/decl/interface.js +0 -15
  145. package/dist/kt-compiler/decl/interface.js.map +0 -1
  146. package/dist/kt-compiler/decl/object.d.ts +0 -3
  147. package/dist/kt-compiler/decl/object.d.ts.map +0 -1
  148. package/dist/kt-compiler/decl/object.js +0 -19
  149. package/dist/kt-compiler/decl/object.js.map +0 -1
  150. package/dist/kt-compiler/decl/prop.d.ts +0 -20
  151. package/dist/kt-compiler/decl/prop.d.ts.map +0 -1
  152. package/dist/kt-compiler/decl/prop.js +0 -42
  153. package/dist/kt-compiler/decl/prop.js.map +0 -1
  154. package/dist/kt-compiler/decl/sealedClass.d.ts +0 -3
  155. package/dist/kt-compiler/decl/sealedClass.d.ts.map +0 -1
  156. package/dist/kt-compiler/decl/sealedClass.js +0 -32
  157. package/dist/kt-compiler/decl/sealedClass.js.map +0 -1
  158. package/dist/kt-compiler/decl/topLevel.d.ts +0 -3
  159. package/dist/kt-compiler/decl/topLevel.d.ts.map +0 -1
  160. package/dist/kt-compiler/decl/topLevel.js +0 -5
  161. package/dist/kt-compiler/decl/topLevel.js.map +0 -1
  162. package/dist/kt-compiler/decl/typeAlias.d.ts +0 -3
  163. package/dist/kt-compiler/decl/typeAlias.d.ts.map +0 -1
  164. package/dist/kt-compiler/decl/typeAlias.js +0 -6
  165. package/dist/kt-compiler/decl/typeAlias.js.map +0 -1
  166. package/dist/kt-compiler/expr.d.ts +0 -4
  167. package/dist/kt-compiler/expr.d.ts.map +0 -1
  168. package/dist/kt-compiler/expr.js +0 -123
  169. package/dist/kt-compiler/expr.js.map +0 -1
  170. package/dist/kt-compiler/format.d.ts +0 -20
  171. package/dist/kt-compiler/format.d.ts.map +0 -1
  172. package/dist/kt-compiler/format.js +0 -27
  173. package/dist/kt-compiler/format.js.map +0 -1
  174. package/dist/kt-compiler/stmt.d.ts +0 -4
  175. package/dist/kt-compiler/stmt.d.ts.map +0 -1
  176. package/dist/kt-compiler/stmt.js +0 -72
  177. package/dist/kt-compiler/stmt.js.map +0 -1
  178. package/dist/kt-compiler/type.d.ts +0 -3
  179. package/dist/kt-compiler/type.d.ts.map +0 -1
  180. package/dist/kt-compiler/type.js +0 -28
  181. package/dist/kt-compiler/type.js.map +0 -1
  182. package/dist/kt-dsl/decl/class.d.ts +0 -50
  183. package/dist/kt-dsl/decl/class.d.ts.map +0 -1
  184. package/dist/kt-dsl/decl/class.js +0 -33
  185. package/dist/kt-dsl/decl/class.js.map +0 -1
  186. package/dist/kt-dsl/decl/dataClass.d.ts +0 -36
  187. package/dist/kt-dsl/decl/dataClass.d.ts.map +0 -1
  188. package/dist/kt-dsl/decl/dataClass.js +0 -25
  189. package/dist/kt-dsl/decl/dataClass.js.map +0 -1
  190. package/dist/kt-dsl/decl/enum.d.ts +0 -60
  191. package/dist/kt-dsl/decl/enum.d.ts.map +0 -1
  192. package/dist/kt-dsl/decl/enum.js +0 -38
  193. package/dist/kt-dsl/decl/enum.js.map +0 -1
  194. package/dist/kt-dsl/decl/index.d.ts +0 -11
  195. package/dist/kt-dsl/decl/index.d.ts.map +0 -1
  196. package/dist/kt-dsl/decl/index.js +0 -11
  197. package/dist/kt-dsl/decl/index.js.map +0 -1
  198. package/dist/kt-dsl/decl/interface.d.ts +0 -33
  199. package/dist/kt-dsl/decl/interface.d.ts.map +0 -1
  200. package/dist/kt-dsl/decl/interface.js +0 -24
  201. package/dist/kt-dsl/decl/interface.js.map +0 -1
  202. package/dist/kt-dsl/decl/object.d.ts +0 -34
  203. package/dist/kt-dsl/decl/object.d.ts.map +0 -1
  204. package/dist/kt-dsl/decl/object.js +0 -24
  205. package/dist/kt-dsl/decl/object.js.map +0 -1
  206. package/dist/kt-dsl/decl/prop.d.ts +0 -47
  207. package/dist/kt-dsl/decl/prop.d.ts.map +0 -1
  208. package/dist/kt-dsl/decl/prop.js +0 -28
  209. package/dist/kt-dsl/decl/prop.js.map +0 -1
  210. package/dist/kt-dsl/decl/sealedClass.d.ts +0 -68
  211. package/dist/kt-dsl/decl/sealedClass.d.ts.map +0 -1
  212. package/dist/kt-dsl/decl/sealedClass.js +0 -52
  213. package/dist/kt-dsl/decl/sealedClass.js.map +0 -1
  214. package/dist/kt-dsl/decl/topLevel.d.ts +0 -19
  215. package/dist/kt-dsl/decl/topLevel.d.ts.map +0 -1
  216. package/dist/kt-dsl/decl/topLevel.js +0 -17
  217. package/dist/kt-dsl/decl/topLevel.js.map +0 -1
  218. package/dist/kt-dsl/decl/typeAlias.d.ts +0 -23
  219. package/dist/kt-dsl/decl/typeAlias.d.ts.map +0 -1
  220. package/dist/kt-dsl/decl/typeAlias.js +0 -18
  221. package/dist/kt-dsl/decl/typeAlias.js.map +0 -1
  222. package/dist/kt-dsl/decl/types.d.ts +0 -10
  223. package/dist/kt-dsl/decl/types.d.ts.map +0 -1
  224. package/dist/kt-dsl/decl/types.js +0 -2
  225. package/dist/kt-dsl/decl/types.js.map +0 -1
  226. package/dist/kt-dsl/expr/access.d.ts +0 -48
  227. package/dist/kt-dsl/expr/access.d.ts.map +0 -1
  228. package/dist/kt-dsl/expr/access.js +0 -59
  229. package/dist/kt-dsl/expr/access.js.map +0 -1
  230. package/dist/kt-dsl/expr/call.d.ts +0 -38
  231. package/dist/kt-dsl/expr/call.d.ts.map +0 -1
  232. package/dist/kt-dsl/expr/call.js +0 -38
  233. package/dist/kt-dsl/expr/call.js.map +0 -1
  234. package/dist/kt-dsl/expr/index.d.ts +0 -7
  235. package/dist/kt-dsl/expr/index.d.ts.map +0 -1
  236. package/dist/kt-dsl/expr/index.js +0 -7
  237. package/dist/kt-dsl/expr/index.js.map +0 -1
  238. package/dist/kt-dsl/expr/literal.d.ts +0 -100
  239. package/dist/kt-dsl/expr/literal.d.ts.map +0 -1
  240. package/dist/kt-dsl/expr/literal.js +0 -108
  241. package/dist/kt-dsl/expr/literal.js.map +0 -1
  242. package/dist/kt-dsl/expr/misc.d.ts +0 -45
  243. package/dist/kt-dsl/expr/misc.d.ts.map +0 -1
  244. package/dist/kt-dsl/expr/misc.js +0 -63
  245. package/dist/kt-dsl/expr/misc.js.map +0 -1
  246. package/dist/kt-dsl/expr/op.d.ts +0 -25
  247. package/dist/kt-dsl/expr/op.d.ts.map +0 -1
  248. package/dist/kt-dsl/expr/op.js +0 -24
  249. package/dist/kt-dsl/expr/op.js.map +0 -1
  250. package/dist/kt-dsl/expr/types.d.ts +0 -93
  251. package/dist/kt-dsl/expr/types.d.ts.map +0 -1
  252. package/dist/kt-dsl/expr/types.js +0 -2
  253. package/dist/kt-dsl/expr/types.js.map +0 -1
  254. package/dist/kt-dsl/file.d.ts +0 -14
  255. package/dist/kt-dsl/file.d.ts.map +0 -1
  256. package/dist/kt-dsl/file.js +0 -9
  257. package/dist/kt-dsl/file.js.map +0 -1
  258. package/dist/kt-dsl/fun.d.ts +0 -73
  259. package/dist/kt-dsl/fun.d.ts.map +0 -1
  260. package/dist/kt-dsl/fun.js +0 -50
  261. package/dist/kt-dsl/fun.js.map +0 -1
  262. package/dist/kt-dsl/index.d.ts +0 -8
  263. package/dist/kt-dsl/index.d.ts.map +0 -1
  264. package/dist/kt-dsl/index.js +0 -8
  265. package/dist/kt-dsl/index.js.map +0 -1
  266. package/dist/kt-dsl/stmt/binding.d.ts +0 -56
  267. package/dist/kt-dsl/stmt/binding.d.ts.map +0 -1
  268. package/dist/kt-dsl/stmt/binding.js +0 -70
  269. package/dist/kt-dsl/stmt/binding.js.map +0 -1
  270. package/dist/kt-dsl/stmt/control.d.ts +0 -80
  271. package/dist/kt-dsl/stmt/control.d.ts.map +0 -1
  272. package/dist/kt-dsl/stmt/control.js +0 -77
  273. package/dist/kt-dsl/stmt/control.js.map +0 -1
  274. package/dist/kt-dsl/stmt/index.d.ts +0 -4
  275. package/dist/kt-dsl/stmt/index.d.ts.map +0 -1
  276. package/dist/kt-dsl/stmt/index.js +0 -4
  277. package/dist/kt-dsl/stmt/index.js.map +0 -1
  278. package/dist/kt-dsl/stmt/types.d.ts +0 -62
  279. package/dist/kt-dsl/stmt/types.d.ts.map +0 -1
  280. package/dist/kt-dsl/stmt/types.js +0 -2
  281. package/dist/kt-dsl/stmt/types.js.map +0 -1
  282. package/dist/kt-dsl/type/builders.d.ts +0 -75
  283. package/dist/kt-dsl/type/builders.d.ts.map +0 -1
  284. package/dist/kt-dsl/type/builders.js +0 -83
  285. package/dist/kt-dsl/type/builders.js.map +0 -1
  286. package/dist/kt-dsl/type/index.d.ts +0 -3
  287. package/dist/kt-dsl/type/index.d.ts.map +0 -1
  288. package/dist/kt-dsl/type/index.js +0 -3
  289. package/dist/kt-dsl/type/index.js.map +0 -1
  290. package/dist/kt-dsl/type/types.d.ts +0 -25
  291. package/dist/kt-dsl/type/types.d.ts.map +0 -1
  292. package/dist/kt-dsl/type/types.js +0 -2
  293. package/dist/kt-dsl/type/types.js.map +0 -1
  294. package/dist/kt-dsl/visibility.d.ts +0 -2
  295. package/dist/kt-dsl/visibility.d.ts.map +0 -1
  296. package/dist/kt-dsl/visibility.js +0 -2
  297. package/dist/kt-dsl/visibility.js.map +0 -1
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
1
- import { printFun } from "./fun.js";
2
- export function printTopLevelFun(d) {
3
- return printFun(d.fun);
4
- }
5
- //# sourceMappingURL=topLevel.js.map
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import type { KtTypeAlias } from "../../kt-dsl/decl/typeAlias.js";
2
- export declare function printTypeAlias(d: KtTypeAlias): string;
3
- //# sourceMappingURL=typeAlias.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,6 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,123 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/kt-compiler/expr.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,27 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,72 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"stmt.js","sourceRoot":"","sources":["../../src/kt-compiler/stmt.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { KtType } from "../kt-dsl/type/types.js";
2
- export declare function printType(t: KtType): string;
3
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kt-compiler/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CA2B3C"}
@@ -1,28 +0,0 @@
1
- export function printType(t) {
2
- switch (t.kind) {
3
- case "primitive":
4
- return t.name;
5
- case "list":
6
- return `List<${printType(t.element)}>`;
7
- case "map":
8
- return `Map<${printType(t.key)}, ${printType(t.value)}>`;
9
- case "ref": {
10
- const args = t.args && t.args.length > 0
11
- ? `<${t.args.map(printType).join(", ")}>`
12
- : "";
13
- return `${t.name}${args}`;
14
- }
15
- case "nullable":
16
- // Function-type `?` needs parens so the optional binds to the
17
- // whole function, not its return type.
18
- return t.inner.kind === "func"
19
- ? `(${printType(t.inner)})?`
20
- : `${printType(t.inner)}?`;
21
- case "func": {
22
- const params = `(${t.params.map(printType).join(", ")})`;
23
- const suspend = t.suspend ? "suspend " : "";
24
- return `${suspend}${params} -> ${printType(t.returnType)}`;
25
- }
26
- }
27
- }
28
- //# sourceMappingURL=type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kt-compiler/type.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,QAAQ,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACzC,KAAK,KAAK;YACR,OAAO,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3D,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GACR,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACzC,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,UAAU;YACb,8DAA8D;YAC9D,uCAAuC;YACvC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAC5B,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;gBAC5B,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACzD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,50 +0,0 @@
1
- import type { KtFun, KtFunParam } from "../fun.js";
2
- import type { KtStmt } from "../stmt/types.js";
3
- import type { KtVisibility } from "../visibility.js";
4
- import type { KtAnnotation, KtProp } from "./prop.js";
5
- export type KtClassModifier = "open" | "abstract" | "final";
6
- export interface KtClass {
7
- kind: "class";
8
- name: string;
9
- visibility: KtVisibility;
10
- modifiers: ReadonlyArray<KtClassModifier>;
11
- annotations: ReadonlyArray<KtAnnotation>;
12
- /** Primary-constructor parameters that are NOT also props (rare in Kotlin SDK code). */
13
- ctorParams: ReadonlyArray<KtFunParam>;
14
- superTypes: ReadonlyArray<string>;
15
- properties: ReadonlyArray<KtProp>;
16
- funs: ReadonlyArray<KtFun>;
17
- /** `init { ... }` block contents — runs after primary-ctor binding. */
18
- initBlock?: ReadonlyArray<KtStmt>;
19
- runtime?: boolean;
20
- }
21
- /**
22
- * Top-level class. Default modifier is `final` (Kotlin's default — no
23
- * explicit keyword printed). Pass `["open"]` to allow subclassing.
24
- *
25
- * Property-style class members:
26
- * - props with `inPrimary: true` go into the primary constructor
27
- * parameter list as `val name: T` / `var name: T`.
28
- * - props without `inPrimary` are emitted in the body.
29
- *
30
- * @example
31
- * ```kotlin
32
- * // ktClass({ name: "ApiClient",
33
- * // properties: [ktProp({ name: "baseUrl", type: ktString, inPrimary: true })],
34
- * // funs: [...] })
35
- * // → public class ApiClient(public val baseUrl: String) { … }
36
- * ```
37
- */
38
- export declare function ktClass(opts: {
39
- name: string;
40
- properties?: ReadonlyArray<KtProp>;
41
- funs?: ReadonlyArray<KtFun>;
42
- ctorParams?: ReadonlyArray<KtFunParam>;
43
- superTypes?: ReadonlyArray<string>;
44
- modifiers?: ReadonlyArray<KtClassModifier>;
45
- annotations?: ReadonlyArray<KtAnnotation>;
46
- initBlock?: ReadonlyArray<KtStmt>;
47
- visibility?: KtVisibility;
48
- runtime?: boolean;
49
- }): KtClass;
50
- //# sourceMappingURL=class.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,wFAAwF;IACxF,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,uEAAuE;IACvE,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAcV"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Top-level class. Default modifier is `final` (Kotlin's default — no
3
- * explicit keyword printed). Pass `["open"]` to allow subclassing.
4
- *
5
- * Property-style class members:
6
- * - props with `inPrimary: true` go into the primary constructor
7
- * parameter list as `val name: T` / `var name: T`.
8
- * - props without `inPrimary` are emitted in the body.
9
- *
10
- * @example
11
- * ```kotlin
12
- * // ktClass({ name: "ApiClient",
13
- * // properties: [ktProp({ name: "baseUrl", type: ktString, inPrimary: true })],
14
- * // funs: [...] })
15
- * // → public class ApiClient(public val baseUrl: String) { … }
16
- * ```
17
- */
18
- export function ktClass(opts) {
19
- return {
20
- kind: "class",
21
- name: opts.name,
22
- visibility: opts.visibility ?? "public",
23
- modifiers: opts.modifiers ?? [],
24
- annotations: opts.annotations ?? [],
25
- ctorParams: opts.ctorParams ?? [],
26
- superTypes: opts.superTypes ?? [],
27
- properties: opts.properties ?? [],
28
- funs: opts.funs ?? [],
29
- initBlock: opts.initBlock,
30
- runtime: opts.runtime,
31
- };
32
- }
33
- //# sourceMappingURL=class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/kt-dsl/decl/class.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,IAWvB;IACC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
@@ -1,36 +0,0 @@
1
- import type { KtFun } from "../fun.js";
2
- import type { KtVisibility } from "../visibility.js";
3
- import type { KtAnnotation, KtProp } from "./prop.js";
4
- export interface KtDataClass {
5
- kind: "dataClass";
6
- name: string;
7
- visibility: KtVisibility;
8
- annotations: ReadonlyArray<KtAnnotation>;
9
- superTypes: ReadonlyArray<string>;
10
- /** All props live in the primary constructor on a data class. */
11
- properties: ReadonlyArray<KtProp>;
12
- funs: ReadonlyArray<KtFun>;
13
- runtime?: boolean;
14
- }
15
- /**
16
- * Top-level data class — Kotlin idiom for the equivalent of Swift's
17
- * `Codable struct`. Properties are emitted in the primary constructor.
18
- *
19
- * @example
20
- * ```kotlin
21
- * // ktDataClass({ name: "User", annotations: [ktAnnotation("Serializable")],
22
- * // properties: [ktProp({ name: "id", type: ktString })] })
23
- * // → @Serializable
24
- * // public data class User(val id: String)
25
- * ```
26
- */
27
- export declare function ktDataClass(opts: {
28
- name: string;
29
- properties: ReadonlyArray<KtProp>;
30
- annotations?: ReadonlyArray<KtAnnotation>;
31
- superTypes?: ReadonlyArray<string>;
32
- visibility?: KtVisibility;
33
- funs?: ReadonlyArray<KtFun>;
34
- runtime?: boolean;
35
- }): KtDataClass;
36
- //# sourceMappingURL=dataClass.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataClass.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/dataClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,iEAAiE;IACjE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,WAAW,CAWd"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Top-level data class — Kotlin idiom for the equivalent of Swift's
3
- * `Codable struct`. Properties are emitted in the primary constructor.
4
- *
5
- * @example
6
- * ```kotlin
7
- * // ktDataClass({ name: "User", annotations: [ktAnnotation("Serializable")],
8
- * // properties: [ktProp({ name: "id", type: ktString })] })
9
- * // → @Serializable
10
- * // public data class User(val id: String)
11
- * ```
12
- */
13
- export function ktDataClass(opts) {
14
- return {
15
- kind: "dataClass",
16
- name: opts.name,
17
- visibility: opts.visibility ?? "public",
18
- annotations: opts.annotations ?? [],
19
- superTypes: opts.superTypes ?? [],
20
- properties: opts.properties,
21
- funs: opts.funs ?? [],
22
- runtime: opts.runtime,
23
- };
24
- }
25
- //# sourceMappingURL=dataClass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataClass.js","sourceRoot":"","sources":["../../../src/kt-dsl/decl/dataClass.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,IAQ3B;IACC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;QACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
@@ -1,60 +0,0 @@
1
- import type { KtFun } from "../fun.js";
2
- import type { KtVisibility } from "../visibility.js";
3
- import type { KtAnnotation, KtProp } from "./prop.js";
4
- export interface KtEnumEntry {
5
- name: string;
6
- /**
7
- * Pre-rendered argument list for the enum entry's primary
8
- * constructor call, or undefined for entries without args.
9
- * E.g., for `AVAILABLE("available")` pass `'"available"'`.
10
- */
11
- args?: string;
12
- annotations?: ReadonlyArray<KtAnnotation>;
13
- }
14
- export interface KtEnum {
15
- kind: "enum";
16
- name: string;
17
- visibility: KtVisibility;
18
- annotations: ReadonlyArray<KtAnnotation>;
19
- superTypes: ReadonlyArray<string>;
20
- /** Constructor-level props (e.g. `val raw: String`). */
21
- properties: ReadonlyArray<KtProp>;
22
- entries: ReadonlyArray<KtEnumEntry>;
23
- funs: ReadonlyArray<KtFun>;
24
- runtime?: boolean;
25
- }
26
- /**
27
- * One entry in an enum class.
28
- *
29
- * @example
30
- * ```kotlin
31
- * // ktEnumEntry("AVAILABLE", '"available"')
32
- * // → AVAILABLE("available")
33
- * ```
34
- */
35
- export declare const ktEnumEntry: (name: string, args?: string, annotations?: ReadonlyArray<KtAnnotation>) => KtEnumEntry;
36
- /**
37
- * Enum class. Pass `properties` for constructor-level fields (the
38
- * standard pattern for enum-with-raw-value, e.g. JSON serialization).
39
- *
40
- * @example
41
- * ```kotlin
42
- * // ktEnum({ name: "Status",
43
- * // properties: [ktProp({ name: "raw", type: ktString, inPrimary: true })],
44
- * // entries: [ktEnumEntry("AVAILABLE", '"available"')] })
45
- * // → public enum class Status(public val raw: String) {
46
- * // AVAILABLE("available"),
47
- * // }
48
- * ```
49
- */
50
- export declare function ktEnum(opts: {
51
- name: string;
52
- entries: ReadonlyArray<KtEnumEntry>;
53
- properties?: ReadonlyArray<KtProp>;
54
- annotations?: ReadonlyArray<KtAnnotation>;
55
- superTypes?: ReadonlyArray<string>;
56
- visibility?: KtVisibility;
57
- funs?: ReadonlyArray<KtFun>;
58
- runtime?: boolean;
59
- }): KtEnum;
60
- //# sourceMappingURL=enum.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/kt-dsl/decl/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,wDAAwD;IACxD,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,cAAc,aAAa,CAAC,YAAY,CAAC,KACxC,WAA4C,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAYT"}