ts-openapi-codegen 1.0.0-beta.5 → 1.0.0-beta.7

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 (368) hide show
  1. package/README.md +43 -58
  2. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts +5 -0
  3. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts.map +1 -0
  4. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.js +40 -0
  5. package/dist/cli/generate/runGenerateOpenApi.js +4 -4
  6. package/dist/cli/index.js +57 -18
  7. package/dist/cli/utils.d.ts +4 -16
  8. package/dist/cli/utils.d.ts.map +1 -1
  9. package/dist/cli/utils.js +22 -20
  10. package/dist/common/Options.d.ts +4 -6
  11. package/dist/common/Options.d.ts.map +1 -1
  12. package/dist/common/UpdateNotifier.d.ts +24 -0
  13. package/dist/common/UpdateNotifier.d.ts.map +1 -0
  14. package/dist/common/UpdateNotifier.js +120 -0
  15. package/dist/common/Utils.d.ts.map +1 -1
  16. package/dist/common/Utils.js +8 -9
  17. package/dist/common/VersionedSchema/CommonSchemas.d.ts +12 -0
  18. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  19. package/dist/common/VersionedSchema/CommonSchemas.js +27 -1
  20. package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.d.ts → MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts} +1 -1
  21. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -0
  22. package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.js → MultiOptionsVersioned/MultiOptionsMigrationPlan.js} +18 -7
  23. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -0
  24. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -0
  25. package/dist/common/VersionedSchema/{MultiOptionsSchemaV1.js → MultiOptionsVersioned/MultiOptionsSchemaV1.js} +4 -4
  26. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +6 -0
  27. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -0
  28. package/dist/common/VersionedSchema/{MultiOptionsSchemaV2.js → MultiOptionsVersioned/MultiOptionsSchemaV2.js} +4 -4
  29. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +5 -0
  30. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -0
  31. package/dist/common/VersionedSchema/{MultiOptionsSchemaV3.js → MultiOptionsVersioned/MultiOptionsSchemaV3.js} +3 -3
  32. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -0
  33. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -0
  34. package/dist/common/VersionedSchema/{MultiOptionsSchemaV4.js → MultiOptionsVersioned/MultiOptionsSchemaV4.js} +4 -4
  35. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -0
  36. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -0
  37. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +22 -0
  38. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -0
  39. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -0
  40. package/dist/common/VersionedSchema/{MultiOptionsVersionedSchemas.js → MultiOptionsVersioned/MultiOptionsVersionedSchemas.js} +10 -5
  41. package/dist/common/VersionedSchema/{OptionsMigrationPlans.d.ts → OptionsVersioned/OptionsMigrationPlans.d.ts} +1 -1
  42. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -0
  43. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +23 -0
  44. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -0
  45. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -0
  46. package/dist/common/VersionedSchema/{OptionsSchemaV1.js → OptionsVersioned/OptionsSchemaV1.js} +4 -4
  47. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +6 -0
  48. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -0
  49. package/dist/common/VersionedSchema/{OptionsSchemaV2.js → OptionsVersioned/OptionsSchemaV2.js} +4 -4
  50. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +5 -0
  51. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -0
  52. package/dist/common/VersionedSchema/{OptionsSchemaV3.js → OptionsVersioned/OptionsSchemaV3.js} +3 -3
  53. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -0
  54. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -0
  55. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +17 -0
  56. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -0
  57. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -0
  58. package/dist/common/VersionedSchema/{OptionsVersionedSchemas.js → OptionsVersioned/OptionsVersionedSchemas.js} +9 -4
  59. package/dist/common/VersionedSchema/Types.d.ts +0 -4
  60. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  61. package/dist/common/__tests__/convertArrayToObject.test.js +62 -59
  62. package/dist/common/__tests__/mergeObjectSchemas.test.js +1 -1
  63. package/dist/common/__tests__/migrationForMultiOptions.test.js +9 -5
  64. package/dist/common/__tests__/migrationForOptions.test.js +17 -8
  65. package/dist/common/defaultOptions.d.ts.map +1 -1
  66. package/dist/common/defaultOptions.js +5 -7
  67. package/dist/core/Context.d.ts +15 -7
  68. package/dist/core/Context.d.ts.map +1 -1
  69. package/dist/core/Context.js +3 -0
  70. package/dist/core/WriteClient.d.ts +94 -0
  71. package/dist/core/WriteClient.d.ts.map +1 -0
  72. package/dist/core/WriteClient.js +293 -0
  73. package/dist/core/__tests__/WriteClient.test.d.ts +2 -0
  74. package/dist/core/__tests__/WriteClient.test.d.ts.map +1 -0
  75. package/dist/core/{utils/__tests__/writeClient.test.js → __tests__/WriteClient.test.js} +16 -12
  76. package/dist/core/api/v2/parser/__tests__/getType.test.js +7 -25
  77. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  78. package/dist/core/api/v2/parser/getModel.js +5 -2
  79. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  80. package/dist/core/api/v2/parser/getModelProperties.js +3 -1
  81. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  82. package/dist/core/api/v2/parser/getModels.js +3 -29
  83. package/dist/core/api/v2/parser/getOperation.d.ts +1 -1
  84. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  85. package/dist/core/api/v2/parser/getOperation.js +3 -3
  86. package/dist/core/api/v2/parser/getOperationParameter.d.ts +1 -1
  87. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  88. package/dist/core/api/v2/parser/getOperationParameter.js +4 -2
  89. package/dist/core/api/v2/parser/getOperationParameters.d.ts +1 -1
  90. package/dist/core/api/v2/parser/getOperationParameters.d.ts.map +1 -1
  91. package/dist/core/api/v2/parser/getOperationParameters.js +2 -2
  92. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  93. package/dist/core/api/v2/parser/getOperationResponse.js +3 -1
  94. package/dist/core/api/v2/parser/getOperationResponses.d.ts +1 -1
  95. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  96. package/dist/core/api/v2/parser/getOperationResponses.js +2 -2
  97. package/dist/core/api/v2/parser/getServiceName.d.ts +3 -0
  98. package/dist/core/api/v2/parser/getServiceName.d.ts.map +1 -0
  99. package/dist/core/api/v2/parser/getServiceName.js +8 -0
  100. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  101. package/dist/core/api/v2/parser/getServices.js +21 -32
  102. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  103. package/dist/core/api/v2/parser/getType.js +13 -9
  104. package/dist/core/api/v3/parser/__tests__/getType.test.js +6 -24
  105. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  106. package/dist/core/api/v3/parser/getModel.js +5 -2
  107. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  108. package/dist/core/api/v3/parser/getModelProperties.js +3 -1
  109. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  110. package/dist/core/api/v3/parser/getModels.js +3 -29
  111. package/dist/core/api/v3/parser/getOperation.d.ts +1 -1
  112. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  113. package/dist/core/api/v3/parser/getOperation.js +4 -4
  114. package/dist/core/api/v3/parser/getOperationParameter.d.ts +1 -1
  115. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  116. package/dist/core/api/v3/parser/getOperationParameter.js +6 -3
  117. package/dist/core/api/v3/parser/getOperationParameters.d.ts +1 -1
  118. package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
  119. package/dist/core/api/v3/parser/getOperationParameters.js +2 -2
  120. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  121. package/dist/core/api/v3/parser/getOperationRequestBody.js +3 -1
  122. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  123. package/dist/core/api/v3/parser/getOperationResponse.js +3 -1
  124. package/dist/core/api/v3/parser/getOperationResponses.d.ts +1 -1
  125. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  126. package/dist/core/api/v3/parser/getOperationResponses.js +2 -2
  127. package/dist/core/api/v3/parser/getServiceName.d.ts +3 -0
  128. package/dist/core/api/v3/parser/getServiceName.d.ts.map +1 -0
  129. package/dist/core/api/v3/parser/getServiceName.js +8 -0
  130. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  131. package/dist/core/api/v3/parser/getServices.js +18 -84
  132. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  133. package/dist/core/api/v3/parser/getType.js +22 -10
  134. package/dist/core/api/v3/types/OpenApiPath.model.d.ts +2 -1
  135. package/dist/core/api/v3/types/OpenApiPath.model.d.ts.map +1 -1
  136. package/dist/core/index.d.ts +1 -1
  137. package/dist/core/index.d.ts.map +1 -1
  138. package/dist/core/index.js +21 -22
  139. package/dist/core/types/base/ClientArtifacts.model.d.ts +12 -0
  140. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -0
  141. package/dist/core/types/base/ExportedModel.model.d.ts +17 -0
  142. package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -0
  143. package/dist/core/types/base/ExportedService.model.d.ts +9 -0
  144. package/dist/core/types/base/ExportedService.model.d.ts.map +1 -0
  145. package/dist/core/types/base/ExportedService.model.js +2 -0
  146. package/dist/core/types/base/OutputPaths.model.d.ts +15 -0
  147. package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -0
  148. package/dist/core/types/base/OutputPaths.model.js +2 -0
  149. package/dist/core/types/base/PrefixArtifacts.model.d.ts +6 -0
  150. package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -0
  151. package/dist/core/types/base/PrefixArtifacts.model.js +2 -0
  152. package/dist/core/types/base/PropertyGroup.model.d.ts +4 -0
  153. package/dist/core/types/base/PropertyGroup.model.d.ts.map +1 -0
  154. package/dist/core/types/base/PropertyGroup.model.js +2 -0
  155. package/dist/core/types/base/RefWithtype.model.d.ts +11 -0
  156. package/dist/core/types/base/RefWithtype.model.d.ts.map +1 -0
  157. package/dist/core/types/base/RefWithtype.model.js +2 -0
  158. package/dist/core/types/base/Root.model.d.ts +5 -0
  159. package/dist/core/types/base/Root.model.d.ts.map +1 -0
  160. package/dist/core/types/base/Root.model.js +2 -0
  161. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +10 -0
  162. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -0
  163. package/dist/core/types/base/SimpleClientArtifacts.model.js +2 -0
  164. package/dist/core/types/enums/HttpClient.enum.d.ts +7 -0
  165. package/dist/core/types/enums/HttpClient.enum.d.ts.map +1 -0
  166. package/dist/core/types/{Enums.js → enums/HttpClient.enum.js} +1 -9
  167. package/dist/core/types/enums/TypeRef.enum.d.ts +8 -0
  168. package/dist/core/types/enums/TypeRef.enum.d.ts.map +1 -0
  169. package/dist/core/types/enums/TypeRef.enum.js +11 -0
  170. package/dist/core/utils/__tests__/getAbsolutePath.test.js +1 -1
  171. package/dist/core/utils/__tests__/getGatheringRefs.test.js +3 -6
  172. package/dist/core/utils/__tests__/getRefFromSchema.test.js +1 -1
  173. package/dist/core/utils/__tests__/pathHelpers.test.js +4 -4
  174. package/dist/core/utils/__tests__/refResolver.test.d.ts +2 -0
  175. package/dist/core/utils/__tests__/refResolver.test.d.ts.map +1 -0
  176. package/dist/core/utils/__tests__/refResolver.test.js +55 -0
  177. package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +2 -2
  178. package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +7 -3
  179. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts +2 -0
  180. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts.map +1 -0
  181. package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +67 -0
  182. package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +24 -24
  183. package/dist/core/utils/__tests__/sortByRequiredSimple.test.js +13 -13
  184. package/dist/core/utils/__tests__/writeClientCore.test.js +14 -6
  185. package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts +2 -0
  186. package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts.map +1 -0
  187. package/dist/core/utils/__tests__/{writeClientIndex.test.js → writeClientFullIndex.test.js} +15 -7
  188. package/dist/core/utils/__tests__/writeClientModels.test.js +15 -7
  189. package/dist/core/utils/__tests__/writeClientSchemas.test.js +15 -7
  190. package/dist/core/utils/__tests__/writeClientServices.test.js +15 -7
  191. package/dist/core/utils/advancedDeduplicatePath.d.ts +5 -0
  192. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +1 -0
  193. package/dist/core/utils/advancedDeduplicatePath.js +29 -0
  194. package/dist/core/utils/appendUniqueLinesToFile.d.ts +2 -0
  195. package/dist/core/utils/appendUniqueLinesToFile.d.ts.map +1 -0
  196. package/dist/core/utils/appendUniqueLinesToFile.js +24 -0
  197. package/dist/core/utils/createNormalizedRef.d.ts +7 -0
  198. package/dist/core/utils/createNormalizedRef.d.ts.map +1 -0
  199. package/dist/core/utils/createNormalizedRef.js +24 -0
  200. package/dist/core/utils/findCommonParent.d.ts +7 -0
  201. package/dist/core/utils/findCommonParent.d.ts.map +1 -0
  202. package/dist/core/utils/findCommonParent.js +20 -0
  203. package/dist/core/utils/getAbsolutePath.d.ts.map +1 -1
  204. package/dist/core/utils/getAbsolutePath.js +16 -5
  205. package/dist/core/utils/getGatheringRefs.d.ts +2 -2
  206. package/dist/core/utils/getGatheringRefs.d.ts.map +1 -1
  207. package/dist/core/utils/getGatheringRefs.js +26 -17
  208. package/dist/core/utils/getMappedType.d.ts +0 -1
  209. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  210. package/dist/core/utils/getMappedType.js +3 -4
  211. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  212. package/dist/core/utils/getOpenApiSpec.js +9 -32
  213. package/dist/core/utils/getOutputPaths.d.ts +2 -2
  214. package/dist/core/utils/getOutputPaths.d.ts.map +1 -1
  215. package/dist/core/utils/getPropertyGroupExtended.d.ts +2 -2
  216. package/dist/core/utils/getPropertyGroupExtended.d.ts.map +1 -1
  217. package/dist/core/utils/getPropertyGroupSimple.d.ts +2 -2
  218. package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
  219. package/dist/core/utils/getRefFromSchema.js +2 -2
  220. package/dist/core/utils/getRelativeModelImportPath.js +1 -1
  221. package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -1
  222. package/dist/core/utils/getRelativeModelPath.js +5 -0
  223. package/dist/core/utils/isDirectory.d.ts +2 -0
  224. package/dist/core/utils/isDirectory.d.ts.map +1 -0
  225. package/dist/core/utils/isDirectory.js +13 -0
  226. package/dist/core/utils/isFileName.d.ts +7 -0
  227. package/dist/core/utils/isFileName.d.ts.map +1 -0
  228. package/dist/core/utils/isFileName.js +30 -0
  229. package/dist/core/utils/mapPathToTargetDirSafe.d.ts +10 -0
  230. package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +1 -0
  231. package/dist/core/utils/mapPathToTargetDirSafe.js +49 -0
  232. package/dist/core/utils/modelHelpers.d.ts +28 -0
  233. package/dist/core/utils/modelHelpers.d.ts.map +1 -0
  234. package/dist/core/utils/modelHelpers.js +73 -0
  235. package/dist/core/utils/normalizeAllRefs.d.ts +6 -0
  236. package/dist/core/utils/normalizeAllRefs.d.ts.map +1 -0
  237. package/dist/core/utils/normalizeAllRefs.js +35 -0
  238. package/dist/core/utils/normalizePath.d.ts +5 -0
  239. package/dist/core/utils/normalizePath.d.ts.map +1 -0
  240. package/dist/core/utils/normalizePath.js +19 -0
  241. package/dist/core/utils/normalizeRef.d.ts +5 -0
  242. package/dist/core/utils/normalizeRef.d.ts.map +1 -0
  243. package/dist/core/utils/normalizeRef.js +17 -0
  244. package/dist/core/utils/parseRef.d.ts +18 -0
  245. package/dist/core/utils/parseRef.d.ts.map +1 -0
  246. package/dist/core/utils/parseRef.js +64 -0
  247. package/dist/core/utils/pathHelpers.d.ts +1 -0
  248. package/dist/core/utils/pathHelpers.d.ts.map +1 -1
  249. package/dist/core/utils/pathHelpers.js +23 -3
  250. package/dist/core/utils/prepareAlias.d.ts +3 -0
  251. package/dist/core/utils/prepareAlias.d.ts.map +1 -0
  252. package/dist/core/utils/prepareAlias.js +20 -0
  253. package/dist/core/utils/prepareOptions.d.ts.map +1 -1
  254. package/dist/core/utils/prepareOptions.js +5 -7
  255. package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -1
  256. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  257. package/dist/core/utils/registerHandlebarTemplates.d.ts +9 -2
  258. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  259. package/dist/core/utils/registerHandlebarTemplates.js +16 -2
  260. package/dist/core/utils/resolveRefPath.d.ts +7 -0
  261. package/dist/core/utils/resolveRefPath.d.ts.map +1 -0
  262. package/dist/core/utils/resolveRefPath.js +34 -0
  263. package/dist/core/utils/resolveRefToImportPath.d.ts +7 -0
  264. package/dist/core/utils/resolveRefToImportPath.d.ts.map +1 -0
  265. package/dist/core/utils/resolveRefToImportPath.js +45 -0
  266. package/dist/core/utils/serviceHelpers.d.ts +41 -0
  267. package/dist/core/utils/serviceHelpers.d.ts.map +1 -0
  268. package/dist/core/utils/serviceHelpers.js +115 -0
  269. package/dist/core/utils/sortModelByName.d.ts +3 -0
  270. package/dist/core/utils/sortModelByName.d.ts.map +1 -0
  271. package/dist/core/utils/sortModelByName.js +12 -0
  272. package/dist/core/utils/writeClientCore.d.ts +4 -2
  273. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  274. package/dist/core/utils/writeClientCore.js +4 -1
  275. package/dist/core/utils/writeClientCoreIndex.d.ts +11 -0
  276. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -0
  277. package/dist/core/utils/writeClientCoreIndex.js +16 -0
  278. package/dist/core/utils/writeClientFullIndex.d.ts +9 -0
  279. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -0
  280. package/dist/core/utils/writeClientFullIndex.js +22 -0
  281. package/dist/core/utils/writeClientModels.d.ts +3 -2
  282. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  283. package/dist/core/utils/writeClientModels.js +5 -0
  284. package/dist/core/utils/writeClientModelsIndex.d.ts +12 -0
  285. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -0
  286. package/dist/core/utils/writeClientModelsIndex.js +16 -0
  287. package/dist/core/utils/writeClientSchemas.d.ts +3 -2
  288. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  289. package/dist/core/utils/writeClientSchemas.js +5 -0
  290. package/dist/core/utils/writeClientSchemasIndex.d.ts +12 -0
  291. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -0
  292. package/dist/core/utils/writeClientSchemasIndex.js +16 -0
  293. package/dist/core/utils/writeClientServices.d.ts +5 -4
  294. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  295. package/dist/core/utils/writeClientServices.js +4 -0
  296. package/dist/core/utils/writeClientServicesIndex.d.ts +12 -0
  297. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -0
  298. package/dist/core/utils/writeClientServicesIndex.js +16 -0
  299. package/dist/core/utils/writeClientSimpleIndex.d.ts +9 -0
  300. package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -0
  301. package/dist/core/utils/writeClientSimpleIndex.js +22 -0
  302. package/dist/templatesCompiled/exportModel.js +2 -2
  303. package/dist/templatesCompiled/indexCore.d.ts +9 -0
  304. package/dist/templatesCompiled/indexCore.d.ts.map +1 -0
  305. package/dist/templatesCompiled/indexCore.js +22 -0
  306. package/dist/templatesCompiled/{index.d.ts → indexFull.d.ts} +1 -1
  307. package/dist/templatesCompiled/indexFull.d.ts.map +1 -0
  308. package/dist/templatesCompiled/indexModels.d.ts +15 -0
  309. package/dist/templatesCompiled/indexModels.d.ts.map +1 -0
  310. package/dist/templatesCompiled/indexModels.js +82 -0
  311. package/dist/templatesCompiled/indexServices.d.ts +10 -0
  312. package/dist/templatesCompiled/indexServices.d.ts.map +1 -0
  313. package/dist/templatesCompiled/indexServices.js +35 -0
  314. package/dist/templatesCompiled/indexShemas.d.ts +11 -0
  315. package/dist/templatesCompiled/indexShemas.d.ts.map +1 -0
  316. package/dist/templatesCompiled/indexShemas.js +47 -0
  317. package/dist/templatesCompiled/indexSimple.d.ts +21 -0
  318. package/dist/templatesCompiled/indexSimple.d.ts.map +1 -0
  319. package/dist/templatesCompiled/indexSimple.js +121 -0
  320. package/dist/templatesCompiled/partials/isReadOnly.d.ts +1 -1
  321. package/dist/templatesCompiled/partials/isReadOnly.d.ts.map +1 -1
  322. package/dist/templatesCompiled/partials/isReadOnly.js +1 -2
  323. package/dist/templatesCompiled/partials/isRequiredDefinition.d.ts +9 -0
  324. package/dist/templatesCompiled/partials/isRequiredDefinition.d.ts.map +1 -0
  325. package/dist/templatesCompiled/partials/isRequiredDefinition.js +27 -0
  326. package/dist/templatesCompiled/partials/parametersDefinition.js +1 -1
  327. package/package.json +15 -4
  328. package/dist/common/VersionedSchema/MultiOptionsMigrationPlan.d.ts.map +0 -1
  329. package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts +0 -6
  330. package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts.map +0 -1
  331. package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts +0 -6
  332. package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts.map +0 -1
  333. package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts +0 -5
  334. package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts.map +0 -1
  335. package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts +0 -6
  336. package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts.map +0 -1
  337. package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts +0 -3
  338. package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts.map +0 -1
  339. package/dist/common/VersionedSchema/OptionsMigrationPlans.d.ts.map +0 -1
  340. package/dist/common/VersionedSchema/OptionsMigrationPlans.js +0 -15
  341. package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts +0 -6
  342. package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts.map +0 -1
  343. package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts +0 -6
  344. package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts.map +0 -1
  345. package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts +0 -5
  346. package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts.map +0 -1
  347. package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts +0 -3
  348. package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts.map +0 -1
  349. package/dist/core/types/Enums.d.ts +0 -14
  350. package/dist/core/types/Enums.d.ts.map +0 -1
  351. package/dist/core/types/Models.d.ts +0 -37
  352. package/dist/core/types/Models.d.ts.map +0 -1
  353. package/dist/core/types/shared/ConverterData.model.d.ts +0 -7
  354. package/dist/core/types/shared/ConverterData.model.d.ts.map +0 -1
  355. package/dist/core/utils/__tests__/writeClient.test.d.ts +0 -2
  356. package/dist/core/utils/__tests__/writeClient.test.d.ts.map +0 -1
  357. package/dist/core/utils/__tests__/writeClientIndex.test.d.ts +0 -2
  358. package/dist/core/utils/__tests__/writeClientIndex.test.d.ts.map +0 -1
  359. package/dist/core/utils/writeClient.d.ts +0 -89
  360. package/dist/core/utils/writeClient.d.ts.map +0 -1
  361. package/dist/core/utils/writeClient.js +0 -227
  362. package/dist/core/utils/writeClientIndex.d.ts +0 -59
  363. package/dist/core/utils/writeClientIndex.d.ts.map +0 -1
  364. package/dist/core/utils/writeClientIndex.js +0 -27
  365. package/dist/templatesCompiled/index.d.ts.map +0 -1
  366. /package/dist/core/types/{Models.js → base/ClientArtifacts.model.js} +0 -0
  367. /package/dist/core/types/{shared/ConverterData.model.js → base/ExportedModel.model.js} +0 -0
  368. /package/dist/templatesCompiled/{index.js → indexFull.js} +0 -0
