ts-openapi-codegen 2.0.0-beta.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +88 -18
  2. package/README.rus.md +88 -21
  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/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  10. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
  11. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  12. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +24 -13
  13. package/dist/cli/index.js +10 -8
  14. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  15. package/dist/cli/initOpenApiConfig/init.js +5 -13
  16. package/dist/cli/initOpenApiConfig/initConfig.js +3 -3
  17. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  18. package/dist/cli/previewChanges/previewChanges.js +119 -28
  19. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  20. package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
  21. package/dist/cli/schemas/base.d.ts +6 -1
  22. package/dist/cli/schemas/base.d.ts.map +1 -1
  23. package/dist/cli/schemas/base.js +10 -6
  24. package/dist/cli/schemas/checkConfig.d.ts +1 -1
  25. package/dist/cli/schemas/generate.d.ts +1 -25
  26. package/dist/cli/schemas/generate.d.ts.map +1 -1
  27. package/dist/cli/schemas/generate.js +21 -32
  28. package/dist/cli/schemas/index.d.ts +2 -1
  29. package/dist/cli/schemas/index.d.ts.map +1 -1
  30. package/dist/cli/schemas/index.js +1 -0
  31. package/dist/cli/schemas/init.d.ts +5 -5
  32. package/dist/cli/schemas/init.d.ts.map +1 -1
  33. package/dist/cli/schemas/init.js +4 -5
  34. package/dist/cli/schemas/previewChanges.d.ts +9 -0
  35. package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
  36. package/dist/cli/schemas/previewChanges.js +11 -0
  37. package/dist/cli/schemas/updateConfig.d.ts +1 -1
  38. package/dist/common/Consts.d.ts +2 -0
  39. package/dist/common/Consts.d.ts.map +1 -1
  40. package/dist/common/Consts.js +8 -2
  41. package/dist/common/LoggerMessages.d.ts +1 -0
  42. package/dist/common/LoggerMessages.d.ts.map +1 -1
  43. package/dist/common/LoggerMessages.js +2 -1
  44. package/dist/common/TRawOptions.d.ts +1 -1
  45. package/dist/common/TRawOptions.d.ts.map +1 -1
  46. package/dist/common/Validation/formatZodError.d.ts +10 -0
  47. package/dist/common/Validation/formatZodError.d.ts.map +1 -0
  48. package/dist/{cli/validation/errorFormatter.js → common/Validation/formatZodError.js} +14 -13
  49. package/dist/common/Validation/index.d.ts +3 -0
  50. package/dist/common/Validation/index.d.ts.map +1 -0
  51. package/dist/{cli/validation → common/Validation}/index.js +2 -2
  52. package/dist/{cli/validation/validateCLIOptions.d.ts → common/Validation/validateZodOptions.d.ts} +4 -4
  53. package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
  54. package/dist/{cli/validation/validateCLIOptions.js → common/Validation/validateZodOptions.js} +7 -10
  55. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
  56. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  57. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +14 -4
  58. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
  59. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  60. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -14
  61. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
  62. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
  63. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
  64. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +36 -6
  65. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  66. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +33 -37
  67. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +37 -6
  68. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  69. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +30 -37
  70. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
  71. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
  72. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
  73. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +42 -0
  74. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
  75. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +38 -0
  76. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +192 -0
  77. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
  78. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +27 -0
  79. package/dist/common/VersionedSchema/CommonSchemas.d.ts +61 -30
  80. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  81. package/dist/common/VersionedSchema/CommonSchemas.js +56 -73
  82. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
  83. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  84. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
  85. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
  86. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  87. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
  88. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
  89. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  90. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
  91. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
  92. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  93. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
  94. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
  95. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  96. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
  97. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
  98. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
  99. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
  100. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
  101. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  102. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
  103. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
  104. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  105. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
  106. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
  107. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  108. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
  109. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
  110. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  111. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
  112. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
  113. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
  114. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
  115. package/dist/common/VersionedSchema/Types.d.ts +5 -5
  116. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  117. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
  118. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
  119. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +104 -0
  120. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
  121. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
  122. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
  123. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
  124. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
  125. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +40 -0
  126. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
  127. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
  128. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +93 -0
  129. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
  130. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
  131. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
  132. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
  133. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
  134. package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
  135. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +6 -1
  136. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  137. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +70 -25
  138. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
  139. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
  141. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +3 -3
  142. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +17 -4
  144. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
  145. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
  146. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +12 -1
  147. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  148. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +41 -22
  149. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
  150. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
  151. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
  152. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
  153. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
  154. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
  155. package/dist/common/utils/__tests__/convertArrayToObject.test.js +64 -169
  156. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  157. package/dist/common/utils/convertArrayToObject.js +51 -14
  158. package/dist/core/Context.d.ts +6 -5
  159. package/dist/core/Context.d.ts.map +1 -1
  160. package/dist/core/Context.js +69 -26
  161. package/dist/core/OpenApiClient.d.ts.map +1 -1
  162. package/dist/core/OpenApiClient.js +24 -9
  163. package/dist/core/WriteClient.d.ts +8 -1
  164. package/dist/core/WriteClient.d.ts.map +1 -1
  165. package/dist/core/WriteClient.js +48 -7
  166. package/dist/core/__tests__/WriteClient.test.js +2 -0
  167. package/dist/core/api/v2/Parser.d.ts +1 -1
  168. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  169. package/dist/core/api/v2/Parser.js +2 -2
  170. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  171. package/dist/core/api/v2/parser/getModel.js +2 -5
  172. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  173. package/dist/core/api/v2/parser/getModelProperties.js +1 -3
  174. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  175. package/dist/core/api/v2/parser/getModels.js +1 -2
  176. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  177. package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
  178. package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
  179. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  180. package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
  181. package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
  182. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  183. package/dist/core/api/v2/parser/getServices.js +4 -3
  184. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  185. package/dist/core/api/v2/parser/getType.js +4 -3
  186. package/dist/core/api/v3/Parser.d.ts +1 -1
  187. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  188. package/dist/core/api/v3/Parser.js +2 -2
  189. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  190. package/dist/core/api/v3/parser/getModel.js +2 -5
  191. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  192. package/dist/core/api/v3/parser/getModelProperties.js +1 -3
  193. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  194. package/dist/core/api/v3/parser/getModels.js +1 -2
  195. package/dist/core/api/v3/parser/getOperation.js +1 -1
  196. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  197. package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
  198. package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
  199. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  200. package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
  201. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  202. package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
  203. package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
  204. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  205. package/dist/core/api/v3/parser/getServices.js +4 -3
  206. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  207. package/dist/core/api/v3/parser/getType.js +4 -3
  208. package/dist/core/index.d.ts.map +1 -1
  209. package/dist/core/index.js +2 -0
  210. package/dist/core/types/base/Templates.model.d.ts +1 -1
  211. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  212. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
  213. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
  214. package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
  215. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +9 -3
  216. package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
  217. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  218. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  219. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  220. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  221. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  222. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  223. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  224. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  225. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  226. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  227. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  228. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  229. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  230. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  231. package/dist/core/utils/__tests__/serviceHelpers.test.js +121 -0
  232. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  233. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  234. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  235. package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
  236. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  237. package/dist/core/utils/getOpenApiSpec.js +14 -1
  238. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  239. package/dist/core/utils/modelHelpers.js +37 -3
  240. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  241. package/dist/core/utils/postProcessModelImports.js +14 -1
  242. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  243. package/dist/core/utils/postProcessServiceImports.js +1 -2
  244. package/dist/core/utils/precompileTemplates.js +1 -0
  245. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  246. package/dist/core/utils/registerHandlebarHelpers.js +25 -0
  247. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  248. package/dist/core/utils/registerHandlebarTemplates.js +42 -41
  249. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  250. package/dist/core/utils/resolveRefPath.js +1 -4
  251. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  252. package/dist/core/utils/serviceHelpers.js +32 -6
  253. package/dist/core/utils/validateRawOptions.d.ts +3 -0
  254. package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
  255. package/dist/core/utils/validateRawOptions.js +15 -0
  256. package/dist/core/utils/writeClientExecutor.d.ts +4 -1
  257. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  258. package/dist/core/utils/writeClientExecutor.js +17 -2
  259. package/dist/core/utils/writeClientSchemas.d.ts +4 -1
  260. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  261. package/dist/core/utils/writeClientSchemas.js +11 -2
  262. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  263. package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
  264. package/dist/templatesCompiled/client/core/axios/request.js +3 -3
  265. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
  266. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  267. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
  268. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
  269. package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
  270. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  271. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
  272. package/dist/templatesCompiled/client/core/node/request.js +3 -3
  273. package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
  274. package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
  275. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  276. package/dist/templatesCompiled/client/exportClient.js +51 -13
  277. package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
  278. package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
  279. package/dist/templatesCompiled/client/exportSchema.js +37 -7
  280. package/dist/templatesCompiled/client/exportService.d.ts +2 -0
  281. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  282. package/dist/templatesCompiled/client/exportService.js +71 -31
  283. package/dist/templatesCompiled/client/indexFull.d.ts +1 -0
  284. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  285. package/dist/templatesCompiled/client/indexFull.js +4 -1
  286. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  287. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  288. package/dist/templatesCompiled/client/indexSimple.js +4 -1
  289. package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
  290. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
  291. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
  292. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
  293. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
  294. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
  295. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +5 -5
  296. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
  297. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
  298. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
  299. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
  300. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
  301. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
  302. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
  303. package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
  304. package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
  305. package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
  306. package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
  307. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
  308. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
  309. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
  310. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
  311. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
  312. package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
  313. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
  314. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
  315. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
  316. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
  317. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
  318. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
  319. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
  320. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
  321. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
  322. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
  323. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
  324. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
  325. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
  326. package/package.json +2 -2
  327. package/dist/cli/validation/errorFormatter.d.ts +0 -6
  328. package/dist/cli/validation/errorFormatter.d.ts.map +0 -1
  329. package/dist/cli/validation/index.d.ts +0 -3
  330. package/dist/cli/validation/index.d.ts.map +0 -1
  331. package/dist/cli/validation/validateCLIOptions.d.ts.map +0 -1
  332. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
  333. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
  334. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
  335. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
  336. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
  337. package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
  338. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
  339. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
  340. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
  341. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
  342. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
  343. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
  344. package/dist/common/defaultOptions.d.ts +0 -3
  345. package/dist/common/defaultOptions.d.ts.map +0 -1
  346. package/dist/common/defaultOptions.js +0 -28
  347. package/dist/common/schemas/configSchemas.d.ts +0 -91
  348. package/dist/common/schemas/configSchemas.d.ts.map +0 -1
  349. package/dist/common/schemas/configSchemas.js +0 -131
  350. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
  351. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  352. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
  353. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
  354. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  355. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
  356. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
  357. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  358. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
  359. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
  360. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  361. package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
  362. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
  363. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  364. package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
  365. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
  366. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
  367. package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
  368. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  369. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  370. package/dist/core/utils/advancedDeduplicatePath.js +0 -29
