ts-openapi-codegen 2.0.0-beta.9 → 2.1.0-beta.1

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 (525) hide show
  1. package/README.md +177 -18
  2. package/README.rus.md +177 -21
  3. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts +2 -0
  4. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts.map +1 -0
  5. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +365 -0
  6. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts +2 -0
  7. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts.map +1 -0
  8. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +142 -0
  9. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts +2 -0
  10. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts.map +1 -0
  11. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +137 -0
  12. package/dist/cli/analyzeDiff/analyzeDiff.d.ts +17 -0
  13. package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -0
  14. package/dist/cli/analyzeDiff/analyzeDiff.js +105 -0
  15. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +17 -0
  16. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +1 -0
  17. package/dist/cli/analyzeDiff/buildLegacyReport.js +54 -0
  18. package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -0
  19. package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -0
  20. package/dist/cli/analyzeDiff/ciSummary.js +20 -0
  21. package/dist/cli/analyzeDiff/diffEngine.d.ts +54 -0
  22. package/dist/cli/analyzeDiff/diffEngine.d.ts.map +1 -0
  23. package/dist/cli/analyzeDiff/diffEngine.js +209 -0
  24. package/dist/cli/analyzeDiff/ignoreRules.d.ts +33 -0
  25. package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -0
  26. package/dist/cli/analyzeDiff/ignoreRules.js +93 -0
  27. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts +10 -0
  28. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts.map +1 -0
  29. package/dist/cli/analyzeDiff/ignoreSemanticChanges.js +84 -0
  30. package/dist/cli/analyzeDiff/logLegacyReport.d.ts +6 -0
  31. package/dist/cli/analyzeDiff/logLegacyReport.d.ts.map +1 -0
  32. package/dist/cli/analyzeDiff/logLegacyReport.js +29 -0
  33. package/dist/cli/analyzeDiff/miracles.d.ts +89 -0
  34. package/dist/cli/analyzeDiff/miracles.d.ts.map +1 -0
  35. package/dist/cli/analyzeDiff/miracles.js +325 -0
  36. package/dist/cli/analyzeDiff/pluginPaths.d.ts +5 -0
  37. package/dist/cli/analyzeDiff/pluginPaths.d.ts.map +1 -0
  38. package/dist/cli/analyzeDiff/pluginPaths.js +13 -0
  39. package/dist/cli/analyzeDiff/report.d.ts +3 -0
  40. package/dist/cli/analyzeDiff/report.d.ts.map +1 -0
  41. package/dist/cli/analyzeDiff/report.js +7 -0
  42. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts +6 -0
  43. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts.map +1 -0
  44. package/dist/cli/analyzeDiff/semanticDiffContext.js +16 -0
  45. package/dist/cli/analyzeDiff/specParser.d.ts +22 -0
  46. package/dist/cli/analyzeDiff/specParser.d.ts.map +1 -0
  47. package/dist/cli/analyzeDiff/specParser.js +80 -0
  48. package/dist/cli/analyzeDiff/types.d.ts +61 -0
  49. package/dist/cli/analyzeDiff/types.d.ts.map +1 -0
  50. package/dist/cli/analyzeDiff/types.js +2 -0
  51. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +6 -0
  52. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +1 -0
  53. package/dist/cli/analyzeDiff/writeLegacyReport.js +21 -0
  54. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  55. package/dist/cli/checkAndUpdateConfig/checkConfig.js +13 -8
  56. package/dist/cli/checkAndUpdateConfig/constants.d.ts +0 -9
  57. package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -1
  58. package/dist/cli/checkAndUpdateConfig/constants.js +1 -10
  59. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  60. package/dist/cli/checkAndUpdateConfig/updateConfig.js +11 -7
  61. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -1
  62. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +6 -3
  63. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -1
  64. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +3 -2
  65. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  66. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
  67. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -1
  68. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +2 -2
  69. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts +2 -0
  70. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts.map +1 -0
  71. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +152 -0
  72. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +6 -2
  73. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  74. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +70 -22
  75. package/dist/cli/index.js +62 -5
  76. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  77. package/dist/cli/initOpenApiConfig/init.js +19 -6
  78. package/dist/cli/initOpenApiConfig/initConfig.d.ts +1 -0
  79. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
  80. package/dist/cli/initOpenApiConfig/initConfig.js +47 -24
  81. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +8 -1
  82. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
  83. package/dist/cli/initOpenApiConfig/initCustomRequest.js +40 -8
  84. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
  85. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +60 -0
  86. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -1
  87. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +2 -1
  88. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -1
  89. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +2 -1
  90. package/dist/cli/interactive/confirmDialog.d.ts.map +1 -1
  91. package/dist/cli/interactive/confirmDialog.js +3 -2
  92. package/dist/cli/interactive/constants.d.ts +2 -2
  93. package/dist/cli/interactive/constants.js +8 -8
  94. package/dist/cli/interactive/selectDialog.d.ts.map +1 -1
  95. package/dist/cli/interactive/selectDialog.js +11 -6
  96. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  97. package/dist/cli/previewChanges/previewChanges.js +151 -39
  98. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  99. package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
  100. package/dist/cli/schemas/analyzeDiff.d.ts +14 -0
  101. package/dist/cli/schemas/analyzeDiff.d.ts.map +1 -0
  102. package/dist/cli/schemas/analyzeDiff.js +28 -0
  103. package/dist/cli/schemas/generate.d.ts +9 -0
  104. package/dist/cli/schemas/generate.d.ts.map +1 -1
  105. package/dist/cli/schemas/generate.js +9 -0
  106. package/dist/cli/schemas/index.d.ts +3 -1
  107. package/dist/cli/schemas/index.d.ts.map +1 -1
  108. package/dist/cli/schemas/index.js +2 -0
  109. package/dist/common/Consts.d.ts +1 -0
  110. package/dist/common/Consts.d.ts.map +1 -1
  111. package/dist/common/Consts.js +19 -2
  112. package/dist/common/Logger.d.ts +20 -1
  113. package/dist/common/Logger.d.ts.map +1 -1
  114. package/dist/common/Logger.js +70 -9
  115. package/dist/common/LoggerMessages.d.ts +136 -33
  116. package/dist/common/LoggerMessages.d.ts.map +1 -1
  117. package/dist/common/LoggerMessages.js +119 -45
  118. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
  119. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +20 -4
  121. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +4 -0
  122. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  123. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +10 -2
  124. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  125. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +10 -2
  126. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  127. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +10 -2
  128. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +77 -0
  130. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
  131. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +41 -0
  132. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +79 -0
  133. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -0
  134. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +19 -0
  135. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +326 -28
  136. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  137. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +15 -17
  138. package/dist/common/VersionedSchema/CommonSchemas.d.ts +52 -4
  139. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/CommonSchemas.js +48 -7
  141. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -2
  142. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +4 -0
  144. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  145. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +4 -0
  146. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  147. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -2
  148. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  149. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -2
  150. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  151. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -2
  152. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  153. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +4 -0
  154. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  155. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +4 -0
  156. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  157. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -2
  158. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  159. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  160. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +40 -1
  161. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
  162. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
  163. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
  164. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +20 -3
  165. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +19 -1
  166. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +4 -0
  167. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  168. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +68 -23
  169. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +1 -1
  170. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +1 -1
  171. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +10 -0
  172. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  173. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +34 -15
  174. package/dist/common/__tests__/Logger.test.d.ts +2 -0
  175. package/dist/common/__tests__/Logger.test.d.ts.map +1 -0
  176. package/dist/common/__tests__/Logger.test.js +100 -0
  177. package/dist/common/utils/__tests__/convertArrayToObject.test.js +67 -169
  178. package/dist/common/utils/__tests__/eslintFix.test.d.ts +2 -0
  179. package/dist/common/utils/__tests__/eslintFix.test.d.ts.map +1 -0
  180. package/dist/common/utils/__tests__/eslintFix.test.js +134 -0
  181. package/dist/common/utils/__tests__/format.test.d.ts +2 -0
  182. package/dist/common/utils/__tests__/format.test.d.ts.map +1 -0
  183. package/dist/common/utils/__tests__/format.test.js +90 -0
  184. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  185. package/dist/common/utils/convertArrayToObject.js +54 -14
  186. package/dist/common/utils/eslintFix.d.ts +7 -0
  187. package/dist/common/utils/eslintFix.d.ts.map +1 -0
  188. package/dist/common/utils/eslintFix.js +78 -0
  189. package/dist/common/utils/format.d.ts +1 -1
  190. package/dist/common/utils/format.d.ts.map +1 -1
  191. package/dist/common/utils/format.js +39 -15
  192. package/dist/common/utils/jsonPath.d.ts +5 -0
  193. package/dist/common/utils/jsonPath.d.ts.map +1 -0
  194. package/dist/common/utils/jsonPath.js +27 -0
  195. package/dist/common/utils/normalizeObject.d.ts +2 -0
  196. package/dist/common/utils/normalizeObject.d.ts.map +1 -0
  197. package/dist/common/utils/normalizeObject.js +63 -0
  198. package/dist/core/Context.d.ts +8 -1
  199. package/dist/core/Context.d.ts.map +1 -1
  200. package/dist/core/Context.js +23 -4
  201. package/dist/core/OpenApiClient.d.ts +2 -0
  202. package/dist/core/OpenApiClient.d.ts.map +1 -1
  203. package/dist/core/OpenApiClient.js +127 -6
  204. package/dist/core/WriteClient.d.ts +12 -1
  205. package/dist/core/WriteClient.d.ts.map +1 -1
  206. package/dist/core/WriteClient.js +83 -8
  207. package/dist/core/__tests__/WriteClient.test.js +6 -1
  208. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts +2 -0
  209. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts.map +1 -0
  210. package/dist/core/api/v2/parser/__tests__/getModel.test.js +34 -0
  211. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  212. package/dist/core/api/v2/parser/getModel.js +6 -1
  213. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  214. package/dist/core/api/v2/parser/getOperation.js +2 -0
  215. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  216. package/dist/core/api/v2/parser/getOperationResponses.js +9 -1
  217. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  218. package/dist/core/api/v2/parser/getType.js +2 -1
  219. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts +2 -0
  220. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts.map +1 -1
  221. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts +2 -0
  222. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts.map +1 -0
  223. package/dist/core/api/v3/parser/__tests__/getContent.test.js +65 -0
  224. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts +2 -0
  225. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts.map +1 -0
  226. package/dist/core/api/v3/parser/__tests__/getModel.test.js +34 -0
  227. package/dist/core/api/v3/parser/getContent.d.ts.map +1 -1
  228. package/dist/core/api/v3/parser/getContent.js +21 -11
  229. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  230. package/dist/core/api/v3/parser/getModel.js +6 -1
  231. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  232. package/dist/core/api/v3/parser/getOperation.js +2 -0
  233. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  234. package/dist/core/api/v3/parser/getOperationResponses.js +9 -1
  235. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  236. package/dist/core/api/v3/parser/getType.js +2 -1
  237. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts +2 -0
  238. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts.map +1 -1
  239. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts +2 -0
  240. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts.map +1 -0
  241. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.js +100 -0
  242. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts +2 -0
  243. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts.map +1 -0
  244. package/dist/core/governance/__tests__/loadGovernanceConfig.test.js +71 -0
  245. package/dist/core/governance/evaluateGovernanceRules.d.ts +42 -0
  246. package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -0
  247. package/dist/core/governance/evaluateGovernanceRules.js +134 -0
  248. package/dist/core/governance/governanceConfigSchema.d.ts +4 -0
  249. package/dist/core/governance/governanceConfigSchema.d.ts.map +1 -0
  250. package/dist/core/governance/governanceConfigSchema.js +39 -0
  251. package/dist/core/governance/loadGovernanceConfig.d.ts +7 -0
  252. package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -0
  253. package/dist/core/governance/loadGovernanceConfig.js +60 -0
  254. package/dist/core/index.d.ts +3 -0
  255. package/dist/core/index.d.ts.map +1 -1
  256. package/dist/core/index.js +4 -2
  257. package/dist/core/plugins/GeneratorPlugin.model.d.ts +42 -0
  258. package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -0
  259. package/dist/core/plugins/GeneratorPlugin.model.js +2 -0
  260. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts +2 -0
  261. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts.map +1 -0
  262. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.js +115 -0
  263. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts +2 -0
  264. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts.map +1 -0
  265. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.js +62 -0
  266. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts +28 -0
  267. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -0
  268. package/dist/core/plugins/applySemanticDiffPluginHooks.js +160 -0
  269. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts +6 -0
  270. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts.map +1 -0
  271. package/dist/core/plugins/builtins/xTypescriptTypePlugin.js +13 -0
  272. package/dist/core/plugins/getBuiltinPlugins.d.ts +6 -0
  273. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -0
  274. package/dist/core/plugins/getBuiltinPlugins.js +10 -0
  275. package/dist/core/plugins/index.d.ts +4 -0
  276. package/dist/core/plugins/index.d.ts.map +1 -0
  277. package/dist/core/plugins/index.js +5 -0
  278. package/dist/core/plugins/loadGeneratorPlugins.d.ts +6 -0
  279. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -0
  280. package/dist/core/plugins/loadGeneratorPlugins.js +94 -0
  281. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts +2 -0
  282. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts.map +1 -0
  283. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +537 -0
  284. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts +2 -0
  285. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts.map +1 -0
  286. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +66 -0
  287. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +45 -0
  288. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -0
  289. package/dist/core/semanticDiff/analyzeOpenApiDiff.js +640 -0
  290. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +11 -0
  291. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -0
  292. package/dist/core/semanticDiff/semanticDiffReportSchema.js +132 -0
  293. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts +2 -0
  294. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts.map +1 -0
  295. package/dist/core/strict/__tests__/validateOpenApiStrict.test.js +156 -0
  296. package/dist/core/strict/validateOpenApiStrict.d.ts +43 -0
  297. package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -0
  298. package/dist/core/strict/validateOpenApiStrict.js +253 -0
  299. package/dist/core/types/base/ClientArtifacts.model.d.ts +2 -0
  300. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  301. package/dist/core/types/base/Templates.model.d.ts +4 -1
  302. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  303. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
  304. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
  305. package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
  306. package/dist/core/types/enums/ModelsMode.enum.d.ts +5 -0
  307. package/dist/core/types/enums/ModelsMode.enum.d.ts.map +1 -0
  308. package/dist/core/types/enums/ModelsMode.enum.js +8 -0
  309. package/dist/core/types/shared/Client.model.d.ts +2 -0
  310. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  311. package/dist/core/types/shared/DiffInfo.model.d.ts +13 -0
  312. package/dist/core/types/shared/DiffInfo.model.d.ts.map +1 -0
  313. package/dist/core/types/shared/DiffInfo.model.js +2 -0
  314. package/dist/core/types/shared/Miracle.model.d.ts +13 -0
  315. package/dist/core/types/shared/Miracle.model.d.ts.map +1 -0
  316. package/dist/core/types/shared/Miracle.model.js +2 -0
  317. package/dist/core/types/shared/Model.model.d.ts +23 -0
  318. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  319. package/dist/core/types/shared/Operation.model.d.ts +5 -0
  320. package/dist/core/types/shared/Operation.model.d.ts.map +1 -1
  321. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  322. package/dist/core/utils/__mocks__/templates.js +9 -0
  323. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts +2 -0
  324. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts.map +1 -0
  325. package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +108 -0
  326. package/dist/core/utils/__tests__/getMappedType.test.js +2 -0
  327. package/dist/core/utils/__tests__/getOperationResponseCode.test.js +7 -2
  328. package/dist/core/utils/__tests__/getOperationResults.test.d.ts +2 -0
  329. package/dist/core/utils/__tests__/getOperationResults.test.d.ts.map +1 -0
  330. package/dist/core/utils/__tests__/getOperationResults.test.js +43 -0
  331. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts +2 -0
  332. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts.map +1 -0
  333. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +27 -0
  334. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  335. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  336. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  337. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  338. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  339. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  340. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  341. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  342. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  343. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts +2 -0
  344. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts.map +1 -0
  345. package/dist/core/utils/__tests__/prepareDtoModels.test.js +116 -0
  346. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  347. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  348. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  349. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  350. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  351. package/dist/core/utils/__tests__/serviceHelpers.test.js +122 -0
  352. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  353. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  354. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  355. package/dist/core/utils/__tests__/writeClientModels.test.js +50 -0
  356. package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
  357. package/dist/core/utils/applyDiffReportToClient.d.ts +14 -0
  358. package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -0
  359. package/dist/core/utils/applyDiffReportToClient.js +367 -0
  360. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  361. package/dist/core/utils/getMappedType.js +2 -0
  362. package/dist/core/utils/getOperationResponseCode.d.ts.map +1 -1
  363. package/dist/core/utils/getOperationResponseCode.js +10 -8
  364. package/dist/core/utils/getRelativeModelPath.d.ts +9 -0
  365. package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -0
  366. package/dist/core/utils/getRelativeModelPath.js +37 -0
  367. package/dist/core/utils/loadDiffReport.d.ts +39 -0
  368. package/dist/core/utils/loadDiffReport.d.ts.map +1 -0
  369. package/dist/core/utils/loadDiffReport.js +51 -0
  370. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  371. package/dist/core/utils/modelHelpers.js +37 -3
  372. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  373. package/dist/core/utils/postProcessModelImports.js +14 -1
  374. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  375. package/dist/core/utils/postProcessServiceImports.js +1 -2
  376. package/dist/core/utils/precompileTemplates.js +1 -0
  377. package/dist/core/utils/prepareDtoModels.d.ts +3 -0
  378. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -0
  379. package/dist/core/utils/prepareDtoModels.js +189 -0
  380. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  381. package/dist/core/utils/registerHandlebarHelpers.js +29 -1
  382. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  383. package/dist/core/utils/registerHandlebarTemplates.js +48 -41
  384. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  385. package/dist/core/utils/resolveRefPath.js +1 -4
  386. package/dist/core/utils/validateRawOptions.d.ts +1 -1
  387. package/dist/core/utils/validateRawOptions.d.ts.map +1 -1
  388. package/dist/core/utils/validateRawOptions.js +4 -2
  389. package/dist/core/utils/writeClientCore.d.ts +2 -0
  390. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  391. package/dist/core/utils/writeClientCore.js +6 -1
  392. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -0
  393. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  394. package/dist/core/utils/writeClientCoreIndex.js +2 -2
  395. package/dist/core/utils/writeClientExecutor.d.ts +6 -1
  396. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  397. package/dist/core/utils/writeClientExecutor.js +22 -3
  398. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  399. package/dist/core/utils/writeClientFullIndex.js +3 -1
  400. package/dist/core/utils/writeClientModels.d.ts +6 -0
  401. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  402. package/dist/core/utils/writeClientModels.js +24 -3
  403. package/dist/core/utils/writeClientModelsIndex.d.ts +2 -0
  404. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  405. package/dist/core/utils/writeClientModelsIndex.js +2 -2
  406. package/dist/core/utils/writeClientSchemas.d.ts +6 -1
  407. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  408. package/dist/core/utils/writeClientSchemas.js +16 -3
  409. package/dist/core/utils/writeClientServices.d.ts +2 -0
  410. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  411. package/dist/core/utils/writeClientServices.js +6 -2
  412. package/dist/templatesCompiled/cli/openApiConfig.d.ts +4 -1
  413. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  414. package/dist/templatesCompiled/cli/openApiConfig.js +88 -37
  415. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  416. package/dist/templatesCompiled/client/core/ApiRequestOptions.js +1 -1
  417. package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
  418. package/dist/templatesCompiled/client/core/BaseDto.d.ts +8 -0
  419. package/dist/templatesCompiled/client/core/BaseDto.d.ts.map +1 -0
  420. package/dist/templatesCompiled/client/core/BaseDto.js +18 -0
  421. package/dist/templatesCompiled/client/core/axios/getResponseBody.js +1 -1
  422. package/dist/templatesCompiled/client/core/axios/request.js +3 -3
  423. package/dist/templatesCompiled/client/core/axios/sendRequest.js +4 -4
  424. package/dist/templatesCompiled/client/core/dtoUtils.d.ts +8 -0
  425. package/dist/templatesCompiled/client/core/dtoUtils.d.ts.map +1 -0
  426. package/dist/templatesCompiled/client/core/dtoUtils.js +18 -0
  427. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
  428. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  429. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
  430. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
  431. package/dist/templatesCompiled/client/core/fetch/getResponseBody.js +1 -1
  432. package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
  433. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  434. package/dist/templatesCompiled/client/core/functions/isBinary.js +1 -1
  435. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
  436. package/dist/templatesCompiled/client/core/node/getResponseBody.js +1 -1
  437. package/dist/templatesCompiled/client/core/node/request.js +3 -3
  438. package/dist/templatesCompiled/client/core/xhr/getResponseBody.js +1 -1
  439. package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
  440. package/dist/templatesCompiled/client/core/xhr/sendRequest.js +4 -4
  441. package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
  442. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  443. package/dist/templatesCompiled/client/exportClient.js +51 -13
  444. package/dist/templatesCompiled/client/exportModels.d.ts +34 -0
  445. package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -0
  446. package/dist/templatesCompiled/client/exportModels.js +280 -0
  447. package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
  448. package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
  449. package/dist/templatesCompiled/client/exportSchema.js +37 -7
  450. package/dist/templatesCompiled/client/exportService.d.ts +9 -4
  451. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  452. package/dist/templatesCompiled/client/exportService.js +96 -37
  453. package/dist/templatesCompiled/client/indexCore.d.ts +3 -1
  454. package/dist/templatesCompiled/client/indexCore.d.ts.map +1 -1
  455. package/dist/templatesCompiled/client/indexCore.js +13 -2
  456. package/dist/templatesCompiled/client/indexFull.d.ts +10 -7
  457. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  458. package/dist/templatesCompiled/client/indexFull.js +54 -33
  459. package/dist/templatesCompiled/client/indexModels.d.ts +7 -5
  460. package/dist/templatesCompiled/client/indexModels.d.ts.map +1 -1
  461. package/dist/templatesCompiled/client/indexModels.js +27 -18
  462. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  463. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  464. package/dist/templatesCompiled/client/indexSimple.js +4 -1
  465. package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
  466. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
  467. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
  468. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +27 -19
  469. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -1
  470. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +144 -63
  471. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
  472. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
  473. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
  474. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +1 -0
  475. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -1
  476. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +21 -17
  477. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
  478. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
  479. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
  480. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
  481. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
  482. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
  483. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
  484. package/dist/templatesCompiled/client/partials/exportInterface.d.ts +13 -5
  485. package/dist/templatesCompiled/client/partials/exportInterface.d.ts.map +1 -1
  486. package/dist/templatesCompiled/client/partials/exportInterface.js +91 -21
  487. package/dist/templatesCompiled/client/partials/result.d.ts +6 -4
  488. package/dist/templatesCompiled/client/partials/result.d.ts.map +1 -1
  489. package/dist/templatesCompiled/client/partials/result.js +16 -6
  490. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +1 -0
  491. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  492. package/dist/templatesCompiled/client/partials/serviceOption.js +11 -4
  493. package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
  494. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
  495. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
  496. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +22 -16
  497. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -1
  498. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +72 -60
  499. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
  500. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
  501. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
  502. package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
  503. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
  504. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
  505. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
  506. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
  507. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
  508. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
  509. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
  510. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
  511. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
  512. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
  513. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +27 -19
  514. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -1
  515. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +77 -61
  516. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
  517. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
  518. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
  519. package/package.json +8 -6
  520. package/dist/common/defaultOptions.d.ts +0 -3
  521. package/dist/common/defaultOptions.d.ts.map +0 -1
  522. package/dist/common/defaultOptions.js +0 -28
  523. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  524. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  525. package/dist/core/utils/advancedDeduplicatePath.js +0 -29