@@ -8,11 +8,11 @@ const node_test_1 = require("node:test");
8
8
  const pathHelpers_1 = require("../pathHelpers");
9
9
  (0, node_test_1.describe)('path', () => {
10
10
  (0, node_test_1.test)('@unit: should relative', () => {
11
- node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/test/model'), './../model/');
11
+ node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/test/model'), '../model');
12
12
  node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/test/server'), './');
13
- node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/test/server/model'), './model/');
14
- node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/model'), './../../model/');
13
+ node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/test/server/model'), './model');
14
+ node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test/server', '/model'), '../../model');
15
15
  node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test', '/test'), './');
16
- node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test', '/test/model'), './model/');
16
+ node_assert_1.default.strictEqual((0, pathHelpers_1.relative)('/test', '/test/model'), './model');
17
17
  });
18
18
  });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refResolver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refResolver.test.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/__tests__/refResolver.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
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 normalizeAllRefs_1 = require("../normalizeAllRefs");
9
+ const normalizeRef_1 = require("../normalizeRef");
10
+ const parseRef_1 = require("../parseRef");
11
+ const resolveRefPath_1 = require("../resolveRefPath");
12
+ (0, node_test_1.describe)('ref resolver utils (native node:test)', () => {
13
+ (0, node_test_1.it)('parseRef: http url', () => {
14
+ const parsed = (0, parseRef_1.parseRef)('https://example.com/schema.json');
15
+ strict_1.default.equal(parsed.type, parseRef_1.RefType.HTTP_URL);
16
+ strict_1.default.equal(parsed.originalRef, 'https://example.com/schema.json');
17
+ });
18
+ (0, node_test_1.it)('parseRef: local fragment', () => {
19
+ const parsed = (0, parseRef_1.parseRef)('#/components/schemas/Model');
20
+ strict_1.default.equal(parsed.type, parseRef_1.RefType.LOCAL_FRAGMENT);
21
+ strict_1.default.equal(parsed.fragment, '#/components/schemas/Model');
22
+ });
23
+ (0, node_test_1.it)('parseRef: external file with fragment', () => {
24
+ const parsed = (0, parseRef_1.parseRef)('./models/User.yaml#/components/schemas/User');
25
+ strict_1.default.equal(parsed.type, parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT);
26
+ strict_1.default.equal(parsed.filePath, './models/User.yaml');
27
+ strict_1.default.equal(parsed.fragment, '#/components/schemas/User');
28
+ });
29
+ (0, node_test_1.it)('resolveRefPath: resolves relative to parent file', () => {
30
+ const parent = '/project/specs/api.yaml';
31
+ const parsed = (0, parseRef_1.parseRef)('./models/User.yaml#/components/schemas/User');
32
+ const resolved = (0, resolveRefPath_1.resolveRefPath)(parsed, parent);
33
+ // POSIX path check: should end with /project/specs/models/User.yaml
34
+ strict_1.default.ok(resolved.endsWith('/project/specs/models/User.yaml') || resolved.endsWith('/project/specs/models/User.yaml'), `resolved=${resolved}`);
35
+ });
36
+ (0, node_test_1.it)('normalizeRef: external file + fragment => normalized absolute path with fragment', () => {
37
+ const parent = '/project/specs/api.yaml';
38
+ const normalized = (0, normalizeRef_1.normalizeRef)('./models/User.yaml#/components/schemas/User', parent);
39
+ strict_1.default.ok(normalized.endsWith('/project/specs/models/User.yaml#/components/schemas/User'), `normalized=${normalized}`);
40
+ });
41
+ (0, node_test_1.it)('normalizeAllRefs: deep traversal normalizes $ref', () => {
42
+ const obj = {
43
+ components: {
44
+ schemas: {
45
+ User: {
46
+ $ref: './schemas/user.yaml#/User'
47
+ }
48
+ }
49
+ }
50
+ };
51
+ const normalized = (0, normalizeAllRefs_1.normalizeAllRefs)(obj, {}, '/project/specs/api.yaml');
52
+ const ref = normalized.components.schemas.User.$ref;
53
+ strict_1.default.ok(ref.endsWith('/project/specs/schemas/user.yaml#/User'), `ref=${ref}`);
54
+ });
55
+ });
@@ -39,12 +39,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const node_assert_1 = __importDefault(require("node:assert"));
40
40
  const node_test_1 = require("node:test");
