@kattebak/openapi-generator-ts 1.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 (290) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +189 -0
  3. package/dist/cli/commands/generate.d.ts +23 -0
  4. package/dist/cli/commands/generate.d.ts.map +1 -0
  5. package/dist/cli/commands/generate.js +116 -0
  6. package/dist/cli/commands/generate.js.map +1 -0
  7. package/dist/cli/commands/list.d.ts +2 -0
  8. package/dist/cli/commands/list.d.ts.map +1 -0
  9. package/dist/cli/commands/list.js +26 -0
  10. package/dist/cli/commands/list.js.map +1 -0
  11. package/dist/cli/commands/validate.d.ts +6 -0
  12. package/dist/cli/commands/validate.d.ts.map +1 -0
  13. package/dist/cli/commands/validate.js +80 -0
  14. package/dist/cli/commands/validate.js.map +1 -0
  15. package/dist/cli/convert-template.d.ts +31 -0
  16. package/dist/cli/convert-template.d.ts.map +1 -0
  17. package/dist/cli/convert-template.js +204 -0
  18. package/dist/cli/convert-template.js.map +1 -0
  19. package/dist/cli/convert-template.test.d.ts +2 -0
  20. package/dist/cli/convert-template.test.d.ts.map +1 -0
  21. package/dist/cli/convert-template.test.js +74 -0
  22. package/dist/cli/convert-template.test.js.map +1 -0
  23. package/dist/cli/index.d.ts +3 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +246 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/core/config.d.ts +252 -0
  28. package/dist/core/config.d.ts.map +1 -0
  29. package/dist/core/config.js +31 -0
  30. package/dist/core/config.js.map +1 -0
  31. package/dist/core/generator.d.ts +99 -0
  32. package/dist/core/generator.d.ts.map +1 -0
  33. package/dist/core/generator.js +492 -0
  34. package/dist/core/generator.js.map +1 -0
  35. package/dist/core/index.d.ts +4 -0
  36. package/dist/core/index.d.ts.map +1 -0
  37. package/dist/core/index.js +4 -0
  38. package/dist/core/index.js.map +1 -0
  39. package/dist/core/types.d.ts +47 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +5 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/generators/generators.test.d.ts +6 -0
  44. package/dist/generators/generators.test.d.ts.map +1 -0
  45. package/dist/generators/generators.test.js +247 -0
  46. package/dist/generators/generators.test.js.map +1 -0
  47. package/dist/generators/go.d.ts +10 -0
  48. package/dist/generators/go.d.ts.map +1 -0
  49. package/dist/generators/go.js +327 -0
  50. package/dist/generators/go.js.map +1 -0
  51. package/dist/generators/index.d.ts +29 -0
  52. package/dist/generators/index.d.ts.map +1 -0
  53. package/dist/generators/index.js +58 -0
  54. package/dist/generators/index.js.map +1 -0
  55. package/dist/generators/php.d.ts +14 -0
  56. package/dist/generators/php.d.ts.map +1 -0
  57. package/dist/generators/php.js +241 -0
  58. package/dist/generators/php.js.map +1 -0
  59. package/dist/generators/python.d.ts +10 -0
  60. package/dist/generators/python.d.ts.map +1 -0
  61. package/dist/generators/python.js +273 -0
  62. package/dist/generators/python.js.map +1 -0
  63. package/dist/generators/typescript-fetch.d.ts +14 -0
  64. package/dist/generators/typescript-fetch.d.ts.map +1 -0
  65. package/dist/generators/typescript-fetch.js +217 -0
  66. package/dist/generators/typescript-fetch.js.map +1 -0
  67. package/dist/index.d.ts +14 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +16 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/models/codegen-model.d.ts +123 -0
  72. package/dist/models/codegen-model.d.ts.map +1 -0
  73. package/dist/models/codegen-model.js +64 -0
  74. package/dist/models/codegen-model.js.map +1 -0
  75. package/dist/models/codegen-model.test.d.ts +6 -0
  76. package/dist/models/codegen-model.test.d.ts.map +1 -0
  77. package/dist/models/codegen-model.test.js +143 -0
  78. package/dist/models/codegen-model.test.js.map +1 -0
  79. package/dist/models/codegen-operation.d.ts +95 -0
  80. package/dist/models/codegen-operation.d.ts.map +1 -0
  81. package/dist/models/codegen-operation.js +54 -0
  82. package/dist/models/codegen-operation.js.map +1 -0
  83. package/dist/models/codegen-parameter.d.ts +86 -0
  84. package/dist/models/codegen-parameter.d.ts.map +1 -0
  85. package/dist/models/codegen-parameter.js +47 -0
  86. package/dist/models/codegen-parameter.js.map +1 -0
  87. package/dist/models/codegen-property.d.ts +95 -0
  88. package/dist/models/codegen-property.d.ts.map +1 -0
  89. package/dist/models/codegen-property.js +47 -0
  90. package/dist/models/codegen-property.js.map +1 -0
  91. package/dist/models/codegen-response.d.ts +64 -0
  92. package/dist/models/codegen-response.d.ts.map +1 -0
  93. package/dist/models/codegen-response.js +42 -0
  94. package/dist/models/codegen-response.js.map +1 -0
  95. package/dist/models/codegen-security.d.ts +34 -0
  96. package/dist/models/codegen-security.d.ts.map +1 -0
  97. package/dist/models/codegen-security.js +18 -0
  98. package/dist/models/codegen-security.js.map +1 -0
  99. package/dist/models/index.d.ts +8 -0
  100. package/dist/models/index.d.ts.map +1 -0
  101. package/dist/models/index.js +7 -0
  102. package/dist/models/index.js.map +1 -0
  103. package/dist/parser/index.d.ts +4 -0
  104. package/dist/parser/index.d.ts.map +1 -0
  105. package/dist/parser/index.js +4 -0
  106. package/dist/parser/index.js.map +1 -0
  107. package/dist/parser/openapi-parser.d.ts +71 -0
  108. package/dist/parser/openapi-parser.d.ts.map +1 -0
  109. package/dist/parser/openapi-parser.js +195 -0
  110. package/dist/parser/openapi-parser.js.map +1 -0
  111. package/dist/parser/openapi-parser.test.d.ts +6 -0
  112. package/dist/parser/openapi-parser.test.d.ts.map +1 -0
  113. package/dist/parser/openapi-parser.test.js +238 -0
  114. package/dist/parser/openapi-parser.test.js.map +1 -0
  115. package/dist/parser/operation-transformer.d.ts +95 -0
  116. package/dist/parser/operation-transformer.d.ts.map +1 -0
  117. package/dist/parser/operation-transformer.js +634 -0
  118. package/dist/parser/operation-transformer.js.map +1 -0
  119. package/dist/parser/schema-transformer.d.ts +134 -0
  120. package/dist/parser/schema-transformer.d.ts.map +1 -0
  121. package/dist/parser/schema-transformer.js +557 -0
  122. package/dist/parser/schema-transformer.js.map +1 -0
  123. package/dist/template/engine-adapter.d.ts +55 -0
  124. package/dist/template/engine-adapter.d.ts.map +1 -0
  125. package/dist/template/engine-adapter.js +178 -0
  126. package/dist/template/engine-adapter.js.map +1 -0
  127. package/dist/template/engine-adapter.test.d.ts +6 -0
  128. package/dist/template/engine-adapter.test.d.ts.map +1 -0
  129. package/dist/template/engine-adapter.test.js +186 -0
  130. package/dist/template/engine-adapter.test.js.map +1 -0
  131. package/dist/template/index.d.ts +5 -0
  132. package/dist/template/index.d.ts.map +1 -0
  133. package/dist/template/index.js +5 -0
  134. package/dist/template/index.js.map +1 -0
  135. package/dist/template/lambdas/indent-lambdas.d.ts +40 -0
  136. package/dist/template/lambdas/indent-lambdas.d.ts.map +1 -0
  137. package/dist/template/lambdas/indent-lambdas.js +98 -0
  138. package/dist/template/lambdas/indent-lambdas.js.map +1 -0
  139. package/dist/template/lambdas/index.d.ts +44 -0
  140. package/dist/template/lambdas/index.d.ts.map +1 -0
  141. package/dist/template/lambdas/index.js +79 -0
  142. package/dist/template/lambdas/index.js.map +1 -0
  143. package/dist/template/lambdas/string-lambdas.d.ts +78 -0
  144. package/dist/template/lambdas/string-lambdas.d.ts.map +1 -0
  145. package/dist/template/lambdas/string-lambdas.js +148 -0
  146. package/dist/template/lambdas/string-lambdas.js.map +1 -0
  147. package/dist/template/lambdas/string-lambdas.test.d.ts +6 -0
  148. package/dist/template/lambdas/string-lambdas.test.d.ts.map +1 -0
  149. package/dist/template/lambdas/string-lambdas.test.js +158 -0
  150. package/dist/template/lambdas/string-lambdas.test.js.map +1 -0
  151. package/dist/template/template-locator.d.ts +72 -0
  152. package/dist/template/template-locator.d.ts.map +1 -0
  153. package/dist/template/template-locator.js +173 -0
  154. package/dist/template/template-locator.js.map +1 -0
  155. package/dist/template/template-manager.d.ts +65 -0
  156. package/dist/template/template-manager.d.ts.map +1 -0
  157. package/dist/template/template-manager.js +185 -0
  158. package/dist/template/template-manager.js.map +1 -0
  159. package/package.json +67 -0
  160. package/templates/go/.travis.yml +8 -0
  161. package/templates/go/README.mustache +236 -0
  162. package/templates/go/api.mustache +452 -0
  163. package/templates/go/api_doc.mustache +92 -0
  164. package/templates/go/api_test.mustache +59 -0
  165. package/templates/go/client.mustache +761 -0
  166. package/templates/go/configuration.mustache +332 -0
  167. package/templates/go/git_push.sh.mustache +57 -0
  168. package/templates/go/gitignore.mustache +24 -0
  169. package/templates/go/go.mod.mustache +16 -0
  170. package/templates/go/go.sum.mustache +19 -0
  171. package/templates/go/model.mustache +21 -0
  172. package/templates/go/model_anyof.mustache +93 -0
  173. package/templates/go/model_doc.mustache +97 -0
  174. package/templates/go/model_enum.mustache +101 -0
  175. package/templates/go/model_oneof.mustache +160 -0
  176. package/templates/go/model_simple.mustache +572 -0
  177. package/templates/go/nullable_model.mustache +35 -0
  178. package/templates/go/openapi.mustache +1 -0
  179. package/templates/go/partial_header.mustache +18 -0
  180. package/templates/go/response.mustache +38 -0
  181. package/templates/go/signing.mustache +453 -0
  182. package/templates/go/utils.mustache +352 -0
  183. package/templates/php/.php-cs-fixer.dist.php +29 -0
  184. package/templates/php/.travis.yml +8 -0
  185. package/templates/php/ApiException.mustache +111 -0
  186. package/templates/php/Configuration.mustache +606 -0
  187. package/templates/php/FormDataProcessor.mustache +238 -0
  188. package/templates/php/HeaderSelector.mustache +265 -0
  189. package/templates/php/ModelInterface.mustache +103 -0
  190. package/templates/php/ObjectSerializer.mustache +591 -0
  191. package/templates/php/README.mustache +151 -0
  192. package/templates/php/api.mustache +891 -0
  193. package/templates/php/api_doc.mustache +105 -0
  194. package/templates/php/api_test.mustache +80 -0
  195. package/templates/php/composer.mustache +44 -0
  196. package/templates/php/git_push.sh.mustache +57 -0
  197. package/templates/php/gitignore +15 -0
  198. package/templates/php/libraries/psr-18/ApiException.mustache +114 -0
  199. package/templates/php/libraries/psr-18/DebugPlugin.mustache +93 -0
  200. package/templates/php/libraries/psr-18/README.mustache +161 -0
  201. package/templates/php/libraries/psr-18/api.mustache +833 -0
  202. package/templates/php/libraries/psr-18/api_doc.mustache +79 -0
  203. package/templates/php/libraries/psr-18/composer.mustache +56 -0
  204. package/templates/php/model.mustache +47 -0
  205. package/templates/php/model_doc.mustache +10 -0
  206. package/templates/php/model_enum.mustache +33 -0
  207. package/templates/php/model_generic.mustache +565 -0
  208. package/templates/php/model_test.mustache +88 -0
  209. package/templates/php/partial_header.mustache +18 -0
  210. package/templates/php/php_doc_auth_partial.mustache +23 -0
  211. package/templates/php/phpunit.xml.mustache +18 -0
  212. package/templates/python/README.mustache +60 -0
  213. package/templates/python/README_onlypackage.mustache +50 -0
  214. package/templates/python/__init__.mustache +1 -0
  215. package/templates/python/__init__api.mustache +19 -0
  216. package/templates/python/__init__model.mustache +22 -0
  217. package/templates/python/__init__package.mustache +49 -0
  218. package/templates/python/api.mustache +244 -0
  219. package/templates/python/api_client.mustache +822 -0
  220. package/templates/python/api_doc.mustache +81 -0
  221. package/templates/python/api_doc_example.mustache +38 -0
  222. package/templates/python/api_response.mustache +21 -0
  223. package/templates/python/api_test.mustache +48 -0
  224. package/templates/python/asyncio/rest.mustache +209 -0
  225. package/templates/python/common_README.mustache +85 -0
  226. package/templates/python/configuration.mustache +806 -0
  227. package/templates/python/exceptions.mustache +210 -0
  228. package/templates/python/exports_api.mustache +3 -0
  229. package/templates/python/exports_model.mustache +3 -0
  230. package/templates/python/exports_package.mustache +20 -0
  231. package/templates/python/git_push.sh.mustache +57 -0
  232. package/templates/python/github-workflow.mustache +35 -0
  233. package/templates/python/gitignore.mustache +66 -0
  234. package/templates/python/gitlab-ci.mustache +31 -0
  235. package/templates/python/httpx/rest.mustache +190 -0
  236. package/templates/python/model.mustache +16 -0
  237. package/templates/python/model_anyof.mustache +182 -0
  238. package/templates/python/model_doc.mustache +40 -0
  239. package/templates/python/model_enum.mustache +36 -0
  240. package/templates/python/model_generic.mustache +403 -0
  241. package/templates/python/model_oneof.mustache +209 -0
  242. package/templates/python/model_test.mustache +60 -0
  243. package/templates/python/partial_api.mustache +52 -0
  244. package/templates/python/partial_api_args.mustache +18 -0
  245. package/templates/python/partial_header.mustache +19 -0
  246. package/templates/python/py.typed.mustache +1 -0
  247. package/templates/python/pyproject.mustache +172 -0
  248. package/templates/python/python_doc_auth_partial.mustache +108 -0
  249. package/templates/python/requirements.mustache +23 -0
  250. package/templates/python/rest.mustache +254 -0
  251. package/templates/python/setup.mustache +60 -0
  252. package/templates/python/setup_cfg.mustache +2 -0
  253. package/templates/python/signing.mustache +422 -0
  254. package/templates/python/test-requirements.mustache +6 -0
  255. package/templates/python/tornado/rest.mustache +148 -0
  256. package/templates/python/tox.mustache +9 -0
  257. package/templates/python/travis.mustache +17 -0
  258. package/templates/typescript-fetch/ApiEntitiesRecord.mustache +26 -0
  259. package/templates/typescript-fetch/ApiEntitiesReducer.mustache +21 -0
  260. package/templates/typescript-fetch/ApiEntitiesSelectors.mustache +5 -0
  261. package/templates/typescript-fetch/README.mustache +127 -0
  262. package/templates/typescript-fetch/allSagas.mustache +19 -0
  263. package/templates/typescript-fetch/api_doc.mustache +63 -0
  264. package/templates/typescript-fetch/api_example.mustache +44 -0
  265. package/templates/typescript-fetch/apis.index.mustache +16 -0
  266. package/templates/typescript-fetch/apis.mustache +483 -0
  267. package/templates/typescript-fetch/apisAssignQueryParam.mustache +12 -0
  268. package/templates/typescript-fetch/gitignore +4 -0
  269. package/templates/typescript-fetch/index.mustache +17 -0
  270. package/templates/typescript-fetch/licenseInfo.mustache +11 -0
  271. package/templates/typescript-fetch/modelEnum.mustache +28 -0
  272. package/templates/typescript-fetch/modelEnumInterfaces.mustache +37 -0
  273. package/templates/typescript-fetch/modelGeneric.mustache +261 -0
  274. package/templates/typescript-fetch/modelGenericInterfaces.mustache +50 -0
  275. package/templates/typescript-fetch/modelOneOf.mustache +255 -0
  276. package/templates/typescript-fetch/modelOneOfInterfaces.mustache +6 -0
  277. package/templates/typescript-fetch/model_doc.mustache +41 -0
  278. package/templates/typescript-fetch/models.index.mustache +32 -0
  279. package/templates/typescript-fetch/models.mustache +24 -0
  280. package/templates/typescript-fetch/npmignore.mustache +1 -0
  281. package/templates/typescript-fetch/package.mustache +43 -0
  282. package/templates/typescript-fetch/recordGeneric.mustache +295 -0
  283. package/templates/typescript-fetch/records.mustache +17 -0
  284. package/templates/typescript-fetch/runtime.mustache +424 -0
  285. package/templates/typescript-fetch/runtimeSagasAndRecords.mustache +120 -0
  286. package/templates/typescript-fetch/sagaApiManager.mustache +28 -0
  287. package/templates/typescript-fetch/sagas.mustache +245 -0
  288. package/templates/typescript-fetch/sourceLibraryIndex.mustache +1 -0
  289. package/templates/typescript-fetch/tsconfig.esm.mustache +7 -0
  290. package/templates/typescript-fetch/tsconfig.mustache +25 -0
