@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,17 +1,27 @@
1
1
  import { HTTP_METHOD_LITERAL } from "@ir-kit/openapi";
2
- import { ktArg, ktCall, ktExprStmt, ktIdent, ktMember, ktNull, ktStr, ktVal, } from "../../kt-dsl/index.js";
2
+ import { ktArg, ktCall, ktExprStmt, ktIdent, ktIntLit, ktMember, ktNull, ktStr, ktVal, } from "../../ast/index.js";
3
+ /** Methods OkHttp rejects without a request body. */
4
+ const REQUIRES_BODY = new Set(["POST", "PUT", "PATCH"]);
3
5
  /**
4
- * Initial request builder + HTTP method. Body-bearing methods can re-call
5
- * `.method(verb, body)` later from the body builder; bodyless methods
6
- * (`GET` / `HEAD` / `DELETE` without body) keep the `null` body set here.
6
+ * Request builder for the URL. When the operation has a body, the body
7
+ * builder sets the method together with it; otherwise the method is set
8
+ * here, with an empty body for verbs OkHttp requires one for.
7
9
  *
8
10
  * val builder = Request.Builder().url(url).method("GET", null)
9
11
  */
10
- export function buildRequestStmts(method) {
12
+ export function buildRequestStmts(method, hasBody) {
13
+ const verb = HTTP_METHOD_LITERAL[method];
14
+ const withUrl = ktCall(ktMember(ktCall(ktIdent("Request.Builder"), []), "url"), [ktArg(ktIdent("url"))]);
15
+ if (hasBody)
16
+ return [ktVal("builder", withUrl)];
17
+ const emptyBody = REQUIRES_BODY.has(verb)
18
+ ? ktCall(ktMember(ktCall(ktIdent("ByteArray"), [ktArg(ktIntLit(0))]), "toRequestBody"), [])
19
+ : ktNull;
11
20
  return [
12
- ktVal("builder", ktCall(ktMember(ktCall(ktMember(ktCall(ktIdent("Request.Builder"), []), "url"), [
13
- ktArg(ktIdent("url")),
14
- ]), "method"), [ktArg(ktStr(HTTP_METHOD_LITERAL[method])), ktArg(ktNull)])),
21
+ ktVal("builder", ktCall(ktMember(withUrl, "method"), [
22
+ ktArg(ktStr(verb)),
23
+ ktArg(emptyBody),
24
+ ])),
15
25
  ];
16
26
  }
17
27
  /** Convenience for the body builder to re-set the method when a
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ir/impl/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAEL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,uBAAuB,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,OAAO;QACL,KAAK,CACH,SAAS,EACT,MAAM,CACJ,QAAQ,CACN,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE;YAC9D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACtB,CAAC,EACF,QAAQ,CACT,EACD,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAC3D,CACF;KACF,CAAC;AACJ,CAAC;AAED;+BAC+B;AAC/B,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,QAAgD;IAEhD,OAAO,UAAU,CACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE;QAC7C,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC;KAChB,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/ir/impl/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAEL,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,qDAAqD;AACrD,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,OAAgB;IAEhB,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CACpB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EACvD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACxB,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,MAAM,CACJ,QAAQ,CACN,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClD,eAAe,CAChB,EACD,EAAE,CACH;QACH,CAAC,CAAC,MAAM,CAAC;IACX,OAAO;QACL,KAAK,CACH,SAAS,EACT,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YAClC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,CAAC,SAAS,CAAC;SACjB,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAED;+BAC+B;AAC/B,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,QAA6C;IAE7C,OAAO,UAAU,CACf,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE;QAC7C,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,CAAC;KAChB,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type KtExpr, type KtType } from "../../kt-dsl/index.js";
1
+ import { type KtExpr, type KtType } from "../../ast/index.js";
2
2
  /**
3
3
  * Build the kotlinx-serialization `KSerializer<T>` expression for a
4
4
  * `KtType`. Used wherever the impl needs to feed a serializer to
@@ -16,5 +16,7 @@ import { type KtExpr, type KtType } from "../../kt-dsl/index.js";
16
16
  * The orchestrator tracks which builtin imports are needed and emits
17
17
  * the right `import kotlinx.serialization.builtins.*` line.
18
18
  */
19
- export declare function serializerFor(t: KtType): KtExpr;
19
+ /** Type aliases by name, so `X.serializer()` is only emitted for real classes. */
20
+ export type SerializerAliases = ReadonlyMap<string, KtType>;
21
+ export declare function serializerFor(t: KtType, aliases?: SerializerAliases): KtExpr;
20
22
  //# sourceMappingURL=serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/ir/impl/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,MAAM,EAKZ,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB/C"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/ir/impl/serializer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,MAAM,EAOZ,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;;;;;;;;;GAgBG;AACH,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5D,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,iBAA6B,GACrC,MAAM,CAsBR"}
@@ -1,62 +1,43 @@
1
- import { ktArg, ktCall, ktIdent, ktMember, } from "../../kt-dsl/index.js";
2
- /**
3
- * Build the kotlinx-serialization `KSerializer<T>` expression for a
4
- * `KtType`. Used wherever the impl needs to feed a serializer to
5
- * `Json.encodeToString(...)` / `client.execute(..., deserializer)` /
6
- * `Json.decodeFromString(...)`.
7
- *
8
- * - `String`/`Int`/`Long`/… → `String.serializer()` etc. (built-in shortcuts)
9
- * - `List<T>` → `ListSerializer(<inner>)`
10
- * - `Map<K, V>` → `MapSerializer(<keySer>, <valSer>)`
11
- * - nullable `T?` → `<inner>.nullable`
12
- * - user type `T` → `T.serializer()` (always present on
13
- * `@Serializable` data classes / enums)
14
- * - `Any` → `JsonElement.serializer()` (best-effort)
15
- *
16
- * The orchestrator tracks which builtin imports are needed and emits
17
- * the right `import kotlinx.serialization.builtins.*` line.
18
- */
19
- export function serializerFor(t) {
20
- switch (t.kind) {
21
- case "primitive":
22
- return primitiveSerializer(t.name);
23
- case "nullable":
24
- return ktMember(serializerFor(t.inner), "nullable");
25
- case "list":
26
- return ktCall(ktIdent("ListSerializer"), [
27
- ktArg(serializerFor(t.element)),
28
- ]);
29
- case "map":
30
- return ktCall(ktIdent("MapSerializer"), [
31
- ktArg(serializerFor(t.key)),
32
- ktArg(serializerFor(t.value)),
33
- ]);
34
- case "ref":
35
- return ktCall(ktMember(ktIdent(t.name), "serializer"), []);
36
- case "func":
37
- // No good serializer for closure types; falls back to JsonElement.
38
- return ktCall(ktMember(ktIdent("JsonElement"), "serializer"), []);
39
- }
40
- }
41
- function primitiveSerializer(name) {
42
- switch (name) {
43
- case "String":
44
- case "Int":
45
- case "Long":
46
- case "Short":
47
- case "Byte":
48
- case "Double":
49
- case "Float":
50
- case "Boolean":
51
- return ktCall(ktMember(ktIdent(name), "serializer"), []);
52
- case "ByteArray":
53
- // ByteArraySerializer is a top-level value, not a fun.
54
- return ktIdent("ByteArraySerializer()");
55
- case "Unit":
56
- case "Any":
57
- case "Nothing":
58
- default:
59
- return ktCall(ktMember(ktIdent("JsonElement"), "serializer"), []);
60
- }
1
+ import { kt } from "@ir-kit/compiler-kotlin";
2
+ import { ktArg, ktCall, ktIdent, ktMember, typeArgs, typeName, } from "../../ast/index.js";
3
+ const K = kt.KotlinNodeKind;
4
+ export function serializerFor(t, aliases = new Map()) {
5
+ if (t.kind === K.NullableType)
6
+ return ktMember(serializerFor(t.type, aliases), "nullable");
7
+ const name = typeName(t);
8
+ if (name === undefined)
9
+ return jsonElementSerializer();
10
+ const [first, second] = typeArgs(t);
11
+ if (name === "List" && first)
12
+ return ktCall(ktIdent("ListSerializer"), [
13
+ ktArg(serializerFor(first, aliases)),
14
+ ]);
15
+ if (name === "Map" && first && second)
16
+ return ktCall(ktIdent("MapSerializer"), [
17
+ ktArg(serializerFor(first, aliases)),
18
+ ktArg(serializerFor(second, aliases)),
19
+ ]);
20
+ if (BUILTIN_SERIALIZERS.has(name))
21
+ return ktCall(ktMember(ktIdent(name), "serializer"), []);
22
+ if (name === "ByteArray")
23
+ return ktCall(ktIdent("ByteArraySerializer"), []);
24
+ if (OPAQUE.has(name))
25
+ return jsonElementSerializer();
26
+ const target = aliases.get(name);
27
+ if (target)
28
+ return serializerFor(target, aliases);
29
+ return ktCall(ktMember(ktIdent(name), "serializer"), []);
61
30
  }
31
+ const BUILTIN_SERIALIZERS = new Set([
32
+ "String",
33
+ "Int",
34
+ "Long",
35
+ "Short",
36
+ "Byte",
37
+ "Double",
38
+ "Float",
39
+ "Boolean",
40
+ ]);
41
+ const OPAQUE = new Set(["Unit", "Any", "Nothing"]);
42
+ const jsonElementSerializer = () => ktCall(ktMember(ktIdent("JsonElement"), "serializer"), []);
62
43
  //# sourceMappingURL=serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/ir/impl/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACvC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAChC,CAAC,CAAC;QACL,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACtC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9B,CAAC,CAAC;QACL,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM;YACT,mEAAmE;YACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,KAAK,WAAW;YACd,uDAAuD;YACvD,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf;YACE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/ir/impl/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAE7C,OAAO,EAGL,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;AAsB5B,MAAM,UAAU,aAAa,CAC3B,CAAS,EACT,UAA6B,IAAI,GAAG,EAAE;IAEtC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,YAAY;QAC3B,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,qBAAqB,EAAE,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACvC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACrC,CAAC,CAAC;IACL,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI,MAAM;QACnC,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACtC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACtC,CAAC,CAAC;IACL,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,qBAAqB,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM;QAAE,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,MAAM,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAExE,MAAM,qBAAqB,GAAG,GAAW,EAAE,CACzC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type LocatedParam } from "@ir-kit/openapi";
2
- import { type KtStmt } from "../../kt-dsl/index.js";
2
+ import { type KtStmt } from "../../ast/index.js";
3
3
  /**
4
4
  * Statements that build an `HttpUrl` from `baseUrl`, the path template,
5
5
  * and query parameters. The result is bound to `url`.
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/ir/impl/url.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,MAAM,EAWZ,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GACnC,aAAa,CAAC,MAAM,CAAC,CAuBvB"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/ir/impl/url.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,MAAM,EAWZ,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GACnC,aAAa,CAAC,MAAM,CAAC,CAuBvB"}
@@ -1,6 +1,6 @@
1
1
  import { paramsAt, parseTemplatedSegment, splitPathSegments, } from "@ir-kit/openapi";
2
- import { ktArg, ktBoolLit, ktCall, ktExprStmt, ktIdent, ktInterp, ktMember, ktStr, ktVal, ktVar, } from "../../kt-dsl/index.js";
3
- import { paramIdent } from "../identifiers.js";
2
+ import { ktArg, ktBoolLit, ktCall, ktExprStmt, ktIdent, ktInterp, ktMember, ktStr, ktVal, ktVar, } from "../../ast/index.js";
3
+ import { operationParamIdent } from "../identifiers.js";
4
4
  /**
5
5
  * Statements that build an `HttpUrl` from `baseUrl`, the path template,
6
6
  * and query parameters. The result is bound to `url`.
@@ -34,7 +34,7 @@ function segmentExpr(seg, pathParams) {
34
34
  const parts = parseTemplatedSegment(seg, pathParams).map((p) => p.kind === "literal"
35
35
  ? p.text
36
36
  : {
37
- expr: ktIdent(paramIdent(p.param ? p.param.name : p.name)),
37
+ expr: ktIdent(operationParamIdent(p.param ? p.param.name : p.name)),
38
38
  isString: p.param?.schema.type === "string",
39
39
  });
40
40
  if (parts.length === 0)
@@ -50,7 +50,7 @@ function segmentExpr(seg, pathParams) {
50
50
  return ktInterp(parts.map((p) => (typeof p === "string" ? p : p.expr)));
51
51
  }
52
52
  function buildQueryStmt(p) {
53
- const id = paramIdent(p.name);
53
+ const id = operationParamIdent(p.name);
54
54
  const isArray = p.schema.type === "array";
55
55
  const helper = isArray ? "addArray" : "addScalar";
56
56
  const args = [
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/ir/impl/url.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,EACL,SAAS,EACT,MAAM,EACN,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,GACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,OAAoC;IAEpC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAa;QACtB,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;KAC5E,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CACR,UAAU,CACR,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE;YACxD,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;SACpC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CACnE,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAOD,SAAS,WAAW,CAClB,GAAW,EACX,UAA6C;IAE7C,MAAM,KAAK,GAA8B,qBAAqB,CAC5D,GAAG,EACH,UAAU,CACX,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,CAAC,IAAI;QACR,CAAC,CAAC;YACE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ;SAC5C,CACN,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAc,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,CAAqB;IAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAClD,MAAM,IAAI,GAAgB;QACxB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACnB,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,CAAC,cAAc,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAClE,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/ir/impl/url.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export type { OperationsOptions, OperationsResult } from "./operations.js";
2
- export { operationsToDecls } from "./operations.js";
2
+ export { aliasesOf, operationsToDecls } from "./operations.js";
3
3
  export { schemasToDecls } from "./schema.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ir/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ir/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
package/dist/ir/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { operationsToDecls } from "./operations.js";
1
+ export { aliasesOf, operationsToDecls } from "./operations.js";
2
2
  export { schemasToDecls } from "./schema.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ir/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ir/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IR } from "@hey-api/shared";
2
- import { type KtFunParam } from "../../kt-dsl/index.js";
2
+ import { type KtFunParam } from "../../ast/index.js";
3
3
  import type { TypeCtx } from "../type/index.js";
4
4
  /**
5
5
  * Resolve an `IR.BodyObject` into function parameters for both the
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAO1C,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,GAAG,EAAE,OAAO,GACX,aAAa,CAAC,UAAU,CAAC,CAoB3B"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAO1C,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,GAAG,EAAE,OAAO,GACX,aAAa,CAAC,UAAU,CAAC,CAoB3B"}
@@ -1,6 +1,6 @@
1
1
  import { classifyBody, iterateObjectProperties, } from "@ir-kit/openapi";
2
- import { ktByteArray, ktFunParam, ktNullable, } from "../../kt-dsl/index.js";
3
- import { paramIdent } from "../identifiers.js";
2
+ import { ktByteArray, ktFunParam, ktNullable, } from "../../ast/index.js";
3
+ import { operationParamIdent } from "../identifiers.js";
4
4
  import { schemaToType } from "../type/index.js";
5
5
  /**
6
6
  * Resolve an `IR.BodyObject` into function parameters for both the
@@ -39,7 +39,7 @@ function objectBodyToFlatParams(schema, ctx, binaryAsByteArray) {
39
39
  ? ktByteArray
40
40
  : schemaToType(propSchema, { ...ctx, propPath: ["body", propName] });
41
41
  return ktFunParam({
42
- name: paramIdent(propName),
42
+ name: operationParamIdent(propName),
43
43
  type: required ? t : ktNullable(t),
44
44
  default: required ? undefined : "null",
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/ir/operation/body.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,GAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,YAAY;YACf,OAAO;gBACL,UAAU,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC3D,CAAC;aACH,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC3E,KAAK,wBAAwB;YAC3B,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,QAAQ;YACX,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAc,EACd,GAAY,EACZ,iBAA0B;IAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CACpD,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,MAAM,CAAC,GACL,iBAAiB,IAAI,QAAQ;YAC3B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC1B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACvC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/ir/operation/body.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,GAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,YAAY;YACf,OAAO;gBACL,UAAU,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC3D,CAAC;aACH,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC3E,KAAK,wBAAwB;YAC3B,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,QAAQ;YACX,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAc,EACd,GAAY,EACZ,iBAA0B;IAE1B,OAAO,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CACpD,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChE,MAAM,CAAC,GACL,iBAAiB,IAAI,QAAQ;YAC3B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC;YACnC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACvC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { IR } from "@hey-api/shared";
2
2
  import { type LocatedParam } from "@ir-kit/openapi";
3
- import { type KtFunParam } from "../../kt-dsl/index.js";
3
+ import { type KtFunParam } from "../../ast/index.js";
4
4
  import type { TypeCtx } from "../type/index.js";
5
5
  /**
6
6
  * Produce the function parameters for path/query/header parameters in
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAEhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,GAAG,EAAE,OAAO,GACX;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAiBnD"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,GAAG,EAAE,OAAO,GACX;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,CAiBnD"}
@@ -1,6 +1,6 @@
1
1
  import { collectLocatedParams, fromHeyApi, } from "@ir-kit/openapi";
2
- import { ktFunParam, ktNullable } from "../../kt-dsl/index.js";
3
- import { paramIdent } from "../identifiers.js";
2
+ import { ktFunParam, ktNullable } from "../../ast/index.js";
3
+ import { operationParamIdent } from "../identifiers.js";
4
4
  import { schemaToType } from "../type/index.js";
5
5
  /**
6
6
  * Produce the function parameters for path/query/header parameters in
@@ -18,7 +18,7 @@ export function buildNonBodyParams(op, ctx) {
18
18
  propPath: ["param", p.name],
19
19
  });
20
20
  return ktFunParam({
21
- name: paramIdent(p.name),
21
+ name: operationParamIdent(p.name),
22
22
  type: p.required ? t : ktNullable(t),
23
23
  default: p.required ? undefined : "null",
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/ir/operation/params.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,UAAU,GAEX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAmB,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAsB,EACtB,GAAY;IAEZ,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YAC3C,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/ir/operation/params.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,UAAU,GAEX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAmB,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAsB,EACtB,GAAY;IAEZ,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QAC1C,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YAC3C,GAAG,GAAG;YACN,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;YAChB,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IR } from "@hey-api/shared";
2
- import { type KtType } from "../../kt-dsl/index.js";
2
+ import { type KtType } from "../../ast/index.js";
3
3
  import type { TypeCtx } from "../type/index.js";
4
4
  import type { ResponseCase } from "./signature.js";
5
5
  export interface ResolvedReturn {
@@ -11,6 +11,8 @@ export interface ResolvedReturn {
11
11
  * dispatches on `response.code`.
12
12
  */
13
13
  cases: ReadonlyArray<ResponseCase>;
14
+ /** Name of the emitted sealed class, for multi-2xx ops. */
15
+ sealedName?: string;
14
16
  }
15
17
  export declare function returnTypeFor(op: IR.OperationObject, ctx: TypeCtx): ResolvedReturn;
16
18
  //# sourceMappingURL=response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACpC;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,GAAG,EAAE,OAAO,GACX,cAAc,CA2ChB"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EACL,KAAK,MAAM,EAMZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACnC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,GAAG,EAAE,OAAO,GACX,cAAc,CA6ChB"}
@@ -1,6 +1,6 @@
1
1
  import { synthName } from "@ir-kit/codegen-core";
2
2
  import { classifyReturnShape } from "@ir-kit/openapi";
3
- import { ktProp, ktRef, ktSealedClass, ktSealedSubclass, ktUnit, } from "../../kt-dsl/index.js";
3
+ import { ktProp, ktRef, ktSealedClass, ktSealedSubclass, ktUnit, } from "../../ast/index.js";
4
4
  import { schemaToType } from "../type/index.js";
5
5
  export function returnTypeFor(op, ctx) {
6
6
  const shape = classifyReturnShape(op);
@@ -10,7 +10,7 @@ export function returnTypeFor(op, ctx) {
10
10
  case "single":
11
11
  return { type: schemaToType(shape.schema, ctx), cases: [] };
12
12
  case "multi": {
13
- const sealedName = synthName(ctx.ownerName, ["response"]);
13
+ const sealedName = ctx.names.claim(`synth:${ctx.ownerName}/response`, synthName(ctx.ownerName, ["response"]));
14
14
  const cases = shape.cases.map(({ statusCode, schema }) => {
15
15
  const caseName = `Status${statusCode}`;
16
16
  if (!schema)
@@ -31,13 +31,12 @@ export function returnTypeFor(op, ctx) {
31
31
  ktProp({
32
32
  name: "value",
33
33
  type: c.payloadType,
34
- inPrimary: true,
35
34
  }),
36
35
  ],
37
36
  })
38
37
  : ktSealedSubclass({ variant: "object", name: c.caseName })),
39
38
  }));
