ts-openapi-codegen 2.0.0-beta.1 → 2.0.0-beta.10

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 (594) hide show
  1. package/README.md +149 -103
  2. package/README.rus.md +149 -101
  3. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
  4. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  5. package/dist/cli/checkAndUpdateConfig/checkConfig.js +14 -6
  6. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
  7. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  8. package/dist/cli/checkAndUpdateConfig/updateConfig.js +13 -5
  9. package/dist/cli/{generate/runGenerateOpenApi.d.ts → generateOpenApiClient/generateOpenApiClient.d.ts} +2 -2
  10. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -0
  11. package/dist/cli/{generate/runGenerateOpenApi.js → generateOpenApiClient/generateOpenApiClient.js} +31 -11
  12. package/dist/cli/index.js +29 -8
  13. package/dist/cli/initOpenApiConfig/Types.d.ts +4 -4
  14. package/dist/cli/initOpenApiConfig/Types.d.ts.map +1 -1
  15. package/dist/cli/initOpenApiConfig/init.d.ts +6 -0
  16. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -0
  17. package/dist/cli/initOpenApiConfig/init.js +53 -0
  18. package/dist/cli/initOpenApiConfig/initConfig.d.ts +11 -0
  19. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -0
  20. package/dist/cli/initOpenApiConfig/initConfig.js +102 -0
  21. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +3 -0
  22. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -0
  23. package/dist/cli/initOpenApiConfig/initCustomRequest.js +23 -0
  24. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts +21 -0
  25. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -0
  26. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +107 -0
  27. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.d.ts +8 -0
  28. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.d.ts.map +1 -0
  29. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.js +40 -0
  30. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts +3 -0
  31. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -0
  32. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.js +53 -0
  33. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts +7 -0
  34. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -0
  35. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +23 -0
  36. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.d.ts +11 -0
  37. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.d.ts.map +1 -0
  38. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.js +24 -0
  39. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts +11 -0
  40. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -0
  41. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +31 -0
  42. package/dist/cli/previewChanges/previewChanges.d.ts +8 -0
  43. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -0
  44. package/dist/cli/previewChanges/previewChanges.js +189 -0
  45. package/dist/cli/previewChanges/utils/compareFiles.d.ts +6 -0
  46. package/dist/cli/previewChanges/utils/compareFiles.d.ts.map +1 -0
  47. package/dist/cli/previewChanges/utils/compareFiles.js +50 -0
  48. package/dist/cli/previewChanges/utils/formatDiff.d.ts +6 -0
  49. package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -0
  50. package/dist/cli/previewChanges/utils/formatDiff.js +30 -0
  51. package/dist/cli/previewChanges/utils/isDirectoryEmpty.d.ts +5 -0
  52. package/dist/cli/previewChanges/utils/isDirectoryEmpty.d.ts.map +1 -0
  53. package/dist/cli/previewChanges/utils/isDirectoryEmpty.js +17 -0
  54. package/dist/cli/previewChanges/utils/readDirectoryRecursive.d.ts +5 -0
  55. package/dist/cli/previewChanges/utils/readDirectoryRecursive.d.ts.map +1 -0
  56. package/dist/cli/previewChanges/utils/readDirectoryRecursive.js +28 -0
  57. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts +10 -0
  58. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -0
  59. package/dist/cli/previewChanges/utils/updateOutputPaths.js +106 -0
  60. package/dist/cli/schemas/base.d.ts +22 -0
  61. package/dist/cli/schemas/base.d.ts.map +1 -0
  62. package/dist/cli/schemas/base.js +23 -0
  63. package/dist/cli/schemas/checkConfig.d.ts +6 -0
  64. package/dist/cli/schemas/checkConfig.d.ts.map +1 -0
  65. package/dist/cli/schemas/checkConfig.js +5 -0
  66. package/dist/cli/schemas/generate.d.ts +8 -0
  67. package/dist/cli/schemas/generate.d.ts.map +1 -0
  68. package/dist/cli/schemas/generate.js +45 -0
  69. package/dist/cli/schemas/index.d.ts +8 -0
  70. package/dist/cli/schemas/index.d.ts.map +1 -0
  71. package/dist/cli/schemas/index.js +22 -0
  72. package/dist/cli/schemas/init.d.ts +10 -0
  73. package/dist/cli/schemas/init.d.ts.map +1 -0
  74. package/dist/cli/schemas/init.js +11 -0
  75. package/dist/cli/schemas/previewChanges.d.ts +9 -0
  76. package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
  77. package/dist/cli/schemas/previewChanges.js +11 -0
  78. package/dist/cli/schemas/updateConfig.d.ts +6 -0
  79. package/dist/cli/schemas/updateConfig.d.ts.map +1 -0
  80. package/dist/cli/schemas/updateConfig.js +5 -0
  81. package/dist/common/Consts.d.ts +5 -0
  82. package/dist/common/Consts.d.ts.map +1 -1
  83. package/dist/common/Consts.js +9 -2
  84. package/dist/common/LoggerMessages.js +1 -1
  85. package/dist/common/TRawOptions.d.ts +4 -36
  86. package/dist/common/TRawOptions.d.ts.map +1 -1
  87. package/dist/common/Validation/formatZodError.d.ts +10 -0
  88. package/dist/common/Validation/formatZodError.d.ts.map +1 -0
  89. package/dist/common/Validation/formatZodError.js +114 -0
  90. package/dist/common/Validation/index.d.ts +3 -0
  91. package/dist/common/Validation/index.d.ts.map +1 -0
  92. package/dist/common/Validation/index.js +18 -0
  93. package/dist/common/Validation/validateZodOptions.d.ts +27 -0
  94. package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
  95. package/dist/common/Validation/validateZodOptions.js +35 -0
  96. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  97. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +10 -4
  98. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
  99. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  100. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -8
  101. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
  102. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
  103. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
  104. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +37 -0
  105. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -0
  106. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +37 -0
  107. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +38 -0
  108. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -0
  109. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +34 -0
  110. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
  111. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
  112. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
  113. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +65 -0
  114. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
  115. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +31 -0
  116. package/dist/common/VersionedSchema/CommonSchemas.d.ts +53 -29
  117. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  118. package/dist/common/VersionedSchema/CommonSchemas.js +44 -62
  119. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.js +9 -16
  121. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
  122. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  123. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
  124. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
  125. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  126. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
  127. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
  128. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
  130. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
  131. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  132. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
  133. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
  134. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  135. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
  136. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
  137. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
  138. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
  139. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +2 -5
  141. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
  142. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
  144. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
  145. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  146. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
  147. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
  148. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  149. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
  150. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
  151. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  152. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
  153. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
  154. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
  155. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
  156. package/dist/common/VersionedSchema/Types.d.ts +5 -5
  157. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  158. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
  159. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
  160. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +85 -0
  161. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
  162. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
  163. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +23 -0
  164. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
  165. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
  166. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +75 -0
  167. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
  168. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
  169. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
  170. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
  171. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
  172. package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
  173. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.d.ts +32 -0
  174. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.d.ts.map +1 -0
  175. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.js +40 -0
  176. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +2 -1
  177. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  178. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +5 -5
  179. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
  180. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
  181. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
  182. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts +16 -0
  183. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -0
  184. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.js +23 -0
  185. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +2 -2
  186. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
  187. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +16 -3
  188. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
  189. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
  190. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +2 -1
  191. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  192. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +10 -9
  193. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
  194. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
  195. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
  196. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
  197. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
  198. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
  199. package/dist/common/defaultOptions.d.ts.map +1 -1
  200. package/dist/common/defaultOptions.js +2 -1
  201. package/dist/common/utils/__tests__/convertArrayToObject.test.js +5 -6
  202. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  203. package/dist/common/utils/convertArrayToObject.js +1 -2
  204. package/dist/common/utils/fileSystemHelpers.d.ts +3 -1
  205. package/dist/common/utils/fileSystemHelpers.d.ts.map +1 -1
  206. package/dist/common/utils/fileSystemHelpers.js +3 -0
  207. package/dist/core/Context.d.ts +25 -2
  208. package/dist/core/Context.d.ts.map +1 -1
  209. package/dist/core/Context.js +144 -4
  210. package/dist/core/OpenApiClient.d.ts.map +1 -1
  211. package/dist/core/OpenApiClient.js +54 -13
  212. package/dist/core/WriteClient.d.ts +6 -13
  213. package/dist/core/WriteClient.d.ts.map +1 -1
  214. package/dist/core/WriteClient.js +32 -22
  215. package/dist/core/__tests__/WriteClient.test.js +7 -2
  216. package/dist/core/api/v2/Parser.d.ts +1 -1
  217. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  218. package/dist/core/api/v2/Parser.js +2 -2
  219. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  220. package/dist/core/api/v2/parser/getModel.js +2 -5
  221. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  222. package/dist/core/api/v2/parser/getModelProperties.js +1 -3
  223. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  224. package/dist/core/api/v2/parser/getModels.js +2 -4
  225. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  226. package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
  227. package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
  228. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  229. package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
  230. package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
  231. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  232. package/dist/core/api/v2/parser/getServices.js +4 -3
  233. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  234. package/dist/core/api/v2/parser/getType.js +16 -9
  235. package/dist/core/api/v3/Parser.d.ts +1 -1
  236. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  237. package/dist/core/api/v3/Parser.js +2 -2
  238. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  239. package/dist/core/api/v3/parser/getModel.js +2 -5
  240. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  241. package/dist/core/api/v3/parser/getModelProperties.js +1 -3
  242. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  243. package/dist/core/api/v3/parser/getModels.js +2 -4
  244. package/dist/core/api/v3/parser/getOperation.js +1 -1
  245. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  246. package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
  247. package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
  248. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  249. package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
  250. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  251. package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
  252. package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
  253. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  254. package/dist/core/api/v3/parser/getServices.js +4 -3
  255. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  256. package/dist/core/api/v3/parser/getType.js +16 -9
  257. package/dist/core/index.d.ts.map +1 -1
  258. package/dist/core/index.js +2 -0
  259. package/dist/core/types/base/ClientArtifacts.model.d.ts +1 -1
  260. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  261. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
  262. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
  263. package/dist/core/types/base/Templates.model.d.ts +32 -0
  264. package/dist/core/types/base/Templates.model.d.ts.map +1 -0
  265. package/dist/core/types/enums/ValidationLibrary.enum.d.ts +8 -0
  266. package/dist/core/types/enums/ValidationLibrary.enum.d.ts.map +1 -0
  267. package/dist/core/types/enums/ValidationLibrary.enum.js +11 -0
  268. package/dist/core/utils/__mocks__/templates.d.ts +1 -1
  269. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  270. package/dist/core/utils/__mocks__/templates.js +5 -1
  271. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +9 -3
  272. package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
  273. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  274. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  275. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  276. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  277. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  278. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  279. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  280. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  281. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  282. package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +2 -0
  283. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  284. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  285. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  286. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  287. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  288. package/dist/core/utils/__tests__/serviceHelpers.test.js +121 -0
  289. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  290. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  291. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  292. package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
  293. package/dist/core/utils/getOpenApiSpec.d.ts +0 -6
  294. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  295. package/dist/core/utils/getOpenApiSpec.js +26 -23
  296. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  297. package/dist/core/utils/modelHelpers.js +37 -3
  298. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  299. package/dist/core/utils/postProcessModelImports.js +14 -1
  300. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  301. package/dist/core/utils/postProcessServiceImports.js +1 -2
  302. package/dist/core/utils/precompileTemplates.js +7 -0
  303. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  304. package/dist/core/utils/registerHandlebarHelpers.js +85 -0
  305. package/dist/core/utils/registerHandlebarTemplates.d.ts +3 -27
  306. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  307. package/dist/core/utils/registerHandlebarTemplates.js +97 -6
  308. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  309. package/dist/core/utils/resolveRefPath.js +1 -4
  310. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  311. package/dist/core/utils/serviceHelpers.js +32 -6
  312. package/dist/core/utils/stripNamespace.js +1 -1
  313. package/dist/core/utils/validateRawOptions.d.ts +3 -0
  314. package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
  315. package/dist/core/utils/validateRawOptions.js +15 -0
  316. package/dist/core/utils/writeClientCore.d.ts +1 -1
  317. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  318. package/dist/core/utils/writeClientCore.js +7 -4
  319. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -1
  320. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  321. package/dist/core/utils/writeClientExecutor.d.ts +13 -0
  322. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -0
  323. package/dist/core/utils/writeClientExecutor.js +30 -0
  324. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  325. package/dist/core/utils/writeClientFullIndex.js +1 -1
  326. package/dist/core/utils/writeClientModels.d.ts +1 -1
  327. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  328. package/dist/core/utils/writeClientModelsIndex.d.ts +1 -1
  329. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  330. package/dist/core/utils/writeClientSchemas.d.ts +3 -1
  331. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  332. package/dist/core/utils/writeClientSchemas.js +23 -20
  333. package/dist/core/utils/writeClientSchemasIndex.d.ts +1 -1
  334. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  335. package/dist/core/utils/writeClientServices.d.ts +1 -1
  336. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  337. package/dist/core/utils/writeClientServicesIndex.d.ts +1 -1
  338. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  339. package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -1
  340. package/dist/core/utils/writeClientSimpleIndex.js +1 -1
  341. package/dist/templatesCompiled/cli/customRequest.d.ts +11 -0
  342. package/dist/templatesCompiled/cli/customRequest.d.ts.map +1 -0
  343. package/dist/templatesCompiled/cli/customRequest.js +27 -0
  344. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts +11 -0
  345. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts.map +1 -0
  346. package/dist/templatesCompiled/cli/customRequestExecutor.js +27 -0
  347. package/dist/templatesCompiled/cli/openApiConfig.d.ts +2 -1
  348. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  349. package/dist/templatesCompiled/cli/openApiConfig.js +76 -4
  350. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  351. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts +1 -0
  352. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts.map +1 -1
  353. package/dist/templatesCompiled/client/core/CancelablePromise.js +9 -2
  354. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts +1 -0
  355. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts.map +1 -1
  356. package/dist/templatesCompiled/client/core/HttpStatusCode.js +9 -2
  357. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +12 -0
  358. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -0
  359. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +32 -0
  360. package/dist/templatesCompiled/client/core/{legacy-request-adapter.d.ts → executor/requestExecutor.d.ts} +1 -1
  361. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -0
  362. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +18 -0
  363. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  364. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts +8 -0
  365. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts.map +1 -0
  366. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.js +18 -0
  367. package/dist/templatesCompiled/client/core/{request-executor.d.ts → interceptors/interceptors.d.ts} +2 -1
  368. package/dist/templatesCompiled/client/core/interceptors/interceptors.d.ts.map +1 -0
  369. package/dist/templatesCompiled/client/core/interceptors/interceptors.js +18 -0
  370. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts +8 -0
  371. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts.map +1 -0
  372. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +18 -0
  373. package/dist/templatesCompiled/client/exportClient.d.ts +10 -0
  374. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -0
  375. package/dist/templatesCompiled/client/exportClient.js +53 -0
  376. package/dist/templatesCompiled/client/exportService.js +1 -1
  377. package/dist/templatesCompiled/client/indexCore.js +2 -2
  378. package/dist/templatesCompiled/client/indexFull.d.ts +13 -9
  379. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  380. package/dist/templatesCompiled/client/indexFull.js +72 -46
  381. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  382. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  383. package/dist/templatesCompiled/client/indexSimple.js +5 -1
  384. package/dist/templatesCompiled/client/joi/exportSchema.d.ts +11 -0
  385. package/dist/templatesCompiled/client/joi/exportSchema.d.ts.map +1 -0
  386. package/dist/templatesCompiled/client/joi/exportSchema.js +71 -0
  387. package/dist/templatesCompiled/client/joi/partials/joiSchema.d.ts +22 -0
  388. package/dist/templatesCompiled/client/joi/partials/joiSchema.d.ts.map +1 -0
  389. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +129 -0
  390. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.d.ts +16 -0
  391. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.d.ts.map +1 -0
  392. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.js +84 -0
  393. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.d.ts +18 -0
  394. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.d.ts.map +1 -0
  395. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +96 -0
  396. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.d.ts +14 -0
  397. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.d.ts.map +1 -0
  398. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.js +72 -0
  399. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.d.ts +14 -0
  400. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.d.ts.map +1 -0
  401. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.js +74 -0
  402. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +35 -0
  403. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -0
  404. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +201 -0
  405. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +14 -0
  406. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -0
  407. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +50 -0
  408. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.d.ts +9 -0
  409. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.d.ts.map +1 -0
  410. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.js +25 -0
  411. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +11 -0
  412. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -0
  413. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +69 -0
  414. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.d.ts +22 -0
  415. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.d.ts.map +1 -0
  416. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +129 -0
  417. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.d.ts +16 -0
  418. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.d.ts.map +1 -0
  419. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +74 -0
  420. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.d.ts +16 -0
  421. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.d.ts.map +1 -0
  422. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +84 -0
  423. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.d.ts +13 -0
  424. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.d.ts.map +1 -0
  425. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +56 -0
  426. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.d.ts +12 -0
  427. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.d.ts.map +1 -0
  428. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.js +49 -0
  429. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.d.ts +29 -0
  430. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.d.ts.map +1 -0
  431. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.js +175 -0
  432. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +15 -0
  433. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -0
  434. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +63 -0
  435. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.d.ts +9 -0
  436. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.d.ts.map +1 -0
  437. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.js +25 -0
  438. package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
  439. package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
  440. package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
  441. package/dist/templatesCompiled/client/partials/parameters.js +1 -1
  442. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +2 -4
  443. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  444. package/dist/templatesCompiled/client/partials/serviceOption.js +32 -46
  445. package/dist/templatesCompiled/client/yup/exportSchema.d.ts +11 -0
  446. package/dist/templatesCompiled/client/yup/exportSchema.d.ts.map +1 -0
  447. package/dist/templatesCompiled/client/yup/exportSchema.js +73 -0
  448. package/dist/templatesCompiled/client/yup/partials/yupSchema.d.ts +22 -0
  449. package/dist/templatesCompiled/client/yup/partials/yupSchema.d.ts.map +1 -0
  450. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +129 -0
  451. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.d.ts +16 -0
  452. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.d.ts.map +1 -0
  453. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.js +84 -0
  454. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.d.ts +18 -0
  455. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.d.ts.map +1 -0
  456. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +96 -0
  457. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.d.ts +14 -0
  458. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.d.ts.map +1 -0
  459. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.js +72 -0
  460. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.d.ts +14 -0
  461. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.d.ts.map +1 -0
  462. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.js +74 -0
  463. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +34 -0
  464. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -0
  465. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +201 -0
  466. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +14 -0
  467. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -0
  468. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +50 -0
  469. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.d.ts +9 -0
  470. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.d.ts.map +1 -0
  471. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.js +25 -0
  472. package/dist/templatesCompiled/client/zod/exportSchema.d.ts +11 -0
  473. package/dist/templatesCompiled/client/zod/exportSchema.d.ts.map +1 -0
  474. package/dist/templatesCompiled/client/zod/exportSchema.js +67 -0
  475. package/dist/templatesCompiled/client/zod/partials/zodSchema.d.ts +22 -0
  476. package/dist/templatesCompiled/client/zod/partials/zodSchema.d.ts.map +1 -0
  477. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +129 -0
  478. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +14 -0
  479. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -0
  480. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +65 -0
  481. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +15 -0
  482. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -0
  483. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +70 -0
  484. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +12 -0
  485. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -0
  486. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +53 -0
  487. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.d.ts +15 -0
  488. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.d.ts.map +1 -0
  489. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.js +86 -0
  490. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +34 -0
  491. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -0
  492. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +193 -0
  493. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +14 -0
  494. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -0
  495. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +50 -0
  496. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.d.ts +9 -0
  497. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.d.ts.map +1 -0
  498. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.js +25 -0
  499. package/package.json +9 -4
  500. package/dist/cli/generate/runGenerateOpenApi.d.ts.map +0 -1
  501. package/dist/cli/initOpenApiConfig/Enums.d.ts +0 -5
  502. package/dist/cli/initOpenApiConfig/Enums.d.ts.map +0 -1
  503. package/dist/cli/initOpenApiConfig/Enums.js +0 -8
  504. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts +0 -3
  505. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts.map +0 -1
  506. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.js +0 -70
  507. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.d.ts +0 -3
  508. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.d.ts.map +0 -1
  509. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.js +0 -28
  510. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.d.ts +0 -7
  511. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.d.ts.map +0 -1
  512. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.js +0 -42
  513. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.d.ts +0 -3
  514. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.d.ts.map +0 -1
  515. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.js +0 -10
  516. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
  517. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
  518. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
  519. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
  520. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
  521. package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
  522. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
  523. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
  524. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
  525. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
  526. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
  527. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
  528. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
  529. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  530. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
  531. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
  532. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  533. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
  534. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
  535. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  536. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
  537. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
  538. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  539. package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
  540. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
  541. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  542. package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
  543. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
  544. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
  545. package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
  546. package/dist/core/types/base/RefWithtype.model.d.ts +0 -11
  547. package/dist/core/types/base/RefWithtype.model.d.ts.map +0 -1
  548. package/dist/core/types/enums/TypeRef.enum.d.ts +0 -8
  549. package/dist/core/types/enums/TypeRef.enum.d.ts.map +0 -1
  550. package/dist/core/types/enums/TypeRef.enum.js +0 -11
  551. package/dist/core/utils/__tests__/getGatheringRefs.test.d.ts +0 -2
  552. package/dist/core/utils/__tests__/getGatheringRefs.test.d.ts.map +0 -1
  553. package/dist/core/utils/__tests__/getGatheringRefs.test.js +0 -26
  554. package/dist/core/utils/__tests__/getRefFromSchema.test.d.ts +0 -2
  555. package/dist/core/utils/__tests__/getRefFromSchema.test.d.ts.map +0 -1
  556. package/dist/core/utils/__tests__/getRefFromSchema.test.js +0 -167
  557. package/dist/core/utils/__tests__/refResolver.test.d.ts +0 -2
  558. package/dist/core/utils/__tests__/refResolver.test.d.ts.map +0 -1
  559. package/dist/core/utils/__tests__/refResolver.test.js +0 -55
  560. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts +0 -2
  561. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts.map +0 -1
  562. package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +0 -376
  563. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  564. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  565. package/dist/core/utils/advancedDeduplicatePath.js +0 -29
  566. package/dist/core/utils/findCommonParent.d.ts +0 -7
  567. package/dist/core/utils/findCommonParent.d.ts.map +0 -1
  568. package/dist/core/utils/findCommonParent.js +0 -20
  569. package/dist/core/utils/getGatheringRefs.d.ts +0 -4
  570. package/dist/core/utils/getGatheringRefs.d.ts.map +0 -1
  571. package/dist/core/utils/getGatheringRefs.js +0 -68
  572. package/dist/core/utils/getRefFromSchema.d.ts +0 -3
  573. package/dist/core/utils/getRefFromSchema.d.ts.map +0 -1
  574. package/dist/core/utils/getRefFromSchema.js +0 -9
  575. package/dist/core/utils/isBoolean.d.ts +0 -2
  576. package/dist/core/utils/isBoolean.d.ts.map +0 -1
  577. package/dist/core/utils/isBoolean.js +0 -12
  578. package/dist/core/utils/isFileName.d.ts +0 -7
  579. package/dist/core/utils/isFileName.d.ts.map +0 -1
  580. package/dist/core/utils/isFileName.js +0 -30
  581. package/dist/core/utils/mapPathToTargetDirSafe.d.ts +0 -10
  582. package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +0 -1
  583. package/dist/core/utils/mapPathToTargetDirSafe.js +0 -48
  584. package/dist/core/utils/normalizeAllRefs.d.ts +0 -6
  585. package/dist/core/utils/normalizeAllRefs.d.ts.map +0 -1
  586. package/dist/core/utils/normalizeAllRefs.js +0 -35
  587. package/dist/core/utils/resolveRefToImportPath.d.ts +0 -13
  588. package/dist/core/utils/resolveRefToImportPath.d.ts.map +0 -1
  589. package/dist/core/utils/resolveRefToImportPath.js +0 -105
  590. package/dist/templatesCompiled/client/core/legacy-request-adapter.d.ts.map +0 -1
  591. package/dist/templatesCompiled/client/core/legacy-request-adapter.js +0 -18
  592. package/dist/templatesCompiled/client/core/request-executor.d.ts.map +0 -1
  593. package/dist/templatesCompiled/client/core/request-executor.js +0 -11
  594. /package/dist/core/types/base/{RefWithtype.model.js → Templates.model.js} +0 -0
