ts-openapi-codegen 2.0.0-beta.7 → 2.0.0-beta.9

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 (281) hide show
  1. package/README.md +104 -0
  2. package/README.rus.md +104 -0
  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/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  10. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +4 -5
  11. package/dist/cli/index.js +5 -5
  12. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  13. package/dist/cli/initOpenApiConfig/init.js +5 -13
  14. package/dist/cli/initOpenApiConfig/initConfig.js +3 -3
  15. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  16. package/dist/cli/previewChanges/previewChanges.js +12 -5
  17. package/dist/cli/schemas/base.d.ts +6 -1
  18. package/dist/cli/schemas/base.d.ts.map +1 -1
  19. package/dist/cli/schemas/base.js +10 -6
  20. package/dist/cli/schemas/checkConfig.d.ts +1 -1
  21. package/dist/cli/schemas/generate.d.ts +1 -25
  22. package/dist/cli/schemas/generate.d.ts.map +1 -1
  23. package/dist/cli/schemas/generate.js +21 -32
  24. package/dist/cli/schemas/index.d.ts +2 -1
  25. package/dist/cli/schemas/index.d.ts.map +1 -1
  26. package/dist/cli/schemas/index.js +1 -0
  27. package/dist/cli/schemas/init.d.ts +5 -5
  28. package/dist/cli/schemas/init.d.ts.map +1 -1
  29. package/dist/cli/schemas/init.js +4 -5
  30. package/dist/cli/schemas/previewChanges.d.ts +9 -0
  31. package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
  32. package/dist/cli/schemas/previewChanges.js +11 -0
  33. package/dist/cli/schemas/updateConfig.d.ts +1 -1
  34. package/dist/common/Consts.d.ts +2 -0
  35. package/dist/common/Consts.d.ts.map +1 -1
  36. package/dist/common/Consts.js +4 -1
  37. package/dist/common/LoggerMessages.js +1 -1
  38. package/dist/common/TRawOptions.d.ts +1 -1
  39. package/dist/common/TRawOptions.d.ts.map +1 -1
  40. package/dist/common/Validation/formatZodError.d.ts +10 -0
  41. package/dist/common/Validation/formatZodError.d.ts.map +1 -0
  42. package/dist/{cli/validation/errorFormatter.js → common/Validation/formatZodError.js} +14 -13
  43. package/dist/common/Validation/index.d.ts +3 -0
  44. package/dist/common/Validation/index.d.ts.map +1 -0
  45. package/dist/{cli/validation → common/Validation}/index.js +2 -2
  46. package/dist/{cli/validation/validateCLIOptions.d.ts → common/Validation/validateZodOptions.d.ts} +4 -4
  47. package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
  48. package/dist/{cli/validation/validateCLIOptions.js → common/Validation/validateZodOptions.js} +7 -10
  49. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
  50. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  51. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -14
  52. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
  53. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
  54. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
  55. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +36 -6
  56. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  57. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +33 -37
  58. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +37 -6
  59. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  60. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +30 -37
  61. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
  62. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
  63. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
  64. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +65 -0
  65. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
  66. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +31 -0
  67. package/dist/common/VersionedSchema/CommonSchemas.d.ts +53 -30
  68. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  69. package/dist/common/VersionedSchema/CommonSchemas.js +47 -72
  70. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
  71. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  72. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
  73. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
  74. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  75. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
  76. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
  77. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  78. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
  79. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
  80. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  81. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
  82. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
  83. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  84. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
  85. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
  86. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
  87. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
  88. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
  89. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  90. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
  91. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
  92. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  93. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
  94. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
  95. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  96. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
  97. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
  98. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  99. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
  100. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
  101. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
  102. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
  103. package/dist/common/VersionedSchema/Types.d.ts +5 -5
  104. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  105. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
  106. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
  107. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +85 -0
  108. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
  109. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
  110. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +23 -0
  111. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
  112. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
  113. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +75 -0
  114. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
  115. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
  116. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
  117. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
  118. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
  119. package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
  120. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +2 -1
  121. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  122. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +5 -5
  123. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
  124. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
  125. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
  126. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +2 -2
  127. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
  128. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +16 -3
  129. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
  130. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
  131. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +2 -1
  132. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  133. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +10 -9
  134. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
  135. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
  136. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
  137. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
  138. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
  139. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
  140. package/dist/core/Context.d.ts +6 -5
  141. package/dist/core/Context.d.ts.map +1 -1
  142. package/dist/core/Context.js +69 -26
  143. package/dist/core/OpenApiClient.d.ts.map +1 -1
  144. package/dist/core/OpenApiClient.js +12 -8
  145. package/dist/core/WriteClient.d.ts.map +1 -1
  146. package/dist/core/WriteClient.js +4 -0
  147. package/dist/core/__tests__/WriteClient.test.js +3 -0
  148. package/dist/core/api/v2/Parser.d.ts +1 -1
  149. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  150. package/dist/core/api/v2/Parser.js +2 -2
  151. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  152. package/dist/core/api/v2/parser/getModel.js +2 -5
  153. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  154. package/dist/core/api/v2/parser/getModelProperties.js +1 -3
  155. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  156. package/dist/core/api/v2/parser/getModels.js +1 -2
  157. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  158. package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
  159. package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
  160. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  161. package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
  162. package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
  163. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  164. package/dist/core/api/v2/parser/getServices.js +4 -3
  165. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  166. package/dist/core/api/v2/parser/getType.js +2 -2
  167. package/dist/core/api/v3/Parser.d.ts +1 -1
  168. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  169. package/dist/core/api/v3/Parser.js +2 -2
  170. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  171. package/dist/core/api/v3/parser/getModel.js +2 -5
  172. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  173. package/dist/core/api/v3/parser/getModelProperties.js +1 -3
  174. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  175. package/dist/core/api/v3/parser/getModels.js +1 -2
  176. package/dist/core/api/v3/parser/getOperation.js +1 -1
  177. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  178. package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
  179. package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
  180. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  181. package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
  182. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  183. package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
  184. package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
  185. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  186. package/dist/core/api/v3/parser/getServices.js +4 -3
  187. package/dist/core/api/v3/parser/getType.js +2 -2
  188. package/dist/core/index.d.ts.map +1 -1
  189. package/dist/core/index.js +2 -0
  190. package/dist/core/types/base/Templates.model.d.ts +3 -0
  191. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  192. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  193. package/dist/core/utils/__mocks__/templates.js +3 -0
  194. package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
  195. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  196. package/dist/core/utils/registerHandlebarTemplates.js +9 -3
  197. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  198. package/dist/core/utils/serviceHelpers.js +32 -6
  199. package/dist/core/utils/validateRawOptions.d.ts +3 -0
  200. package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
  201. package/dist/core/utils/validateRawOptions.js +15 -0
  202. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  203. package/dist/core/utils/writeClientCore.js +5 -3
  204. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  205. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts +1 -0
  206. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts.map +1 -1
  207. package/dist/templatesCompiled/client/core/CancelablePromise.js +9 -2
  208. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts +1 -0
  209. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts.map +1 -1
  210. package/dist/templatesCompiled/client/core/HttpStatusCode.js +9 -2
  211. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -0
  212. package/dist/templatesCompiled/client/core/{createExecutorAdapter.js → executor/createExecutorAdapter.js} +3 -3
  213. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts +8 -0
  214. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -0
  215. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +18 -0
  216. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts +8 -0
  217. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts.map +1 -0
  218. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.js +18 -0
  219. package/dist/templatesCompiled/client/core/{request-executor.d.ts → interceptors/interceptors.d.ts} +2 -1
  220. package/dist/templatesCompiled/client/core/interceptors/interceptors.d.ts.map +1 -0
  221. package/dist/templatesCompiled/client/core/interceptors/interceptors.js +18 -0
  222. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts +8 -0
  223. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts.map +1 -0
  224. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +18 -0
  225. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  226. package/dist/templatesCompiled/client/exportClient.js +14 -10
  227. package/dist/templatesCompiled/client/exportService.js +1 -1
  228. package/dist/templatesCompiled/client/indexCore.js +2 -2
  229. package/dist/templatesCompiled/client/indexFull.js +2 -2
  230. package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
  231. package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
  232. package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
  233. package/package.json +1 -1
  234. package/dist/cli/validation/errorFormatter.d.ts +0 -6
  235. package/dist/cli/validation/errorFormatter.d.ts.map +0 -1
  236. package/dist/cli/validation/index.d.ts +0 -3
  237. package/dist/cli/validation/index.d.ts.map +0 -1
  238. package/dist/cli/validation/validateCLIOptions.d.ts.map +0 -1
  239. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
  240. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
  241. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
  242. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
  243. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
  244. package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
  245. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
  246. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
  247. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
  248. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
  249. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
  250. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
  251. package/dist/common/schemas/configSchemas.d.ts +0 -91
  252. package/dist/common/schemas/configSchemas.d.ts.map +0 -1
  253. package/dist/common/schemas/configSchemas.js +0 -131
  254. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
  255. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  256. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
  257. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
  258. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  259. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
  260. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
  261. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  262. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
  263. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
  264. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  265. package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
  266. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
  267. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  268. package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
  269. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
  270. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
  271. package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
  272. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts +0 -2
  273. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts.map +0 -1
  274. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +0 -21
  275. package/dist/core/utils/getRelativeModelPath.d.ts +0 -9
  276. package/dist/core/utils/getRelativeModelPath.d.ts.map +0 -1
  277. package/dist/core/utils/getRelativeModelPath.js +0 -37
  278. package/dist/templatesCompiled/client/core/createExecutorAdapter.d.ts.map +0 -1
  279. package/dist/templatesCompiled/client/core/request-executor.d.ts.map +0 -1
  280. package/dist/templatesCompiled/client/core/request-executor.js +0 -11
  281. /package/dist/templatesCompiled/client/core/{createExecutorAdapter.d.ts → executor/createExecutorAdapter.d.ts} +0 -0
