@redocly/client-generator 0.3.8 → 0.4.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 (617) hide show
  1. package/README.md +32 -54
  2. package/eject-assets/AGENTS.md +137 -0
  3. package/eject-assets/generators/cli/docs.ts +224 -0
  4. package/eject-assets/generators/cli/engine-source.ts +21 -0
  5. package/eject-assets/generators/cli/index.ts +90 -0
  6. package/eject-assets/generators/cli/render.ts +348 -0
  7. package/eject-assets/generators/go/client.ts +57 -0
  8. package/eject-assets/generators/go/descriptor.ts +41 -0
  9. package/eject-assets/generators/go/index.ts +336 -0
  10. package/eject-assets/generators/go/models.ts +179 -0
  11. package/eject-assets/generators/go/naming.ts +49 -0
  12. package/eject-assets/generators/go/operations.ts +296 -0
  13. package/eject-assets/generators/go/pagination.ts +194 -0
  14. package/eject-assets/generators/go/types.ts +60 -0
  15. package/eject-assets/generators/mock/faker.ts +214 -0
  16. package/eject-assets/generators/mock/index.ts +35 -0
  17. package/eject-assets/generators/mock/render.ts +282 -0
  18. package/eject-assets/generators/mock/sample.ts +316 -0
  19. package/eject-assets/generators/mock/values.ts +63 -0
  20. package/eject-assets/generators/php/client.ts +63 -0
  21. package/eject-assets/generators/php/descriptor.ts +58 -0
  22. package/eject-assets/generators/php/index.ts +237 -0
  23. package/eject-assets/generators/php/models.ts +275 -0
  24. package/eject-assets/generators/php/naming.ts +51 -0
  25. package/eject-assets/generators/php/operations.ts +232 -0
  26. package/eject-assets/generators/php/pagination.ts +133 -0
  27. package/eject-assets/generators/php/types.ts +148 -0
  28. package/eject-assets/generators/python/client.ts +123 -0
  29. package/eject-assets/generators/python/descriptor.ts +52 -0
  30. package/eject-assets/generators/python/index.ts +251 -0
  31. package/eject-assets/generators/python/models.ts +242 -0
  32. package/eject-assets/generators/python/naming.ts +46 -0
  33. package/eject-assets/generators/python/operations.ts +147 -0
  34. package/eject-assets/generators/python/pagination.ts +128 -0
  35. package/eject-assets/generators/python/types.ts +54 -0
  36. package/eject-assets/generators/swr/index.ts +37 -0
  37. package/eject-assets/generators/swr/render.ts +78 -0
  38. package/eject-assets/generators/tanstack-query/index.ts +48 -0
  39. package/eject-assets/generators/tanstack-query/render.ts +346 -0
  40. package/eject-assets/generators/transformers/index.ts +46 -0
  41. package/eject-assets/generators/transformers/render.ts +506 -0
  42. package/eject-assets/generators/typescript/banner.ts +35 -0
  43. package/eject-assets/generators/typescript/client.ts +254 -0
  44. package/eject-assets/generators/typescript/descriptor.ts +137 -0
  45. package/eject-assets/generators/typescript/index.ts +101 -0
  46. package/eject-assets/generators/typescript/inline-runtime.ts +135 -0
  47. package/eject-assets/generators/typescript/operation-signature.ts +62 -0
  48. package/eject-assets/generators/typescript/operation-types.ts +17 -0
  49. package/eject-assets/generators/typescript/operations.ts +524 -0
  50. package/eject-assets/generators/typescript/response-headers.ts +74 -0
  51. package/eject-assets/generators/typescript/type-guards.ts +159 -0
  52. package/eject-assets/generators/typescript/types.ts +172 -0
  53. package/eject-assets/generators/zod/index.ts +32 -0
  54. package/eject-assets/generators/zod/schemas.ts +456 -0
  55. package/eject-assets/skills/cli-generator/SKILL.md +121 -0
  56. package/eject-assets/skills/client-generators/SKILL.md +142 -0
  57. package/eject-assets/skills/go-generator/SKILL.md +96 -0
  58. package/eject-assets/skills/mock-generator/SKILL.md +50 -0
  59. package/eject-assets/skills/php-generator/SKILL.md +112 -0
  60. package/eject-assets/skills/python-generator/SKILL.md +110 -0
  61. package/eject-assets/skills/swr-generator/SKILL.md +50 -0
  62. package/eject-assets/skills/tanstack-query-generator/SKILL.md +55 -0
  63. package/eject-assets/skills/transformers-generator/SKILL.md +47 -0
  64. package/eject-assets/skills/typescript-generator/SKILL.md +95 -0
  65. package/eject-assets/skills/zod-generator/SKILL.md +54 -0
  66. package/lib/authoring/index.d.ts +11 -0
  67. package/lib/authoring/index.d.ts.map +1 -0
  68. package/lib/authoring/index.js +42 -0
  69. package/lib/authoring/index.js.map +1 -0
  70. package/lib/authoring/naming.d.ts +34 -0
  71. package/lib/authoring/naming.d.ts.map +1 -0
  72. package/lib/authoring/naming.js +104 -0
  73. package/lib/authoring/naming.js.map +1 -0
  74. package/lib/authoring/operation.d.ts +47 -0
  75. package/lib/authoring/operation.d.ts.map +1 -0
  76. package/lib/authoring/operation.js +86 -0
  77. package/lib/authoring/operation.js.map +1 -0
  78. package/lib/authoring/options.d.ts +9 -0
  79. package/lib/authoring/options.d.ts.map +1 -0
  80. package/lib/authoring/options.js +5 -0
  81. package/lib/authoring/options.js.map +1 -0
  82. package/lib/authoring/pagination.d.ts +19 -0
  83. package/lib/authoring/pagination.d.ts.map +1 -0
  84. package/lib/authoring/pagination.js +45 -0
  85. package/lib/authoring/pagination.js.map +1 -0
  86. package/lib/authoring/printer.d.ts +16 -0
  87. package/lib/authoring/printer.d.ts.map +1 -0
  88. package/lib/authoring/printer.js +36 -0
  89. package/lib/authoring/printer.js.map +1 -0
  90. package/lib/authoring/reference-page.d.ts +31 -0
  91. package/lib/authoring/reference-page.d.ts.map +1 -0
  92. package/lib/authoring/reference-page.js +160 -0
  93. package/lib/authoring/reference-page.js.map +1 -0
  94. package/lib/authoring/schema.d.ts +51 -0
  95. package/lib/authoring/schema.d.ts.map +1 -0
  96. package/lib/authoring/schema.js +190 -0
  97. package/lib/authoring/schema.js.map +1 -0
  98. package/lib/cli-contract.d.ts +126 -0
  99. package/lib/cli-contract.d.ts.map +1 -0
  100. package/lib/cli-contract.js +25 -0
  101. package/lib/cli-contract.js.map +1 -0
  102. package/lib/{emitters/wrapper-support.d.ts → contracts/typescript.d.ts} +13 -24
  103. package/lib/contracts/typescript.d.ts.map +1 -0
  104. package/lib/contracts/typescript.js +87 -0
  105. package/lib/contracts/typescript.js.map +1 -0
  106. package/lib/generate.d.ts +10 -10
  107. package/lib/generate.d.ts.map +1 -1
  108. package/lib/generate.js +25 -106
  109. package/lib/generate.js.map +1 -1
  110. package/lib/generators/cli/docs.d.ts +19 -0
  111. package/lib/generators/cli/docs.d.ts.map +1 -0
  112. package/lib/generators/cli/docs.js +187 -0
  113. package/lib/generators/cli/docs.js.map +1 -0
  114. package/lib/generators/cli/engine-source.d.ts +5 -0
  115. package/lib/generators/cli/engine-source.d.ts.map +1 -0
  116. package/lib/generators/cli/engine-source.js +12 -0
  117. package/lib/generators/cli/engine-source.js.map +1 -0
  118. package/lib/generators/cli/index.d.ts +18 -0
  119. package/lib/generators/cli/index.d.ts.map +1 -0
  120. package/lib/generators/cli/index.js +67 -0
  121. package/lib/generators/cli/index.js.map +1 -0
  122. package/lib/generators/cli/render.d.ts +39 -0
  123. package/lib/generators/cli/render.d.ts.map +1 -0
  124. package/lib/generators/cli/render.js +281 -0
  125. package/lib/generators/cli/render.js.map +1 -0
  126. package/lib/generators/cli/runtime/cli.d.ts +42 -0
  127. package/lib/generators/cli/runtime/cli.d.ts.map +1 -0
  128. package/lib/generators/cli/runtime/cli.js +582 -0
  129. package/lib/generators/cli/runtime/cli.js.map +1 -0
  130. package/lib/generators/compatibility.d.ts +10 -0
  131. package/lib/generators/compatibility.d.ts.map +1 -0
  132. package/lib/generators/compatibility.js +45 -0
  133. package/lib/generators/compatibility.js.map +1 -0
  134. package/lib/generators/go/client.d.ts +5 -0
  135. package/lib/generators/go/client.d.ts.map +1 -0
  136. package/lib/generators/go/client.js +34 -0
  137. package/lib/generators/go/client.js.map +1 -0
  138. package/lib/generators/go/descriptor.d.ts +6 -0
  139. package/lib/generators/go/descriptor.d.ts.map +1 -0
  140. package/lib/generators/go/descriptor.js +26 -0
  141. package/lib/generators/go/descriptor.js.map +1 -0
  142. package/lib/generators/go/index.d.ts +14 -0
  143. package/lib/generators/go/index.d.ts.map +1 -0
  144. package/lib/generators/go/index.js +240 -0
  145. package/lib/generators/go/index.js.map +1 -0
  146. package/lib/generators/go/models.d.ts +4 -0
  147. package/lib/generators/go/models.d.ts.map +1 -0
  148. package/lib/generators/go/models.js +125 -0
  149. package/lib/generators/go/models.js.map +1 -0
  150. package/lib/generators/go/naming.d.ts +15 -0
  151. package/lib/generators/go/naming.d.ts.map +1 -0
  152. package/lib/generators/go/naming.js +36 -0
  153. package/lib/generators/go/naming.js.map +1 -0
  154. package/lib/generators/go/operations.d.ts +16 -0
  155. package/lib/generators/go/operations.d.ts.map +1 -0
  156. package/lib/generators/go/operations.js +200 -0
  157. package/lib/generators/go/operations.js.map +1 -0
  158. package/lib/generators/go/pagination.d.ts +5 -0
  159. package/lib/generators/go/pagination.d.ts.map +1 -0
  160. package/lib/generators/go/pagination.js +93 -0
  161. package/lib/generators/go/pagination.js.map +1 -0
  162. package/lib/generators/go/types.d.ts +4 -0
  163. package/lib/generators/go/types.d.ts.map +1 -0
  164. package/lib/generators/go/types.js +48 -0
  165. package/lib/generators/go/types.js.map +1 -0
  166. package/lib/generators/index.d.ts +2 -3
  167. package/lib/generators/index.d.ts.map +1 -1
  168. package/lib/generators/index.js +31 -53
  169. package/lib/generators/index.js.map +1 -1
  170. package/lib/generators/meta.d.ts +13 -0
  171. package/lib/generators/meta.d.ts.map +1 -0
  172. package/lib/generators/meta.js +157 -0
  173. package/lib/generators/meta.js.map +1 -0
  174. package/lib/{emitters → generators/mock}/faker.d.ts +4 -5
  175. package/lib/generators/mock/faker.d.ts.map +1 -0
  176. package/lib/generators/mock/faker.js +180 -0
  177. package/lib/generators/mock/faker.js.map +1 -0
  178. package/lib/generators/{mock.d.ts → mock/index.d.ts} +2 -2
  179. package/lib/generators/mock/index.d.ts.map +1 -0
  180. package/lib/generators/{mock.js → mock/index.js} +8 -8
  181. package/lib/generators/mock/index.js.map +1 -0
  182. package/lib/{emitters/mock.d.ts → generators/mock/render.d.ts} +2 -3
  183. package/lib/generators/mock/render.d.ts.map +1 -0
  184. package/lib/generators/mock/render.js +228 -0
  185. package/lib/generators/mock/render.js.map +1 -0
  186. package/lib/{emitters → generators/mock}/sample.d.ts +1 -2
  187. package/lib/generators/mock/sample.d.ts.map +1 -0
  188. package/lib/generators/mock/sample.js.map +1 -0
  189. package/lib/generators/mock/values.d.ts +33 -0
  190. package/lib/generators/mock/values.d.ts.map +1 -0
  191. package/lib/generators/mock/values.js +46 -0
  192. package/lib/generators/mock/values.js.map +1 -0
  193. package/lib/generators/options.d.ts +7 -0
  194. package/lib/generators/options.d.ts.map +1 -0
  195. package/lib/generators/options.js +74 -0
  196. package/lib/generators/options.js.map +1 -0
  197. package/lib/generators/php/client.d.ts +5 -0
  198. package/lib/generators/php/client.d.ts.map +1 -0
  199. package/lib/generators/php/client.js +38 -0
  200. package/lib/generators/php/client.js.map +1 -0
  201. package/lib/generators/php/descriptor.d.ts +7 -0
  202. package/lib/generators/php/descriptor.d.ts.map +1 -0
  203. package/lib/generators/php/descriptor.js +42 -0
  204. package/lib/generators/php/descriptor.js.map +1 -0
  205. package/lib/generators/php/index.d.ts +14 -0
  206. package/lib/generators/php/index.d.ts.map +1 -0
  207. package/lib/generators/php/index.js +166 -0
  208. package/lib/generators/php/index.js.map +1 -0
  209. package/lib/generators/php/models.d.ts +8 -0
  210. package/lib/generators/php/models.d.ts.map +1 -0
  211. package/lib/generators/php/models.js +200 -0
  212. package/lib/generators/php/models.js.map +1 -0
  213. package/lib/generators/php/naming.d.ts +16 -0
  214. package/lib/generators/php/naming.d.ts.map +1 -0
  215. package/lib/generators/php/naming.js +31 -0
  216. package/lib/generators/php/naming.js.map +1 -0
  217. package/lib/generators/php/operations.d.ts +21 -0
  218. package/lib/generators/php/operations.d.ts.map +1 -0
  219. package/lib/generators/php/operations.js +156 -0
  220. package/lib/generators/php/operations.js.map +1 -0
  221. package/lib/generators/php/pagination.d.ts +5 -0
  222. package/lib/generators/php/pagination.d.ts.map +1 -0
  223. package/lib/generators/php/pagination.js +68 -0
  224. package/lib/generators/php/pagination.js.map +1 -0
  225. package/lib/generators/php/types.d.ts +27 -0
  226. package/lib/generators/php/types.d.ts.map +1 -0
  227. package/lib/generators/php/types.js +128 -0
  228. package/lib/generators/php/types.js.map +1 -0
  229. package/lib/generators/python/client.d.ts +6 -0
  230. package/lib/generators/python/client.d.ts.map +1 -0
  231. package/lib/generators/python/client.js +80 -0
  232. package/lib/generators/python/client.js.map +1 -0
  233. package/lib/generators/python/descriptor.d.ts +9 -0
  234. package/lib/generators/python/descriptor.d.ts.map +1 -0
  235. package/lib/generators/python/descriptor.js +38 -0
  236. package/lib/generators/python/descriptor.js.map +1 -0
  237. package/lib/generators/python/index.d.ts +15 -0
  238. package/lib/generators/python/index.d.ts.map +1 -0
  239. package/lib/generators/python/index.js +197 -0
  240. package/lib/generators/python/index.js.map +1 -0
  241. package/lib/generators/python/models.d.ts +31 -0
  242. package/lib/generators/python/models.d.ts.map +1 -0
  243. package/lib/generators/python/models.js +203 -0
  244. package/lib/generators/python/models.js.map +1 -0
  245. package/lib/generators/python/naming.d.ts +22 -0
  246. package/lib/generators/python/naming.d.ts.map +1 -0
  247. package/lib/generators/python/naming.js +28 -0
  248. package/lib/generators/python/naming.js.map +1 -0
  249. package/lib/generators/python/operations.d.ts +4 -0
  250. package/lib/generators/python/operations.d.ts.map +1 -0
  251. package/lib/generators/python/operations.js +108 -0
  252. package/lib/generators/python/operations.js.map +1 -0
  253. package/lib/generators/python/pagination.d.ts +5 -0
  254. package/lib/generators/python/pagination.d.ts.map +1 -0
  255. package/lib/generators/python/pagination.js +95 -0
  256. package/lib/generators/python/pagination.js.map +1 -0
  257. package/lib/generators/python/types.d.ts +4 -0
  258. package/lib/generators/python/types.d.ts.map +1 -0
  259. package/lib/generators/python/types.js +45 -0
  260. package/lib/generators/python/types.js.map +1 -0
  261. package/lib/generators/resolve.d.ts.map +1 -1
  262. package/lib/generators/resolve.js +92 -13
  263. package/lib/generators/resolve.js.map +1 -1
  264. package/lib/generators/{swr.d.ts → swr/index.d.ts} +3 -3
  265. package/lib/generators/swr/index.d.ts.map +1 -0
  266. package/lib/generators/{swr.js → swr/index.js} +7 -10
  267. package/lib/generators/swr/index.js.map +1 -0
  268. package/lib/{emitters/swr.d.ts → generators/swr/render.d.ts} +2 -4
  269. package/lib/generators/swr/render.d.ts.map +1 -0
  270. package/lib/generators/swr/render.js +57 -0
  271. package/lib/generators/swr/render.js.map +1 -0
  272. package/lib/generators/{tanstack-query.d.ts → tanstack-query/index.d.ts} +3 -3
  273. package/lib/generators/tanstack-query/index.d.ts.map +1 -0
  274. package/lib/generators/{tanstack-query.js → tanstack-query/index.js} +11 -10
  275. package/lib/generators/tanstack-query/index.js.map +1 -0
  276. package/lib/{emitters/tanstack-query.d.ts → generators/tanstack-query/render.d.ts} +6 -5
  277. package/lib/generators/tanstack-query/render.d.ts.map +1 -0
  278. package/lib/{emitters/tanstack-query.js → generators/tanstack-query/render.js} +33 -21
  279. package/lib/generators/tanstack-query/render.js.map +1 -0
  280. package/lib/generators/{transformers.d.ts → transformers/index.d.ts} +2 -2
  281. package/lib/generators/transformers/index.d.ts.map +1 -0
  282. package/lib/generators/{transformers.js → transformers/index.js} +11 -8
  283. package/lib/generators/transformers/index.js.map +1 -0
  284. package/lib/{emitters/transformers.d.ts → generators/transformers/render.d.ts} +2 -2
  285. package/lib/generators/transformers/render.d.ts.map +1 -0
  286. package/lib/{emitters/transformers.js → generators/transformers/render.js} +125 -165
  287. package/lib/generators/transformers/render.js.map +1 -0
  288. package/lib/generators/types.d.ts +190 -12
  289. package/lib/generators/types.d.ts.map +1 -1
  290. package/lib/generators/typescript/banner.d.ts +12 -0
  291. package/lib/generators/typescript/banner.d.ts.map +1 -0
  292. package/lib/{emitters/emit-options.js → generators/typescript/banner.js} +2 -3
  293. package/lib/generators/typescript/banner.js.map +1 -0
  294. package/lib/generators/typescript/client.d.ts +25 -0
  295. package/lib/generators/typescript/client.d.ts.map +1 -0
  296. package/lib/generators/typescript/client.js +207 -0
  297. package/lib/generators/typescript/client.js.map +1 -0
  298. package/lib/generators/typescript/descriptor.d.ts +11 -0
  299. package/lib/generators/typescript/descriptor.d.ts.map +1 -0
  300. package/lib/generators/typescript/descriptor.js +97 -0
  301. package/lib/generators/typescript/descriptor.js.map +1 -0
  302. package/lib/generators/typescript/index.d.ts +20 -0
  303. package/lib/generators/typescript/index.d.ts.map +1 -0
  304. package/lib/generators/typescript/index.js +80 -0
  305. package/lib/generators/typescript/index.js.map +1 -0
  306. package/lib/generators/typescript/inline-runtime.d.ts +21 -0
  307. package/lib/generators/typescript/inline-runtime.d.ts.map +1 -0
  308. package/lib/generators/typescript/inline-runtime.js +114 -0
  309. package/lib/generators/typescript/inline-runtime.js.map +1 -0
  310. package/lib/generators/typescript/operation-signature.d.ts +23 -0
  311. package/lib/generators/typescript/operation-signature.d.ts.map +1 -0
  312. package/lib/generators/typescript/operation-signature.js +41 -0
  313. package/lib/generators/typescript/operation-signature.js.map +1 -0
  314. package/lib/generators/typescript/operation-types.d.ts +9 -0
  315. package/lib/generators/typescript/operation-types.d.ts.map +1 -0
  316. package/lib/generators/typescript/operation-types.js +11 -0
  317. package/lib/generators/typescript/operation-types.js.map +1 -0
  318. package/lib/generators/typescript/operations.d.ts +60 -0
  319. package/lib/generators/typescript/operations.d.ts.map +1 -0
  320. package/lib/generators/typescript/operations.js +386 -0
  321. package/lib/generators/typescript/operations.js.map +1 -0
  322. package/lib/generators/typescript/response-headers.d.ts +12 -0
  323. package/lib/generators/typescript/response-headers.d.ts.map +1 -0
  324. package/lib/generators/typescript/response-headers.js +40 -0
  325. package/lib/generators/typescript/response-headers.js.map +1 -0
  326. package/lib/generators/typescript/runtime/auth.d.ts.map +1 -0
  327. package/lib/generators/typescript/runtime/auth.js.map +1 -0
  328. package/lib/{runtime → generators/typescript/runtime}/create-client.d.ts +7 -2
  329. package/lib/generators/typescript/runtime/create-client.d.ts.map +1 -0
  330. package/lib/{runtime → generators/typescript/runtime}/create-client.js +84 -30
  331. package/lib/generators/typescript/runtime/create-client.js.map +1 -0
  332. package/lib/generators/typescript/runtime/errors.d.ts.map +1 -0
  333. package/lib/generators/typescript/runtime/errors.js.map +1 -0
  334. package/lib/generators/typescript/runtime/index.d.ts.map +1 -0
  335. package/lib/generators/typescript/runtime/index.js.map +1 -0
  336. package/lib/generators/typescript/runtime/multipart.d.ts.map +1 -0
  337. package/lib/generators/typescript/runtime/multipart.js.map +1 -0
  338. package/lib/{runtime → generators/typescript/runtime}/paginate.d.ts +2 -2
  339. package/lib/generators/typescript/runtime/paginate.d.ts.map +1 -0
  340. package/lib/{runtime → generators/typescript/runtime}/paginate.js +12 -12
  341. package/lib/generators/typescript/runtime/paginate.js.map +1 -0
  342. package/lib/generators/typescript/runtime/parse.d.ts.map +1 -0
  343. package/lib/generators/typescript/runtime/parse.js.map +1 -0
  344. package/lib/generators/typescript/runtime/retry.d.ts.map +1 -0
  345. package/lib/generators/typescript/runtime/retry.js.map +1 -0
  346. package/lib/generators/typescript/runtime/send.d.ts.map +1 -0
  347. package/lib/generators/typescript/runtime/send.js.map +1 -0
  348. package/lib/generators/typescript/runtime/setup.d.ts.map +1 -0
  349. package/lib/generators/typescript/runtime/setup.js.map +1 -0
  350. package/lib/generators/typescript/runtime/sse.d.ts.map +1 -0
  351. package/lib/generators/typescript/runtime/sse.js.map +1 -0
  352. package/lib/{runtime → generators/typescript/runtime}/types.d.ts +17 -95
  353. package/lib/generators/typescript/runtime/types.d.ts.map +1 -0
  354. package/lib/generators/typescript/runtime/types.js.map +1 -0
  355. package/lib/generators/typescript/runtime/url.d.ts.map +1 -0
  356. package/lib/generators/typescript/runtime/url.js.map +1 -0
  357. package/lib/generators/typescript/type-guards.d.ts +4 -0
  358. package/lib/generators/typescript/type-guards.d.ts.map +1 -0
  359. package/lib/{emitters → generators/typescript}/type-guards.js +18 -52
  360. package/lib/generators/typescript/type-guards.js.map +1 -0
  361. package/lib/generators/typescript/types.d.ts +8 -0
  362. package/lib/generators/typescript/types.d.ts.map +1 -0
  363. package/lib/generators/typescript/types.js +132 -0
  364. package/lib/generators/typescript/types.js.map +1 -0
  365. package/lib/generators/{zod.d.ts → zod/index.d.ts} +2 -2
  366. package/lib/generators/zod/index.d.ts.map +1 -0
  367. package/lib/generators/{zod.js → zod/index.js} +5 -7
  368. package/lib/generators/zod/index.js.map +1 -0
  369. package/lib/{emitters/zod.d.ts → generators/zod/schemas.d.ts} +4 -5
  370. package/lib/generators/zod/schemas.d.ts.map +1 -0
  371. package/lib/{emitters/zod.js → generators/zod/schemas.js} +118 -154
  372. package/lib/generators/zod/schemas.js.map +1 -0
  373. package/lib/index.d.ts +8 -3
  374. package/lib/index.d.ts.map +1 -1
  375. package/lib/index.js +18 -11
  376. package/lib/index.js.map +1 -1
  377. package/lib/intermediate-representation/build.d.ts +8 -1
  378. package/lib/intermediate-representation/build.d.ts.map +1 -1
  379. package/lib/intermediate-representation/build.js +59 -4
  380. package/lib/intermediate-representation/build.js.map +1 -1
  381. package/lib/intermediate-representation/model.d.ts +26 -1
  382. package/lib/intermediate-representation/model.d.ts.map +1 -1
  383. package/lib/intermediate-representation/model.js.map +1 -1
  384. package/lib/intermediate-representation/sanitize-identifiers.d.ts +1 -10
  385. package/lib/intermediate-representation/sanitize-identifiers.d.ts.map +1 -1
  386. package/lib/intermediate-representation/sanitize-identifiers.js +37 -38
  387. package/lib/intermediate-representation/sanitize-identifiers.js.map +1 -1
  388. package/lib/{emitters/pagination.d.ts → pagination.d.ts} +39 -15
  389. package/lib/pagination.d.ts.map +1 -0
  390. package/lib/{emitters/pagination.js → pagination.js} +13 -52
  391. package/lib/pagination.js.map +1 -0
  392. package/lib/pipeline.d.ts +17 -0
  393. package/lib/pipeline.d.ts.map +1 -0
  394. package/lib/pipeline.js +244 -0
  395. package/lib/pipeline.js.map +1 -0
  396. package/lib/plugin.d.ts +4 -4
  397. package/lib/plugin.d.ts.map +1 -1
  398. package/lib/plugin.js +12 -9
  399. package/lib/plugin.js.map +1 -1
  400. package/lib/printers/go.d.ts +33 -0
  401. package/lib/printers/go.d.ts.map +1 -0
  402. package/lib/printers/go.js +209 -0
  403. package/lib/printers/go.js.map +1 -0
  404. package/lib/printers/index.d.ts +5 -0
  405. package/lib/printers/index.d.ts.map +1 -0
  406. package/lib/printers/index.js +9 -0
  407. package/lib/printers/index.js.map +1 -0
  408. package/lib/printers/php.d.ts +21 -0
  409. package/lib/printers/php.d.ts.map +1 -0
  410. package/lib/printers/php.js +68 -0
  411. package/lib/printers/php.js.map +1 -0
  412. package/lib/printers/python.d.ts +31 -0
  413. package/lib/printers/python.d.ts.map +1 -0
  414. package/lib/printers/python.js +101 -0
  415. package/lib/printers/python.js.map +1 -0
  416. package/lib/printers/typescript.d.ts +82 -0
  417. package/lib/printers/typescript.d.ts.map +1 -0
  418. package/lib/printers/typescript.js +268 -0
  419. package/lib/printers/typescript.js.map +1 -0
  420. package/lib/reserved-names.d.ts +8 -0
  421. package/lib/reserved-names.d.ts.map +1 -0
  422. package/lib/{emitters/reserved-names.js → reserved-names.js} +16 -27
  423. package/lib/reserved-names.js.map +1 -0
  424. package/lib/runtime-contract.d.ts +62 -2
  425. package/lib/runtime-contract.d.ts.map +1 -1
  426. package/lib/runtime-contract.js +3 -3
  427. package/lib/runtime-contract.js.map +1 -1
  428. package/lib/runtime-sources/go.d.ts +2 -0
  429. package/lib/runtime-sources/go.d.ts.map +1 -0
  430. package/lib/runtime-sources/go.js +3 -0
  431. package/lib/runtime-sources/go.js.map +1 -0
  432. package/lib/runtime-sources/php.d.ts +2 -0
  433. package/lib/runtime-sources/php.d.ts.map +1 -0
  434. package/lib/runtime-sources/php.js +3 -0
  435. package/lib/runtime-sources/php.js.map +1 -0
  436. package/lib/runtime-sources/python.d.ts +12 -0
  437. package/lib/runtime-sources/python.d.ts.map +1 -0
  438. package/lib/runtime-sources/python.js +12 -0
  439. package/lib/runtime-sources/python.js.map +1 -0
  440. package/lib/runtime-sources/typescript.d.ts +36 -0
  441. package/lib/runtime-sources/typescript.d.ts.map +1 -0
  442. package/lib/runtime-sources/typescript.js +152 -0
  443. package/lib/runtime-sources/typescript.js.map +1 -0
  444. package/lib/runtime-sources.d.ts +5 -0
  445. package/lib/runtime-sources.d.ts.map +1 -0
  446. package/lib/runtime-sources.js +10 -0
  447. package/lib/runtime-sources.js.map +1 -0
  448. package/lib/setup-bake.d.ts.map +1 -0
  449. package/lib/{emitters/setup-bake.js → setup-bake.js} +11 -2
  450. package/lib/setup-bake.js.map +1 -0
  451. package/lib/types.d.ts +38 -8
  452. package/lib/types.d.ts.map +1 -1
  453. package/package.json +40 -4
  454. package/lib/emitters/auth.d.ts +0 -14
  455. package/lib/emitters/auth.d.ts.map +0 -1
  456. package/lib/emitters/auth.js +0 -30
  457. package/lib/emitters/auth.js.map +0 -1
  458. package/lib/emitters/client-assembly.d.ts +0 -15
  459. package/lib/emitters/client-assembly.d.ts.map +0 -1
  460. package/lib/emitters/client-assembly.js +0 -358
  461. package/lib/emitters/client-assembly.js.map +0 -1
  462. package/lib/emitters/descriptor.d.ts +0 -22
  463. package/lib/emitters/descriptor.d.ts.map +0 -1
  464. package/lib/emitters/descriptor.js +0 -199
  465. package/lib/emitters/descriptor.js.map +0 -1
  466. package/lib/emitters/emit-options.d.ts +0 -67
  467. package/lib/emitters/emit-options.d.ts.map +0 -1
  468. package/lib/emitters/emit-options.js.map +0 -1
  469. package/lib/emitters/faker.d.ts.map +0 -1
  470. package/lib/emitters/faker.js +0 -221
  471. package/lib/emitters/faker.js.map +0 -1
  472. package/lib/emitters/identifier.d.ts +0 -34
  473. package/lib/emitters/identifier.d.ts.map +0 -1
  474. package/lib/emitters/identifier.js +0 -104
  475. package/lib/emitters/identifier.js.map +0 -1
  476. package/lib/emitters/inline-runtime.d.ts +0 -11
  477. package/lib/emitters/inline-runtime.d.ts.map +0 -1
  478. package/lib/emitters/inline-runtime.js +0 -99
  479. package/lib/emitters/inline-runtime.js.map +0 -1
  480. package/lib/emitters/jsdoc.d.ts +0 -9
  481. package/lib/emitters/jsdoc.d.ts.map +0 -1
  482. package/lib/emitters/jsdoc.js +0 -83
  483. package/lib/emitters/jsdoc.js.map +0 -1
  484. package/lib/emitters/mock.d.ts.map +0 -1
  485. package/lib/emitters/mock.js +0 -265
  486. package/lib/emitters/mock.js.map +0 -1
  487. package/lib/emitters/operation-aliases.d.ts +0 -27
  488. package/lib/emitters/operation-aliases.d.ts.map +0 -1
  489. package/lib/emitters/operation-aliases.js +0 -150
  490. package/lib/emitters/operation-aliases.js.map +0 -1
  491. package/lib/emitters/operation-signature.d.ts +0 -24
  492. package/lib/emitters/operation-signature.d.ts.map +0 -1
  493. package/lib/emitters/operation-signature.js +0 -42
  494. package/lib/emitters/operation-signature.js.map +0 -1
  495. package/lib/emitters/operation-types.d.ts +0 -32
  496. package/lib/emitters/operation-types.d.ts.map +0 -1
  497. package/lib/emitters/operation-types.js +0 -117
  498. package/lib/emitters/operation-types.js.map +0 -1
  499. package/lib/emitters/operations.d.ts +0 -41
  500. package/lib/emitters/operations.d.ts.map +0 -1
  501. package/lib/emitters/operations.js +0 -35
  502. package/lib/emitters/operations.js.map +0 -1
  503. package/lib/emitters/pagination.d.ts.map +0 -1
  504. package/lib/emitters/pagination.js.map +0 -1
  505. package/lib/emitters/reserved-names.d.ts +0 -5
  506. package/lib/emitters/reserved-names.d.ts.map +0 -1
  507. package/lib/emitters/reserved-names.js.map +0 -1
  508. package/lib/emitters/response-headers.d.ts +0 -14
  509. package/lib/emitters/response-headers.d.ts.map +0 -1
  510. package/lib/emitters/response-headers.js +0 -91
  511. package/lib/emitters/response-headers.js.map +0 -1
  512. package/lib/emitters/runtime-sources.d.ts +0 -16
  513. package/lib/emitters/runtime-sources.d.ts.map +0 -1
  514. package/lib/emitters/runtime-sources.js +0 -16
  515. package/lib/emitters/runtime-sources.js.map +0 -1
  516. package/lib/emitters/sample.d.ts.map +0 -1
  517. package/lib/emitters/sample.js.map +0 -1
  518. package/lib/emitters/setup-bake.d.ts.map +0 -1
  519. package/lib/emitters/setup-bake.js.map +0 -1
  520. package/lib/emitters/sse.d.ts +0 -10
  521. package/lib/emitters/sse.d.ts.map +0 -1
  522. package/lib/emitters/sse.js +0 -46
  523. package/lib/emitters/sse.js.map +0 -1
  524. package/lib/emitters/support.d.ts +0 -18
  525. package/lib/emitters/support.d.ts.map +0 -1
  526. package/lib/emitters/support.js +0 -37
  527. package/lib/emitters/support.js.map +0 -1
  528. package/lib/emitters/swr.d.ts.map +0 -1
  529. package/lib/emitters/swr.js +0 -88
  530. package/lib/emitters/swr.js.map +0 -1
  531. package/lib/emitters/tanstack-query.d.ts.map +0 -1
  532. package/lib/emitters/tanstack-query.js.map +0 -1
  533. package/lib/emitters/transformers.d.ts.map +0 -1
  534. package/lib/emitters/transformers.js.map +0 -1
  535. package/lib/emitters/ts.d.ts +0 -42
  536. package/lib/emitters/ts.d.ts.map +0 -1
  537. package/lib/emitters/ts.js +0 -116
  538. package/lib/emitters/ts.js.map +0 -1
  539. package/lib/emitters/type-guards.d.ts +0 -21
  540. package/lib/emitters/type-guards.d.ts.map +0 -1
  541. package/lib/emitters/type-guards.js.map +0 -1
  542. package/lib/emitters/types.d.ts +0 -15
  543. package/lib/emitters/types.d.ts.map +0 -1
  544. package/lib/emitters/types.js +0 -125
  545. package/lib/emitters/types.js.map +0 -1
  546. package/lib/emitters/wrapper-support.d.ts.map +0 -1
  547. package/lib/emitters/wrapper-support.js +0 -127
  548. package/lib/emitters/wrapper-support.js.map +0 -1
  549. package/lib/emitters/zod.d.ts.map +0 -1
  550. package/lib/emitters/zod.js.map +0 -1
  551. package/lib/generators/anchor.d.ts +0 -9
  552. package/lib/generators/anchor.d.ts.map +0 -1
  553. package/lib/generators/anchor.js +0 -10
  554. package/lib/generators/anchor.js.map +0 -1
  555. package/lib/generators/mock.d.ts.map +0 -1
  556. package/lib/generators/mock.js.map +0 -1
  557. package/lib/generators/sdk.d.ts +0 -12
  558. package/lib/generators/sdk.d.ts.map +0 -1
  559. package/lib/generators/sdk.js +0 -26
  560. package/lib/generators/sdk.js.map +0 -1
  561. package/lib/generators/swr.d.ts.map +0 -1
  562. package/lib/generators/swr.js.map +0 -1
  563. package/lib/generators/tanstack-query.d.ts.map +0 -1
  564. package/lib/generators/tanstack-query.js.map +0 -1
  565. package/lib/generators/transformers.d.ts.map +0 -1
  566. package/lib/generators/transformers.js.map +0 -1
  567. package/lib/generators/zod.d.ts.map +0 -1
  568. package/lib/generators/zod.js.map +0 -1
  569. package/lib/runtime/auth.d.ts.map +0 -1
  570. package/lib/runtime/auth.js.map +0 -1
  571. package/lib/runtime/create-client.d.ts.map +0 -1
  572. package/lib/runtime/create-client.js.map +0 -1
  573. package/lib/runtime/errors.d.ts.map +0 -1
  574. package/lib/runtime/errors.js.map +0 -1
  575. package/lib/runtime/index.d.ts.map +0 -1
  576. package/lib/runtime/index.js.map +0 -1
  577. package/lib/runtime/multipart.d.ts.map +0 -1
  578. package/lib/runtime/multipart.js.map +0 -1
  579. package/lib/runtime/paginate.d.ts.map +0 -1
  580. package/lib/runtime/paginate.js.map +0 -1
  581. package/lib/runtime/parse.d.ts.map +0 -1
  582. package/lib/runtime/parse.js.map +0 -1
  583. package/lib/runtime/retry.d.ts.map +0 -1
  584. package/lib/runtime/retry.js.map +0 -1
  585. package/lib/runtime/send.d.ts.map +0 -1
  586. package/lib/runtime/send.js.map +0 -1
  587. package/lib/runtime/setup.d.ts.map +0 -1
  588. package/lib/runtime/setup.js.map +0 -1
  589. package/lib/runtime/sse.d.ts.map +0 -1
  590. package/lib/runtime/sse.js.map +0 -1
  591. package/lib/runtime/types.d.ts.map +0 -1
  592. package/lib/runtime/types.js.map +0 -1
  593. package/lib/runtime/url.d.ts.map +0 -1
  594. package/lib/runtime/url.js.map +0 -1
  595. /package/lib/{emitters → generators/mock}/sample.js +0 -0
  596. /package/lib/{runtime → generators/typescript/runtime}/auth.d.ts +0 -0
  597. /package/lib/{runtime → generators/typescript/runtime}/auth.js +0 -0
  598. /package/lib/{runtime → generators/typescript/runtime}/errors.d.ts +0 -0
  599. /package/lib/{runtime → generators/typescript/runtime}/errors.js +0 -0
  600. /package/lib/{runtime → generators/typescript/runtime}/index.d.ts +0 -0
  601. /package/lib/{runtime → generators/typescript/runtime}/index.js +0 -0
  602. /package/lib/{runtime → generators/typescript/runtime}/multipart.d.ts +0 -0
  603. /package/lib/{runtime → generators/typescript/runtime}/multipart.js +0 -0
  604. /package/lib/{runtime → generators/typescript/runtime}/parse.d.ts +0 -0
  605. /package/lib/{runtime → generators/typescript/runtime}/parse.js +0 -0
  606. /package/lib/{runtime → generators/typescript/runtime}/retry.d.ts +0 -0
  607. /package/lib/{runtime → generators/typescript/runtime}/retry.js +0 -0
  608. /package/lib/{runtime → generators/typescript/runtime}/send.d.ts +0 -0
  609. /package/lib/{runtime → generators/typescript/runtime}/send.js +0 -0
  610. /package/lib/{runtime → generators/typescript/runtime}/setup.d.ts +0 -0
  611. /package/lib/{runtime → generators/typescript/runtime}/setup.js +0 -0
  612. /package/lib/{runtime → generators/typescript/runtime}/sse.d.ts +0 -0
  613. /package/lib/{runtime → generators/typescript/runtime}/sse.js +0 -0
  614. /package/lib/{runtime → generators/typescript/runtime}/types.js +0 -0
  615. /package/lib/{runtime → generators/typescript/runtime}/url.d.ts +0 -0
  616. /package/lib/{runtime → generators/typescript/runtime}/url.js +0 -0
  617. /package/lib/{emitters/setup-bake.d.ts → setup-bake.d.ts} +0 -0