@@ -0,0 +1,4 @@
1
+ export * from "./openapi-parser.js";
2
+ export * from "./operation-transformer.js";
3
+ export * from "./schema-transformer.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./openapi-parser.js";
2
+ export * from "./operation-transformer.js";
3
+ export * from "./schema-transformer.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { OpenAPI, OpenAPIV3, OpenAPIV3_1 } from "openapi-types";
2
+ export type OpenAPIDocument = OpenAPI.Document;
3
+ export type OpenAPIV3Document = OpenAPIV3.Document;
4
+ export type OpenAPIV31Document = OpenAPIV3_1.Document;
5
+ export interface ParseOptions {
6
+ /**
7
+ * Fully dereference all $refs (default: false)
8
+ * When false, uses bundle mode which preserves internal $refs
9
+ */
10
+ dereference?: boolean;
11
+ /**
12
+ * Validate the spec against the OpenAPI schema
13
+ */
14
+ validate?: boolean;
15
+ /**
16
+ * Allow circular references
17
+ */
18
+ allowCircular?: boolean;
19
+ }
20
+ export interface ParsedSpec {
21
+ document: OpenAPIDocument;
22
+ isOpenAPI3: boolean;
23
+ isOpenAPI31: boolean;
24
+ isSwagger2: boolean;
25
+ version: string;
26
+ }
27
+ /**
28
+ * Parse an OpenAPI specification from a file path or URL
29
+ */
30
+ export declare function parseSpec(input: string, options?: ParseOptions): Promise<ParsedSpec>;
31
+ /**
32
+ * Parse an OpenAPI specification from a string (JSON or YAML)
33
+ */
34
+ export declare function parseSpecFromString(content: string, options?: ParseOptions): Promise<ParsedSpec>;
35
+ /**
36
+ * Type guard for OpenAPI 3.x documents
37
+ */
38
+ export declare function isOpenAPI3(document: OpenAPIDocument): document is OpenAPIV3Document;
39
+ /**
40
+ * Type guard for OpenAPI 3.1 documents
41
+ */
42
+ export declare function isOpenAPI31(document: OpenAPIDocument): document is OpenAPIV31Document;
43
+ /**
44
+ * Get all schemas from the document
45
+ */
46
+ export declare function getSchemas(document: OpenAPIDocument): Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>;
47
+ /**
48
+ * Get all paths/operations from the document
49
+ */
50
+ export declare function getPaths(document: OpenAPIDocument): OpenAPIV3.PathsObject;
51
+ /**
52
+ * Get security schemes from the document
53
+ */
54
+ export declare function getSecuritySchemes(document: OpenAPIDocument): Record<string, OpenAPIV3.SecuritySchemeObject>;
55
+ /**
56
+ * Get servers from the document
57
+ */
58
+ export declare function getServers(document: OpenAPIDocument): OpenAPIV3.ServerObject[];
59
+ /**
60
+ * Get external documentation from the document
61
+ */
62
+ export declare function getExternalDocs(document: OpenAPIDocument): OpenAPIV3.ExternalDocumentationObject | undefined;
63
+ /**
64
+ * Get tags from the document
65
+ */
66
+ export declare function getTags(document: OpenAPIDocument): OpenAPIV3.TagObject[];
67
+ /**
68
+ * Get info from the document
69
+ */
70
+ export declare function getInfo(document: OpenAPIDocument): OpenAPIV3.InfoObject;
71
+ //# sourceMappingURL=openapi-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-parser.d.ts","sourceRoot":"","sources":["../../src/parser/openapi-parser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;AACnD,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAeD;;GAEG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,eAAe,GACvB,QAAQ,IAAI,iBAAiB,CAE/B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,eAAe,GACvB,QAAQ,IAAI,kBAAkB,CAEhC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CASpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC,WAAW,CASzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAehD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,eAAe,GACvB,SAAS,CAAC,YAAY,EAAE,CAiB1B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,eAAe,GACvB,SAAS,CAAC,2BAA2B,GAAG,SAAS,CAKnD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC,SAAS,EAAE,CAKxE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC,UAAU,CAEvE"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * OpenAPI specification parser
3
+ * Uses @apidevtools/swagger-parser to parse and dereference OpenAPI specs
4
+ */
5
+ import SwaggerParser from "@apidevtools/swagger-parser";
6
+ /**
7
+ * Parse an OpenAPI specification from a file path or URL
8
+ */
9
+ export async function parseSpec(input, options = {}) {
10
+ const { dereference = false, validate = true } = options;
11
+ let document;
12
+ if (dereference) {
13
+ // Validate and dereference (validate() also dereferences)
14
+ if (validate) {
15
+ document = await SwaggerParser.validate(input);
16
+ }
17
+ else {
18
+ document = await SwaggerParser.dereference(input, {
19
+ dereference: {
20
+ circular: options.allowCircular ?? "ignore",
21
+ },
22
+ });
23
+ }
24
+ }
25
+ else {
26
+ // Bundle mode: resolves external refs but preserves internal $refs
27
+ // Note: We skip validation here as validate() would dereference
28
+ document = await SwaggerParser.bundle(input);
29
+ }
30
+ const version = getSpecVersion(document);
31
+ const isOpenAPI3 = version.startsWith("3.");
32
+ const isOpenAPI31 = version.startsWith("3.1");
33
+ const isSwagger2 = version.startsWith("2.");
34
+ return {
35
+ document,
36
+ isOpenAPI3,
37
+ isOpenAPI31,
38
+ isSwagger2,
39
+ version,
40
+ };
41
+ }
42
+ /**
43
+ * Parse an OpenAPI specification from a string (JSON or YAML)
44
+ */
45
+ export async function parseSpecFromString(content, options = {}) {
46
+ const { dereference = false, validate = true } = options;
47
+ // Parse the string content
48
+ let document;
49
+ // Try to parse as JSON first, then YAML
50
+ try {
51
+ document = JSON.parse(content);
52
+ }
53
+ catch {
54
+ // If JSON parsing fails, it might be YAML
55
+ const yaml = await import("js-yaml");
56
+ document = yaml.load(content);
57
+ }
58
+ if (dereference) {
59
+ // Validate and dereference (validate() also dereferences)
60
+ if (validate) {
61
+ document = await SwaggerParser.validate(document);
62
+ }
63
+ else {
64
+ document = await SwaggerParser.dereference(document, {
65
+ dereference: {
66
+ circular: options.allowCircular ?? "ignore",
67
+ },
68
+ });
69
+ }
70
+ }
71
+ else {
72
+ // Bundle mode: resolves external refs but preserves internal $refs
73
+ // Note: We skip validation here as validate() would dereference
74
+ document = await SwaggerParser.bundle(document);
75
+ }
76
+ const version = getSpecVersion(document);
77
+ const isOpenAPI3 = version.startsWith("3.");
78
+ const isOpenAPI31 = version.startsWith("3.1");
79
+ const isSwagger2 = version.startsWith("2.");
80
+ return {
81
+ document,
82
+ isOpenAPI3,
83
+ isOpenAPI31,
84
+ isSwagger2,
85
+ version,
86
+ };
87
+ }
88
+ /**
89
+ * Get the OpenAPI/Swagger version from a document
90
+ */
91
+ function getSpecVersion(document) {
92
+ if ("openapi" in document && document.openapi) {
93
+ return document.openapi;
94
+ }
95
+ if ("swagger" in document && document.swagger) {
96
+ return document.swagger;
97
+ }
98
+ return "unknown";
99
+ }
100
+ /**
101
+ * Type guard for OpenAPI 3.x documents
102
+ */
103
+ export function isOpenAPI3(document) {
104
+ return "openapi" in document && document.openapi?.startsWith("3.");
105
+ }
106
+ /**
107
+ * Type guard for OpenAPI 3.1 documents
108
+ */
109
+ export function isOpenAPI31(document) {
110
+ return "openapi" in document && document.openapi?.startsWith("3.1");
111
+ }
112
+ /**
113
+ * Get all schemas from the document
114
+ */
115
+ export function getSchemas(document) {
116
+ if (isOpenAPI3(document)) {
117
+ return document.components?.schemas ?? {};
118
+ }
119
+ // Swagger 2.0
120
+ if ("definitions" in document && document.definitions) {
121
+ return document.definitions;
122
+ }
123
+ return {};
124
+ }
125
+ /**
126
+ * Get all paths/operations from the document
127
+ */
128
+ export function getPaths(document) {
129
+ if (isOpenAPI3(document)) {
130
+ return document.paths ?? {};
131
+ }
132
+ // Swagger 2.0
133
+ if ("paths" in document && document.paths) {
134
+ return document.paths;
135
+ }
136
+ return {};
137
+ }
138
+ /**
139
+ * Get security schemes from the document
140
+ */
141
+ export function getSecuritySchemes(document) {
142
+ if (isOpenAPI3(document)) {
143
+ return (document.components?.securitySchemes ?? {});
144
+ }
145
+ // Swagger 2.0
146
+ if ("securityDefinitions" in document && document.securityDefinitions) {
147
+ return document.securityDefinitions;
148
+ }
149
+ return {};
150
+ }
151
+ /**
152
+ * Get servers from the document
153
+ */
154
+ export function getServers(document) {
155
+ if (isOpenAPI3(document)) {
156
+ return document.servers ?? [];
157
+ }
158
+ // Swagger 2.0 - construct from host, basePath, schemes
159
+ if ("host" in document) {
160
+ const host = document.host ?? "localhost";
161
+ const basePath = ("basePath" in document ? document.basePath : "") ?? "";
162
+ const schemes = ("schemes" in document ? document.schemes : ["https"]) ?? [
163
+ "https",
164
+ ];
165
+ return schemes.map((scheme) => ({
166
+ url: `${scheme}://${host}${basePath}`,
167
+ }));
168
+ }
169
+ return [];
170
+ }
171
+ /**
172
+ * Get external documentation from the document
173
+ */
174
+ export function getExternalDocs(document) {
175
+ if ("externalDocs" in document) {
176
+ return document.externalDocs;
177
+ }
178
+ return undefined;
179
+ }
180
+ /**
181
+ * Get tags from the document
182
+ */
183
+ export function getTags(document) {
184
+ if ("tags" in document && document.tags) {
185
+ return document.tags;
186
+ }
187
+ return [];
188
+ }
189
+ /**
190
+ * Get info from the document
191
+ */
192
+ export function getInfo(document) {
193
+ return document.info;
194
+ }
195
+ //# sourceMappingURL=openapi-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-parser.js","sourceRoot":"","sources":["../../src/parser/openapi-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * OpenAPI Parser tests
3
+ * Tests for parsing and validating OpenAPI specifications
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=openapi-parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-parser.test.d.ts","sourceRoot":"","sources":["../../src/parser/openapi-parser.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * OpenAPI Parser tests
3
+ * Tests for parsing and validating OpenAPI specifications
4
+ */
5
+ import assert from "node:assert";
6
+ import { describe, it } from "node:test";
7
+ import { getPaths, getSchemas, getSecuritySchemes, getServers, isOpenAPI3, isOpenAPI31, parseSpecFromString, } from "./openapi-parser.js";
8
+ // Sample petstore-like spec for testing
9
+ const petstoreSpec = {
10
+ openapi: "3.0.0",
11
+ info: {
12
+ title: "Petstore API",
13
+ version: "1.0.0",
14
+ },
15
+ paths: {
16
+ "/pets": {
17
+ get: {
18
+ operationId: "listPets",
19
+ responses: {
20
+ "200": {
21
+ description: "List of pets",
22
+ content: {
23
+ "application/json": {
24
+ schema: {
25
+ type: "array",
26
+ items: { $ref: "#/components/schemas/Pet" },
27
+ },
28
+ },
29
+ },
30
+ },
31
+ },
32
+ },
33
+ },
34
+ },
35
+ components: {
36
+ schemas: {
37
+ Pet: {
38
+ type: "object",
39
+ required: ["id", "name"],
40
+ properties: {
41
+ id: { type: "integer", format: "int64" },
42
+ name: { type: "string" },
43
+ tag: { type: "string" },
44
+ },
45
+ },
46
+ },
47
+ },
48
+ };
49
+ describe("OpenAPI Parser", () => {
50
+ describe("parseSpecFromString", () => {
51
+ it("should parse inline spec object", async () => {
52
+ const spec = {
53
+ openapi: "3.0.0",
54
+ info: {
55
+ title: "Test API",
56
+ version: "1.0.0",
57
+ },
58
+ paths: {},
59
+ };
60
+ const result = await parseSpecFromString(JSON.stringify(spec));
61
+ assert.ok(result);
62
+ assert.ok(result.document);
63
+ assert.strictEqual(result.document.info.title, "Test API");
64
+ assert.strictEqual(result.document.info.version, "1.0.0");
65
+ });
66
+ it("should parse petstore-like spec", async () => {
67
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec));
68
+ assert.ok(result);
69
+ assert.ok(result.isOpenAPI3);
70
+ assert.strictEqual(result.version, "3.0.0");
71
+ assert.strictEqual(result.document.info.title, "Petstore API");
72
+ });
73
+ it("should extract paths from spec", async () => {
74
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec));
75
+ const paths = getPaths(result.document);
76
+ assert.ok(paths);
77
+ assert.ok(Object.keys(paths).length > 0);
78
+ assert.ok(paths["/pets"]);
79
+ });
80
+ it("should extract components/schemas from spec", async () => {
81
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec));
82
+ const schemas = getSchemas(result.document);
83
+ assert.ok(schemas);
84
+ assert.ok(schemas.Pet);
85
+ });
86
+ it("should dereference $ref", async () => {
87
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec), {
88
+ dereference: true,
89
+ });
90
+ // After dereferencing, the Pet schema should be resolved
91
+ const schemas = getSchemas(result.document);
92
+ const petSchema = schemas.Pet;
93
+ assert.ok(petSchema);
94
+ assert.ok("properties" in petSchema);
95
+ assert.ok(petSchema.properties?.id);
96
+ assert.ok(petSchema.properties?.name);
97
+ });
98
+ it("should detect OpenAPI version", async () => {
99
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec));
100
+ assert.strictEqual(result.isOpenAPI3, true);
101
+ assert.strictEqual(result.isOpenAPI31, false);
102
+ assert.strictEqual(result.isSwagger2, false);
103
+ assert.strictEqual(result.version, "3.0.0");
104
+ });
105
+ });
106
+ describe("validation", () => {
107
+ it("should validate a valid OpenAPI spec", async () => {
108
+ // parseSpecFromString with validate: true (default) should not throw
109
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec), {
110
+ validate: true,
111
+ });
112
+ assert.ok(result);
113
+ assert.ok(result.document);
114
+ });
115
+ it("should throw for invalid spec when validation enabled", async () => {
116
+ const invalidSpec = {
117
+ openapi: "3.0.0",
118
+ // Missing required 'info' field
119
+ paths: {},
120
+ };
121
+ await assert.rejects(async () => parseSpecFromString(JSON.stringify(invalidSpec), { validate: true }),
122
+ // Swagger parser throws an error for invalid specs
123
+ (err) => err !== null);
124
+ });
125
+ it("should parse invalid spec when validation disabled", async () => {
126
+ const invalidSpec = {
127
+ openapi: "3.0.0",
128
+ info: { title: "Test", version: "1.0.0" },
129
+ paths: {},
130
+ };
131
+ const result = await parseSpecFromString(JSON.stringify(invalidSpec), {
132
+ validate: false,
133
+ });
134
+ assert.ok(result);
135
+ });
136
+ });
137
+ describe("type guards", () => {
138
+ it("should identify OpenAPI 3.x documents", async () => {
139
+ const result = await parseSpecFromString(JSON.stringify(petstoreSpec));
140
+ assert.strictEqual(isOpenAPI3(result.document), true);
141
+ assert.strictEqual(isOpenAPI31(result.document), false);
142
+ });
143
+ it("should identify OpenAPI 3.1 documents", async () => {
144
+ const spec31 = {
145
+ openapi: "3.1.0",
146
+ info: {
147
+ title: "OpenAPI 3.1 API",
148
+ version: "1.0.0",
149
+ },
150
+ paths: {},
151
+ };
152
+ const result = await parseSpecFromString(JSON.stringify(spec31), {
153
+ validate: false,
154
+ });
155
+ assert.strictEqual(isOpenAPI3(result.document), true);
156
+ assert.strictEqual(isOpenAPI31(result.document), true);
157
+ });
158
+ });
159
+ describe("Edge cases", () => {
160
+ it("should handle spec with no paths", async () => {
161
+ const spec = {
162
+ openapi: "3.0.0",
163
+ info: {
164
+ title: "Empty API",
165
+ version: "1.0.0",
166
+ },
167
+ paths: {},
168
+ };
169
+ const result = await parseSpecFromString(JSON.stringify(spec));
170
+ const paths = getPaths(result.document);
171
+ assert.ok(result);
172
+ assert.deepStrictEqual(paths, {});
173
+ });
174
+ it("should handle spec with components but no schemas", async () => {
175
+ const spec = {
176
+ openapi: "3.0.0",
177
+ info: {
178
+ title: "No Schema API",
179
+ version: "1.0.0",
180
+ },
181
+ paths: {},
182
+ components: {},
183
+ };
184
+ const result = await parseSpecFromString(JSON.stringify(spec));
185
+ const schemas = getSchemas(result.document);
186
+ assert.ok(result);
187
+ assert.deepStrictEqual(schemas, {});
188
+ });
189
+ it("should handle spec with servers", async () => {
190
+ const spec = {
191
+ openapi: "3.0.0",
192
+ info: {
193
+ title: "Server API",
194
+ version: "1.0.0",
195
+ },
196
+ servers: [
197
+ { url: "https://api.example.com/v1" },
198
+ { url: "https://staging.example.com/v1" },
199
+ ],
200
+ paths: {},
201
+ };
202
+ const result = await parseSpecFromString(JSON.stringify(spec));
203
+ const servers = getServers(result.document);
204
+ assert.ok(servers);
205
+ assert.strictEqual(servers.length, 2);
206
+ assert.strictEqual(servers[0].url, "https://api.example.com/v1");
207
+ });
208
+ it("should handle spec with security schemes", async () => {
209
+ const spec = {
210
+ openapi: "3.0.0",
211
+ info: {
212
+ title: "Secure API",
213
+ version: "1.0.0",
214
+ },
215
+ paths: {},
216
+ components: {
217
+ securitySchemes: {
218
+ bearerAuth: {
219
+ type: "http",
220
+ scheme: "bearer",
221
+ },
222
+ apiKey: {
223
+ type: "apiKey",
224
+ in: "header",
225
+ name: "X-API-Key",
226
+ },
227
+ },
228
+ },
229
+ };
230
+ const result = await parseSpecFromString(JSON.stringify(spec));
231
+ const securitySchemes = getSecuritySchemes(result.document);
232
+ assert.ok(securitySchemes);
233
+ assert.ok(securitySchemes.bearerAuth);
234
+ assert.ok(securitySchemes.apiKey);
235
+ });
236
+ });
237
+ });
238
+ //# sourceMappingURL=openapi-parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-parser.test.js","sourceRoot":"","sources":["../../src/parser/openapi-parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Operation transformer
3
+ * Converts OpenAPI operations to CodegenOperation objects
4
+ */
5
+ import type { OpenAPIV3 } from "openapi-types";
6
+ import { type CodegenOperation } from "../models/index.js";
7
+ export interface OperationTransformerOptions {
8
+ /**
9
+ * Type mappings from OpenAPI types to target language types
10
+ */
11
+ typeMappings?: Record<string, string>;
12
+ /**
13
+ * Reserved words for model renaming
14
+ */
15
+ reservedWords?: Set<string>;
16
+ /**
17
+ * Custom function to convert operation IDs for the target language.
18
+ */
19
+ toOperationId?: (name: string) => string;
20
+ }
21
+ declare const HTTP_METHODS: readonly ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
22
+ type HttpMethod = (typeof HTTP_METHODS)[number];
23
+ export declare class OperationTransformer {
24
+ private schemaTransformer;
25
+ private options;
26
+ private schemas;
27
+ constructor(options?: OperationTransformerOptions);
28
+ /**
29
+ * Transform all operations in paths object
30
+ */
31
+ transformPaths(paths: OpenAPIV3.PathsObject, securitySchemes?: Record<string, OpenAPIV3.SecuritySchemeObject>, schemas?: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>): Map<string, CodegenOperation[]>;
32
+ /**
33
+ * Transform a single operation
34
+ */
35
+ transformOperation(path: string, method: HttpMethod, operation: OpenAPIV3.OperationObject, pathParameters: OpenAPIV3.ParameterObject[], securitySchemes?: Record<string, OpenAPIV3.SecuritySchemeObject>): CodegenOperation;
36
+ /**
37
+ * Transform a parameter
38
+ */
39
+ private transformParameter;
40
+ /**
41
+ * Transform request body
42
+ */
43
+ private transformRequestBody;
44
+ /**
45
+ * Transform a response
46
+ */
47
+ private transformResponse;
48
+ /**
49
+ * Transform a security scheme
50
+ */
51
+ private transformSecurityScheme;
52
+ /**
53
+ * Add parameter to operation and categorize it
54
+ */
55
+ private addParameter;
56
+ /**
57
+ * Convert a CodegenProperty to CodegenParameter
58
+ */
59
+ private propertyToParameter;
60
+ /**
61
+ * Parse content type string into ContentType object
62
+ */
63
+ private parseContentType;
64
+ /**
65
+ * Generate operation ID from path and method
66
+ */
67
+ private generateOperationId;
68
+ /**
69
+ * Type guard for reference objects
70
+ */
71
+ private isReferenceObject;
72
+ /**
73
+ * Extract ref name from $ref string
74
+ */
75
+ private getRefName;
76
+ /**
77
+ * Extract vendor extensions (x-*) from object
78
+ */
79
+ private extractVendorExtensions;
80
+ /**
81
+ * Resolve array alias to its element type
82
+ * Returns null if not an array alias
83
+ */
84
+ private resolveArrayAlias;
85
+ /**
86
+ * Convert a name to model naming convention (with reserved word handling)
87
+ */
88
+ private toModelName;
89
+ }
90
+ /**
91
+ * Create an operation transformer with default options
92
+ */
93
+ export declare function createOperationTransformer(options?: OperationTransformerOptions): OperationTransformer;
94
+ export {};
95
+ //# sourceMappingURL=operation-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-transformer.d.ts","sourceRoot":"","sources":["../../src/parser/operation-transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,KAAK,gBAAgB,EAUrB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAED,QAAA,MAAM,YAAY,gFASR,CAAC;AAEX,KAAK,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,qBAAa,oBAAoB;IAChC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAGR;gBAEK,OAAO,GAAE,2BAAgC;IAQrD;;OAEG;IACH,cAAc,CACb,KAAK,EAAE,SAAS,CAAC,WAAW,EAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,EAChE,OAAO,CAAC,EAAE,MAAM,CACf,MAAM,EACN,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,CAClD,GACC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAsClC;;OAEG;IACH,kBAAkB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,cAAc,EAAE,SAAS,CAAC,eAAe,EAAE,EAC3C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,GAC9D,gBAAgB;IAkLnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2F1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyF5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoGzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiE/B;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,WAAW;CAUnB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,CAAC,EAAE,2BAA2B,GACnC,oBAAoB,CAEtB"}