40
- return { type: ktRef(sealedName), cases };
39
+ return { type: ktRef(sealedName), cases, sealedName };
41
40
  }
42
41
  }
43
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/ir/operation/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAEL,MAAM,EACN,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,MAAM,GACP,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAchD,MAAM,UAAU,aAAa,CAC3B,EAAsB,EACtB,GAAY;IAEZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9D,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAmB,KAAK,CAAC,KAAK,CAAC,GAAG,CAC3C,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzB,MAAM,QAAQ,GAAG,SAAS,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;oBACvC,GAAG,GAAG;oBACN,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;iBACnC,CAAC,CAAC;gBACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC/C,CAAC,CACF,CAAC;YACF,GAAG,CAAC,IAAI,CACN,aAAa,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,gBAAgB,CAAC;wBACf,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;wBAChB,UAAU,EAAE;4BACV,MAAM,CAAC;gCACL,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,CAAC,CAAC,WAAW;gCACnB,SAAS,EAAE,IAAI;6BAChB,CAAC;yBACH;qBACF,CAAC;oBACJ,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC9D;aACF,CAAC,CACH,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/ir/operation/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAEL,MAAM,EACN,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,MAAM,GACP,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBhD,MAAM,UAAU,aAAa,CAC3B,EAAsB,EACtB,GAAY;IAEZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9D,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAChC,SAAS,GAAG,CAAC,SAAS,WAAW,EACjC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CACvC,CAAC;YACF,MAAM,KAAK,GAAmB,KAAK,CAAC,KAAK,CAAC,GAAG,CAC3C,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzB,MAAM,QAAQ,GAAG,SAAS,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE;oBACvC,GAAG,GAAG;oBACN,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;iBACnC,CAAC,CAAC;gBACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC/C,CAAC,CACF,CAAC;YACF,GAAG,CAAC,IAAI,CACN,aAAa,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,gBAAgB,CAAC;wBACf,OAAO,EAAE,OAAO;wBAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;wBAChB,UAAU,EAAE;4BACV,MAAM,CAAC;gCACL,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,CAAC,CAAC,WAAW;6BACpB,CAAC;yBACH;qBACF,CAAC;oBACJ,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC9D;aACF,CAAC,CACH,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { IR } from "@hey-api/shared";
2
+ import type { Namespace } from "@ir-kit/codegen-core";
2
3
  import type { HttpMethod } from "@ir-kit/openapi";