@@ -1,67 +0,0 @@
1
- import type { ApiModel } from '../intermediate-representation/model.js';
2
- import type { ArgsStyle } from './operations.js';
3
- import type { PaginationConfig } from './pagination.js';
4
- import type { DateType } from './types.js';
5
- export type { ArgsStyle } from './operations.js';
6
- /** The generated-by banner prepended to every emitted module. */
7
- export declare const HEADER = "// Generated by @redocly/client-generator \u2014 do not edit by hand.\n// Source: OpenAPI description. Re-run `redocly generate-client` to update.";
8
- export type EmitOptions = {
9
- /**
10
- * Override the server URL baked into the generated client config. When omitted,
11
- * the value is derived from `servers[0].url` in the source OpenAPI description.
12
- */
13
- serverUrl?: string;
14
- /**
15
- * How operation inputs are passed to each call. Defaults to `'flat'`;
16
- * `'grouped'` bundles inputs into a single `args` object.
17
- */
18
- argsStyle?: ArgsStyle;
19
- /** Error-handling shape of the generated client. Defaults to `'throw'`. */
20
- errorMode?: 'throw' | 'result';
21
- /**
22
- * How `format: date-time`/`date` string fields are typed. `'string'` (default)
23
- * keeps the ISO wire shape; `'Date'` emits a `Date` reference. Opt-in — pair with
24
- * the `transformers` generator so the runtime value matches the type.
25
- */
26
- dateType?: DateType;
27
- /**
28
- * How the `mock` generator produces data. `'static'` (default) inlines deterministic
29
- * literals (zero-dep, contract-faithful); `'faker'` emits `@faker-js/faker` calls for
30
- * realistic data — reproducible when `mockSeed` is set. Only the mock module is affected.
31
- */
32
- mockData?: 'static' | 'faker';
33
- /** Seed for faker-mode mocks: emits a top-level `faker.seed(<n>)` so runs reproduce. */
34
- mockSeed?: number;
35
- /** Leading element for every tanstack-query key — namespaces the cache when several
36
- * generated APIs share one QueryClient (operationIds may collide across APIs). */
37
- queryKeyPrefix?: string;
38
- /**
39
- * A pre-baked publisher setup block (from `bakeSetup`) merged into the client's config
40
- * via `mergeSetup`. Absent when no `--setup` is given.
41
- */
42
- setup?: string;
43
- /** Runtime distribution: 'inline' (default, self-contained) | 'package' (imports @redocly/client-generator). */
44
- runtime?: 'inline' | 'package';
45
- /**
46
- * Extension used in generated relative import specifiers (the split entry's schemas
47
- * re-export and each satellite's sdk import). `'js'` (default) is the tsc/bundler
48
- * convention; `'ts'` targets runtimes that resolve specifiers literally, like Node's
49
- * built-in type stripping (`node client.ts`).
50
- */
51
- importExt?: 'js' | 'ts';
52
- /**
53
- * Auto-pagination rules (a convention rule + per-operation overrides + `exclude`),
54
- * resolved together with each operation's `x-redocly-pagination` extension. Verified
55
- * statically: an explicit rule that doesn't fit its operation fails generation.
56
- */
57
- pagination?: PaginationConfig;
58
- };
59
- /**
60
- * Assemble file content from a header banner and a printed body: the leading
61
- * `// Generated by …` comment and the `/** title *​/` block are structural
62
- * banners (not part of the printed AST), prepended with blank-line separation.
63
- * Trailing newline mirrors a hand-authored file.
64
- */
65
- export declare function banner(sections: string[]): string;
66
- export declare function renderTitleComment(model: ApiModel): string;
67
- //# sourceMappingURL=emit-options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-options.d.ts","sourceRoot":"","sources":["../../src/emitters/emit-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,iEAAiE;AACjE,eAAO,MAAM,MAAM,uJAC2D,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;sFACkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAa1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-options.js","sourceRoot":"","sources":["../../src/emitters/emit-options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOtC,iEAAiE;AACjE,MAAM,CAAC,MAAM,MAAM,GAAG;8EACwD,CAAC;AAsD/E;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,QAAkB;IACvC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC9D,kFAAkF;YAClF,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"faker.d.ts","sourceRoot":"","sources":["../../src/emitters/faker.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAGhB,WAAW,EACZ,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAiC,EAAE,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;kFAGkF;AAClF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAO,GACjC,EAAE,CAAC,UAAU,CAMf"}
@@ -1,221 +0,0 @@
1
- // Builds the body expression for a faker-mode mock factory: a tree of
2
- // `@faker-js/faker` call expressions that produce realistic — and, with a seed,
3
- // reproducible — data. Structurally mirrors `emitters/sample.ts`'s `walk` (same
4
- // recursion + same visited-set cycle guard), but returns a `ts.Expression` of
5
- // faker calls instead of a static value. Nested refs are INLINED under the same
6
- // cycle guard (never `create<Ref>()` calls), so a cyclic schema terminates with
7
- // `null` at the cycle instead of recursing forever at runtime — exactly like the
8
- // static path. The factory signatures are identical to the static mode's, so a
9
- // consumer can flip `mockData` without touching call sites; `@faker-js/faker`
10
- // becomes their dev-dep while the real client stays dependency-free.
11
- import { safeIdent } from './identifier.js';
12
- import { splitIntersection } from './sample.js';
13
- import { constArray, literalExpression, ts } from './ts.js';
14
- const { factory } = ts;
15
- /** The faker-call expression for an IR schema. Refs resolve against `schemas`;
16
- * recursion is cut with a visited-set (`null` at the cycle). `dateType` mirrors
17
- * the sdk's `--date-type`: under `'Date'`, date fields stay `faker.date.recent()`
18
- * (a `Date`); otherwise they are stringified to match the `string`-typed sdk. */
19
- export function fakerExpression(schema, schemas, opts = {}) {
20
- const byName = new Map(schemas.map((s) => [s.name, s.schema]));
21
- const expr = walk(schema, byName, new Set(), opts.dateType ?? 'string');
22
- // A `CYCLE` that reaches the root has no container to absorb it (e.g. a
23
- // self-referential union); fall back to null.
24
- return expr === CYCLE ? factory.createNull() : expr;
25
- }
26
- /**
27
- * Sentinel returned by `walk` when a `$ref` re-enters a name already on the stack.
28
- * Containers turn it into the type-correct empty value for their position — an array
29
- * to `[]`, a record to `{}`, an optional property to omission — mirroring `emitters/sample.ts`
30
- * so a recursive schema yields a faker tree that still satisfies its non-nullable type.
31
- * Only a required, non-container self-reference (an uninhabitable schema) degrades to null.
32
- */
33
- const CYCLE = Symbol('cycle');
34
- function walk(schema, byName, visiting, dateType) {
35
- switch (schema.kind) {
36
- case 'scalar':
37
- return scalarExpr(schema.scalar, schema.metadata, dateType);
38
- case 'array': {
39
- // A cyclic item type collapses the array to `[]` — itself a valid `T[]`.
40
- const item = walk(schema.items, byName, visiting, dateType);
41
- return item === CYCLE ? factory.createArrayLiteralExpression([], false) : multiple(item);
42
- }
43
- case 'object':
44
- return objectExpr(schema.properties.flatMap((p) => {
45
- const value = walk(p.schema, byName, visiting, dateType);
46
- // A cyclic optional property is omitted; a cyclic required property is
47
- // uninhabitable, so null is the only stand-in.
48
- if (value === CYCLE)
49
- return p.required ? [[p.name, factory.createNull()]] : [];
50
- return [[p.name, value]];
51
- }));
52
- case 'record': {
53
- const value = walk(schema.value, byName, visiting, dateType);
54
- return value === CYCLE
55
- ? factory.createObjectLiteralExpression([], false)
56
- : objectExpr([['key', value]]);
57
- }
58
- case 'enum':
59
- return call('faker.helpers.arrayElement', [constArray(schema.values.map(literalExpression))]);
60
- case 'literal':
61
- return literalExpression(schema.value);
62
- case 'union': {
63
- // First non-cyclic member; if every member cycles, propagate `CYCLE`.
64
- for (const member of schema.members) {
65
- const value = walk(member, byName, visiting, dateType);
66
- if (value !== CYCLE)
67
- return value;
68
- }
69
- return schema.members.length > 0 ? CYCLE : factory.createNull();
70
- }
71
- case 'intersection': {
72
- // Mirror the static sampler: object members merge into one synthetic object whose
73
- // property conflicts resolve by SPECIFICITY (see `splitIntersection`); `unknown`
74
- // members are constraint-only and dropped; with no object member, the first
75
- // member's expression IS the value (a scalar-narrowing intersection).
76
- const { merged, rest } = splitIntersection(schema.members, byName);
77
- const parts = rest
78
- .map((member) => walk(member, byName, visiting, dateType))
79
- .filter((part) => part !== CYCLE);
80
- if (merged) {
81
- const value = walk(merged, byName, visiting, dateType);
82
- const own = value !== CYCLE && ts.isObjectLiteralExpression(value) ? assignments(value) : [];
83
- const folded = parts.filter(ts.isObjectLiteralExpression).flatMap(assignments);
84
- return factory.createObjectLiteralExpression([...own, ...folded], true);
85
- }
86
- const objects = parts.filter(ts.isObjectLiteralExpression);
87
- if (objects.length > 0) {
88
- return factory.createObjectLiteralExpression(objects.flatMap(assignments), true);
89
- }
90
- return parts[0] ?? factory.createObjectLiteralExpression([], true);
91
- }
92
- case 'omit':
93
- return omitExpr(schema.base, schema.keys, byName, visiting, dateType);
94
- case 'ref': {
95
- if (visiting.has(schema.name))
96
- return CYCLE;
97
- const target = byName.get(schema.name);
98
- if (!target)
99
- return factory.createNull();
100
- visiting.add(schema.name);
101
- const result = walk(target, byName, visiting, dateType);
102
- visiting.delete(schema.name);
103
- return result;
104
- }
105
- case 'null':
106
- case 'unknown':
107
- return factory.createNull();
108
- }
109
- }
110
- /** The faker call for a scalar, keyed by kind then `format`. A binary field has no
111
- * faker generator (its type is `Blob`), so it emits `new Blob([])` — the same
112
- * type-demanded expression the static path uses, taking precedence over any example. */
113
- function scalarExpr(scalar, meta, dateType) {
114
- if (meta?.format === 'binary')
115
- return newBlob();
116
- if (scalar === 'boolean')
117
- return call('faker.datatype.boolean', []);
118
- if (scalar === 'integer')
119
- return call('faker.number.int', boundsArg(meta));
120
- if (scalar === 'number')
121
- return call('faker.number.float', boundsArg(meta));
122
- switch (meta?.format) {
123
- case 'email':
124
- return call('faker.internet.email', []);
125
- case 'uuid':
126
- return call('faker.string.uuid', []);
127
- case 'uri':
128
- case 'url':
129
- return call('faker.internet.url', []);
130
- case 'hostname':
131
- return call('faker.internet.domainName', []);
132
- case 'ipv4':
133
- return call('faker.internet.ipv4', []);
134
- case 'date-time':
135
- return dateExpr(dateType, false);
136
- case 'date':
137
- return dateExpr(dateType, true);
138
- default:
139
- return call('faker.lorem.word', []);
140
- }
141
- }
142
- /** `faker.date.recent()` (under `dateType: 'Date'`); else its ISO string, sliced to
143
- * `YYYY-MM-DD` for a `date` so the wire shape matches the `string`-typed field. */
144
- function dateExpr(dateType, dateOnly) {
145
- const recent = call('faker.date.recent', []);
146
- if (dateType === 'Date')
147
- return recent;
148
- const iso = call(member(recent, 'toISOString'), []);
149
- if (!dateOnly)
150
- return iso;
151
- return call(member(iso, 'slice'), [
152
- factory.createNumericLiteral(0),
153
- factory.createNumericLiteral(10),
154
- ]);
155
- }
156
- /** `{ min, max }` arg list for a bounded numeric, or no args when neither bound is set. */
157
- function boundsArg(meta) {
158
- const props = [];
159
- if (meta?.minimum !== undefined) {
160
- props.push(factory.createPropertyAssignment('min', literalExpression(meta.minimum)));
161
- }
162
- if (meta?.maximum !== undefined) {
163
- props.push(factory.createPropertyAssignment('max', literalExpression(meta.maximum)));
164
- }
165
- return props.length > 0 ? [factory.createObjectLiteralExpression(props, false)] : [];
166
- }
167
- /** `faker.helpers.multiple(() => <item>, { count: 1 })` — one element keeps output small. */
168
- function multiple(item) {
169
- const fn = factory.createArrowFunction(undefined, undefined, [], undefined, factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), item);
170
- const count = factory.createObjectLiteralExpression([factory.createPropertyAssignment('count', factory.createNumericLiteral(1))], false);
171
- return call('faker.helpers.multiple', [fn, count]);
172
- }
173
- /** An `omit`: the base named schema's faker expr minus the dropped keys. Resolves the
174
- * base via the schema set (cycle-guarded); a non-object base passes through unchanged. */
175
- function omitExpr(base, keys, byName, visiting, dateType) {
176
- const target = byName.get(base);
177
- if (!target)
178
- return factory.createNull();
179
- const expr = walk(target, byName, visiting, dateType);
180
- // A cyclic or non-object base passes through unchanged (a container/root absorbs `CYCLE`).
181
- if (expr === CYCLE || !ts.isObjectLiteralExpression(expr))
182
- return expr;
183
- const drop = new Set(keys.map(safeIdent));
184
- return factory.createObjectLiteralExpression(assignments(expr).filter((a) => !drop.has(propKey(a))), true);
185
- }
186
- /** An object literal from `[key, expr]` entries; keys are quoted when not bare identifiers. */
187
- function objectExpr(entries) {
188
- return factory.createObjectLiteralExpression(entries.map(([key, value]) => {
189
- const safe = safeIdent(key);
190
- const name = safe === key ? factory.createIdentifier(key) : factory.createStringLiteral(key);
191
- return factory.createPropertyAssignment(name, value);
192
- }), true);
193
- }
194
- /** The property assignments of an object literal (the spread/intersection merge unit). */
195
- function assignments(object) {
196
- return object.properties.filter((p) => ts.isPropertyAssignment(p));
197
- }
198
- /** The printed key text of a property assignment (matching `safeIdent`'s quoting). */
199
- function propKey(a) {
200
- return ts.isStringLiteral(a.name) ? safeIdent(a.name.text) : a.name.text;
201
- }
202
- /** `new Blob([])` — the type-correct stand-in for a `format: binary` field. */
203
- function newBlob() {
204
- return factory.createNewExpression(factory.createIdentifier('Blob'), undefined, [
205
- factory.createArrayLiteralExpression([], false),
206
- ]);
207
- }
208
- /** A call expression from a dotted callee name (`faker.number.int`) or a built node. */
209
- function call(callee, args) {
210
- const target = typeof callee === 'string' ? dotted(callee) : callee;
211
- return factory.createCallExpression(target, undefined, args);
212
- }
213
- /** Turn `a.b.c` into nested property access on an identifier. */
214
- function dotted(path) {
215
- const [head, ...rest] = path.split('.');
216
- return rest.reduce((acc, name) => member(acc, name), factory.createIdentifier(head));
217
- }
218
- function member(target, name) {
219
- return factory.createPropertyAccessExpression(target, name);
220
- }
221
- //# sourceMappingURL=faker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faker.js","sourceRoot":"","sources":["../../src/emitters/faker.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /** True when `name` matches the JS identifier grammar (reserved words still pass). */
2
- export declare function isIdentifier(name: string): boolean;
3
- /** True when `name` is a valid JS identifier AND not a reserved word — safe as a binding name. */
4
- export declare function isSafeIdentifier(name: string): boolean;
5
- /**
6
- * Coerce an arbitrary spec-supplied name into a valid, non-reserved JS identifier
7
- * (no uniqueness guarantee — see `uniqueIdent`). Non-identifier characters become
8
- * `_`; an empty result, a leading digit, or a reserved word is prefixed with `_`.
9
- * This is the security boundary for any name that lands in a declaration slot —
10
- * `ts.factory.createIdentifier` prints its text verbatim, so an unsanitized name
11
- * like `foo(){};evil()` would emit as executable code.
12
- */
13
- export declare function sanitizeIdentifier(name: string): string;
14
- /**
15
- * A double-quoted TS string literal for generated code. `JSON.stringify` alone leaves
16
- * U+2028/U+2029 raw (legal JSON, line terminators in code contexts) — escape them so a
17
- * hostile spec value can never alter the shape of the emitted statement.
18
- */
19
- export declare function codeString(value: string): string;
20
- /**
21
- * Render `name` as an object key or property name: bare when it is a valid,
22
- * non-reserved identifier, quoted otherwise. Safe only where quoting is legal
23
- * (object keys, property signatures) — not for binding names; use `uniqueIdent`
24
- * there.
25
- */
26
- export declare function safeIdent(name: string): string;
27
- /**
28
- * `sanitizeIdentifier(name)` made unique within `used` (which it mutates):
29
- * collisions get a `_2`, `_3`, … suffix. Used wherever a name lands in a binding
30
- * slot that — unlike an object key — cannot be quoted (function/type/parameter
31
- * names), so `safeIdent`'s quote-on-failure fallback would not compile.
32
- */
33
- export declare function uniqueIdent(name: string, used: Set<string>): string;
34
- //# sourceMappingURL=identifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../src/emitters/identifier.ts"],"names":[],"mappings":"AA+CA,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,kGAAkG;AAClG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAOnE"}
@@ -1,104 +0,0 @@
1
- // Identifier sanitization — mapping OpenAPI names (which may contain `-`, `.`,
2
- // spaces, or be reserved words) onto valid TypeScript identifiers. Pure string
3
- // logic with no dependency on the IR or other emitters.
4
- /** Matches a string that is already a valid JS identifier (ignoring reserved words). */
5
- const IDENT_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
6
- const TS_RESERVED = new Set([
7
- 'break',
8
- 'case',
9
- 'catch',
10
- 'class',
11
- 'const',
12
- 'continue',
13
- 'debugger',
14
- 'default',
15
- 'delete',
16
- 'do',
17
- 'else',
18
- 'enum',
19
- 'export',
20
- 'extends',
21
- 'false',
22
- 'finally',
23
- 'for',
24
- 'function',
25
- 'if',
26
- 'import',
27
- 'in',
28
- 'instanceof',
29
- 'new',
30
- 'null',
31
- 'return',
32
- 'super',
33
- 'switch',
34
- 'this',
35
- 'throw',
36
- 'true',
37
- 'try',
38
- 'typeof',
39
- 'var',
40
- 'void',
41
- 'while',
42
- 'with',
43
- 'yield',
44
- ]);
45
- /** True when `name` matches the JS identifier grammar (reserved words still pass). */
46
- export function isIdentifier(name) {
47
- return IDENT_RE.test(name);
48
- }
49
- /** True when `name` is a valid JS identifier AND not a reserved word — safe as a binding name. */
50
- export function isSafeIdentifier(name) {
51
- return IDENT_RE.test(name) && !TS_RESERVED.has(name);
52
- }
53
- /**
54
- * Coerce an arbitrary spec-supplied name into a valid, non-reserved JS identifier
55
- * (no uniqueness guarantee — see `uniqueIdent`). Non-identifier characters become
56
- * `_`; an empty result, a leading digit, or a reserved word is prefixed with `_`.
57
- * This is the security boundary for any name that lands in a declaration slot —
58
- * `ts.factory.createIdentifier` prints its text verbatim, so an unsanitized name
59
- * like `foo(){};evil()` would emit as executable code.
60
- */
61
- export function sanitizeIdentifier(name) {
62
- let base = name.replace(/[^A-Za-z0-9_$]/g, '_');
63
- if (base === '' || /^[0-9]/.test(base) || TS_RESERVED.has(base))
64
- base = `_${base}`;
65
- return base;
66
- }
67
- /**
68
- * A double-quoted TS string literal for generated code. `JSON.stringify` alone leaves
69
- * U+2028/U+2029 raw (legal JSON, line terminators in code contexts) — escape them so a
70
- * hostile spec value can never alter the shape of the emitted statement.
71
- */
72
- export function codeString(value) {
73
- return JSON.stringify(value)
74
- .replace(/\u2028/g, '\\u2028')
75
- .replace(/\u2029/g, '\\u2029');
76
- }
77
- /**
78
- * Render `name` as an object key or property name: bare when it is a valid,
79
- * non-reserved identifier, quoted otherwise. Safe only where quoting is legal
80
- * (object keys, property signatures) — not for binding names; use `uniqueIdent`
81
- * there.
82
- */
83
- export function safeIdent(name) {
84
- if (IDENT_RE.test(name) && !TS_RESERVED.has(name)) {
85
- return name;
86
- }
87
- return codeString(name);
88
- }
89
- /**
90
- * `sanitizeIdentifier(name)` made unique within `used` (which it mutates):
91
- * collisions get a `_2`, `_3`, … suffix. Used wherever a name lands in a binding
92
- * slot that — unlike an object key — cannot be quoted (function/type/parameter
93
- * names), so `safeIdent`'s quote-on-failure fallback would not compile.
94
- */
95
- export function uniqueIdent(name, used) {
96
- const base = sanitizeIdentifier(name);
97
- let ident = base;
98
- let n = 2;
99
- while (used.has(ident))
100
- ident = `${base}_${n++}`;
101
- used.add(ident);
102
- return ident;
103
- }
104
- //# sourceMappingURL=identifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../src/emitters/identifier.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,wDAAwD;AAExD,wFAAwF;AACxF,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAiB;IACzD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,11 +0,0 @@
1
- /** Which optional runtime capabilities the generated client must embed. */
2
- export type InlineRuntimeNeeds = {
3
- multipart: boolean;
4
- auth: boolean;
5
- sse: boolean;
6
- setup: boolean;
7
- paginate: boolean;
8
- };
9
- /** The embedded runtime source block: stripped modules in dependency order + the factory. */
10
- export declare function assembleInlineRuntime(needs: InlineRuntimeNeeds): string;
11
- //# sourceMappingURL=inline-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-runtime.d.ts","sourceRoot":"","sources":["../../src/emitters/inline-runtime.ts"],"names":[],"mappings":"AASA,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAkBF,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAcvE"}
@@ -1,99 +0,0 @@
1
- // Assembles the embedded runtime block for inline-mode clients: the real
2
- // `src/runtime/` sources (snapshotted into `RUNTIME_SOURCES`) in import-graph
3
- // order, stripped of module syntax, followed by a local `createClient` factory
4
- // wiring only the capabilities this API needs — the embedded equivalent of the
5
- // package barrel (`runtime/index.ts`), which is never embedded itself.
6
- import { RUNTIME_SOURCES } from './runtime-sources.js';
7
- import { parseStatements, ts } from './ts.js';
8
- const HEADER = "// ─── Embedded runtime (@redocly/client-generator, assembled per this API's needs) ───";
9
- // The embedded block keeps `export` only on the surface the generated wiring and its
10
- // type re-exports reference; everything else becomes module-local. `types.ts` is the
11
- // public type surface (it replaces package-mode type imports — and TS `noUnusedLocals`
12
- // never flags exported declarations, so unused types in a given output are fine).
13
- const KEEP_EXPORTS = {
14
- 'types.ts': () => true,
15
- 'errors.ts': ts.isClassDeclaration, // ApiError/TimeoutError stay public; abortError goes local
16
- // defaultRetryOn stays public so custom `retryOn` predicates can compose with it.
17
- 'retry.ts': (statement) => ts.isFunctionDeclaration(statement) && statement.name?.text === 'defaultRetryOn',
18
- 'setup.ts': () => true, // mergeSetup — the baked-setup wiring calls it
19
- };
20
- /** The embedded runtime source block: stripped modules in dependency order + the factory. */
21
- export function assembleInlineRuntime(needs) {
22
- // Import-graph topological order; the optional capability modules slot in where the
23
- // package barrel would import them (core never imports them statically).
24
- const modules = ['types.ts', 'errors.ts', 'url.ts', 'parse.ts', 'retry.ts'];
25
- if (needs.multipart)
26
- modules.push('multipart.ts');
27
- if (needs.auth)
28
- modules.push('auth.ts');
29
- if (needs.setup)
30
- modules.push('setup.ts');
31
- // paginate.ts has only type imports (types.ts + create-client.ts's OperationArgs),
32
- // so it can sit anywhere; keep it with the other capability modules, before send.ts.
33
- if (needs.paginate)
34
- modules.push('paginate.ts');
35
- modules.push('send.ts');
36
- if (needs.sse)
37
- modules.push('sse.ts');
38
- modules.push('create-client.ts');
39
- return [HEADER, ...modules.map(embedModule), clientFactory(needs)].join('\n\n');
40
- }
41
- // Strip module syntax from one runtime source: drop every import declaration (all are
42
- // relative `./x.js` imports within the runtime) and remove the `export` modifier from
43
- // declarations outside the kept surface. Slices are driven by AST positions from
44
- // `parseStatements` (no regexes), so comments and formatting survive byte-for-byte.
45
- function embedModule(name) {
46
- const source = RUNTIME_SOURCES[name];
47
- const keeps = KEEP_EXPORTS[name];
48
- const parts = [];
49
- for (const statement of parseStatements(source)) {
50
- if (ts.isImportDeclaration(statement))
51
- continue;
52
- // Full text includes leading trivia (JSDoc, blank lines), so spacing is preserved.
53
- const text = source.slice(statement.getFullStart(), statement.end);
54
- // Every top-level runtime statement is a declaration (`getModifiers` is total —
55
- // it returns undefined when the node carries no modifiers).
56
- const exportModifier = ts
57
- .getModifiers(statement)
58
- ?.find((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword);
59
- if (exportModifier && !keeps?.(statement)) {
60
- const at = exportModifier.getStart() - statement.getFullStart();
61
- parts.push(text.slice(0, at) + text.slice(at + 'export '.length));
62
- }
63
- else {
64
- parts.push(text);
65
- }
66
- }
67
- return parts.join('').trim();
68
- }
69
- // The embedded equivalent of the package barrel's `createClient`: `createClientCore`
70
- // with only the included capabilities wired. EXPORTED — the design spec promises the
71
- // generated module re-exports `createClient`/`OPERATIONS`/`Ops` so apps can build
72
- // additional per-tenant instances over the same descriptors.
73
- function clientFactory(needs) {
74
- const caps = [
75
- ...(needs.multipart ? ['serializeMultipart: toFormData'] : []),
76
- ...(needs.auth ? ['resolveAuth'] : []),
77
- ...(needs.sse ? ['sse'] : []),
78
- ...(needs.paginate ? ['paginate: { pages, items, pagesByLink, itemsByLink }'] : []),
79
- ];
80
- const wired = caps.length > 0 ? `{ ${caps.join(', ')} }` : '{}';
81
- return `/**
82
- * The client factory: \`createClientCore\` wired with the capabilities this API needs.
83
- * Exported so apps can build additional instances (per-tenant, per-environment) over
84
- * the same \`OPERATIONS\`/\`Ops\`. The trailing string params carry the wiring's literal
85
- * unions (\`OperationId\`/\`OperationPath\`/\`OperationTag\`) into \`ctx.operation\`.
86
- */
87
- export function createClient<
88
- Ops extends OpsShape,
89
- Id extends string = string,
90
- Path extends string = string,
91
- Tag extends string = string,
92
- >(
93
- operations: Record<string, OperationDescriptor>,
94
- config?: ClientConfig<OperationContext<Id, Path, Tag>>
95
- ): Client<Ops, OperationContext<Id, Path, Tag>> {
96
- return createClientCore<Ops, Id, Path, Tag>(operations, config, ${wired});
97
- }`;
98
- }
99
- //# sourceMappingURL=inline-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-runtime.js","sourceRoot":"","sources":["../../src/emitters/inline-runtime.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AAEvE,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAW9C,MAAM,MAAM,GACV,yFAAyF,CAAC;AAE5F,qFAAqF;AACrF,qFAAqF;AACrF,uFAAuF;AACvF,kFAAkF;AAClF,MAAM,YAAY,GAA6E;IAC7F,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;IACtB,WAAW,EAAE,EAAE,CAAC,kBAAkB,EAAE,2DAA2D;IAC/F,kFAAkF;IAClF,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CACxB,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB;IAClF,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,+CAA+C;CACxE,CAAC;AAEF,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,oFAAoF;IACpF,yEAAyE;IACzE,MAAM,OAAO,GAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjG,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,mFAAmF;IACnF,qFAAqF;IACrF,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC;AAED,sFAAsF;AACtF,sFAAsF;AACtF,iFAAiF;AACjF,oFAAoF;AACpF,SAAS,WAAW,CAAC,IAAuB;IAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAAE,SAAS;QAChD,mFAAmF;QACnF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACnE,gFAAgF;QAChF,4DAA4D;QAC5D,MAAM,cAAc,GAAG,EAAE;aACtB,YAAY,CAAC,SAA4B,CAAC;YAC3C,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,qFAAqF;AACrF,qFAAqF;AACrF,kFAAkF;AAClF,6DAA6D;AAC7D,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,OAAO;;;;;;;;;;;;;;;oEAe2D,KAAK;EACvE,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { SchemaMetadata } from '../intermediate-representation/model.js';
2
- /**
3
- * The JSDoc body for a description + metadata as a single `\n`-joined string,
4
- * or `undefined` when there's nothing to document. The AST emitters feed this
5
- * to `ts.ts`'s `jsdoc` helper (which owns the `*`-prefixing and indentation),
6
- * so this returns only the raw body — no comment delimiters, no padding.
7
- */
8
- export declare function jsdocText(text: string | undefined, metadata?: SchemaMetadata): string | undefined;
9
- //# sourceMappingURL=jsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsdoc.d.ts","sourceRoot":"","sources":["../../src/emitters/jsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAI9E;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAGjG"}