@@ -1,20 +0,0 @@
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
- const node_assert_1 = __importDefault(require("node:assert"));
7
- const node_test_1 = require("node:test");
8
- const getUniqueKeysFromSchemas_1 = require("../../VersionedSchema/Utils/getUniqueKeysFromSchemas");
9
- const mockJoiSchema_1 = require("./__mock__/mockJoiSchema");
10
- (0, node_test_1.describe)('@unit: getUniqueKeysFromSchemas', () => {
11
- (0, node_test_1.test)('must return unique keys from the schema', async () => {
12
- const schema = (0, mockJoiSchema_1.mockJoiSchema)(['name', 'age'], true);
13
- const result = (0, getUniqueKeysFromSchemas_1.getUniqueKeysFromSchemas)([schema]);
14
- node_assert_1.default.deepEqual(result, new Set(['name', 'age']));
15
- });
16
- (0, node_test_1.test)('should return an empty set for an empty list of schemas', async () => {
17
- const result = (0, getUniqueKeysFromSchemas_1.getUniqueKeysFromSchemas)([]);
18
- node_assert_1.default.deepEqual(result, new Set());
19
- });
20
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mergeObjectSchemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeObjectSchemas.test.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/__tests__/mergeObjectSchemas.test.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
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
- const node_assert_1 = __importDefault(require("node:assert"));
7
- const node_test_1 = require("node:test");
8
- const joi_1 = __importDefault(require("joi"));
9
- const OptionsSchemaV2_1 = require("../../VersionedSchema/OptionsVersioned/OptionsSchemaV2");
10
- const mergeObjectSchemas_1 = require("../../VersionedSchema/Utils/mergeObjectSchemas");
11
- (0, node_test_1.describe)('@unit: mergeObjectSchemas', () => {
12
- (0, node_test_1.test)('should combine multiple schemas correctly', () => {
13
- const schema1 = joi_1.default.object({ a: joi_1.default.string().required() });
14
- const schema2 = joi_1.default.object({ b: joi_1.default.number().optional() });
15
- const mergedSchema = (0, mergeObjectSchemas_1.mergeObjectSchemas)(schema1, schema2);
16
- const validData = { a: 'test', b: 123 };
17
- const invalidData = { a: 'test', b: 'not a number' };
18
- node_assert_1.default.equal(mergedSchema.validate(validData).error, null, 'Valid data should pass validation');
19
- node_assert_1.default.notEqual(mergedSchema.validate(invalidData).error, null, 'Invalid data should fail validation');
20
- });
21
- (0, node_test_1.test)('should work with real schemas from OptionSchemas', () => {
22
- const validData = {
23
- input: 'source/path',
24
- httpClient: 'axios',
25
- output: 'output/path',
26
- useOptions: true,
27
- };
28
- const invalidData = {
29
- input: 'source/path',
30
- httpClient: 'invalid-client',
31
- };
32
- node_assert_1.default.equal(OptionsSchemaV2_1.optionsSchemaV2.validate(validData).error, null, 'Valid data should pass optionsSchemaV2 validation');
33
- node_assert_1.default.notEqual(OptionsSchemaV2_1.optionsSchemaV2.validate(invalidData).error, null, 'Invalid data should fail optionsSchemaV2 validation');
34
- });
35
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=migrationForMultiOptions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrationForMultiOptions.test.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/__tests__/migrationForMultiOptions.test.ts"],"names":[],"mappings":""}
@@ -1,112 +0,0 @@
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
- const strict_1 = __importDefault(require("node:assert/strict"));
7
- const node_test_1 = require("node:test");
8
- const Enums_1 = require("../../Enums");
9
- const Enums_2 = require("../../VersionedSchema/Enums");
10
- const MultiOptionsMigrationPlan_1 = require("../../VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan");
11
- const MultiOptionsVersionedSchemas_1 = require("../../VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas");
12
- const migrateDataToLatestSchemaVersion_1 = require("../../VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
13
- const mockJoiSchema_1 = require("./__mock__/mockJoiSchema");
14
- node_test_1.describe.skip('@unit: migrationForMultiOptions', () => {
15
- (0, node_test_1.test)('must successfully migrate MULTI_OPTIONS data to the latest version', async () => {
16
- const input = { input: 'input/path', output: 'output/path', client: 'fetch', items: [{ input: 'path/item1' }] };
17
- const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
18
- rawInput: input,
19
- migrationPlans: MultiOptionsMigrationPlan_1.multiOptionsMigrationPlan,
20
- versionedSchemas: MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema,
21
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
22
- });
23
- strict_1.default.deepEqual(result, {
24
- value: {
25
- excludeCoreServiceFiles: false,
26
- httpClient: 'fetch',
27
- includeSchemasFiles: false,
28
- items: [
29
- {
30
- input: 'input/path',
31
- output: 'output/path',
32
- outputCore: undefined,
33
- outputModels: undefined,
34
- outputSchemas: undefined,
35
- outputServices: undefined,
36
- },
37
- ],
38
- sortByRequired: false,
39
- useCancelableRequest: false,
40
- useSeparatedIndexes: false,
41
- },
42
- schemaVersion: 'v5',
43
- schemaType: Enums_2.EVersionedSchemaType.MULTI_OPTIONS,
44
- });
45
- });
46
- (0, node_test_1.test)('should return null in case of validation error of the last MULTI_OPTIONS scheme', async () => {
47
- const input = { input: 'input/path' };
48
- const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
49
- rawInput: input,
50
- migrationPlans: MultiOptionsMigrationPlan_1.multiOptionsMigrationPlan,
51
- versionedSchemas: MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema,
52
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
53
- });
54
- strict_1.default.equal(result, null);
55
- });
56
- (0, node_test_1.test)('should throw an error if the migration plan for MULTI_OPTIONS is not found.', async () => {
57
- const input = { input: 'input/path', output: 'output/path', client: 'fetch', items: [{ input: 'path/item1' }] };
58
- strict_1.default.throws(() => (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
59
- rawInput: input,
60
- migrationPlans: [],
61
- versionedSchemas: MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema,
62
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
63
- }), /No migration plan from v1/);
64
- });
65
- (0, node_test_1.test)('should throw an error on unrecognized fields in MULTI_OPTIONS', async () => {
66
- const input = {
67
- input: 'input/path',
68
- output: 'output/path',
69
- client: 'fetch',
70
- items: [{ input: 'path/item1', name: 'Item1' }],
71
- };
72
- strict_1.default.throws(() => (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
73
- rawInput: input,
74
- migrationPlans: MultiOptionsMigrationPlan_1.multiOptionsMigrationPlan,
75
- versionedSchemas: MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema,
76
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
77
- }), /The "name" field is not recognized./);
78
- });
79
- (0, node_test_1.test)('must process an empty array of MULTI_OPTIONS data', async () => {
80
- const schemas = [
81
- {
82
- schema: (0, mockJoiSchema_1.mockJoiSchema)(['name'], true, [], true),
83
- version: '1.0',
84
- type: Enums_2.EVersionedSchemaType.MULTI_OPTIONS,
85
- },
86
- {
87
- schema: (0, mockJoiSchema_1.mockJoiSchema)(['name', 'options'], true, [], true),
88
- version: '2.0',
89
- type: Enums_2.EVersionedSchemaType.MULTI_OPTIONS,
90
- },
91
- ];
92
- const migrationPlans = [
93
- {
94
- fromVersion: '1.0',
95
- toVersion: '2.0',
96
- migrate: (input) => input.map((item) => ({ ...item, options: [] })),
97
- },
98
- ];
99
- const input = [];
100
- const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
101
- rawInput: input,
102
- migrationPlans,
103
- versionedSchemas: schemas,
104
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
105
- });
106
- strict_1.default.deepEqual(result, {
107
- value: [],
108
- schemaVersion: '2.0',
109
- schemaType: Enums_2.EVersionedSchemaType.MULTI_OPTIONS,
110
- });
111
- });
112
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=migrationForOptions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrationForOptions.test.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/__tests__/migrationForOptions.test.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
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
- const strict_1 = __importDefault(require("node:assert/strict"));
7
- const node_test_1 = require("node:test");
8
- const Enums_1 = require("../../Enums");
9
- const Enums_2 = require("../../VersionedSchema/Enums");
10
- const OptionsMigrationPlans_1 = require("../../VersionedSchema/OptionsVersioned/OptionsMigrationPlans");
11
- const OptionsVersionedSchemas_1 = require("../../VersionedSchema/OptionsVersioned/OptionsVersionedSchemas");
12
- const migrateDataToLatestSchemaVersion_1 = require("../../VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
13
- node_test_1.describe.skip('@unit: migrationForOptions', () => {
14
- (0, node_test_1.test)('must migrate data to the latest schema version', async () => {
15
- const input = { input: 'input/path', output: 'output/path', client: 'fetch' };
16
- const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
17
- rawInput: input,
18
- migrationPlans: OptionsMigrationPlans_1.optionsMigrationPlans,
19
- versionedSchemas: OptionsVersionedSchemas_1.optionsVersionedSchemas,
20
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
21
- });
22
- strict_1.default.deepEqual(result, {
23
- value: {
24
- excludeCoreServiceFiles: false,
25
- httpClient: 'fetch',
26
- includeSchemasFiles: false,
27
- input: 'input/path',
28
- output: 'output/path',
29
- sortByRequired: false,
30
- useCancelableRequest: false,
31
- useSeparatedIndexes: false,
32
- },
33
- schemaVersion: 'v4',
34
- schemaType: Enums_2.EVersionedSchemaType.OPTIONS,
35
- });
36
- });
37
- (0, node_test_1.test)('should return null if the validation error occurred for the last schema.', async () => {
38
- const input = { input: 'input/path' };
39
- const result = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
40
- rawInput: input,
41
- migrationPlans: OptionsMigrationPlans_1.optionsMigrationPlans,
42
- versionedSchemas: OptionsVersionedSchemas_1.optionsVersionedSchemas,
43
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
44
- });
45
- strict_1.default.equal(result, null);
46
- });
47
- (0, node_test_1.test)('It should throw an error if the migration plan is not found.', async () => {
48
- const input = { input: 'input/path', output: 'output/path', client: 'fetch' };
49
- strict_1.default.throws(() => (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
50
- rawInput: input,
51
- migrationPlans: [],
52
- versionedSchemas: OptionsVersionedSchemas_1.optionsVersionedSchemas,
53
- migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
54
- }), /No migration plan from v1/);
55
- });
56
- });
@@ -1,5 +0,0 @@
1
- /**
2
- * Advanced path deduplication - remove consecutive duplicate segments
3
- */
4
- export declare function advancedDeduplicatePath(path: string): string;
5
- //# sourceMappingURL=advancedDeduplicatePath.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"advancedDeduplicatePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/advancedDeduplicatePath.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2B5D"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.advancedDeduplicatePath = advancedDeduplicatePath;
4
- /**
5
- * Advanced path deduplication - remove consecutive duplicate segments
6
- */
7
- function advancedDeduplicatePath(path) {
8
- const segments = path.split('/');
9
- const result = [];
10
- for (let i = 0; i < segments.length; i++) {
11
- const segment = segments[i];
12
- if (segment === '' || segment === '.') {
13
- continue;
14
- }
15
- if (segment === '..') {
16
- if (result.length > 0) {
17
- result.pop();
18
- }
19
- continue;
20
- }
21
- // Check if this segment is a duplicate of the previous one
22
- if (result.length > 0 && result[result.length - 1] === segment) {
23
- // Skip duplicate segment
24
- continue;
25
- }
26
- result.push(segment);
27
- }
28
- return result.length > 0 ? '/' + result.join('/') : '';
29
- }