package/README.rus.md CHANGED
@@ -63,7 +63,6 @@ openapi generate --input ./spec.json --output ./dist
63
63
  | `--useOptions` | - | boolean | `false` | Использовать опции вместо аргументов |
64
64
  | `--useUnionTypes` | - | boolean | `false` | Использовать union типы вместо enums |
65
65
  | `--excludeCoreServiceFiles` | - | boolean | `false` | Исключить генерацию core и сервисных файлов |
66
- | `--includeSchemasFiles` | - | boolean | `false` | Включить генерацию схем валидации моделей |
67
66
  | `--request` | - | string | - | Путь к пользовательскому файлу запросов |
68
67
  | `--interfacePrefix` | - | string | `I` | Префикс для интерфейсов моделей |
69
68
  | `--enumPrefix` | - | string | `E` | Префикс для enum моделей |
@@ -73,6 +72,7 @@ openapi generate --input ./spec.json --output ./dist
73
72
  | `--useSeparatedIndexes` | - | boolean | `false` | Использовать отдельные index файлы для core, models, schemas и services |
74
73
  | `--logLevel` | `-l` | string | `error` | Уровень логирования: `info`, `warn`, или `error` |
75
74
  | `--logTarget` | `-t` | string | `console` | Цель логирования: `console` или `file` |
