ts-openapi-codegen 1.0.0-beta.6 → 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 (348) hide show
  1. package/README.md +43 -58
  2. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.js +2 -2
  3. package/dist/cli/generate/runGenerateOpenApi.js +4 -4
  4. package/dist/cli/index.js +11 -13
  5. package/dist/cli/utils.d.ts +0 -17
  6. package/dist/cli/utils.d.ts.map +1 -1
  7. package/dist/cli/utils.js +0 -20
  8. package/dist/common/Options.d.ts +4 -6
  9. package/dist/common/Options.d.ts.map +1 -1
  10. package/dist/common/Utils.d.ts.map +1 -1
  11. package/dist/common/Utils.js +8 -9
  12. package/dist/common/VersionedSchema/CommonSchemas.d.ts +12 -0
  13. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  14. package/dist/common/VersionedSchema/CommonSchemas.js +27 -1
  15. package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.d.ts → MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts} +1 -1
  16. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -0
  17. package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.js → MultiOptionsVersioned/MultiOptionsMigrationPlan.js} +18 -7
  18. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -0
  19. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -0
  20. package/dist/common/VersionedSchema/{MultiOptionsSchemaV1.js → MultiOptionsVersioned/MultiOptionsSchemaV1.js} +4 -4
  21. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +6 -0
  22. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -0
  23. package/dist/common/VersionedSchema/{MultiOptionsSchemaV2.js → MultiOptionsVersioned/MultiOptionsSchemaV2.js} +4 -4
  24. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +5 -0
  25. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -0
  26. package/dist/common/VersionedSchema/{MultiOptionsSchemaV3.js → MultiOptionsVersioned/MultiOptionsSchemaV3.js} +3 -3
  27. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -0
  28. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -0
  29. package/dist/common/VersionedSchema/{MultiOptionsSchemaV4.js → MultiOptionsVersioned/MultiOptionsSchemaV4.js} +4 -4
  30. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -0
  31. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -0
  32. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +22 -0
  33. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -0
  34. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -0
  35. package/dist/common/VersionedSchema/{MultiOptionsVersionedSchemas.js → MultiOptionsVersioned/MultiOptionsVersionedSchemas.js} +10 -5
  36. package/dist/common/VersionedSchema/{OptionsMigrationPlans.d.ts → OptionsVersioned/OptionsMigrationPlans.d.ts} +1 -1
  37. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -0
  38. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +23 -0
  39. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -0
  40. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -0
  41. package/dist/common/VersionedSchema/{OptionsSchemaV1.js → OptionsVersioned/OptionsSchemaV1.js} +4 -4
  42. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +6 -0
  43. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -0
  44. package/dist/common/VersionedSchema/{OptionsSchemaV2.js → OptionsVersioned/OptionsSchemaV2.js} +4 -4
  45. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +5 -0
  46. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -0
  47. package/dist/common/VersionedSchema/{OptionsSchemaV3.js → OptionsVersioned/OptionsSchemaV3.js} +3 -3
  48. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -0
  49. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -0
  50. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +17 -0
  51. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -0
  52. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -0
  53. package/dist/common/VersionedSchema/{OptionsVersionedSchemas.js → OptionsVersioned/OptionsVersionedSchemas.js} +9 -4
  54. package/dist/common/VersionedSchema/Types.d.ts +0 -4
  55. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  56. package/dist/common/__tests__/convertArrayToObject.test.js +62 -59
  57. package/dist/common/__tests__/mergeObjectSchemas.test.js +1 -1
  58. package/dist/common/__tests__/migrationForMultiOptions.test.js +9 -5
  59. package/dist/common/__tests__/migrationForOptions.test.js +17 -8
  60. package/dist/common/defaultOptions.d.ts.map +1 -1
  61. package/dist/common/defaultOptions.js +5 -7
  62. package/dist/core/Context.d.ts +15 -7
  63. package/dist/core/Context.d.ts.map +1 -1
  64. package/dist/core/Context.js +3 -0
  65. package/dist/core/WriteClient.d.ts +43 -45
  66. package/dist/core/WriteClient.d.ts.map +1 -1
  67. package/dist/core/WriteClient.js +156 -81
  68. package/dist/core/__tests__/WriteClient.test.js +12 -8
  69. package/dist/core/api/v2/parser/__tests__/getType.test.js +7 -25
  70. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  71. package/dist/core/api/v2/parser/getModel.js +5 -2
  72. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  73. package/dist/core/api/v2/parser/getModelProperties.js +3 -1
  74. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  75. package/dist/core/api/v2/parser/getModels.js +3 -29
  76. package/dist/core/api/v2/parser/getOperation.d.ts +1 -1
  77. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  78. package/dist/core/api/v2/parser/getOperation.js +3 -3
  79. package/dist/core/api/v2/parser/getOperationParameter.d.ts +1 -1
  80. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  81. package/dist/core/api/v2/parser/getOperationParameter.js +4 -2
  82. package/dist/core/api/v2/parser/getOperationParameters.d.ts +1 -1
  83. package/dist/core/api/v2/parser/getOperationParameters.d.ts.map +1 -1
  84. package/dist/core/api/v2/parser/getOperationParameters.js +2 -2
  85. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  86. package/dist/core/api/v2/parser/getOperationResponse.js +3 -1
  87. package/dist/core/api/v2/parser/getOperationResponses.d.ts +1 -1
  88. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  89. package/dist/core/api/v2/parser/getOperationResponses.js +2 -2
  90. package/dist/core/api/v2/parser/getServiceName.d.ts +3 -0
  91. package/dist/core/api/v2/parser/getServiceName.d.ts.map +1 -0
  92. package/dist/core/api/v2/parser/getServiceName.js +8 -0
  93. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  94. package/dist/core/api/v2/parser/getServices.js +21 -32
  95. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  96. package/dist/core/api/v2/parser/getType.js +13 -9
  97. package/dist/core/api/v3/parser/__tests__/getType.test.js +6 -24
  98. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  99. package/dist/core/api/v3/parser/getModel.js +5 -2
  100. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  101. package/dist/core/api/v3/parser/getModelProperties.js +3 -1
  102. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  103. package/dist/core/api/v3/parser/getModels.js +3 -29
  104. package/dist/core/api/v3/parser/getOperation.d.ts +1 -1
  105. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  106. package/dist/core/api/v3/parser/getOperation.js +4 -4
  107. package/dist/core/api/v3/parser/getOperationParameter.d.ts +1 -1
  108. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  109. package/dist/core/api/v3/parser/getOperationParameter.js +6 -3
  110. package/dist/core/api/v3/parser/getOperationParameters.d.ts +1 -1
  111. package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
  112. package/dist/core/api/v3/parser/getOperationParameters.js +2 -2
  113. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  114. package/dist/core/api/v3/parser/getOperationRequestBody.js +3 -1
  115. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  116. package/dist/core/api/v3/parser/getOperationResponse.js +3 -1
  117. package/dist/core/api/v3/parser/getOperationResponses.d.ts +1 -1
  118. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  119. package/dist/core/api/v3/parser/getOperationResponses.js +2 -2
  120. package/dist/core/api/v3/parser/getServiceName.d.ts +3 -0
  121. package/dist/core/api/v3/parser/getServiceName.d.ts.map +1 -0
  122. package/dist/core/api/v3/parser/getServiceName.js +8 -0
  123. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  124. package/dist/core/api/v3/parser/getServices.js +18 -84
  125. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  126. package/dist/core/api/v3/parser/getType.js +22 -10
  127. package/dist/core/api/v3/types/OpenApiPath.model.d.ts +2 -1
  128. package/dist/core/api/v3/types/OpenApiPath.model.d.ts.map +1 -1
  129. package/dist/core/index.d.ts +1 -1
  130. package/dist/core/index.d.ts.map +1 -1
  131. package/dist/core/index.js +19 -20
  132. package/dist/core/types/base/ClientArtifacts.model.d.ts +12 -0
  133. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -0
  134. package/dist/core/types/base/ExportedModel.model.d.ts +17 -0
  135. package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -0
  136. package/dist/core/types/base/ExportedService.model.d.ts +9 -0
  137. package/dist/core/types/base/ExportedService.model.d.ts.map +1 -0
  138. package/dist/core/types/base/ExportedService.model.js +2 -0
  139. package/dist/core/types/base/OutputPaths.model.d.ts +15 -0
  140. package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -0
  141. package/dist/core/types/base/OutputPaths.model.js +2 -0
  142. package/dist/core/types/base/PrefixArtifacts.model.d.ts +6 -0
  143. package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -0
  144. package/dist/core/types/base/PrefixArtifacts.model.js +2 -0
  145. package/dist/core/types/base/PropertyGroup.model.d.ts +4 -0
  146. package/dist/core/types/base/PropertyGroup.model.d.ts.map +1 -0
  147. package/dist/core/types/base/PropertyGroup.model.js +2 -0
  148. package/dist/core/types/base/RefWithtype.model.d.ts +11 -0
  149. package/dist/core/types/base/RefWithtype.model.d.ts.map +1 -0
  150. package/dist/core/types/base/RefWithtype.model.js +2 -0
  151. package/dist/core/types/base/Root.model.d.ts +5 -0
  152. package/dist/core/types/base/Root.model.d.ts.map +1 -0
  153. package/dist/core/types/base/Root.model.js +2 -0
  154. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +10 -0
  155. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -0
  156. package/dist/core/types/base/SimpleClientArtifacts.model.js +2 -0
  157. package/dist/core/types/enums/HttpClient.enum.d.ts +7 -0
  158. package/dist/core/types/enums/HttpClient.enum.d.ts.map +1 -0
  159. package/dist/core/types/{Enums.js → enums/HttpClient.enum.js} +1 -9
  160. package/dist/core/types/enums/TypeRef.enum.d.ts +8 -0
  161. package/dist/core/types/enums/TypeRef.enum.d.ts.map +1 -0
  162. package/dist/core/types/enums/TypeRef.enum.js +11 -0
  163. package/dist/core/utils/__tests__/getAbsolutePath.test.js +1 -1
  164. package/dist/core/utils/__tests__/getGatheringRefs.test.js +3 -6
  165. package/dist/core/utils/__tests__/getRefFromSchema.test.js +1 -1
  166. package/dist/core/utils/__tests__/pathHelpers.test.js +4 -4
  167. package/dist/core/utils/__tests__/refResolver.test.d.ts +2 -0
  168. package/dist/core/utils/__tests__/refResolver.test.d.ts.map +1 -0
  169. package/dist/core/utils/__tests__/refResolver.test.js +55 -0
  170. package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +2 -2
  171. package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +7 -3
  172. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts +2 -0
  173. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts.map +1 -0
  174. package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +67 -0
  175. package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +24 -24
  176. package/dist/core/utils/__tests__/sortByRequiredSimple.test.js +13 -13
  177. package/dist/core/utils/__tests__/writeClientCore.test.js +14 -6
  178. package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts +2 -0
  179. package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts.map +1 -0
  180. package/dist/core/utils/__tests__/{writeClientIndex.test.js → writeClientFullIndex.test.js} +15 -7
  181. package/dist/core/utils/__tests__/writeClientModels.test.js +15 -7
  182. package/dist/core/utils/__tests__/writeClientSchemas.test.js +15 -7
  183. package/dist/core/utils/__tests__/writeClientServices.test.js +15 -7
  184. package/dist/core/utils/advancedDeduplicatePath.d.ts +5 -0
  185. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +1 -0
  186. package/dist/core/utils/advancedDeduplicatePath.js +29 -0
  187. package/dist/core/utils/appendUniqueLinesToFile.d.ts +2 -0
  188. package/dist/core/utils/appendUniqueLinesToFile.d.ts.map +1 -0
  189. package/dist/core/utils/appendUniqueLinesToFile.js +24 -0
  190. package/dist/core/utils/createNormalizedRef.d.ts +7 -0
  191. package/dist/core/utils/createNormalizedRef.d.ts.map +1 -0
  192. package/dist/core/utils/createNormalizedRef.js +24 -0
  193. package/dist/core/utils/findCommonParent.d.ts +7 -0
  194. package/dist/core/utils/findCommonParent.d.ts.map +1 -0
  195. package/dist/core/utils/findCommonParent.js +20 -0
  196. package/dist/core/utils/getAbsolutePath.d.ts.map +1 -1
  197. package/dist/core/utils/getAbsolutePath.js +16 -5
  198. package/dist/core/utils/getGatheringRefs.d.ts +2 -2
  199. package/dist/core/utils/getGatheringRefs.d.ts.map +1 -1
  200. package/dist/core/utils/getGatheringRefs.js +26 -17
  201. package/dist/core/utils/getMappedType.d.ts +0 -1
  202. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  203. package/dist/core/utils/getMappedType.js +3 -4
  204. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  205. package/dist/core/utils/getOpenApiSpec.js +9 -32
  206. package/dist/core/utils/getOutputPaths.d.ts +2 -2
  207. package/dist/core/utils/getOutputPaths.d.ts.map +1 -1
  208. package/dist/core/utils/getPropertyGroupExtended.d.ts +2 -2
  209. package/dist/core/utils/getPropertyGroupExtended.d.ts.map +1 -1
  210. package/dist/core/utils/getPropertyGroupSimple.d.ts +2 -2
  211. package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
  212. package/dist/core/utils/getRefFromSchema.js +2 -2
  213. package/dist/core/utils/getRelativeModelImportPath.js +1 -1
  214. package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -1
  215. package/dist/core/utils/getRelativeModelPath.js +5 -0
  216. package/dist/core/utils/isDirectory.d.ts +2 -0
  217. package/dist/core/utils/isDirectory.d.ts.map +1 -0
  218. package/dist/core/utils/isDirectory.js +13 -0
  219. package/dist/core/utils/isFileName.d.ts +7 -0
  220. package/dist/core/utils/isFileName.d.ts.map +1 -0
  221. package/dist/core/utils/isFileName.js +30 -0
  222. package/dist/core/utils/mapPathToTargetDirSafe.d.ts +10 -0
  223. package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +1 -0
  224. package/dist/core/utils/mapPathToTargetDirSafe.js +49 -0
  225. package/dist/core/utils/modelHelpers.d.ts +28 -0
  226. package/dist/core/utils/modelHelpers.d.ts.map +1 -0
  227. package/dist/core/utils/modelHelpers.js +73 -0
  228. package/dist/core/utils/normalizeAllRefs.d.ts +6 -0
  229. package/dist/core/utils/normalizeAllRefs.d.ts.map +1 -0
  230. package/dist/core/utils/normalizeAllRefs.js +35 -0
  231. package/dist/core/utils/normalizePath.d.ts +5 -0
  232. package/dist/core/utils/normalizePath.d.ts.map +1 -0
  233. package/dist/core/utils/normalizePath.js +19 -0
  234. package/dist/core/utils/normalizeRef.d.ts +5 -0
  235. package/dist/core/utils/normalizeRef.d.ts.map +1 -0
  236. package/dist/core/utils/normalizeRef.js +17 -0
  237. package/dist/core/utils/parseRef.d.ts +18 -0
  238. package/dist/core/utils/parseRef.d.ts.map +1 -0
  239. package/dist/core/utils/parseRef.js +64 -0
  240. package/dist/core/utils/pathHelpers.d.ts +1 -0
  241. package/dist/core/utils/pathHelpers.d.ts.map +1 -1
  242. package/dist/core/utils/pathHelpers.js +23 -3
  243. package/dist/core/utils/prepareAlias.d.ts +2 -6
  244. package/dist/core/utils/prepareAlias.d.ts.map +1 -1
  245. package/dist/core/utils/prepareAlias.js +0 -4
  246. package/dist/core/utils/prepareOptions.d.ts.map +1 -1
  247. package/dist/core/utils/prepareOptions.js +5 -7
  248. package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -1
  249. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  250. package/dist/core/utils/registerHandlebarTemplates.d.ts +9 -2
  251. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  252. package/dist/core/utils/registerHandlebarTemplates.js +14 -2
  253. package/dist/core/utils/resolveRefPath.d.ts +7 -0
  254. package/dist/core/utils/resolveRefPath.d.ts.map +1 -0
  255. package/dist/core/utils/resolveRefPath.js +34 -0
  256. package/dist/core/utils/resolveRefToImportPath.d.ts +7 -0
  257. package/dist/core/utils/resolveRefToImportPath.d.ts.map +1 -0
  258. package/dist/core/utils/resolveRefToImportPath.js +45 -0
  259. package/dist/core/utils/serviceHelpers.d.ts +41 -0
  260. package/dist/core/utils/serviceHelpers.d.ts.map +1 -0
  261. package/dist/core/utils/serviceHelpers.js +115 -0
  262. package/dist/core/utils/sortModelByName.d.ts +2 -2
  263. package/dist/core/utils/sortModelByName.d.ts.map +1 -1
  264. package/dist/core/utils/writeClientCore.d.ts +4 -2
  265. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  266. package/dist/core/utils/writeClientCore.js +4 -1
  267. package/dist/core/utils/writeClientCoreIndex.d.ts +11 -0
  268. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -0
  269. package/dist/core/utils/writeClientCoreIndex.js +16 -0
  270. package/dist/core/utils/writeClientFullIndex.d.ts +9 -0
  271. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -0
  272. package/dist/core/utils/writeClientFullIndex.js +22 -0
  273. package/dist/core/utils/writeClientModels.d.ts +3 -2
  274. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  275. package/dist/core/utils/writeClientModels.js +5 -0
  276. package/dist/core/utils/writeClientModelsIndex.d.ts +12 -0
  277. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -0
  278. package/dist/core/utils/writeClientModelsIndex.js +16 -0
  279. package/dist/core/utils/writeClientSchemas.d.ts +3 -2
  280. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  281. package/dist/core/utils/writeClientSchemas.js +5 -0
  282. package/dist/core/utils/writeClientSchemasIndex.d.ts +12 -0
  283. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -0
  284. package/dist/core/utils/writeClientSchemasIndex.js +16 -0
  285. package/dist/core/utils/writeClientServices.d.ts +5 -4
  286. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  287. package/dist/core/utils/writeClientServices.js +4 -0
  288. package/dist/core/utils/writeClientServicesIndex.d.ts +12 -0
  289. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -0
  290. package/dist/core/utils/writeClientServicesIndex.js +16 -0
  291. package/dist/core/utils/writeClientSimpleIndex.d.ts +9 -0
  292. package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -0
  293. package/dist/core/utils/writeClientSimpleIndex.js +22 -0
  294. package/dist/templatesCompiled/exportModel.js +2 -2
  295. package/dist/templatesCompiled/indexCore.d.ts +9 -0
  296. package/dist/templatesCompiled/indexCore.d.ts.map +1 -0
  297. package/dist/templatesCompiled/indexCore.js +22 -0
  298. package/dist/templatesCompiled/{index.d.ts → indexFull.d.ts} +1 -1
  299. package/dist/templatesCompiled/indexFull.d.ts.map +1 -0
  300. package/dist/templatesCompiled/indexModels.d.ts +15 -0
  301. package/dist/templatesCompiled/indexModels.d.ts.map +1 -0
  302. package/dist/templatesCompiled/indexModels.js +82 -0
  303. package/dist/templatesCompiled/indexServices.d.ts +10 -0
  304. package/dist/templatesCompiled/indexServices.d.ts.map +1 -0
  305. package/dist/templatesCompiled/indexServices.js +35 -0
  306. package/dist/templatesCompiled/indexShemas.d.ts +11 -0
  307. package/dist/templatesCompiled/indexShemas.d.ts.map +1 -0
  308. package/dist/templatesCompiled/indexShemas.js +47 -0
  309. package/dist/templatesCompiled/indexSimple.d.ts +21 -0
  310. package/dist/templatesCompiled/indexSimple.d.ts.map +1 -0
  311. package/dist/templatesCompiled/indexSimple.js +121 -0
  312. package/package.json +7 -4
  313. package/dist/common/VersionedSchema/MultiOptionsMigrationPlan.d.ts.map +0 -1
  314. package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts +0 -6
  315. package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts.map +0 -1
  316. package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts +0 -6
  317. package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts.map +0 -1
  318. package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts +0 -5
  319. package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts.map +0 -1
  320. package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts +0 -6
  321. package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts.map +0 -1
  322. package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts +0 -3
  323. package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts.map +0 -1
  324. package/dist/common/VersionedSchema/OptionsMigrationPlans.d.ts.map +0 -1
  325. package/dist/common/VersionedSchema/OptionsMigrationPlans.js +0 -15
  326. package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts +0 -6
  327. package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts.map +0 -1
  328. package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts +0 -6
  329. package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts.map +0 -1
  330. package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts +0 -5
  331. package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts.map +0 -1
  332. package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts +0 -3
  333. package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts.map +0 -1
  334. package/dist/core/types/Enums.d.ts +0 -14
  335. package/dist/core/types/Enums.d.ts.map +0 -1
  336. package/dist/core/types/Models.d.ts +0 -37
  337. package/dist/core/types/Models.d.ts.map +0 -1
  338. package/dist/core/types/shared/ConverterData.model.d.ts +0 -7
  339. package/dist/core/types/shared/ConverterData.model.d.ts.map +0 -1
  340. package/dist/core/utils/__tests__/writeClientIndex.test.d.ts +0 -2
  341. package/dist/core/utils/__tests__/writeClientIndex.test.d.ts.map +0 -1
  342. package/dist/core/utils/writeClientIndex.d.ts +0 -59
  343. package/dist/core/utils/writeClientIndex.d.ts.map +0 -1
  344. package/dist/core/utils/writeClientIndex.js +0 -27
  345. package/dist/templatesCompiled/index.d.ts.map +0 -1
  346. /package/dist/core/types/{Models.js → base/ClientArtifacts.model.js} +0 -0
  347. /package/dist/core/types/{shared/ConverterData.model.js → base/ExportedModel.model.js} +0 -0
  348. /package/dist/templatesCompiled/{index.js → indexFull.js} +0 -0