@@ -1 +1 @@
1
- {"version":3,"file":"postProcessServiceImports.d.ts","sourceRoot":"","sources":["../../../src/core/utils/postProcessServiceImports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAKpE"}
1
+ {"version":3,"file":"postProcessServiceImports.d.ts","sourceRoot":"","sources":["../../../src/core/utils/postProcessServiceImports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAI7D;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAIpE"}
@@ -10,6 +10,5 @@ const unique_1 = require("./unique");
10
10
  function postProcessServiceImports(service) {
11
11
  return service.imports
12
12
  .filter(unique_1.unique)
13
- .sort(sort_1.sort)
14
- .filter(item => service.name !== item.name);
13
+ .sort(sort_1.sort);
15
14
  }
@@ -66,6 +66,7 @@ const precompileTemplates = () => {
66
66
  isBasicType: true,
67
67
  yupBaseSchema: true,
68
68
  joiBaseSchema: true,
69
+ zodBaseSchema: true,
69
70
  getRequiredFields: true,
70
71
  getEnumType: true,
71
72
  camelCase: true,
@@ -0,0 +1,3 @@
1
+ import type { Client } from '../types/shared/Client.model';
2
+ export declare const prepareDtoModels: (client: Client) => Client;
3
+ //# sourceMappingURL=prepareDtoModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareDtoModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareDtoModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAyL3D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAqCjD,CAAC"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareDtoModels = void 0;
4
+ const unique_1 = require("./unique");
5
+ const escapeName_1 = require("./escapeName");
6
+ const stripQuotes = (name) => {
7
+ if (name.startsWith("'") && name.endsWith("'")) {
8
+ return name.slice(1, -1);
9
+ }
10
+ return name;
11
+ };
12
+ const buildPropertyTarget = (name, prefix) => {
13
+ if (name.startsWith("'") && name.endsWith("'")) {
14
+ return `${prefix}[${name}]`;
15
+ }
16
+ return `${prefix}.${name}`;
17
+ };
18
+ const joinUnique = (items, separator) => items.filter(unique_1.unique).join(separator);
19
+ const buildInlineInterfaceType = (model, resolveType) => {
20
+ if (!model.properties || model.properties.length === 0) {
21
+ return '{ [key: string]: any }';
22
+ }
23
+ const props = model.properties
24
+ .map(prop => {
25
+ const name = prop.name.startsWith("'") ? prop.name : `'${prop.name}'`;
26
+ const optional = prop.isRequired ? '' : '?';
27
+ const type = resolveType(prop);
28
+ const nullable = prop.isNullable ? ' | null' : '';
29
+ return `${name}${optional}: ${type}${nullable}`;
30
+ })
31
+ .join('; ');
32
+ return `{ ${props} }`;
33
+ };
34
+ const resolveTypeFactory = (nameMap, kind) => {
35
+ const resolveType = (model) => {
36
+ if (model.export === 'reference') {
37
+ const mapped = nameMap.get(model.type);
38
+ return mapped ? (kind === 'raw' ? mapped.rawName : mapped.dtoName) : model.type;
39
+ }
40
+ if (model.export === 'array') {
41
+ const itemModel = model.link ?? { ...model, export: 'reference', link: null };
42
+ const itemType = model.link ? resolveType(itemModel) : resolveType(itemModel);
43
+ return `${itemType}[]`;
44
+ }
45
+ if (model.export === 'dictionary') {
46
+ const itemModel = model.link ?? { ...model, export: 'reference', link: null };
47
+ const itemType = model.link ? resolveType(itemModel) : resolveType(itemModel);
48
+ return `Record<string, ${itemType}>`;
49
+ }
50
+ if (model.export === 'one-of' || model.export === 'any-of') {
51
+ const types = model.properties.map(prop => resolveType(prop));
52
+ const union = joinUnique(types, ' | ');
53
+ return types.length > 1 ? `(${union})` : union || 'any';
54
+ }
55
+ if (model.export === 'all-of') {
56
+ const types = model.properties.map(prop => resolveType(prop));
57
+ const intersection = joinUnique(types, ' & ');
58
+ return types.length > 1 ? `(${intersection})` : intersection || 'any';
59
+ }
60
+ if (model.export === 'enum' && model.enum?.length) {
61
+ return joinUnique(model.enum.map(en => en.value), ' | ') || model.type;
62
+ }
63
+ if (model.export === 'interface') {
64
+ return buildInlineInterfaceType(model, resolveType);
65
+ }
66
+ return model.type || 'any';
67
+ };
68
+ return resolveType;
69
+ };
70
+ const buildDtoInit = (property, nameMap) => {
71
+ const accessor = buildPropertyTarget(property.name, 'data');
72
+ const defaultSuffix = property.default ? ` ?? ${property.default}` : '';
73
+ const isReference = property.export === 'reference' && nameMap.has(property.type);
74
+ if (isReference) {
75
+ const dtoName = nameMap.get(property.type).dtoName;
76
+ if (property.isRequired) {
77
+ return `new ${dtoName}(${accessor})`;
78
+ }
79
+ return `${accessor} ? new ${dtoName}(${accessor}) : undefined`;
80
+ }
81
+ if (property.export === 'array') {
82
+ const itemModel = property.link ?? { ...property, export: 'reference', link: null };
83
+ const itemIsRef = itemModel.export === 'reference' && nameMap.has(itemModel.type);
84
+ if (itemIsRef) {
85
+ const dtoName = nameMap.get(itemModel.type).dtoName;
86
+ if (property.isRequired) {
87
+ return `fromArray(${dtoName}, ${accessor})`;
88
+ }
89
+ return `${accessor} ? fromArray(${dtoName}, ${accessor}) : undefined`;
90
+ }
91
+ return `${accessor}${defaultSuffix}`;
92
+ }
93
+ return `${accessor}${defaultSuffix}`;
94
+ };
95
+ const buildDtoToJson = (property, nameMap) => {
96
+ const accessor = buildPropertyTarget(property.name, 'this');
97
+ const isReference = property.export === 'reference' && nameMap.has(property.type);
98
+ if (isReference) {
99
+ if (property.isRequired) {
100
+ return `${accessor}.toJSON()`;
101
+ }
102
+ return `${accessor} ? ${accessor}.toJSON() : undefined`;
103
+ }
104
+ if (property.export === 'array') {
105
+ const itemModel = property.link ?? { ...property, export: 'reference', link: null };
106
+ const itemIsRef = itemModel.export === 'reference' && nameMap.has(itemModel.type);
107
+ if (itemIsRef) {
108
+ if (property.isRequired) {
109
+ return `${accessor}.map(item => item.toJSON())`;
110
+ }
111
+ return `${accessor} ? ${accessor}.map(item => item.toJSON()) : undefined`;
112
+ }
113
+ }
114
+ return undefined;
115
+ };
116
+ const attachDtoGetters = (client) => {
117
+ const miracles = (client.miracles ?? []).filter(miracle => miracle.type === 'RENAME');
118
+ if (miracles.length === 0)
119
+ return;
120
+ const miraclesByModel = new Map();
121
+ for (const miracle of miracles) {
122
+ if (!miracle.modelName || !miracle.oldProperty || !miracle.newProperty)
123
+ continue;
124
+ const list = miraclesByModel.get(miracle.modelName) ?? [];
125
+ list.push(miracle);
126
+ miraclesByModel.set(miracle.modelName, list);
127
+ }
128
+ client.models.forEach(model => {
129
+ if (!model.isDefinition || model.export !== 'interface')
130
+ return;
131
+ const entries = miraclesByModel.get(model.name);
132
+ if (!entries || entries.length === 0)
133
+ return;
134
+ const getters = entries
135
+ .map(entry => {
136
+ const oldName = (0, escapeName_1.escapeName)(entry.oldProperty ?? '');
137
+ const newName = (0, escapeName_1.escapeName)(entry.newProperty ?? '');
138
+ if (!oldName || !newName)
139
+ return null;
140
+ const hasNewProperty = model.properties.some(prop => prop.name === newName);
141
+ if (!hasNewProperty)
142
+ return null;
143
+ const target = buildPropertyTarget(newName, 'this');
144
+ return {
145
+ oldName,
146
+ newName,
147
+ target,
148
+ confidence: entry.confidence,
149
+ };
150
+ })
151
+ .filter((item) => !!item);
152
+ if (getters.length > 0) {
153
+ model.dtoGetters = getters;
154
+ }
155
+ });
156
+ };
157
+ const prepareDtoModels = (client) => {
158
+ const nameMap = new Map();
159
+ client.models.forEach(model => {
160
+ const rawName = `${model.name}Raw`;
161
+ const dtoName = `${model.name}Dto`;
162
+ model.rawName = rawName;
163
+ model.dtoName = dtoName;
164
+ model.dtoKind = model.export === 'interface' ? 'class' : 'alias';
165
+ nameMap.set(model.name, { rawName, dtoName });
166
+ });
167
+ const resolveRaw = resolveTypeFactory(nameMap, 'raw');
168
+ const resolveDto = resolveTypeFactory(nameMap, 'dto');
169
+ client.models.forEach(model => {
170
+ if (!model.isDefinition) {
171
+ return;
172
+ }
173
+ if (model.export !== 'interface') {
174
+ model.rawType = resolveRaw(model);
175
+ model.dtoType = resolveDto(model);
176
+ return;
177
+ }
178
+ model.properties.forEach(property => {
179
+ property.rawType = resolveRaw(property);
180
+ property.dtoType = resolveDto(property);
181
+ property.dtoInit = buildDtoInit(property, nameMap);
182
+ property.dtoToJSON = buildDtoToJson(property, nameMap);
183
+ property.dtoTarget = buildPropertyTarget(property.name, '');
184
+ });
185
+ });
186
+ attachDtoGetters(client);
187
+ return client;
188
+ };
189
+ exports.prepareDtoModels = prepareDtoModels;
@@ -1 +1 @@
1
- {"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAK5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAqK5H"}
1
+ {"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAK5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAmM5H"}
@@ -125,7 +125,7 @@ function registerHandlebarHelpers(root) {
125
125
  if (link.path && link.path !== link.base?.toLowerCase())
126
126
  return false;
127
127
  // Проверяем, является ли base базовым типом
128
- const basicTypes = ['string', 'number', 'integer', 'int', 'boolean', 'file', 'File', 'any', 'null'];
128
+ const basicTypes = ['string', 'number', 'integer', 'int', 'boolean', 'file', 'File', 'blob', 'Blob', 'any', 'null'];
129
129
  return basicTypes.includes(link.base);
130
130
  });
131
131
  Handlebars.registerHelper('yupBaseSchema', function (base) {
@@ -143,6 +143,7 @@ function registerHandlebarHelpers(root) {
143
143
  case 'boolean':
144
144
  return 'yup.boolean()';
145
145
  case 'file':
146
+ case 'blob':
146
147
  return 'yup.mixed()';
147
148
  default:
148
149
  return 'yup.mixed()';
@@ -163,11 +164,38 @@ function registerHandlebarHelpers(root) {
163
164
  case 'boolean':
164
165
  return 'Joi.boolean()';
165
166
  case 'file':
167
+ case 'blob':
166
168
  return 'Joi.any()';
167
169
  default:
168
170
  return 'Joi.any()';
169
171
  }
170
172
  });
173
+ Handlebars.registerHelper('zodBaseSchema', function (base) {
174
+ if (!base)
175
+ return 'z.any()';
176
+ const baseLower = base.toLowerCase();
177
+ switch (baseLower) {
178
+ case 'string':
179
+ return 'z.string()';
180
+ case 'number':
181
+ return 'z.number()';
182
+ case 'integer':
183
+ case 'int':
184
+ return 'z.number().int()';
185
+ case 'boolean':
186
+ return 'z.boolean()';
187
+ case 'null':
188
+ return 'z.null()';
189
+ case 'uuid':
190
+ return 'z.uuid()';
191
+ case 'file':
192
+ case 'blob':
193
+ case 'any':
194
+ return 'z.any()';
195
+ default:
196
+ return `${base}Schema`;
197
+ }
198
+ });
171
199
  Handlebars.registerHelper('getRequiredFields', function (properties) {
172
200
  const required = properties
173
201
  .filter(prop => prop.isRequired)
@@ -1 +1 @@
1
- {"version":3,"file":"registerHandlebarTemplates.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarTemplates.ts"],"names":[],"mappings":"AA6FA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA2C1E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,SAAS,CAyK1K"}
1
+ {"version":3,"file":"registerHandlebarTemplates.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarTemplates.ts"],"names":[],"mappings":"AAiGA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA2C1E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,SAAS,CAwK1K"}
@@ -42,6 +42,8 @@ const Handlebars = __importStar(require("handlebars/runtime"));
42
42
  const ApiError_1 = __importDefault(require("../../templatesCompiled/client/core/ApiError"));
43
43
  const ApiRequestOptions_1 = __importDefault(require("../../templatesCompiled/client/core/ApiRequestOptions"));
44
44
  const ApiResult_1 = __importDefault(require("../../templatesCompiled/client/core/ApiResult"));
45
+ const BaseDto_1 = __importDefault(require("../../templatesCompiled/client/core/BaseDto"));
46
+ const dtoUtils_1 = __importDefault(require("../../templatesCompiled/client/core/dtoUtils"));
45
47
  const HttpStatusCode_1 = __importDefault(require("../../templatesCompiled/client/core/HttpStatusCode"));
46
48
  // axios START
47
49
  const getHeaders_1 = __importDefault(require("../../templatesCompiled/client/core/axios/getHeaders"));
@@ -89,7 +91,9 @@ const getResponseHeader_4 = __importDefault(require("../../templatesCompiled/cli
89
91
  const request_5 = __importDefault(require("../../templatesCompiled/client/core/xhr/request"));
90
92
  const sendRequest_4 = __importDefault(require("../../templatesCompiled/client/core/xhr/sendRequest"));
91
93
  const exportClient_1 = __importDefault(require("../../templatesCompiled/client/exportClient"));
94
+ const exportSchema_1 = __importDefault(require("../../templatesCompiled/client/exportSchema"));
92
95
  const exportModel_1 = __importDefault(require("../../templatesCompiled/client/exportModel"));
96
+ const exportModels_1 = __importDefault(require("../../templatesCompiled/client/exportModels"));
93
97
  const exportService_1 = __importDefault(require("../../templatesCompiled/client/exportService"));
94
98
  const indexFull_1 = __importDefault(require("../../templatesCompiled/client/indexFull"));
95
99
  const indexSimple_1 = __importDefault(require("../../templatesCompiled/client/indexSimple"));
@@ -130,7 +134,7 @@ const typeReference_1 = __importDefault(require("../../templatesCompiled/client/
130
134
  const typeUnion_1 = __importDefault(require("../../templatesCompiled/client/partials/typeUnion"));
131
135
  const registerHandlebarHelpers_1 = require("./registerHandlebarHelpers");
132
136
  const ValidationLibrary_enum_1 = require("../types/enums/ValidationLibrary.enum");
133
- const exportSchema_1 = __importDefault(require("../../templatesCompiled/client/zod/exportSchema"));
137
+ const exportSchema_2 = __importDefault(require("../../templatesCompiled/client/zod/exportSchema"));
134
138
  const zodSchema_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchema"));
135
139
  const zodSchemaInterface_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchemaInterface"));
136
140
  const zodSchemaEnum_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchemaEnum"));
@@ -139,7 +143,7 @@ const zodSchemaDictionary_1 = __importDefault(require("../../templatesCompiled/c
139
143
  const zodSchemaGeneric_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchemaGeneric"));
140
144
  const zodSchemaReference_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchemaReference"));
141
145
  const zodSchemaComposition_1 = __importDefault(require("../../templatesCompiled/client/zod/partials/zodSchemaComposition"));
142
- const exportSchema_2 = __importDefault(require("../../templatesCompiled/client/yup/exportSchema"));
146
+ const exportSchema_3 = __importDefault(require("../../templatesCompiled/client/yup/exportSchema"));
143
147
  const yupSchema_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchema"));
144
148
  const yupSchemaInterface_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchemaInterface"));
145
149
  const yupSchemaEnum_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchemaEnum"));
@@ -148,7 +152,7 @@ const yupSchemaDictionary_1 = __importDefault(require("../../templatesCompiled/c
148
152
  const yupSchemaGeneric_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchemaGeneric"));
149
153
  const yupSchemaReference_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchemaReference"));
150
154
  const yupSchemaComposition_1 = __importDefault(require("../../templatesCompiled/client/yup/partials/yupSchemaComposition"));
151
- const exportSchema_3 = __importDefault(require("../../templatesCompiled/client/joi/exportSchema"));
155
+ const exportSchema_4 = __importDefault(require("../../templatesCompiled/client/joi/exportSchema"));
152
156
  const joiSchema_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchema"));
153
157
  const joiSchemaInterface_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchemaInterface"));
154
158
  const joiSchemaEnum_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchemaEnum"));
@@ -157,7 +161,7 @@ const joiSchemaDictionary_1 = __importDefault(require("../../templatesCompiled/c
157
161
  const joiSchemaGeneric_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchemaGeneric"));
158
162
  const joiSchemaReference_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchemaReference"));
159
163
  const joiSchemaComposition_1 = __importDefault(require("../../templatesCompiled/client/joi/partials/joiSchemaComposition"));
160
- const exportSchema_4 = __importDefault(require("../../templatesCompiled/client/jsonschema/exportSchema"));
164
+ const exportSchema_5 = __importDefault(require("../../templatesCompiled/client/jsonschema/exportSchema"));
161
165
  const jsonschemaSchema_1 = __importDefault(require("../../templatesCompiled/client/jsonschema/partials/jsonschemaSchema"));
162
166
  const jsonschemaSchemaInterface_1 = __importDefault(require("../../templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface"));
163
167
  const jsonschemaSchemaEnum_1 = __importDefault(require("../../templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum"));
@@ -185,7 +189,8 @@ function registerHandlebarTemplates(root) {
185
189
  exports: {
186
190
  client: Handlebars.template(exportClient_1.default),
187
191
  model: Handlebars.template(exportModel_1.default),
188
- schema: undefined,
192
+ models: Handlebars.template(exportModels_1.default),
193
+ schema: Handlebars.template(exportSchema_1.default),
189
194
  service: Handlebars.template(exportService_1.default),
190
195
  },
191
196
  core: {
@@ -193,6 +198,8 @@ function registerHandlebarTemplates(root) {
193
198
  apiError: Handlebars.template(ApiError_1.default),
194
199
  apiRequestOptions: Handlebars.template(ApiRequestOptions_1.default),
195
200
  apiResult: Handlebars.template(ApiResult_1.default),
201
+ baseDto: Handlebars.template(BaseDto_1.default),
202
+ dtoUtils: Handlebars.template(dtoUtils_1.default),
196
203
  request: Handlebars.template(request_4.default),
197
204
  cancelablePromise: Handlebars.template(CancelablePromise_1.default),
198
205
  httpStatusCode: Handlebars.template(HttpStatusCode_1.default),
@@ -277,50 +284,50 @@ function registerHandlebarTemplates(root) {
277
284
  Handlebars.registerPartial('axios/request', Handlebars.template(request_1.default));
278
285
  // Register Zod partials if validationLibrary is ZOD
279
286
  if (root?.validationLibrary === ValidationLibrary_enum_1.ValidationLibrary.ZOD) {
280
- templates.exports.schema = Handlebars.template(exportSchema_1.default);
281
- Handlebars.registerPartial('zodSchema', Handlebars.template(zodSchema_1.default));
282
- Handlebars.registerPartial('zodSchemaInterface', Handlebars.template(zodSchemaInterface_1.default));
283
- Handlebars.registerPartial('zodSchemaEnum', Handlebars.template(zodSchemaEnum_1.default));
284
- Handlebars.registerPartial('zodSchemaArray', Handlebars.template(zodSchemaArray_1.default));
285
- Handlebars.registerPartial('zodSchemaDictionary', Handlebars.template(zodSchemaDictionary_1.default));
286
- Handlebars.registerPartial('zodSchemaGeneric', Handlebars.template(zodSchemaGeneric_1.default));
287
- Handlebars.registerPartial('zodSchemaReference', Handlebars.template(zodSchemaReference_1.default));
288
- Handlebars.registerPartial('zodSchemaComposition', Handlebars.template(zodSchemaComposition_1.default));
287
+ Handlebars.registerPartial('zod/exportSchema', Handlebars.template(exportSchema_2.default));
288
+ Handlebars.registerPartial('zod/zodSchema', Handlebars.template(zodSchema_1.default));
289
+ Handlebars.registerPartial('zod/zodSchemaInterface', Handlebars.template(zodSchemaInterface_1.default));
290
+ Handlebars.registerPartial('zod/zodSchemaEnum', Handlebars.template(zodSchemaEnum_1.default));
291
+ Handlebars.registerPartial('zod/zodSchemaArray', Handlebars.template(zodSchemaArray_1.default));
292
+ Handlebars.registerPartial('zod/zodSchemaDictionary', Handlebars.template(zodSchemaDictionary_1.default));
293
+ Handlebars.registerPartial('zod/zodSchemaGeneric', Handlebars.template(zodSchemaGeneric_1.default));
294
+ Handlebars.registerPartial('zod/zodSchemaReference', Handlebars.template(zodSchemaReference_1.default));
295
+ Handlebars.registerPartial('zod/zodSchemaComposition', Handlebars.template(zodSchemaComposition_1.default));
289
296
  }
290
297
  // Register Yup partials if validationLibrary is YUP
291
298
  if (root?.validationLibrary === ValidationLibrary_enum_1.ValidationLibrary.YUP) {
292
- templates.exports.schema = Handlebars.template(exportSchema_2.default);
293
- Handlebars.registerPartial('yupSchema', Handlebars.template(yupSchema_1.default));
294
- Handlebars.registerPartial('yupSchemaInterface', Handlebars.template(yupSchemaInterface_1.default));
295
- Handlebars.registerPartial('yupSchemaEnum', Handlebars.template(yupSchemaEnum_1.default));
296
- Handlebars.registerPartial('yupSchemaArray', Handlebars.template(yupSchemaArray_1.default));
297
- Handlebars.registerPartial('yupSchemaDictionary', Handlebars.template(yupSchemaDictionary_1.default));
298
- Handlebars.registerPartial('yupSchemaGeneric', Handlebars.template(yupSchemaGeneric_1.default));
299
- Handlebars.registerPartial('yupSchemaReference', Handlebars.template(yupSchemaReference_1.default));
300
- Handlebars.registerPartial('yupSchemaComposition', Handlebars.template(yupSchemaComposition_1.default));
299
+ Handlebars.registerPartial('yup/exportSchema', Handlebars.template(exportSchema_3.default));
300
+ Handlebars.registerPartial('yup/yupSchema', Handlebars.template(yupSchema_1.default));
301
+ Handlebars.registerPartial('yup/yupSchemaInterface', Handlebars.template(yupSchemaInterface_1.default));
302
+ Handlebars.registerPartial('yup/yupSchemaEnum', Handlebars.template(yupSchemaEnum_1.default));
303
+ Handlebars.registerPartial('yup/yupSchemaArray', Handlebars.template(yupSchemaArray_1.default));
304
+ Handlebars.registerPartial('yup/yupSchemaDictionary', Handlebars.template(yupSchemaDictionary_1.default));
305
+ Handlebars.registerPartial('yup/yupSchemaGeneric', Handlebars.template(yupSchemaGeneric_1.default));
306
+ Handlebars.registerPartial('yup/yupSchemaReference', Handlebars.template(yupSchemaReference_1.default));
307
+ Handlebars.registerPartial('yup/yupSchemaComposition', Handlebars.template(yupSchemaComposition_1.default));
301
308
  }
302
309
  // Register Joi partials if validationLibrary is JOI
303
310
  if (root?.validationLibrary === ValidationLibrary_enum_1.ValidationLibrary.JOI) {
304
- templates.exports.schema = Handlebars.template(exportSchema_3.default);
305
- Handlebars.registerPartial('joiSchema', Handlebars.template(joiSchema_1.default));
306
- Handlebars.registerPartial('joiSchemaInterface', Handlebars.template(joiSchemaInterface_1.default));
307
- Handlebars.registerPartial('joiSchemaEnum', Handlebars.template(joiSchemaEnum_1.default));
308
- Handlebars.registerPartial('joiSchemaArray', Handlebars.template(joiSchemaArray_1.default));
309
- Handlebars.registerPartial('joiSchemaDictionary', Handlebars.template(joiSchemaDictionary_1.default));
310
- Handlebars.registerPartial('joiSchemaGeneric', Handlebars.template(joiSchemaGeneric_1.default));
311
- Handlebars.registerPartial('joiSchemaReference', Handlebars.template(joiSchemaReference_1.default));
312
- Handlebars.registerPartial('joiSchemaComposition', Handlebars.template(joiSchemaComposition_1.default));
311
+ Handlebars.registerPartial('joi/exportSchema', Handlebars.template(exportSchema_4.default));
312
+ Handlebars.registerPartial('joi/joiSchema', Handlebars.template(joiSchema_1.default));
313
+ Handlebars.registerPartial('joi/joiSchemaInterface', Handlebars.template(joiSchemaInterface_1.default));
314
+ Handlebars.registerPartial('joi/joiSchemaEnum', Handlebars.template(joiSchemaEnum_1.default));
315
+ Handlebars.registerPartial('joi/joiSchemaArray', Handlebars.template(joiSchemaArray_1.default));
316
+ Handlebars.registerPartial('joi/joiSchemaDictionary', Handlebars.template(joiSchemaDictionary_1.default));
317
+ Handlebars.registerPartial('joi/joiSchemaGeneric', Handlebars.template(joiSchemaGeneric_1.default));
318
+ Handlebars.registerPartial('joi/joiSchemaReference', Handlebars.template(joiSchemaReference_1.default));
319
+ Handlebars.registerPartial('joi/joiSchemaComposition', Handlebars.template(joiSchemaComposition_1.default));
313
320
  }
314
321
  if (root.validationLibrary === ValidationLibrary_enum_1.ValidationLibrary.JSONSCHEMA) {
315
- templates.exports.schema = Handlebars.template(exportSchema_4.default);
316
- Handlebars.registerPartial('jsonschemaSchema', Handlebars.template(jsonschemaSchema_1.default));
317
- Handlebars.registerPartial('jsonschemaSchemaInterface', Handlebars.template(jsonschemaSchemaInterface_1.default));
318
- Handlebars.registerPartial('jsonschemaSchemaEnum', Handlebars.template(jsonschemaSchemaEnum_1.default));
319
- Handlebars.registerPartial('jsonschemaSchemaArray', Handlebars.template(jsonschemaSchemaArray_1.default));
320
- Handlebars.registerPartial('jsonschemaSchemaDictionary', Handlebars.template(jsonschemaSchemaDictionary_1.default));
321
- Handlebars.registerPartial('jsonschemaSchemaGeneric', Handlebars.template(jsonschemaSchemaGeneric_1.default));
322
- Handlebars.registerPartial('jsonschemaSchemaReference', Handlebars.template(jsonschemaSchemaReference_1.default));
323
- Handlebars.registerPartial('jsonschemaSchemaComposition', Handlebars.template(jsonschemaSchemaComposition_1.default));
322
+ Handlebars.registerPartial('jsonschema/exportSchema', Handlebars.template(exportSchema_5.default));
323
+ Handlebars.registerPartial('jsonschema/jsonschemaSchema', Handlebars.template(jsonschemaSchema_1.default));
324
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaInterface', Handlebars.template(jsonschemaSchemaInterface_1.default));
325
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaEnum', Handlebars.template(jsonschemaSchemaEnum_1.default));
326
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaArray', Handlebars.template(jsonschemaSchemaArray_1.default));
327
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaDictionary', Handlebars.template(jsonschemaSchemaDictionary_1.default));
328
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaGeneric', Handlebars.template(jsonschemaSchemaGeneric_1.default));
329
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaReference', Handlebars.template(jsonschemaSchemaReference_1.default));
330
+ Handlebars.registerPartial('jsonschema/jsonschemaSchemaComposition', Handlebars.template(jsonschemaSchemaComposition_1.default));
324
331
  }
325
332
  return templates;
326
333
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRefPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CA4BnF"}
1
+ {"version":3,"file":"resolveRefPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CA0BnF"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveRefPath = resolveRefPath;
4
4
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const advancedDeduplicatePath_1 = require("./advancedDeduplicatePath");
6
5
  const parseRef_1 = require("./parseRef");
7
6
  /**
8
7
  * Resolve a parsed reference to an absolute path (when applicable).
@@ -19,9 +18,7 @@ function resolveRefPath(parsedRef, parentFilePath) {
19
18
  case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
20
19
  // Resolve relative to parent file directory
21
20
  if (parsedRef.filePath) {
22
- const resolvedPath = (0, pathHelpers_1.resolveHelper)(parentDir, parsedRef.filePath);
23
- // Clean any duplicate path segments
24
- return (0, advancedDeduplicatePath_1.advancedDeduplicatePath)(resolvedPath);
21
+ return (0, pathHelpers_1.resolveHelper)(parentDir, parsedRef.filePath);
25
22
  }
26
23
  return parentFilePath;
27
24
  case parseRef_1.RefType.ABSOLUTE_PATH:
@@ -1,3 +1,3 @@
1
1
  import { TRawOptions } from '../../common/TRawOptions';
2
- export declare function validateRawOptions(rawOptions: TRawOptions): void;
2
+ export declare function validateRawOptions(rawOptions: TRawOptions): Promise<void>;
3
3
  //# sourceMappingURL=validateRawOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateRawOptions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/validateRawOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,WAAW,QASzD"}
1
+ {"version":3,"file":"validateRawOptions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/validateRawOptions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E"}
@@ -2,14 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateRawOptions = validateRawOptions;
4
4
  const Consts_1 = require("../../common/Consts");
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
6
7
  const UnifiedVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas");
7
8
  const dependentOptionsRefinement_1 = require("../../common/VersionedSchema/refinements/dependentOptionsRefinement");
8
- function validateRawOptions(rawOptions) {
9
+ async function validateRawOptions(rawOptions) {
9
10
  const currentSchema = UnifiedVersionedSchemas_1.rawOptionsSchema.superRefine(dependentOptionsRefinement_1.dependentOptionsRefinement);
10
11
  const validationResult = (0, validateZodOptions_1.validateZodOptions)(currentSchema, rawOptions);
11
12
  if (!validationResult.success) {
12
- Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
13
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(validationResult.errors.join('\n')));
14
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
13
15
  process.exit(1);
14
16
  }
15
17
  }
@@ -1,5 +1,6 @@
1
1
  import { Templates } from '../types/base/Templates.model';
2
2
  import { HttpClient } from '../types/enums/HttpClient.enum';
3
+ import { ModelsMode } from '../types/enums/ModelsMode.enum';
3
4
  import type { Client } from '../types/shared/Client.model';
4
5
  import { WriteClient } from '../WriteClient';
5
6
  /**
@@ -18,6 +19,7 @@ interface IWriteClientCore {
18
19
  request?: string;
19
20
  useCancelableRequest?: boolean;
20
21
  useSeparatedIndexes?: boolean;
22
+ modelsMode?: ModelsMode;
21
23
  }
22
24
  /**
23
25
  * Generate OpenAPI core files, this includes the basic boilerplate code to handle requests.
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCjG"}
1
+ {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CjG"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientCore = writeClientCore;
4
4
  const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
5
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
+ const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
6
7
  /**
7
8
  * Generate OpenAPI core files, this includes the basic boilerplate code to handle requests.
8
9
  * @param client Client object, containing, models, schemas and services
@@ -13,7 +14,7 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
13
14
  * @param useCancelableRequest Use cancelable request type
14
15
  */
15
16
  async function writeClientCore(options) {
16
- const { client, templates, outputCorePath, httpClient, request, useCancelableRequest, useSeparatedIndexes } = options;
17
+ const { client, templates, outputCorePath, httpClient, request, useCancelableRequest, useSeparatedIndexes, modelsMode } = options;
17
18
  const context = {
18
19
  httpClient,
19
20
  server: client.server,
@@ -27,6 +28,10 @@ async function writeClientCore(options) {
27
28
  await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiError.ts'), templates.core.apiError({}));
28
29
  await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({}));
29
30
  await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiResult.ts'), templates.core.apiResult({}));
31
+ if (modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES) {
32
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'BaseDto.ts'), templates.core.baseDto({}));
33
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'dtoUtils.ts'), templates.core.dtoUtils({}));
34
+ }
30
35
  if (useCancelableRequest) {
31
36
  await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'CancelablePromise.ts'), templates.core.cancelablePromise({}));
32
37
  }
@@ -5,6 +5,7 @@ interface IOptionsProps {
5
5
  outputCorePath: string;
6
6
  useCancelableRequest?: boolean;
7
7
  useSeparatedIndexes?: boolean;
8
+ modelsMode?: import('../types/enums/ModelsMode.enum').ModelsMode;
8
9
  }
9
10
  export declare function writeClientCoreIndex(this: WriteClient, options: IOptionsProps): Promise<void>;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcnF"}
1
+ {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;CACpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcnF"}
@@ -4,13 +4,13 @@ exports.writeClientCoreIndex = writeClientCoreIndex;
4
4
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
5
  const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
6
  async function writeClientCoreIndex(options) {
7
- const { templates, outputCorePath, useCancelableRequest, useSeparatedIndexes } = options;
7
+ const { templates, outputCorePath, useCancelableRequest, useSeparatedIndexes, modelsMode } = options;
8
8
  if (!useSeparatedIndexes) {
9
9
  return;
10
10
  }
11
11
  const filePath = (0, pathHelpers_1.resolveHelper)(outputCorePath, 'index.ts');
12
12
  this.logger.info(`Data has been written to a file: ${filePath}`);
13
- const content = templates.indexes.core({ useCancelableRequest });
13
+ const content = templates.indexes.core({ useCancelableRequest, modelsMode });
14
14
  await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
15
  this.logger.info(`Writing to the file is completed: ${filePath}`);
16
16
  }
@@ -4,9 +4,14 @@ import { WriteClient } from '../WriteClient';
4
4
  interface WriteClientExecutor {
5
5
  outputPath: string;
6
6
  outputCorePath: string;
7
+ request?: string;
8
+ customExecutorPath?: string;
7
9
  services: Service[];
8
10
  templates: Templates;
11
+ useProjectPrettier?: boolean;
12
+ useEslintFix?: boolean;
9
13
  }
14
+ declare function deduplicateServicesByName(services: Service[]): Service[];
10
15
  export declare function writeClientExecutor(this: WriteClient, options: WriteClientExecutor): Promise<void>;
11
- export {};
16
+ export { deduplicateServicesByName };
12
17
  //# sourceMappingURL=writeClientExecutor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxG"}
1
+ {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,iBAAS,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CASjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxG;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}