41
41
  const Handlebars = __importStar(require("handlebars/runtime"));
42
- const Enums_1 = require("../../types/Enums");
42
+ const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
43
43
  const registerHandlebarHelpers_1 = require("../registerHandlebarHelpers");
44
44
  (0, node_test_1.describe)('registerHandlebarHelpers', () => {
45
45
  (0, node_test_1.test)('@unit: should register the helpers', () => {
46
46
  (0, registerHandlebarHelpers_1.registerHandlebarHelpers)({
47
- httpClient: Enums_1.HttpClient.FETCH,
47
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
48
48
  useOptions: false,
49
49
  useUnionTypes: false,
50
50
  });
@@ -38,16 +38,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const node_assert_1 = __importDefault(require("node:assert"));
40
40
  const node_test_1 = __importStar(require("node:test"));
41
- const Enums_1 = require("../../types/Enums");
41
+ const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
42
42
  const registerHandlebarTemplates_1 = require("../registerHandlebarTemplates");
43
43
  (0, node_test_1.describe)('registerHandlebarTemplates', () => {
44
44
  (0, node_test_1.default)('@unit: should return correct templates', () => {
45
45
  const templates = (0, registerHandlebarTemplates_1.registerHandlebarTemplates)({
46
- httpClient: Enums_1.HttpClient.FETCH,
46
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
47
47
  useOptions: false,
48
48
  useUnionTypes: false,
49
49
  });
50
- node_assert_1.default.notEqual(templates.index, undefined);
50
+ node_assert_1.default.notEqual(templates.indexes.full, undefined);
51
+ node_assert_1.default.notEqual(templates.indexes.models, undefined);
52
+ node_assert_1.default.notEqual(templates.indexes.schemas, undefined);
53
+ node_assert_1.default.notEqual(templates.indexes.services, undefined);
54
+ node_assert_1.default.notEqual(templates.indexes.simple, undefined);
51
55
  node_assert_1.default.notEqual(templates.exports.model, undefined);
52
56
  node_assert_1.default.notEqual(templates.exports.schema, undefined);
53
57
  node_assert_1.default.notEqual(templates.exports.service, undefined);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolveRefToImportPath.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRefToImportPath.test.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/__tests__/resolveRefToImportPath.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_assert_1 = require("node:assert");
4
+ const node_test_1 = require("node:test");
5
+ const resolveRefToImportPath_1 = require("../resolveRefToImportPath");
6
+ // Normalization of paths for cross-platform
7
+ const normalizePath = (p) => p.replace(/\\/g, '/');
8
+ (0, node_test_1.describe)('@unit resolveRefToImportPath — correctly resolves links to components', () => {
9
+ const mainSpecPath = '/Users/user/Developer/my_app/openapi/app/openapi_spec.yaml';
10
+ const outputModelsPath = '/Users/user/Developer/openapi-codegen/generated/account/models';
11
+ (0, node_test_1.test)('internal link in the child file → path to the model by schema name', () => {
12
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
13
+ mainSpecPath,
14
+ parentFilePath: '/Users/user/Developer/my_app/openapi/app/spec/accountSpec.yaml#/components/schemas/AccountField',
15
+ refValuePath: '#/components/schemas/AccountField',
16
+ outputModelsPath,
17
+ });
18
+ node_assert_1.strict.equal(normalizePath(result), './spec/AccountField');
19
+ });
20
+ (0, node_test_1.test)('internal link in the main file → model in the root output', () => {
21
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
22
+ mainSpecPath,
23
+ parentFilePath: mainSpecPath,
24
+ refValuePath: '#/components/schemas/MainUser',
25
+ outputModelsPath,
26
+ });
27
+ node_assert_1.strict.equal(normalizePath(result), './MainUser');
28
+ });
29
+ (0, node_test_1.test)('external link to the file → correct name via getClassName', () => {
30
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
31
+ mainSpecPath,
32
+ parentFilePath: '/Users/user/Developer/my_app/openapi/app/spec/accountSpec.yaml',
33
+ refValuePath: './users-list.yaml',
34
+ outputModelsPath,
35
+ });
36
+ // users-list.yaml → UsersList (по твоей логике stripNamespace + getClassName)
37
+ node_assert_1.strict.equal(normalizePath(result), './spec/UsersList');
38
+ });
39
+ (0, node_test_1.test)('embedded internal link → folder structure is saved', () => {
40
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
41
+ mainSpecPath,
42
+ parentFilePath: '/Users/user/Developer/my_app/openapi/app/spec/nested/admin/schemas.yaml#/components/schemas/AdminUser',
43
+ refValuePath: '#/components/schemas/AdminUser',
44
+ outputModelsPath,
45
+ });
46
+ node_assert_1.strict.equal(normalizePath(result), './spec/nested/admin/AdminUser');
47
+ });
48
+ (0, node_test_1.test)('deep nesting — the path is built correctly', () => {
49
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
50
+ mainSpecPath,
51
+ parentFilePath: '/Users/user/Developer/my_app/openapi/app/spec/very/deep/config/models.yaml#/components/schemas/ConfigDto',
52
+ refValuePath: '#/components/schemas/ConfigDto',
53
+ outputModelsPath,
54
+ });
55
+ node_assert_1.strict.equal(normalizePath(result), './spec/very/deep/config/ConfigDto');
56
+ });
57
+ (0, node_test_1.test)('the link to the file without the extension → is processed correctly', () => {
58
+ const result = (0, resolveRefToImportPath_1.resolveRefToImportPath)({
59
+ mainSpecPath,
60
+ parentFilePath: '/Users/user/Developer/my_app/openapi/app/spec/shared.yaml',
61
+ refValuePath: './common/error',
62
+ outputModelsPath,
63
+ });
64
+ // error → Error (getClassName)
65
+ node_assert_1.strict.equal(normalizePath(result), './spec/common/Error');
66
+ });
67
+ });
@@ -8,13 +8,13 @@ const node_test_1 = require("node:test");
8
8
  const createOperationParameter_1 = require("../__mocks__/createOperationParameter");