@@ -1,17 +1,31 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.optionsSchemaV2 = void 0;
7
- const joi_1 = __importDefault(require("joi"));
4
+ const zod_1 = require("zod");
8
5
  const core_1 = require("../../../core");
9
- const CommonSchemas_1 = require("../CommonSchemas");
10
- const mergeObjectSchemas_1 = require("../Utils/mergeObjectSchemas");
11
- /**
12
- * The scheme of a set of generator options (Версия 2).
13
- */
14
- exports.optionsSchemaV2 = (0, mergeObjectSchemas_1.mergeObjectSchemas)(joi_1.default.object({
15
- input: joi_1.default.string().required(),
16
- httpClient: joi_1.default.string().valid(...Object.values(core_1.HttpClient)),
17
- }), CommonSchemas_1.outputPathsSchema, CommonSchemas_1.specialParametersSchemas, CommonSchemas_1.additionalParametersSchema);
6
+ const OptionsSchemaV1_1 = require("./OptionsSchemaV1");
7
+ exports.optionsSchemaV2 = OptionsSchemaV1_1.optionsSchemaV1.omit({ client: true }).extend({
8
+ httpClient: zod_1.z.enum(core_1.HttpClient),
9
+ });
10
+ /*
11
+ type TOptions = {
12
+ output: string;
13
+ input: string;
14
+ httpClient: HttpClient.FETCH | HttpClient.XHR | HttpClient.NODE | HttpClient.AXIOS;
15
+ outputCore: string | undefined;
16
+ outputServices: string | undefined;
17
+ outputModels: string | undefined;
18
+ outputSchemas: string | undefined;
19
+ useOptions: boolean | undefined;
20
+ useUnionTypes: boolean | undefined;
21
+ exportCore: boolean | undefined;
22
+ exportServices: boolean | undefined;
23
+ exportModels: boolean | undefined;
24
+ exportSchemas: boolean | undefined;
25
+ clean: boolean | undefined;
26
+ request: string | undefined;
27
+ interfacePrefix: string | undefined;
28
+ enumPrefix: string | undefined;
29
+ typePrefix: string | undefined;
30
+ }
31
+ */
@@ -1,5 +1,26 @@
1
+ import { z } from 'zod';
1
2
  /**
2
3
  * The scheme of a set of generator options (Версия 3).
3
4
  */