3
4
  import { type LocatedParam } from "@ir-kit/openapi";
4
- import { type KtFunParam, type KtType } from "../../kt-dsl/index.js";
5
+ import { type KtFunParam, type KtType } from "../../ast/index.js";
5
6
  import type { TypeCtx } from "../type/index.js";
6
7
  export interface OperationSignature {
7
8
  name: string;
@@ -15,6 +16,7 @@ export interface OperationSignature {
15
16
  pathStr: string;
16
17
  securitySchemeNames: ReadonlyArray<string>;
17
18
  responseCases: ReadonlyArray<ResponseCase>;
19
+ sealedName?: string;
18
20
  }
19
21
  /**
20
22
  * One arm of a multi-2xx sum-type return. Populated by `returnTypeFor`
@@ -32,5 +34,5 @@ export interface ResponseCase {
32
34
  * One source of truth for `params + returnType + doc` so the interface
33
35
  * declaration and the impl class share the same signature shape.
34
36
  */
35
- export declare function operationSignature(op: IR.OperationObject, method: HttpMethod, pathStr: string, emit: TypeCtx["emit"], schemeNames?: ReadonlyArray<string>): OperationSignature;
37
+ export declare function operationSignature(op: IR.OperationObject, method: HttpMethod, pathStr: string, emit: TypeCtx["emit"], schemeNames: ReadonlyArray<string>, names: Namespace): OperationSignature;
36
38
  //# sourceMappingURL=signature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EAGZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,WAAW,GAAE,aAAa,CAAC,MAAM,CAAM,GACtC,kBAAkB,CA0BpB"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/ir/operation/signature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,EAAE,CAAC,eAAe,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAClC,KAAK,EAAE,SAAS,GACf,kBAAkB,CA+BpB"}
@@ -1,6 +1,6 @@
1
1
  import { camel, pascal } from "@ir-kit/codegen-core";
2
2
  import { deriveBaseName, operationDocLine, } from "@ir-kit/openapi";
3
- import { ktFunParam, ktRef, } from "../../kt-dsl/index.js";
3
+ import { ktFunParam, ktRef, } from "../../ast/index.js";
4
4
  import { buildBodyParams } from "./body.js";
5
5
  import { buildNonBodyParams } from "./params.js";
6
6
  import { returnTypeFor } from "./response.js";
@@ -8,14 +8,14 @@ import { returnTypeFor } from "./response.js";
8
8
  * One source of truth for `params + returnType + doc` so the interface
9
9
  * declaration and the impl class share the same signature shape.
10
10
  */
11
- export function operationSignature(op, method, pathStr, emit, schemeNames = []) {
11
+ export function operationSignature(op, method, pathStr, emit, schemeNames, names) {
12
12
  const name = deriveBaseName(op, method, pathStr);
13
13
  const ownerName = pascal(name);
14
- const ctx = { emit, ownerName, propPath: [] };
14
+ const ctx = { emit, names, ownerName, propPath: [] };
15
15
  const { params: nonBody, located } = buildNonBodyParams(op, ctx);
16
16
  const bodyParams = op.body ? buildBodyParams(op.body, ctx) : [];
17
17
  const params = [...nonBody, ...bodyParams, optionsParam()];
18
- const { type: returnType, cases: responseCases } = returnTypeFor(op, {
18
+ const { type: returnType, cases: responseCases, sealedName, } = returnTypeFor(op, {
19
19
  ...ctx,
20
20
  propPath: ["response"],
21
21
  });
@@ -24,6 +24,7 @@ export function operationSignature(op, method, pathStr, emit, schemeNames = [])
24
24
  ownerName,
25
25
  params,
26
26
  returnType,
27
+ sealedName,
27
28
  doc: operationDocLine(method, pathStr),
28
29
  locatedParams: located,
29
30
  op,
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/ir/operation/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,cAAc,EAEd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,UAAU,EACV,KAAK,GACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA6B9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAsB,EACtB,MAAkB,EAClB,OAAe,EACf,IAAqB,EACrB,cAAqC,EAAE;IAEvC,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEvD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE;QACnE,GAAG,GAAG;QACN,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACjB,SAAS;QACT,MAAM;QACN,UAAU;QACV,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;QACtC,aAAa,EAAE,OAAO;QACtB,EAAE;QACF,MAAM;QACN,OAAO;QACP,mBAAmB,EAAE,WAAW;QAChC,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,YAAY;IACnB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/ir/operation/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,cAAc,EAEd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,UAAU,EACV,KAAK,GACN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA8B9C;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAsB,EACtB,MAAkB,EAClB,OAAe,EACf,IAAqB,EACrB,WAAkC,EAClC,KAAgB;IAEhB,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAE9D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3D,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,aAAa,EACpB,UAAU,GACX,GAAG,aAAa,CAAC,EAAE,EAAE;QACpB,GAAG,GAAG;QACN,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACjB,SAAS;QACT,MAAM;QACN,UAAU;QACV,UAAU;QACV,GAAG,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;QACtC,aAAa,EAAE,OAAO;QACtB,EAAE;QACF,MAAM;QACN,OAAO;QACP,mBAAmB,EAAE,WAAW;QAChC,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,YAAY;IACnB,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { IR } from "@hey-api/shared";
2
- import { type KtDecl } from "../kt-dsl/index.js";
2
+ import { type Namespace } from "@ir-kit/codegen-core";
3
+ import { type KtDecl, type KtType } from "../ast/index.js";
3
4
  export interface OperationsOptions {
4
5
  /** Default: `"Default"`. */
5
6
  defaultTag?: string;
@@ -21,6 +22,10 @@ export interface OperationsOptions {
21
22
  * here. Empty / missing entries → no auto-auth wiring for that op.
22
23
  */
23
24
  securitySchemeNames?: ReadonlyMap<string, ReadonlyArray<string>>;
25
+ /** Shared type-name owner; pass the one used for `schemasToDecls`. */
26
+ names?: Namespace;
27
+ /** Type aliases declared outside these operations (component schemas). */
28
+ aliases?: ReadonlyMap<string, KtType>;
24
29
  }
25
30
  export interface OperationsResult {
26
31
  decls: KtDecl[];
@@ -40,4 +45,5 @@ export interface OperationsResult {
40
45
  * in the same output array.
41
46
  */
42
47
  export declare function operationsToDecls(paths: IR.PathsObject | undefined, opts?: OperationsOptions): OperationsResult;
48
+ export declare function aliasesOf(decls: ReadonlyArray<KtDecl>): Array<[string, KtType]>;
43
49
  //# sourceMappingURL=operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EACL,KAAK,MAAM,EAaZ,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;wBAEoB;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB;;mEAE+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,GAAG,SAAS,EACjC,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CAqDlB"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/ir/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAEL,KAAK,MAAM,EAEX,KAAK,MAAM,EAWZ,MAAM,iBAAiB,CAAC;AAQzB,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;wBAEoB;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB;;mEAE+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,GAAG,SAAS,EACjC,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CAkDlB;AAiFD,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIzB"}