9
9
  const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
10
10
  (0, node_test_1.describe)('sortByRequiredExtended', () => {
11
- // Тесты для сравнения между разными группами
12
- (0, node_test_1.test)('@unit: должна сортировать группы в порядке: required, required-with-default, optional, optional-with-default', () => {
11
+ // Tests for comparison between different groups
12
+ (0, node_test_1.test)('@unit: must sort the groups in order: required, required-with-default, optional, optional-with-default', () => {
13
13
  const params = [
14
- (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false }), // Группа 2
15
- (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true }), // Группа 0
16
- (0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'def' }), // Группа 3
17
- (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'def' }) // Группа 1
14
+ (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false }),
15
+ (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true }),
16
+ (0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'def' }),
17
+ (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'def' })
18
18
  ];
19
19
  params.sort(sortByRequiredExtended_1.sortByRequiredExtended);
20
20
  const sortedNames = params.map(p => p.name);
@@ -25,8 +25,8 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
25
25
  'optional-with-default'
26
26
  ]);
27
27
  });
28
- // Тесты для сравнения внутри групп
29
- (0, node_test_1.test)('@unit: должна сортировать по имени внутри группы required', () => {
28
+ // Comparison tests within groups
29
+ (0, node_test_1.test)('@unit: must sort by name within the required group', () => {
30
30
  const params = [
31
31
  (0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: true }),
32
32
  (0, createOperationParameter_1.createOperationParameter)('Alpha', { isRequired: true }),
@@ -36,7 +36,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
36
36
  const sortedNames = params.map(p => p.name);
37
37
  node_assert_1.default.deepStrictEqual(sortedNames, ['Alpha', 'Beta', 'Gamma']);
38
38
  });
39
- (0, node_test_1.test)('@unit: должна сортировать по имени внутри группы required-with-default', () => {
39
+ (0, node_test_1.test)('@unit: must sort by name within the required-with-default group', () => {
40
40
  const params = [
41
41
  (0, createOperationParameter_1.createOperationParameter)('Zeta', { isRequired: true, default: 'def' }),
42
42
  (0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: true, default: 'def' }),
@@ -46,7 +46,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
46
46
  const sortedNames = params.map(p => p.name);
47
47
  node_assert_1.default.deepStrictEqual(sortedNames, ['Alpha', 'Beta', 'Zeta']);
48
48
  });
49
- (0, node_test_1.test)('@unit: должна сортировать по имени внутри группы optional', () => {
49
+ (0, node_test_1.test)('@unit: it should sort by name within the optional group', () => {
50
50
  const params = [
51
51
  (0, createOperationParameter_1.createOperationParameter)('Second', { isRequired: false }),
52
52
  (0, createOperationParameter_1.createOperationParameter)('First', { isRequired: false }),
@@ -56,7 +56,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
56
56
  const sortedNames = params.map(p => p.name);
57
57
  node_assert_1.default.deepStrictEqual(sortedNames, ['First', 'Second', 'Third']);
58
58
  });
59
- (0, node_test_1.test)('@unit: должна сортировать по имени внутри группы optional-with-default', () => {
59
+ (0, node_test_1.test)('@unit: it must sort by name within the optional-with-default group', () => {
60
60
  const params = [
61
61
  (0, createOperationParameter_1.createOperationParameter)('Dog', { isRequired: false, default: 'def' }),
62
62
  (0, createOperationParameter_1.createOperationParameter)('Cat', { isRequired: false, default: 'def' }),
@@ -66,7 +66,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
66
66
  const sortedNames = params.map(p => p.name);
67
67
  node_assert_1.default.deepStrictEqual(sortedNames, ['Bird', 'Cat', 'Dog']);
68
68
  });
69
- // Тесты для всех возможных пар групп
69
+ // Tests for all possible pairs of groups
70
70
  const groupPairs = [
71
71
  ['required', 'required-with-default'],
72
72
  ['required', 'optional'],
@@ -76,16 +76,16 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
76
76
  ['optional', 'optional-with-default']
77
77
  ];
78
78
  for (const [groupA, groupB] of groupPairs) {
79
- (0, node_test_1.test)(`@unit: должна помещать "${groupA}" перед "${groupB}"`, () => {
79
+ (0, node_test_1.test)(`@unit: must place "${groupA}" before "${groupB}"`, () => {
80
80
  const paramA = (0, createOperationParameter_1.createOperationParameter)('A', createOptionsForGroup(groupA));
81
81
  const paramB = (0, createOperationParameter_1.createOperationParameter)('B', createOptionsForGroup(groupB));
82
- // A должен идти перед B
82
+ // A should go before B
83
83
  node_assert_1.default.ok((0, sortByRequiredExtended_1.sortByRequiredExtended)(paramA, paramB) < 0);
84
- // B должен идти после A
84
+ // B should come after A
85
85
  node_assert_1.default.ok((0, sortByRequiredExtended_1.sortByRequiredExtended)(paramB, paramA) > 0);
86
86
  });
87
87
  }
88
- // Вспомогательная функция для создания параметров по группе
88
+ // Auxiliary function for creating parameters by group
89
89
  function createOptionsForGroup(group) {
90
90
  switch (group) {
91
91
  case 'required':
@@ -98,20 +98,20 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
98
98
  return { isRequired: false, default: 'default' };
99
99
  }
100
100
  }
101
- // Тесты на равные группы
102
- (0, node_test_1.test)('@unit: должна возвращать 0 для одинаковых параметров', () => {
101
+ // Tests for equal groups
102
+ (0, node_test_1.test)('@unit: it should return 0 for identical parameters.', () => {
103
103
  const param1 = (0, createOperationParameter_1.createOperationParameter)('Test', { isRequired: true });
104
104
  const param2 = (0, createOperationParameter_1.createOperationParameter)('Test', { isRequired: true });
105
105
  node_assert_1.default.strictEqual((0, sortByRequiredExtended_1.sortByRequiredExtended)(param1, param2), 0);
106
106
  });
107
- // Тест на обработку параметров с одинаковыми именами
108
- (0, node_test_1.test)('@unit: должна возвращать 0 для параметров с одинаковыми именами в одной группе', () => {
107
+ // A test for processing parameters with the same name
108
+ (0, node_test_1.test)('@unit: it should return 0 for parameters with the same name in the same group.', () => {
109
109
  const param1 = (0, createOperationParameter_1.createOperationParameter)('Same', { isRequired: false, default: 'def' });
110
110
  const param2 = (0, createOperationParameter_1.createOperationParameter)('Same', { isRequired: false, default: 'def' });
111
111
  node_assert_1.default.strictEqual((0, sortByRequiredExtended_1.sortByRequiredExtended)(param1, param2), 0);
112
112
  });
113
- // Тест на смешанные группы с одинаковыми приоритетами
114
- (0, node_test_1.test)('@unit: должна сортировать только по имени при одинаковых группах', () => {
113
+ // A test for mixed groups with the same priorities
114
+ (0, node_test_1.test)('@unit: It should sort only by name for identical groups.', () => {
115
115
  const params = [
116
116
  (0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: false }), // optional
117
117
  (0, createOperationParameter_1.createOperationParameter)('Alpha', { isRequired: true }), // required
@@ -131,8 +131,8 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
131
131
  'Epsilon' // optional-with-default
132
132
  ]);
133
133
  });
134
- // Тест на пограничные случаи
135
- (0, node_test_1.test)('@unit: должна корректно обрабатывать пустые имена', () => {
134
+ // A test for borderline cases
135
+ (0, node_test_1.test)('@unit: It must handle empty names correctly.', () => {
136
136
  const params = [
137
137
  (0, createOperationParameter_1.createOperationParameter)('', { isRequired: true }),
138
138
  (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true }),
@@ -8,65 +8,65 @@ const node_test_1 = require("node:test");
8
8
  const createOperationParameter_1 = require("../__mocks__/createOperationParameter");
9
9
  const sortByRequiredSimple_1 = require("../sortByRequiredSimple");
10
10
  (0, node_test_1.describe)('sortByRequiredSimple', () => {
11
- (0, node_test_1.test)('@unit: должна помещать обязательные параметры без default перед необязательными', () => {
11
+ (0, node_test_1.test)('@unit: must put required parameters without default before optional ones.', () => {
12
12
  const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
13
13
  const b = (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false });
14
14
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
15
15
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
16
16
  });
17
- (0, node_test_1.test)('@unit: должна считать равными два обязательных параметра без default', () => {
17
+ (0, node_test_1.test)('@unit: it must consider two required parameters equal without default', () => {
18
18
  const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: true });
19
19
  const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true });
20
20
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
21
21
  });
22
- (0, node_test_1.test)('@unit: должна считать равными два необязательных параметра', () => {
22
+ (0, node_test_1.test)('@unit: It must consider two optional parameters equal.', () => {
23
23
  const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: false });
24
24
  const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: false });
25
25
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
26
26
  });
27
- (0, node_test_1.test)('@unit: должна помещать обязательные без default перед обязательными с default', () => {
27
+ (0, node_test_1.test)('@unit: must place the required ones without default before the required ones with default', () => {
28
28
  const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
29
29
  const b = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'test' });
30
30
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
31
31
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
32
32
  });
33
- (0, node_test_1.test)('@unit: должна считать равными два обязательных параметра с default', () => {
33
+ (0, node_test_1.test)('@unit: it must consider two required parameters with default equal.', () => {
34
34
  const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: true, default: 'a' });
35
35
  const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true, default: 'b' });
36
36
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
37
37
  });
38
- (0, node_test_1.test)('@unit: должна помещать обязательные без default перед необязательными с default', () => {
38
+ (0, node_test_1.test)('@unit: must place the required ones without default before the optional ones with default', () => {
39
39
  const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
40
40
  const b = (0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'test' });
41
41
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
42
42
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
43
43
  });
44
- (0, node_test_1.test)('@unit: должна считать равными два необязательных параметра с default', () => {
44
+ (0, node_test_1.test)('@unit: it must consider two optional parameters with default equal.', () => {
45
45
  const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: false, default: 'a' });
46
46
  const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: false, default: 'b' });
47
47
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
48
48
  });
49
- (0, node_test_1.test)('@unit: должна считать равными обязательный с default и необязательный без default', () => {
49
+ (0, node_test_1.test)('@unit: it should consider mandatory with default and optional without default to be equal', () => {
50
50
  const a = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'test' });
51
51
  const b = (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false });
52
52
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
53
53
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 0);
54
54
  });
55
- (0, node_test_1.test)('@unit: должна корректно работать с undefined значениями', () => {
55
+ (0, node_test_1.test)('@unit: it must work correctly with undefined values.', () => {
56
56
  const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
57
57
  const b = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: undefined });
58
58
  strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
59
59
  });
60
60
  (0, node_test_1.test)('@unit: should sort params', () => {
61
- const optionalParameter = (0, createOperationParameter_1.createOperationParameter)('optional', { description: '3. Опциональный параметр без значения по умолчанию', isRequired: false });
61
+ const optionalParameter = (0, createOperationParameter_1.createOperationParameter)('optional', { description: '3. Optional parameter with no default value', isRequired: false });
62
62
  const optionalParameterWithDefault = (0, createOperationParameter_1.createOperationParameter)('optional-with-default', {
63
- description: '4. Опциональный параметр со значением по умолчанию',
63
+ description: '4. An optional parameter with a default value',
64
64
  isRequired: false,
65
65
  default: 'Hello World!',
66
66
  });
67
- const requiredParameter = (0, createOperationParameter_1.createOperationParameter)('required', { description: '1. Обязательный параметр без значения по умолчанию', isRequired: true });
67
+ const requiredParameter = (0, createOperationParameter_1.createOperationParameter)('required', { description: '1. A required parameter without a default value', isRequired: true });
68
68
  const requiredParameterWithDefault = (0, createOperationParameter_1.createOperationParameter)('required-with-default', {
69
- description: '2. Обязательный параметр со значением по умолчанию',
69
+ description: '2. A required parameter with a default value',
70
70
  isRequired: true,
71
71
  default: 'Hello World!',
72
72
  });
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
7
  const node_test_1 = require("node:test");
8
- const Enums_1 = require("../../types/Enums");
8
+ const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
9
+ const WriteClient_1 = require("../../WriteClient");
9
10
  const fileSystem_1 = require("../fileSystem");
10
- const writeClientCore_1 = require("../writeClientCore");
11
11
  (0, node_test_1.test)('@unit: writeClientCore writes to filesystem', async () => {
12
12
  const writeFileCalls = [];
13
13
  // Re-assigning the function manually with a mock
14
14
  const originalWriteFile = fileSystem_1.fileSystem.writeFile;
15
- fileSystem_1.fileSystem.writeFile = node_test_1.mock.fn(async (path, content) => {
15
+ fileSystem_1.fileSystem.writeFile = async (path, content) => {
16
16
  writeFileCalls.push([path, content]);
17
- });
17
+ };
18
18
  const client = {
19
19
  server: 'http://localhost:8080',
20
20
  version: '1.0',
@@ -22,7 +22,14 @@ const writeClientCore_1 = require("../writeClientCore");
22
22
  services: [],
23
23
  };
24
24
  const templates = {
25
- index: () => 'index',
25
+ indexes: {
26
+ full: () => 'fullIndex',
27
+ simple: () => 'simpleIndex',
28
+ core: () => 'coreIndex',
29
+ models: () => 'modelsIndex',
30
+ schemas: () => 'schemasIndex',
31
+ services: () => 'servicesIndex',
32
+ },
26
33
  exports: {
27
34
  model: () => 'model',
28
35
  schema: () => 'schema',
@@ -39,7 +46,8 @@ const writeClientCore_1 = require("../writeClientCore");
39
46
  },
40
47
  };
41
48
  const useCancelableRequest = true;
42
- await (0, writeClientCore_1.writeClientCore)({ client, templates, outputCorePath: '/', httpClient: Enums_1.HttpClient.FETCH, useCancelableRequest });
49
+ const writeClient = new WriteClient_1.WriteClient();
50
+ await writeClient.writeClientCore({ client, templates, outputCorePath: '/', httpClient: HttpClient_enum_1.HttpClient.FETCH, useCancelableRequest });
43
51
  node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('OpenAPI.ts') && content.toString().includes('settings')), 'Expected writeFile to be called with settings content for OpenAPI.ts');
44
52
  node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('ApiError.ts') && content.toString().includes('apiError')), 'Expected writeFile to be called with apiError content for ApiError.ts');
45
53
  node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('ApiRequestOptions.ts') && content.toString().includes('apiRequestOptions')), 'Expected writeFile to be called with apiRequestOptions content for ApiRequestOptions.ts');
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=writeClientFullIndex.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeClientFullIndex.test.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/__tests__/writeClientFullIndex.test.ts"],"names":[],"mappings":""}
@@ -5,17 +5,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
7
  const node_test_1 = require("node:test");
8
+ const WriteClient_1 = require("../../WriteClient");
8
9
  const fileSystem_1 = require("../fileSystem");
9
- const writeClientIndex_1 = require("../writeClientIndex");
10
- (0, node_test_1.test)('@unit: writeClientIndex writes to filesystem', async () => {
10
+ (0, node_test_1.test)('@unit: writeClientFullIndex writes to filesystem', async () => {
11
11
  const writeFileCalls = [];
12
12
  // Re-assigning the function manually with a mock
13
13
  const originalWriteFile = fileSystem_1.fileSystem.writeFile;
14
- fileSystem_1.fileSystem.writeFile = node_test_1.mock.fn(async (path, content) => {
14
+ fileSystem_1.fileSystem.writeFile = async (path, content) => {
15
15
  writeFileCalls.push([path, content]);
16
- });
16
+ };
17
17
  const templates = {
18
- index: () => 'index',
18
+ indexes: {
19
+ full: () => 'fullIndex',
20
+ simple: () => 'simpleIndex',
21
+ core: () => 'coreIndex',
22
+ models: () => 'modelsIndex',
23
+ schemas: () => 'schemasIndex',
24
+ services: () => 'servicesIndex',
25
+ },
19
26
  exports: {
20
27
  model: () => 'model',
21
28
  schema: () => 'schema',
@@ -31,8 +38,9 @@ const writeClientIndex_1 = require("../writeClientIndex");
31
38
  httpStatusCode: () => 'httpStatusCode',
32
39
  },
33
40
  };
34
- await (0, writeClientIndex_1.writeClientIndex)({ templates, outputPath: '/', core: [], models: [], schemas: [], services: [] });
35
- node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('index.ts') && content.toString().includes('index')), 'Expected writeFile to be called with index content for index.ts');
41
+ const writeClient = new WriteClient_1.WriteClient();
42
+ await writeClient.writeClientFullIndex({ templates, outputPath: '/', core: [], models: [], schemas: [], services: [] });
43
+ node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('index.ts') && content.toString().includes('fullIndex')), 'Expected writeFile to be called with index content for index.ts');
36
44
  // Restoring the original function
37
45
  fileSystem_1.fileSystem.writeFile = originalWriteFile;
38
46
  });
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
7
  const node_test_1 = require("node:test");
8
- const Enums_1 = require("../../types/Enums");
8
+ const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
9
+ const WriteClient_1 = require("../../WriteClient");
9
10
  const fileSystem_1 = require("../fileSystem");
10
- const writeClientModels_1 = require("../writeClientModels");
11
11
  (0, node_test_1.test)('@unit: writeClientModels writes to filesystem', async () => {
12
12
  const writeFileCalls = [];
13
13
  // Re-assigning the function manually with a mock
14
14
  const originalWriteFile = fileSystem_1.fileSystem.writeFile;
15
- fileSystem_1.fileSystem.writeFile = node_test_1.mock.fn(async (path, content) => {
15
+ fileSystem_1.fileSystem.writeFile = async (path, content) => {
16
16
  writeFileCalls.push([path, content]);
17
- });
17
+ };
18
18
  const models = [
19
19
  {
20
20
  export: 'interface',
@@ -37,7 +37,14 @@ const writeClientModels_1 = require("../writeClientModels");
37
37
  },
38
38
  ];
39
39
  const templates = {
40
- index: () => 'index',
40
+ indexes: {
41
+ full: () => 'fullIndex',
42
+ simple: () => 'simpleIndex',
43
+ core: () => 'coreIndex',
44
+ models: () => 'modelsIndex',
45
+ schemas: () => 'schemasIndex',
46
+ services: () => 'servicesIndex',
47
+ },
41
48
  exports: {
42
49
  model: () => 'model',
43
50
  schema: () => 'schema',
@@ -53,11 +60,12 @@ const writeClientModels_1 = require("../writeClientModels");
53
60
  httpStatusCode: () => 'httpStatusCode',
54
61
  },
55
62
  };
56
- await (0, writeClientModels_1.writeClientModels)({
63
+ const writeClient = new WriteClient_1.WriteClient();
64
+ await writeClient.writeClientModels({
57
65
  models,
58
66
  templates,
59
67
  outputModelsPath: '/',
60
- httpClient: Enums_1.HttpClient.FETCH,
68
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
61
69
  useUnionTypes: false,
62
70
  });
63
71
  node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('MyModel.ts') && content.toString().includes('model')), 'Expected writeFile to be called with model content for MyModel.ts');
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
7
  const node_test_1 = require("node:test");
8
- const Enums_1 = require("../../types/Enums");
8
+ const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
9
+ const WriteClient_1 = require("../../WriteClient");
9
10
  const fileSystem_1 = require("../fileSystem");
10
- const writeClientSchemas_1 = require("../writeClientSchemas");
11
11
  (0, node_test_1.test)('@unit: writeClientSchemas writes to filesystem', async () => {
12
12
  const writeFileCalls = [];
13
13
  // Re-assigning the function manually with a mock
14
14
  const originalWriteFile = fileSystem_1.fileSystem.writeFile;
15
- fileSystem_1.fileSystem.writeFile = node_test_1.mock.fn(async (path, content) => {
15
+ fileSystem_1.fileSystem.writeFile = async (path, content) => {
16
16
  writeFileCalls.push([path, content]);
17
- });
17
+ };
18
18
  const models = [
19
19
  {
20
20
  export: 'interface',
@@ -37,7 +37,14 @@ const writeClientSchemas_1 = require("../writeClientSchemas");
37
37
  },
38
38
  ];
39
39
  const templates = {
40
- index: () => 'index',
40
+ indexes: {
41
+ full: () => 'fullIndex',
42
+ simple: () => 'simpleIndex',
43
+ core: () => 'coreIndex',
44
+ models: () => 'modelsIndex',
45
+ schemas: () => 'schemasIndex',
46
+ services: () => 'servicesIndex',
47
+ },
41
48
  exports: {
42
49
  model: () => 'model',
43
50
  schema: () => 'schema',
@@ -53,11 +60,12 @@ const writeClientSchemas_1 = require("../writeClientSchemas");
53
60
  httpStatusCode: () => 'httpStatusCode',
54
61
  },
55
62
  };
56
- await (0, writeClientSchemas_1.writeClientSchemas)({
63
+ const writeClient = new WriteClient_1.WriteClient();
64
+ await writeClient.writeClientSchemas({
57
65
  models,
58
66
  templates,
59
67
  outputSchemasPath: '/',
60
- httpClient: Enums_1.HttpClient.FETCH,
68
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
61
69
  useUnionTypes: false,
62
70
  });
63
71
  node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('MyModelSchema.ts') && content.toString().includes('schema')), 'Expected writeFile to be called with schema content for MyModelSchema.ts');