@@ -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');
@@ -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 writeClientServices_1 = require("../writeClientServices");
11
11
  (0, node_test_1.test)('@unit: writeClientServices 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 services = [
19
19
  {
20
20
  name: 'MyService',
@@ -24,7 +24,14 @@ const writeClientServices_1 = require("../writeClientServices");
24
24
  },
25
25
  ];
26
26
  const templates = {
27
- index: () => 'index',
27
+ indexes: {
28
+ full: () => 'fullIndex',
29
+ simple: () => 'simpleIndex',
30
+ core: () => 'coreIndex',
31
+ models: () => 'modelsIndex',
32
+ schemas: () => 'schemasIndex',
33
+ services: () => 'servicesIndex',
34
+ },
28
35
  exports: {
29
36
  model: () => 'model',
30
37
  schema: () => 'schema',
@@ -40,7 +47,8 @@ const writeClientServices_1 = require("../writeClientServices");
40
47
  httpStatusCode: () => 'httpStatusCode',
41
48
  },
42
49
  };
43
- await (0, writeClientServices_1.writeClientServices)({
50
+ const writeClient = new WriteClient_1.WriteClient();
51
+ await writeClient.writeClientServices({
44
52
  services,
45
53
  templates,
46
54
  outputPaths: {
@@ -48,7 +56,7 @@ const writeClientServices_1 = require("../writeClientServices");
48
56
  outputModels: '/',
49
57
  outputServices: '/',
50
58
  },
51
- httpClient: Enums_1.HttpClient.FETCH,
59
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
52
60
  useUnionTypes: false,
53
61
  useOptions: false,
54
62
  useCancelableRequest: false,
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Advanced path deduplication - remove consecutive duplicate segments
3
+ */
4
+ export declare function advancedDeduplicatePath(path: string): string;
5
+ //# sourceMappingURL=advancedDeduplicatePath.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,29 @@
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
+ }
@@ -0,0 +1,2 @@
1
+ export declare function appendUniqueLinesToFile(filePath: string, data: string): Promise<void>;
2
+ //# sourceMappingURL=appendUniqueLinesToFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendUniqueLinesToFile.d.ts","sourceRoot":"","sources":["../../../src/core/utils/appendUniqueLinesToFile.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAoB3E"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendUniqueLinesToFile = appendUniqueLinesToFile;
4
+ const fileSystem_1 = require("./fileSystem");
5
+ async function appendUniqueLinesToFile(filePath, data) {
6
+ try {
7
+ let existingContent = '';
8
+ const fileExists = await fileSystem_1.fileSystem.exists(filePath);
9
+ if (fileExists) {
10
+ existingContent = await fileSystem_1.fileSystem.readFile(filePath, "utf8");
11
+ }
12
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
13
+ const dataLines = data.split(/\r?\n/).filter(Boolean);
14
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
15
+ if (linesToAdd.length === 0) {
16
+ return;
17
+ }
18
+ const updatedContent = existingContent + linesToAdd.join('\n') + '\n';
19
+ await fileSystem_1.fileSystem.writeFile(filePath, updatedContent);
20
+ }
21
+ catch (error) {
22
+ throw new Error(`Error when writing to a file: ${error?.message}`);
23
+ }
24
+ }
@@ -0,0 +1,7 @@
1
+ import { ParsedRef } from './parseRef';
2
+ /**
3
+ * Create normalized reference string from parsedRef and resolvedPath.
4
+ * If resolvedPath is a URL, preserve it.
5
+ */
6
+ export declare function createNormalizedRef(parsedRef: ParsedRef, resolvedPath: string): string;
7
+ //# sourceMappingURL=createNormalizedRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNormalizedRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/createNormalizedRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAetF"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNormalizedRef = createNormalizedRef;
4
+ const parseRef_1 = require("./parseRef");
5
+ /**
6
+ * Create normalized reference string from parsedRef and resolvedPath.
7
+ * If resolvedPath is a URL, preserve it.
8
+ */
9
+ function createNormalizedRef(parsedRef, resolvedPath) {
10
+ switch (parsedRef.type) {
11
+ case parseRef_1.RefType.LOCAL_FRAGMENT:
12
+ return `${resolvedPath}${parsedRef.fragment ?? ''}`;
13
+ case parseRef_1.RefType.EXTERNAL_FILE:
14
+ return resolvedPath;
15
+ case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
16
+ return `${resolvedPath}${parsedRef.fragment ?? ''}`;
17
+ case parseRef_1.RefType.ABSOLUTE_PATH:
18
+ return parsedRef.fragment ? `${resolvedPath}${parsedRef.fragment}` : resolvedPath;
19
+ case parseRef_1.RefType.HTTP_URL:
20
+ return parsedRef.originalRef;
21
+ default:
22
+ return resolvedPath;
23
+ }
24
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Finds the common parent directory of two paths
3
+ * @param path1 The value of the path
4
+ * @param path2 The value of the path
5
+ */
6
+ export declare function findCommonParent(path1: string, path2: string): string | null;
7
+ //# sourceMappingURL=findCommonParent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findCommonParent.d.ts","sourceRoot":"","sources":["../../../src/core/utils/findCommonParent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa5E"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findCommonParent = findCommonParent;
4
+ /**
5
+ * Finds the common parent directory of two paths
6
+ * @param path1 The value of the path
7
+ * @param path2 The value of the path
8
+ */
9
+ function findCommonParent(path1, path2) {
10
+ const pathSep = '/';
11
+ const parts1 = path1.split(pathSep).filter(Boolean);
12
+ const parts2 = path2.split(pathSep).filter(Boolean);
13
+ let i = 0;
14
+ while (i < parts1.length && i < parts2.length && parts1[i] === parts2[i]) {
15
+ i++;
16
+ }
17
+ if (i === 0)
18
+ return null;
19
+ return pathSep + parts1.slice(0, i).join(pathSep);
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"getAbsolutePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getAbsolutePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAkB5F"}
1
+ {"version":3,"file":"getAbsolutePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getAbsolutePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAgC5F"}