4
- export declare const optionsSchemaV3: import("joi").ObjectSchema<any>;
5
+ export declare const optionsSchemaV3: z.ZodObject<{
6
+ useCancelableRequest: z.ZodOptional<z.ZodBoolean>;
7
+ input: z.ZodString;
8
+ output: z.ZodString;
9
+ outputCore: z.ZodOptional<z.ZodString>;
10
+ outputServices: z.ZodOptional<z.ZodString>;
11
+ outputModels: z.ZodOptional<z.ZodString>;
12
+ outputSchemas: z.ZodOptional<z.ZodString>;
13
+ useOptions: z.ZodOptional<z.ZodBoolean>;
14
+ useUnionTypes: z.ZodOptional<z.ZodBoolean>;
15
+ exportCore: z.ZodOptional<z.ZodBoolean>;
16
+ exportServices: z.ZodOptional<z.ZodBoolean>;
17
+ exportModels: z.ZodOptional<z.ZodBoolean>;
18
+ exportSchemas: z.ZodOptional<z.ZodBoolean>;
19
+ clean: z.ZodOptional<z.ZodBoolean>;
20
+ request: z.ZodOptional<z.ZodString>;
21
+ interfacePrefix: z.ZodOptional<z.ZodString>;
22
+ enumPrefix: z.ZodOptional<z.ZodString>;
23
+ typePrefix: z.ZodOptional<z.ZodString>;
24
+ httpClient: z.ZodEnum<typeof import("../../..").HttpClient>;
25
+ }, z.core.$strip>;
5
26
  //# sourceMappingURL=OptionsSchemaV3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsSchemaV3.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,eAAe,iCAAoE,CAAC"}
1
+ {"version":3,"file":"OptionsSchemaV3.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;iBAG1B,CAAC"}
@@ -1,10 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.optionsSchemaV3 = void 0;
4
+ const zod_1 = require("zod");
4
5
  const CommonSchemas_1 = require("../CommonSchemas");
5
- const mergeObjectSchemas_1 = require("../Utils/mergeObjectSchemas");
6
6
  const OptionsSchemaV2_1 = require("./OptionsSchemaV2");
7
7
  /**
8
8
  * The scheme of a set of generator options (Версия 3).
9
9
  */