75
+ | `--validationLibrary` | - | string | `none` | Библиотека валидации для генерации схем: `none`, `zod`, `joi`, `yup`, или `jsonschema` |
76
76
 
77
77
  **Примеры:**
78
78
  ```bash
@@ -92,7 +92,6 @@ openapi generate \
92
92
  --httpClient fetch \
93
93
  --useOptions \
94
94
  --useUnionTypes \
95
- --includeSchemasFiles \
96
95
  --logLevel info
97
96
  ```
98
97
 
@@ -142,7 +141,6 @@ openapi init-openapi-config --openapi-config ./my-config.json
142
141
  "useOptions": false,
143
142
  "useUnionTypes": false,
144
143
  "excludeCoreServiceFiles": false,
145
- "includeSchemasFiles": false,
146
144
  "interfacePrefix": "I",
147
145
  "enumPrefix": "E",
148
146
  "typePrefix": "T",
@@ -159,7 +157,6 @@ openapi init-openapi-config --openapi-config ./my-config.json
159
157
  "output": "./dist",
160
158
  "client": "fetch",
161
159
  "excludeCoreServiceFiles": true,
162
- "includeSchemasFiles": true,
163
160
  "items": [
164
161
  {
165
162
  "input": "./first.yml"
@@ -200,7 +197,6 @@ openapi init-openapi-config --openapi-config ./my-config.json
200
197
  | `useOptions` | boolean | `false` | Использовать опции вместо аргументов |
201
198
  | `useUnionTypes` | boolean | `false` | Использовать union типы вместо enums |
202
199
  | `excludeCoreServiceFiles` | boolean | `false` | Исключить генерацию core и сервисных файлов |
203
- | `includeSchemasFiles` | boolean | `false` | Включить генерацию схем валидации моделей |
204
200
  | `request` | string | - | Путь к пользовательскому файлу запросов |
205
201
  | `interfacePrefix` | string | `I` | Префикс для интерфейсов моделей |
206
202
  | `enumPrefix` | string | `E` | Префикс для enum моделей |
@@ -209,6 +205,7 @@ openapi init-openapi-config --openapi-config ./my-config.json
209
205
  | `sortByRequired` | boolean | `false` | Расширенная стратегия сортировки для аргументов |
210
206
  | `useSeparatedIndexes` | boolean | `false` | Использовать отдельные index файлы |
211
207
  | `items` | array | - | Массив конфигураций (для формата multi-options) |
208
+ | `validationLibrary` | string | `none` | Библиотека валидации для генерации схем: `none`, `zod`, `joi`, `yup`, или `jsonschema` |
212
209
 
213
210
  **Примечание:** Вы можете использовать команду `init-openapi-config` для генерации шаблона файла конфигурации.
214
211
 
@@ -368,11 +365,19 @@ const order: Order = {
368
365
  }
369
366
  ```
370
367
 
371
- ### Runtime схемы `--includeSchemasFiles`
368
+ ### Схемы проверки `--validationLibrary`
372
369
  По умолчанию генератор OpenAPI экспортирует только интерфейсы для ваших моделей. Эти интерфейсы помогут вам во время
373
- разработки, но не будут доступны в JavaScript во время выполнения. Однако Swagger позволяет определять свойства,
374
- которые могут быть полезны во время выполнения, например: `maxLength` строки или `pattern` для сопоставления и т.д. Допустим,
375
- у нас есть следующая модель:
370
+ разработки, но не будут доступны в JavaScript во время выполнения. Однако OpenAPI позволяет определять свойства,
371
+ которые могут быть полезны во время выполнения, например: `maxLength` строки или `pattern` для сопоставления и т.д.
372
+
373
+ Параметр `--validationLibrary` позволяет генерировать схемы валидации времени выполнения с использованием популярных библиотек валидации:
374
+ - **none** (по умолчанию) - Схемы валидации не генерируются
375
+ - **zod** - Генерация схем валидации Zod
376
+ - **joi** - Генерация схем валидации Joi
377
+ - **yup** - Генерация схем валидации Yup
378
+ - **jsonschema** - Генерация схем валидации JSON Schema
379
+
380
+ Допустим, у нас есть следующая модель:
376
381
 
377
382
  ```json
378
383
  {
@@ -406,77 +411,89 @@ const order: Order = {
406
411
  }
407
412
  ```
408
413
 
409
- Это сгенерирует следующий интерфейс:
414
+ **С Zod (`--validationLibrary zod`):**
410
415
 
411
- ```typescript
412
- export interface MyModel {
413
- key: string;
414
- name: string;
415
- readonly enabled?: boolean;
416
- readonly modified?: string;
416
+ ```ts
417
+ import { z } from 'zod';
418
+
419
+ export const MyModelSchema = z.object({
420
+ key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/),
421
+ name: z.string().max(255),
422
+ enabled: z.boolean().readonly().optional(),
423
+ modified: z.string().datetime().readonly().optional(),
424
+ });
425
+
426
+ export type MyModel = z.infer<typeof MyModelSchema>;
427
+
428
+ export function validateMyModel(data: unknown): MyModel {
429
+ return MyModelSchema.parse(data);
430
+ }
431
+
432
+ export function safeValidateMyModel(data: unknown): { success: true; data: MyModel } | { success: false; error: z.ZodError } {
433
+ const result = MyModelSchema.safeParse(data);
434
+ if (result.success) {
435
+ return { success: true, data: result.data };
436
+ }
437
+ return { success: false, error: result.error };
417
438
  }
418
439
  ```
419
440
 
420
- Интерфейс не содержит таких свойств, как `maxLength` или `pattern`. Однако они могут быть полезны,
421
- если мы хотим создать форму, где пользователь может создать такую модель. В этой форме вы будете итерироваться
422
- по свойствам для рендеринга полей формы на основе их типа и валидации ввода на основе свойства `maxLength`
423
- или `pattern`. Для этого нам нужно где-то хранить эту информацию... Для этого мы можем использовать
424
- флаг `--includeSchemasFiles` для генерации runtime модели рядом с обычным интерфейсом:
441
+ **С Joi (`--validationLibrary joi`):**
425
442
 
426
- ```typescript
427
- export const $MyModel = {
443
+ ```ts
444
+ import Joi from 'joi';
445
+
446
+ export const MyModelSchema = Joi.object({
447
+ key: Joi.string().max(64).pattern(/^[a-zA-Z0-9_]*$/).required(),
448
+ name: Joi.string().max(255).required(),
449
+ enabled: Joi.boolean().readonly(),
450
+ modified: Joi.string().isoDate().readonly(),
451
+ });
452
+ ```
453
+
454
+ **С Yup (`--validationLibrary yup`):**
455
+
456
+ ```ts
457
+ import * as yup from 'yup';
458
+
459
+ export const MyModelSchema = yup.object({
460
+ key: yup.string().max(64).matches(/^[a-zA-Z0-9_]*$/).required(),
461
+ name: yup.string().max(255).required(),
462
+ enabled: yup.boolean().readonly(),
463
+ modified: yup.string().datetime().readonly(),
464
+ });
465
+ ```
466
+
467
+ **С JSON Schema (`--validationLibrary jsonschema`):**
468
+
469
+ ```ts
470
+ export const MyModelSchema = {
471
+ type: 'object',
472
+ required: ['key', 'name'],
428
473
  properties: {
429
474
  key: {
430
475
  type: 'string',
431
- isRequired: true,
432
476
  maxLength: 64,
433
477
  pattern: '^[a-zA-Z0-9_]*$',
434
478
  },
435
479
  name: {
436
480
  type: 'string',
437
- isRequired: true,
438
481
  maxLength: 255,
439
482
  },
440
483
  enabled: {
441
484
  type: 'boolean',
442
- isReadOnly: true,
485
+ readOnly: true,
443
486
  },
444
487
  modified: {
445
488
  type: 'string',
446
- isReadOnly: true,
447
489
  format: 'date-time',
490
+ readOnly: true,
448
491
  },
449
492
  },
450
493
  };
451
494
  ```
452
495
 
453
- Эти runtime объекты имеют префикс `$` и раскрывают все интересные атрибуты модели
454
- и её свойств. Теперь мы можем использовать этот объект для генерации формы:
455
-
456
- ```typescript jsx
457
- import { $MyModel } from './generated';
458
-
459
- // Псевдокод для итерации по свойствам и возврата поля формы
460
- // поле формы может быть абстрактным компонентом, который рендерит правильный
461
- // тип поля и правила валидации на основе заданного ввода.
462
- const formFields = Object.entries($MyModel.properties).map(([key, value]) => (
463
- <FormField
464
- name={key}
465
- type={value.type}
466
- format={value.format}
467
- maxLength={value.maxLength}
468
- pattern={value.pattern}
469
- isReadOnly={value.isReadOnly}
470
- />
471
- ));
472
-
473
- const MyForm = () => (
474
- <form>
475
- {formFields}
476
- </form>
477
- );
478
-
479
- ```
496
+ Эти схемы валидации могут быть использованы для генерации форм, валидации ввода и проверки типов во время выполнения в вашем приложении.
480
497
 
481
498
  ### Отменяемый promise `--useCancelableRequest`
482
499
  По умолчанию генератор OpenAPI генерирует сервисы для доступа к API, которые используют неотменяемые запросы. Поэтому мы добавили возможность переключить генератор на генерацию отменяемых API запросов. Для этого используйте флаг `--useCancelableRequest`.
@@ -509,79 +526,110 @@ export function request<T>(config: TOpenAPIConfig, options: ApiRequestOptions):
509
526
  }
510
527
  ```
511
528
 
512
- ### Пользовательский Request Executor
529
+ ### RequestExecutor
530
+
531
+ Начиная с версии **2.0.0**, сгенерированные сервисы используют интерфейс `RequestExecutor`
532
+ вместо прямых вызовов core-функции `request`.
513
533
 
514
- Начиная с версии 2.0.0, сгенерированные сервисы используют интерфейс `RequestExecutor` вместо прямых вызовов core-функции `request`. Это позволяет вам предоставить свою собственную реализацию запросов или адаптировать существующие.
534
+ `RequestExecutor` это единая точка интеграции HTTP-логики, отвечающая за выполнение запросов
535
+ и расширение поведения клиента. Он позволяет:
536
+ - использовать любой транспорт (fetch / axios / xhr / custom);
537
+ - централизованно обрабатывать запросы, ответы и ошибки;
538
+ - расширять поведение клиента без изменения сгенерированных сервисов.
515
539
 
516
- **Использование пользовательского RequestExecutor:**
540
+ #### Interceptors
517
541
 
518
- Вы можете создать свою собственную реализацию `RequestExecutor`:
542
+ `RequestExecutor` поддерживает **interceptors**, которые позволяют внедрять дополнительную
543
+ логику на разных этапах жизненного цикла запроса:
544
+
545
+ - `onRequest` — модификация запроса перед отправкой (headers, auth, логирование);
546
+ - `onResponse` — обработка успешных ответов;
547
+ - `onError` — централизованная обработка ошибок.
548
+
549
+ Interceptors применяются на уровне executor’а и автоматически используются всеми
550
+ сгенерированными сервисами.
519
551
 
520
552
  ```ts
521
- import type { RequestExecutor, RequestConfig } from './generated/core/request-executor';
553
+ import { createClient } from './generated';
554
+
555
+ const client = createClient({
556
+ interceptors: {
557
+ onRequest: [
558
+ (config) => ({
559
+ ...config,
560
+ headers: {
561
+ ...config.headers,
562
+ Authorization: 'Bearer token',
563
+ },
564
+ }),
565
+ ],
566
+ onError: [
567
+ (error) => {
568
+ console.error(error);
569
+ throw error;
570
+ },
571
+ ],
572
+ },
573
+ });
574
+ ```
575
+
576
+ #### Пользовательская реализация RequestExecutor с interceptors
577
+
578
+ Пользовательский `RequestExecutor` может быть использован вместе с interceptors.
579
+ В этом случае executor отвечает только за транспорт и выполнение запроса,
580
+ а interceptors — за расширяемую бизнес-логику (авторизация, логирование, обработка ошибок).
581
+
582
+ ```ts
583
+ import type { RequestExecutor, RequestConfig } from './generated/core/executor/requestExecutor';
584
+ import { withInterceptors } from './generated/core/interceptors/withInterceptors';
522
585
  import { SimpleService } from './generated/services/SimpleService';
523
586
 
524
- // Определите свой тип опций (опционально)
525
587
  interface MyCustomOptions {
526
588
  timeout?: number;
527
- retries?: number;
528
589
  }
529
590
 
530
- // Создайте пользовательский executor
531
- const customExecutor: RequestExecutor<MyCustomOptions> = {
532
- async request<TResponse>(config: RequestConfig, options?: MyCustomOptions): Promise<TResponse> {
533
- // Ваша пользовательская логика запросов здесь
591
+ const baseExecutor: RequestExecutor<MyCustomOptions> = {
592
+ async request<T>(config: RequestConfig, options?: MyCustomOptions): Promise<T> {
534
593
  const response = await fetch(config.url, {
535
594
  method: config.method,
536
595
  headers: config.headers,
537
596
  body: config.body ? JSON.stringify(config.body) : undefined,
538
- signal: options?.timeout ? AbortSignal.timeout(options.timeout) : undefined,
597
+ signal: options?.timeout
598
+ ? AbortSignal.timeout(options.timeout)
599
+ : undefined,
539
600
  });
540
-
601
+
541
602
  if (!response.ok) {
542
- throw new Error(`Request failed: ${response.statusText}`);
603
+ throw new Error(`Request failed: ${response.status}`);
543
604
  }
544
-
605
+
545
606
  return response.json();
546
607
  },
547
608
  };
548
609
 
549
- // Используйте его со сгенерированными сервисами
550
- const simpleService = new SimpleService<MyCustomOptions>(customExecutor);
551
- await simpleService.getCallWithoutParametersAndResponse({ timeout: 5000, retries: 3 });
552
- ```
553
-
554
- **Использование legacy request adapter:**
555
-
556
- Если у вас есть существующий пользовательский файл `request` (указанный через опцию `--request`), вы можете использовать хелпер `createLegacyExecutor` для адаптации его к новому интерфейсу `RequestExecutor`:
557
-
558
- ```ts
559
- import { createLegacyExecutor } from './generated/core/legacy-request-adapter';
560
- import { OpenAPI } from './generated/core/OpenAPI';
561
- import { SimpleService } from './generated/services/SimpleService';
562
-
563
- // Legacy адаптер оборачивает вашу существующую функцию request
564
- const executor = createLegacyExecutor(OpenAPI);
565
-
566
- // Опционально, вы можете мапить пользовательские опции в ApiRequestOptions
567
- interface XHROptions {
568
- timeout?: number;
569
- }
570
-
571
- const executorWithOptions = createLegacyExecutor<XHROptions>(OpenAPI, (options) => {
572
- // Мапьте ваши пользовательские опции в ApiRequestOptions при необходимости
573
- return {
574
- // Добавьте любые поля ApiRequestOptions на основе options
575
- };
610
+ // Оборачиваем executor interceptors
611
+ const executor = withInterceptors(baseExecutor, {
612
+ onRequest: [
613
+ (config) => ({
614
+ ...config,
615
+ headers: {
616
+ ...config.headers,
617
+ Authorization: 'Bearer token',
618
+ },
619
+ }),
620
+ ],
621
+ onError: [
622
+ (error) => {
623
+ console.error(error);
624
+ throw error;
625
+ },
626
+ ],
576
627
  });
577
628
 
578
- // Используйте со сервисами
579
- const simpleService = new SimpleService(executor);
580
- await simpleService.getCallWithoutParametersAndResponse();
629
+ const service = new SimpleService(executor);
630
+ await service.getCallWithoutParametersAndResponse({ timeout: 5000 });
581
631
  ```
582
632
 
583
- **Примечание:** Опция --request по-прежнему работает для кастомизации core-функции request. Сгенерированный legacy-request-adapter автоматически будет использовать вашу пользовательскую реализацию request при создании адаптера.
584
-
585
633
  ### Стратегия сортировки аргументов функций `--sortByRequired`
586
634
  По умолчанию генератор OpenAPI сортирует параметры сервисных функций согласно упрощенной схеме. Если вам нужна более строгая опция сортировки, используйте флаг `--sortByRequired`. Упрощенная опция сортировки похожа на ту, что использовалась в версии 0.2.3 генератора OpenAPI. Этот флаг позволяет обновиться до новой версии генератора, если вы "застряли" на версии 0.2.3.
587
635
 
@@ -1,3 +1,4 @@
1
+ import { OptionValues } from 'commander';
1
2
  /**
2
3
  * Проверяет конфигурационный файл на корректность и актуальность.
3
4
  * Если обнаружены проблемы, предлагает действия для их исправления.
@@ -8,5 +9,5 @@
8
9
  * @example
9
10
  * await checkConfig('./openapi-config.json');
10
11
  */
11
- export declare function checkConfig(configPath: string): Promise<void>;
12
+ export declare function checkConfig(options: OptionValues): Promise<void>;
12
13
  //# sourceMappingURL=checkConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/checkConfig.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnE"}
1
+ {"version":3,"file":"checkConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/checkConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CtE"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkConfig = checkConfig;
4
4
  const Consts_1 = require("../../common/Consts");
5
5
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
7
+ const schemas_1 = require("../schemas");
6
8
  const constants_1 = require("./constants");
7
9
  const selectConfigAction_1 = require("./utils/selectConfigAction");
8
10
  const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
@@ -16,20 +18,26 @@ const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfig
16
18
  * @example
17
19
  * await checkConfig('./openapi-config.json');
18
20
  */
19
- async function checkConfig(configPath) {
20
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ async function checkConfig(options) {
22
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.checkConfigOptionsSchema, options);
23
+ if (!validationResult.success) {
24
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
25
+ process.exit(1);
26
+ }
27
+ const validatedOptions = validationResult.data;
28
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
21
29
  if (!configData) {
22
- Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
30
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${validatedOptions.openapiConfig || ''}`);
23
31
  return;
24
32
  }
25
33
  try {
26
34
  const { isActualConfigVersion, hasDefaultValues, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
- Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_VALID(configPath));
35
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_VALID(validatedOptions.openapiConfig || ''));
28
36
  // Если версия не актуальна, предложить обновление
29
37
  if (!isActualConfigVersion) {
30
38
  await (0, selectConfigAction_1.selectConfigAction)({
31
39
  migratedData,
32
- configPath,
40
+ configPath: validatedOptions.openapiConfig || '',
33
41
  warningMessage: 'Ваша версия конфигурации устарела и нуждается в обновлении.',
34
42
  actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
35
43
  });
@@ -39,7 +47,7 @@ async function checkConfig(configPath) {
39
47
  if (hasDefaultValues) {
40
48
  await (0, selectConfigAction_1.selectConfigAction)({
41
49
  migratedData,
42
- configPath,
50
+ configPath: validatedOptions.openapiConfig || '',
43
51
  warningMessage: 'В вашей конфигурации есть значения по умолчанию, которые можно удалить.',
44
52
  actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
45
53
  });
@@ -1,3 +1,4 @@
1
+ import { OptionValues } from 'commander';
1
2
  /**
2
3
  * Обновляет конфигурационный файл до актуальной версии.
3
4
  * Выполняет миграцию данных при необходимости.
@@ -8,5 +9,5 @@
8
9
  * @example
9
10
  * await updateConfig('./openapi-config.json');
10
11
  */
11
- export declare function updateConfig(configPath: string): Promise<void>;
12
+ export declare function updateConfig(options: OptionValues): Promise<void>;
12
13
  //# sourceMappingURL=updateConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/updateConfig.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpE"}
1
+ {"version":3,"file":"updateConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/updateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvE"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateConfig = updateConfig;
4
4
  const Consts_1 = require("../../common/Consts");
5
5
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
7
+ const schemas_1 = require("../schemas");
6
8
  const constants_1 = require("./constants");
7
9
  const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
8
10
  const writeConfigFile_1 = require("./utils/writeConfigFile");
@@ -16,21 +18,27 @@ const writeConfigFile_1 = require("./utils/writeConfigFile");
16
18
  * @example
17
19
  * await updateConfig('./openapi-config.json');
18
20
  */
19
- async function updateConfig(configPath) {
20
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ async function updateConfig(options) {
22
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.updateConfigOptionsSchema, options);
23
+ if (!validationResult.success) {
24
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
25
+ process.exit(1);
26
+ }
27
+ const validatedOptions = validationResult.data;
28
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
21
29
  if (!configData) {
22
- Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
30
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${validatedOptions.openapiConfig}`);
23
31
  return;
24
32
  }
25
33
  try {
26
34
  const { isActualConfigVersion, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
35
  if (isActualConfigVersion) {
28
- Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_UP_TO_DATE(configPath));
36
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_UP_TO_DATE(validatedOptions.openapiConfig || ''));
29
37
  }
30
38
  else {
31
39
  await (0, writeConfigFile_1.writeConfigFile)({
32
40
  data: migratedData,
33
- configPath,
41
+ configPath: validatedOptions.openapiConfig || '',
34
42
  isUpdating: true,
35
43
  });
36
44
  }
@@ -3,5 +3,5 @@ import { OptionValues } from 'commander';
3
3
  * Запускает генерацию OpenAPI клиента
4
4
  * Поддерживает как конфиг-файл, так и параметры из CLI
5
5
  */
6
- export declare function runGenerateOpenApi(options: OptionValues): Promise<void>;
7
- //# sourceMappingURL=runGenerateOpenApi.d.ts.map
6
+ export declare function generateOpenApiClient(options: OptionValues): Promise<void>;
7
+ //# sourceMappingURL=generateOpenApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateOpenApiClient.d.ts","sourceRoot":"","sources":["../../../src/cli/generateOpenApiClient/generateOpenApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAgBzC;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DhF"}
@@ -33,34 +33,54 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.runGenerateOpenApi = runGenerateOpenApi;
36
+ exports.generateOpenApiClient = generateOpenApiClient;
37
37
  const Consts_1 = require("../../common/Consts");
38
38
  const defaultOptions_1 = require("../../common/defaultOptions");
39
39
  const Enums_1 = require("../../common/Enums");
40
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
40
41
  const convertArrayToObject_1 = require("../../common/utils/convertArrayToObject");
41
42
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
43
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
42
44
  const AllMigrationPlans_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans");
43
45
  const AllVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas");
44
46
  const migrateDataToLatestSchemaVersion_1 = require("../../common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
45
47
  const OpenAPI = __importStar(require("../../core"));
48
+ const schemas_1 = require("../schemas");
46
49
  /**
47
50
  * Запускает генерацию OpenAPI клиента
48
51
  * Поддерживает как конфиг-файл, так и параметры из CLI
49
52
  */
50
- async function runGenerateOpenApi(options) {
53
+ async function generateOpenApiClient(options) {
51
54
  const { openapiConfig, ...clientOptions } = options;
52
55
  try {
53
- const hasMinimumRequiredOptions = !!clientOptions.input && !!clientOptions.output;
56
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.generateOptionsSchema, {
57
+ openapiConfig,
58
+ ...clientOptions,
59
+ });
60
+ if (!validationResult.success) {
61
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
62
+ process.exit(1);
63
+ }
64
+ const validatedOptions = validationResult.data;
65
+ // Если есть минимальные опции (input и output), используем их
66
+ const hasMinimumRequiredOptions = !!validatedOptions.input && !!validatedOptions.output;
54
67
  if (hasMinimumRequiredOptions) {
55
- const { error: defaultValuesError, value } = defaultOptions_1.defaultOptions.validate(clientOptions);
68
+ // Используем старую Joi валидацию для обратной совместимости
69
+ // В будущем можно заменить на Zod
70
+ const { error: defaultValuesError, value } = defaultOptions_1.defaultOptions.validate({
71
+ input: validatedOptions.input,
72
+ output: validatedOptions.output,
73
+ ...clientOptions,
74
+ });
56
75
  if (defaultValuesError) {
57
76
  await OpenAPI.generate(value);
58
77
  process.exit(0);
59
78
  }
60
79
  }
61
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(openapiConfig);
80
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
62
81
  if (!configData) {
63
- Consts_1.APP_LOGGER.error('The configuration file is missing');
82
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.FILE_MISSING);
83
+ process.exit(1);
64
84
  }
65
85
  const preparedOptions = (0, convertArrayToObject_1.convertArrayToObject)(configData);
66
86
  // Use unified migration system for all schema types
@@ -71,15 +91,15 @@ async function runGenerateOpenApi(options) {
71
91
  migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
72
92
  });
73
93
  if (!migratedOptions) {
74
- Consts_1.APP_LOGGER.error("Couldn't convert the set of options to the current version");
75
- }
76
- else {
77
- const { value } = migratedOptions;
78
- await OpenAPI.generate(value);
94
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONVERSION_FAILED);
95
+ process.exit(1);
79
96
  }
97
+ const { value } = migratedOptions;
98
+ await OpenAPI.generate(value);
80
99
  process.exit(0);
81
100
  }
82
101
  catch (error) {
83
102
  Consts_1.APP_LOGGER.error(error.message);
103
+ process.exit(1);
84
104
  }
85
105
  }