10
- exports.optionsSchemaV3 = (0, mergeObjectSchemas_1.mergeObjectSchemas)(OptionsSchemaV2_1.optionsSchemaV2, CommonSchemas_1.experimentalParametersSchema);
10
+ exports.optionsSchemaV3 = zod_1.z.object({
11
+ ...OptionsSchemaV2_1.optionsSchemaV2.shape,
12
+ ...CommonSchemas_1.experimentalParametersSchema.shape,
13
+ });
14
+ /*
15
+ type TOptions = {
16
+ output: string;
17
+ input: string;
18
+ httpClient: HttpClient.FETCH | HttpClient.XHR | HttpClient.NODE | HttpClient.AXIOS;
19
+ useCancelableRequest: boolean | undefined;
20
+ outputCore: string | undefined;
21
+ outputServices: string | undefined;
22
+ outputModels: string | undefined;
23
+ outputSchemas: string | undefined;
24
+ useOptions: boolean | undefined;
25
+ useUnionTypes: boolean | undefined;
26
+ exportCore: boolean | undefined;
27
+ exportServices: boolean | undefined;
28
+ exportModels: boolean | undefined;
29
+ exportSchemas: boolean | undefined;
30
+ clean: boolean | undefined;
31
+ request: string | undefined;
32
+ interfacePrefix: string | undefined;
33
+ enumPrefix: string | undefined;
34
+ typePrefix: string | undefined;
35
+ }
36
+ */
@@ -1,6 +1,23 @@
1
- import Joi from "joi";
2
- /**
3
- * The scheme of a set of generator options (Версия 4).
4
- */
5
- export declare const optionsSchemaV4: Joi.ObjectSchema<any>;
1
+ import { z } from "zod";
2
+ import { HttpClient } from '../../../core';
3
+ export declare const optionsSchemaV4: z.ZodObject<{
4
+ input: z.ZodString;
5
+ httpClient: z.ZodEnum<typeof HttpClient>;
6
+ sortByRequired: z.ZodOptional<z.ZodBoolean>;
7
+ useSeparatedIndexes: z.ZodOptional<z.ZodBoolean>;
8
+ useCancelableRequest: z.ZodOptional<z.ZodBoolean>;
9
+ request: z.ZodOptional<z.ZodString>;
10
+ interfacePrefix: z.ZodOptional<z.ZodString>;
11
+ enumPrefix: z.ZodOptional<z.ZodString>;
12
+ typePrefix: z.ZodOptional<z.ZodString>;
13
+ useOptions: z.ZodOptional<z.ZodBoolean>;
14
+ useUnionTypes: z.ZodOptional<z.ZodBoolean>;
15
+ excludeCoreServiceFiles: z.ZodOptional<z.ZodBoolean>;
16
+ includeSchemasFiles: z.ZodOptional<z.ZodBoolean>;
17
+ output: z.ZodString;
18
+ outputCore: z.ZodOptional<z.ZodString>;
19
+ outputServices: z.ZodOptional<z.ZodString>;
20
+ outputModels: z.ZodOptional<z.ZodString>;
21
+ outputSchemas: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
6
23
  //# sourceMappingURL=OptionsSchemaV4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsSchemaV4.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB;;GAEG;AACH,eAAO,MAAM,eAAe,uBAS3B,CAAC"}
1
+ {"version":3,"file":"OptionsSchemaV4.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAO1B,CAAC"}
@@ -1,17 +1,36 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.optionsSchemaV4 = void 0;
7
- const joi_1 = __importDefault(require("joi"));
4
+ const zod_1 = require("zod");
8
5
  const core_1 = require("../../../core");
9
6
  const CommonSchemas_1 = require("../CommonSchemas");
10
- const mergeObjectSchemas_1 = require("../Utils/mergeObjectSchemas");
11
- /**
12
- * The scheme of a set of generator options (Версия 4).
13
- */
14
- exports.optionsSchemaV4 = (0, mergeObjectSchemas_1.mergeObjectSchemas)(joi_1.default.object({
15
- input: joi_1.default.string().required(),
16
- httpClient: joi_1.default.string().valid(...Object.values(core_1.HttpClient)),
17
- }), CommonSchemas_1.outputPathsSchema, CommonSchemas_1.specialParametersSchemasV2, CommonSchemas_1.additionalParametersSchemaV2, CommonSchemas_1.experimentalParametersSchemaV2);
7
+ exports.optionsSchemaV4 = zod_1.z.object({
8
+ ...CommonSchemas_1.outputPathsSchema.shape,
9
+ ...CommonSchemas_1.specialParametersSchemasV2.shape,
10
+ ...CommonSchemas_1.additionalParametersSchemaV2.shape,
11
+ ...CommonSchemas_1.experimentalParametersSchemaV2.shape,
12
+ input: zod_1.z.string().min(1),
13
+ httpClient: zod_1.z.enum(core_1.HttpClient),
14
+ });
15
+ /*
16
+ type TOptions = {
17
+ input: string;
18
+ httpClient: HttpClient.FETCH | HttpClient.XHR | HttpClient.NODE | HttpClient.AXIOS;
19
+ output: string;
20
+ useCancelableRequest: boolean | undefined;
21
+ sortByRequired: boolean | undefined;
22
+ useSeparatedIndexes: boolean | undefined;
23
+ request: string | undefined;
24
+ interfacePrefix: string | undefined;
25
+ enumPrefix: string | undefined;
26
+ typePrefix: string | undefined;
27
+ useOptions: boolean | undefined;
28
+ useUnionTypes: boolean | undefined;
29
+ excludeCoreServiceFiles: boolean | undefined;
30
+ includeSchemasFiles: boolean | undefined;
31
+ outputCore: string | undefined;
32
+ outputServices: string | undefined;
33
+ outputModels: string | undefined;
34
+ outputSchemas: string | undefined;
35
+ }
36
+ */
@@ -1,3 +1,4 @@
1
- import { VersionedSchema } from "../Types";
2
- export declare const optionsVersionedSchemas: VersionedSchema<Record<string, any>>[];
1
+ import { z } from 'zod';
2
+ import { VersionedSchema } from '../Types';
3
+ export declare const optionsVersionedSchemas: VersionedSchema<z.ZodTypeAny>[];
3
4
  //# sourceMappingURL=OptionsVersionedSchemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsVersionedSchemas.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,eAAO,MAAM,uBAAuB,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAgBxE,CAAC"}
1
+ {"version":3,"file":"OptionsVersionedSchemas.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAO3C,eAAO,MAAM,uBAAuB,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAqBlE,CAAC"}
@@ -2,24 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.optionsVersionedSchemas = void 0;
4
4
  const Enums_1 = require("../Enums");
5
+ const buildVersionedSchema_1 = require("../Utils/buildVersionedSchema");
5
6
  const OptionsSchemaV1_1 = require("./OptionsSchemaV1");
6
7
  const OptionsSchemaV2_1 = require("./OptionsSchemaV2");
7
8
  const OptionsSchemaV3_1 = require("./OptionsSchemaV3");
8
9
  const OptionsSchemaV4_1 = require("./OptionsSchemaV4");
9
- exports.optionsVersionedSchemas = [{
10
+ exports.optionsVersionedSchemas = [
11
+ (0, buildVersionedSchema_1.buildVersionedSchema)({
10
12
  version: 'v1',
11
- schema: OptionsSchemaV1_1.optionsSchemaV1,
13
+ base: OptionsSchemaV1_1.optionsSchemaV1,
12
14
  type: Enums_1.EVersionedSchemaType.OPTIONS,
13
- }, {
15
+ }),
16
+ (0, buildVersionedSchema_1.buildVersionedSchema)({
14
17
  version: 'v2',
15
- schema: OptionsSchemaV2_1.optionsSchemaV2,
18
+ base: OptionsSchemaV2_1.optionsSchemaV2,
16
19
  type: Enums_1.EVersionedSchemaType.OPTIONS,
17
- }, {
20
+ }),
21
+ (0, buildVersionedSchema_1.buildVersionedSchema)({
18
22
  version: 'v3',
19
- schema: OptionsSchemaV3_1.optionsSchemaV3,
23
+ base: OptionsSchemaV3_1.optionsSchemaV3,
20
24
  type: Enums_1.EVersionedSchemaType.OPTIONS,
21
- }, {
25
+ }),
26
+ (0, buildVersionedSchema_1.buildVersionedSchema)({
22
27
  version: 'v4',
23
- schema: OptionsSchemaV4_1.optionsSchemaV4,
28
+ base: OptionsSchemaV4_1.optionsSchemaV4,
24
29
  type: Enums_1.EVersionedSchemaType.OPTIONS,
25
- }];
30
+ }),
31
+ ];
@@ -1,9 +1,10 @@
1
- import Joi from 'joi';
1
+ import { z } from 'zod';
2
2
  import { EVersionedSchemaType } from './Enums';
3
- export type VersionedSchema<T> = {
4
- schema: Joi.Schema<T>;
5
- type: EVersionedSchemaType;
3
+ export type VersionedSchema<TSchema extends z.ZodTypeAny> = {
4
+ schema: TSchema;
5
+ baseSchema: z.ZodObject<any>;
6
6
  version: string;
7
+ type: EVersionedSchemaType;
7
8
  };
8
9
  export type SchemaMigrationPlan<From, To> = {
9
10
  fromVersion: string;
@@ -15,7 +16,6 @@ export type SchemaMigrationPlan<From, To> = {
15
16
  */
16
17
  description?: string;
17
18
  };
18
- export type TraverseHandler<T> = (value: any, recurse: (v: any) => void, result: T) => boolean;
19
19
  export type VersionMatchResult = {
20
20
  lastVersionIndex: number;
21
21
  latestVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/common/VersionedSchema/Types.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,IAAI;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAGF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;AAE/F,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/common/VersionedSchema/Types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,CAAC,CAAC,UAAU,IAAI;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,IAAI;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EVersionedSchemaType } from '../../Enums';
2
+ import { CompatibilityIssue } from '../compareShapes';
3
+ type CompatibilityCase = {
4
+ type: EVersionedSchemaType;
5
+ from: string;
6
+ to: string;
7
+ expect: CompatibilityIssue[];
8
+ };
9
+ /**
10
+ * ВАЖНО!
11
+ * Для корректной работы механизма миграции версий опций необходимо после добавления
12
+ * новой схемы обновлять compatibilityCases.
13
+ */
14
+ export declare const compatibilityCases: CompatibilityCase[];
15
+ export {};
16
+ //# sourceMappingURL=compatibilityCases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibilityCases.d.ts","sourceRoot":"","sources":["../../../../../src/common/VersionedSchema/Utils/__mocks__/compatibilityCases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EA2EjD,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compatibilityCases = void 0;
4
+ const Enums_1 = require("../../Enums");
5
+ /**
6
+ * ВАЖНО!
7
+ * Для корректной работы механизма миграции версий опций необходимо после добавления
8
+ * новой схемы обновлять compatibilityCases.
9
+ */
10
+ exports.compatibilityCases = [
11
+ {
12
+ type: Enums_1.EVersionedSchemaType.OPTIONS,
13
+ from: 'v1',
14
+ to: 'v2',
15
+ expect: [
16
+ { type: 'removed', key: 'client' },
17
+ { type: 'added', key: 'httpClient' },
18
+ ],
19
+ },
20
+ {
21
+ type: Enums_1.EVersionedSchemaType.OPTIONS,
22
+ from: 'v2',
23
+ to: 'v3',
24
+ expect: [{ type: 'added', key: 'useCancelableRequest' }],
25
+ },
26
+ {
27
+ type: Enums_1.EVersionedSchemaType.OPTIONS,
28
+ from: 'v3',
29
+ to: 'v4',
30
+ expect: [
31
+ { type: 'removed', key: 'exportCore' },
32
+ { type: 'removed', key: 'exportServices' },
33
+ { type: 'removed', key: 'exportModels' },
34
+ { type: 'removed', key: 'exportSchemas' },
35
+ { type: 'removed', key: 'clean' },
36
+ { type: 'added', key: 'excludeCoreServiceFiles' },
37
+ { type: 'added', key: 'includeSchemasFiles' },
38
+ { type: 'added', key: 'sortByRequired' },
39
+ { type: 'added', key: 'useSeparatedIndexes' },
40
+ ],
41
+ },
42
+ {
43
+ type: Enums_1.EVersionedSchemaType.MULTI_OPTIONS,
44
+ from: 'v1',
45
+ to: 'v2',
46
+ expect: [
47
+ { type: 'removed', key: 'client' },
48
+ { type: 'added', key: 'httpClient' },
49
+ ],
50
+ },
51
+ {
52
+ type: Enums_1.EVersionedSchemaType.MULTI_OPTIONS,
53
+ from: 'v2',
54
+ to: 'v3',
55
+ expect: [{ type: 'added', key: 'useCancelableRequest' }],
56
+ },
57
+ {
58
+ type: Enums_1.EVersionedSchemaType.MULTI_OPTIONS,
59
+ from: 'v4',
60
+ to: 'v5',
61
+ expect: [
62
+ { type: 'removed', key: 'exportCore' },
63
+ { type: 'removed', key: 'exportServices' },
64
+ { type: 'removed', key: 'exportModels' },
65
+ { type: 'removed', key: 'exportSchemas' },
66
+ { type: 'removed', key: 'clean' },
67
+ { type: 'added', key: 'excludeCoreServiceFiles' },
68
+ { type: 'added', key: 'includeSchemasFiles' },
69
+ { type: 'added', key: 'sortByRequired' },
70
+ { type: 'added', key: 'useSeparatedIndexes' },
71
+ ],
72
+ },
73
+ {
74
+ type: Enums_1.EVersionedSchemaType.UNIFIED_OPTIONS,
75
+ from: 'v1',
76
+ to: 'v2',
77
+ expect: [{ type: 'added', key: 'validationLibrary' }],
78
+ },
79
+ {
80
+ type: Enums_1.EVersionedSchemaType.UNIFIED_OPTIONS,
81
+ from: 'v2',
82
+ to: 'v3',
83
+ expect: [{ type: 'added', key: 'logLevel' }, { type: 'added', key: 'logTarget' }],
84
+ },
85
+ ];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compareShapes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareShapes.test.d.ts","sourceRoot":"","sources":["../../../../../src/common/VersionedSchema/Utils/__tests__/compareShapes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable simple-import-sort/imports */
7
+ const node_test_1 = __importDefault(require("node:test"));
8
+ const node_assert_1 = __importDefault(require("node:assert"));
9
+ const compareShapes_1 = require("../compareShapes");
10
+ const AllVersionedSchemas_1 = require("../../../VersionedSchema/AllVersionedSchemas/AllVersionedSchemas");
11
+ const compatibilityCases_1 = require("../__mocks__/compatibilityCases");
12
+ (0, node_test_1.default)('@unit: schema versions compatibility', () => {
13
+ for (const testCase of compatibilityCases_1.compatibilityCases) {
14
+ const { type, from, to, expect } = testCase;
15
+ const prev = AllVersionedSchemas_1.allVersionedSchemas.find(vs => vs.type === type && vs.version === `${type}_${from}`)?.baseSchema;
16
+ const next = AllVersionedSchemas_1.allVersionedSchemas.find(vs => vs.type === type && vs.version === `${type}_${to}`)?.baseSchema;
17
+ if (!prev || !next) {
18
+ return;
19
+ }
20
+ const issues = (0, compareShapes_1.compareShapes)(prev, next);
21
+ node_assert_1.default.deepStrictEqual(issues, expect, `${type} ${from} → ${to} mismatch`);
22
+ }
23
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=migrateDataToLatestSchemaVersion.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateDataToLatestSchemaVersion.test.d.ts","sourceRoot":"","sources":["../../../../../src/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable simple-import-sort/imports */
7
+ const node_test_1 = __importDefault(require("node:test"));
8
+ const node_assert_1 = __importDefault(require("node:assert"));
9
+ const ValidationLibrary_enum_1 = require("../../../../core/types/enums/ValidationLibrary.enum");
10
+ const Enums_1 = require("../../../Enums");
11
+ const AllMigrationPlans_1 = require("../../AllVersionedSchemas/AllMigrationPlans");
12
+ const AllVersionedSchemas_1 = require("../../AllVersionedSchemas/AllVersionedSchemas");
13
+ const Enums_2 = require("../../Enums");
14
+ const MultiOptionsMigrationPlan_1 = require("../../MultiOptionsVersioned/MultiOptionsMigrationPlan");
15
+ const MultiOptionsVersionedSchemas_1 = require("../../MultiOptionsVersioned/MultiOptionsVersionedSchemas");
16
+ const OptionsMigrationPlans_1 = require("../../OptionsVersioned/OptionsMigrationPlans");
17
+ const OptionsVersionedSchemas_1 = require("../../OptionsVersioned/OptionsVersionedSchemas");
18
+ const migrateDataToLatestSchemaVersion_1 = require("../migrateDataToLatestSchemaVersion");
19
+ (0, node_test_1.default)('@unit: migrateDataToLatestSchemaVersion (options → latest options)', () => {
20
+ const rawInput = {
21
+ input: './spec.json',
22
+ output: './dist',
23
+ httpClient: 'fetch',
24
+ };
25
+ const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
26
+ rawInput,
27
+ migrationPlans: OptionsMigrationPlans_1.optionsMigrationPlans,
28
+ versionedSchemas: OptionsVersionedSchemas_1.optionsVersionedSchemas,
29
+ migrationMode: Enums_1.EMigrationMode.VALIDATE_CONFIG,
30
+ });
31
+ node_assert_1.default.ok(result);
32
+ node_assert_1.default.strictEqual(result?.schemaType, Enums_2.EVersionedSchemaType.OPTIONS);
33
+ node_assert_1.default.strictEqual(result?.schemaVersion, 'v4');
34
+ node_assert_1.default.strictEqual(result?.value.httpClient, 'fetch');
35
+ node_assert_1.default.strictEqual(result?.value.httpClient, 'fetch');
36
+ });
37
+ (0, node_test_1.default)('@unit: migrateDataToLatestSchemaVersion (multi-options → latest multi-options)', () => {
38
+ const rawInput = {
39
+ httpClient: 'fetch',
40
+ items: [{ input: './spec.json', output: './dist' }],
41
+ };
42
+ const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
43
+ rawInput,
44
+ migrationPlans: MultiOptionsMigrationPlan_1.multiOptionsMigrationPlan,
45
+ versionedSchemas: MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema,
46
+ migrationMode: Enums_1.EMigrationMode.VALIDATE_CONFIG,
47
+ });
48
+ node_assert_1.default.ok(result);
49
+ node_assert_1.default.strictEqual(result?.schemaType, Enums_2.EVersionedSchemaType.MULTI_OPTIONS);
50
+ node_assert_1.default.strictEqual(result?.schemaVersion, 'v5');
51
+ node_assert_1.default.strictEqual(result?.value.httpClient, 'fetch');
52
+ const item = result?.value.items?.[0];
53
+ node_assert_1.default.ok(item);
54
+ node_assert_1.default.strictEqual(item?.input, './spec.json');
55
+ node_assert_1.default.strictEqual(item?.output, './dist');
56
+ });
57
+ (0, node_test_1.default)('@unit: migrateDataToLatestSchemaVersion (unified schemas)', () => {
58
+ const rawInput = {
59
+ input: './spec.json',
60
+ output: './dist',
61
+ httpClient: 'fetch',
62
+ validationLibrary: ValidationLibrary_enum_1.ValidationLibrary.NONE,
63
+ };
64
+ const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
65
+ rawInput,
66
+ migrationPlans: AllMigrationPlans_1.allMigrationPlans,
67
+ versionedSchemas: AllVersionedSchemas_1.allVersionedSchemas,
68
+ migrationMode: Enums_1.EMigrationMode.VALIDATE_CONFIG,
69
+ });
70
+ node_assert_1.default.ok(result);
71
+ node_assert_1.default.strictEqual(result?.schemaType, Enums_2.EVersionedSchemaType.UNIFIED_OPTIONS);
72
+ node_assert_1.default.strictEqual(result?.schemaVersion, 'UNIFIED_OPTIONS_v3');
73
+ node_assert_1.default.strictEqual(result?.value.httpClient, 'fetch');
74
+ node_assert_1.default.strictEqual(result?.value.validationLibrary, ValidationLibrary_enum_1.ValidationLibrary.NONE);
75
+ });
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { EVersionedSchemaType } from '../Enums';
3
+ import { VersionedSchema } from '../Types';
4
+ type BuildVersionedSchemaParams<TBase extends z.ZodObject<any>> = {
5
+ base: TBase;
6
+ refine?: (data: z.infer<TBase>, ctx: z.RefinementCtx) => void;
7
+ version: string;
8
+ type: EVersionedSchemaType;
9
+ };
10
+ export declare function buildVersionedSchema<TBase extends z.ZodObject<any>>(params: BuildVersionedSchemaParams<TBase>): VersionedSchema<z.ZodTypeAny>;
11
+ export {};
12
+ //# sourceMappingURL=buildVersionedSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildVersionedSchema.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/buildVersionedSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,KAAK,0BAA0B,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI;IAC9D,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAC/D,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAC1C,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAW/B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildVersionedSchema = buildVersionedSchema;
4
+ function buildVersionedSchema(params) {
5
+ const { base, refine, version, type } = params;
6
+ const schema = refine ? base.superRefine(refine) : base;
7
+ return {
8
+ schema,
9
+ baseSchema: base,
10
+ version,
11
+ type,
12
+ };
13
+ }
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export type CompatibilityIssue = {
3
+ type: 'removed';
4
+ key: string;
5
+ } | {
6
+ type: 'added';
7
+ key: string;
8
+ } | {
9
+ type: 'type-changed';
10
+ key: string;
11
+ } | {
12
+ type: 'optional-to-required';
13
+ key: string;
14
+ };
15
+ export declare function compareShapes(prev: z.ZodObject<any>, next: z.ZodObject<any>): CompatibilityIssue[];
16
+ //# sourceMappingURL=compareShapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareShapes.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/compareShapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3L,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAiClG"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareShapes = compareShapes;
4
+ function compareShapes(prev, next) {
5
+ const prevShape = prev.shape;
6
+ const nextShape = next.shape;
7
+ const issues = [];
8
+ // removed / changed / optional → required
9
+ for (const key of Object.keys(prevShape)) {
10
+ if (!(key in nextShape)) {
11
+ issues.push({ type: 'removed', key });
12
+ continue;
13
+ }
14
+ const prevField = prevShape[key];
15
+ const nextField = nextShape[key];
16
+ if (prevField._def.typeName !== nextField._def.typeName) {
17
+ issues.push({ type: 'type-changed', key });
18
+ }
19
+ if (prevField.isOptional() && !nextField.isOptional()) {
20
+ issues.push({ type: 'optional-to-required', key });
21
+ }
22
+ }
23
+ // added
24
+ for (const key of Object.keys(nextShape)) {
25
+ if (!(key in prevShape)) {
26
+ issues.push({ type: 'added', key });
27
+ }
28
+ }
29
+ return issues;
30
+ }
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  import { VersionedSchema, VersionMatchResult } from '../Types';
2
- export declare function determineBestMatchingSchemaVersion(inputData: Record<string, any>, versionedSchemas: VersionedSchema<Record<string, any>>[]): VersionMatchResult;
3
+ export declare function determineBestMatchingSchemaVersion(inputData: Record<string, any>, versionedSchemas: VersionedSchema<z.ZodTypeAny>[]): VersionMatchResult;
3
4
  //# sourceMappingURL=determineBestMatchingSchemaVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"determineBestMatchingSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAM/D,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,kBAAkB,CA4C/J"}
1
+ {"version":3,"file":"determineBestMatchingSchemaVersion.d.ts","sourceRoot":"","sources":["../../../../src/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAK/D,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,kBAAkB,CA4CxJ"}