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
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapPathToTargetDirSafe = mapPathToTargetDirSafe;
4
+ const path_1 = require("path");
5
+ const findCommonParent_1 = require("./findCommonParent");
6
+ const getRelativeModelPath_1 = require("./getRelativeModelPath");
7
+ const pathHelpers_1 = require("./pathHelpers");
8
+ /**
9
+ * Safely muppit the path from SourceDir → targetDir
10
+ * Works even if the file is outside SourceDir, but in a common parent
11
+ * @param filePath
12
+ * @param sourceDir
13
+ * @param targetDir
14
+ * @returns
15
+ */
16
+ function mapPathToTargetDirSafe(filePath, sourceDir, targetDir) {
17
+ const pathSep = '/';
18
+ const absFile = (0, pathHelpers_1.resolve)(filePath);
19
+ const absSource = (0, pathHelpers_1.resolve)(sourceDir);
20
+ const absTarget = (0, pathHelpers_1.resolve)(targetDir);
21
+ const sourceWithSep = absSource.endsWith(pathSep) ? absSource : absSource + pathSep;
22
+ // 1. The file inside SourceDir → mapim as usual
23
+ if (absFile.startsWith(sourceWithSep)) {
24
+ const rel = (0, path_1.relative)(absSource, absFile);
25
+ return (0, pathHelpers_1.resolve)(absTarget, rel);
26
+ }
27
+ // 2. The file is outside SourceDir, but in a common parent
28
+ const commonParent = (0, findCommonParent_1.findCommonParent)(absSource, absFile);
29
+ if (commonParent) {
30
+ // Path from commonParent → file
31
+ const fileRelToCommon = (0, path_1.relative)(commonParent, absFile);
32
+ // Path from targetDir → commonParent
33
+ const targetToCommon = (0, path_1.relative)(absTarget, commonParent);
34
+ if (targetToCommon.includes('..')) {
35
+ // targetDir is higher than commonParent → we can't map
36
+ if (filePath) {
37
+ const relativePath = (0, path_1.relative)(absSource, absFile);
38
+ return (0, getRelativeModelPath_1.getRelativeModelPath)(targetDir, relativePath);
39
+ }
40
+ return filePath;
41
+ }
42
+ // Collecting: targetDir → commonParent → file
43
+ const pathFromTargetToCommon = (0, path_1.relative)(absTarget, commonParent);
44
+ const pathFromCommonToFile = fileRelToCommon;
45
+ return (0, pathHelpers_1.resolve)(absTarget, pathFromTargetToCommon, pathFromCommonToFile);
46
+ }
47
+ // 3. There is no common parent → return as is
48
+ return filePath;
49
+ }
@@ -0,0 +1,28 @@
1
+ import type { Model } from '../types/shared/Model.model';
2
+ /**
3
+ * Assigns alias to models with the same name.
4
+ * Modifies objects of in-place models and returns an array.
5
+ *
6
+ * Example: if there are two models with name="Pet", the following will be assigned:
7
+ * - first: alias="Pet$1"
8
+ * - second: alias="Pet$2"
9
+ *
10
+ * @param models - an array of models sorted by name
11
+ * @returns the same array of models (modified)
12
+ */
13
+ export declare function setDuplicateModelAliases(models: Model[]): Model[];
14
+ /**
15
+ * Adjusts the imports fields of the models to relative paths and correct aliases,
16
+ * based on the outputModelsDir directory.
17
+ *
18
+ * Logic:
19
+ * - searches for the target model by name + path;
20
+ * - if found, calculates the relative path between files and substitutes;
21
+ * - updates alias (if it is set for the target model) and path in the import object.
22
+ *
23
+ * @param models - array of models
24
+ * @param outputModelsDir - the directory where the models are generated (this.context.output.outputModels)
25
+ * @returns the same array of models (modified)
26
+ */
27
+ export declare function resolveModelImports(models: Model[], outputModelsDir: string): Model[];
28
+ //# sourceMappingURL=modelHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/modelHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAkBjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,KAAK,EAAE,CAyBrF"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setDuplicateModelAliases = setDuplicateModelAliases;
4
+ exports.resolveModelImports = resolveModelImports;
5
+ const path_1 = require("path");
6
+ /**
7
+ * Assigns alias to models with the same name.
8
+ * Modifies objects of in-place models and returns an array.
9
+ *
10
+ * Example: if there are two models with name="Pet", the following will be assigned:
11
+ * - first: alias="Pet$1"
12
+ * - second: alias="Pet$2"
13
+ *
14
+ * @param models - an array of models sorted by name
15
+ * @returns the same array of models (modified)
16
+ */
17
+ function setDuplicateModelAliases(models) {
18
+ let previous;
19
+ let index = 1;
20
+ models.forEach(model => {
21
+ if (previous && previous.name === model.name) {
22
+ if (index === 1) {
23
+ previous.alias = `${model.name}$${index}`;
24
+ index++;
25
+ }
26
+ model.alias = `${model.name}$${index}`;
27
+ index++;
28
+ }
29
+ else {
30
+ model.alias = '';
31
+ index = 1;
32
+ }
33
+ previous = model;
34
+ });
35
+ return models;
36
+ }
37
+ /**
38
+ * Adjusts the imports fields of the models to relative paths and correct aliases,
39
+ * based on the outputModelsDir directory.
40
+ *
41
+ * Logic:
42
+ * - searches for the target model by name + path;
43
+ * - if found, calculates the relative path between files and substitutes;
44
+ * - updates alias (if it is set for the target model) and path in the import object.
45
+ *
46
+ * @param models - array of models
47
+ * @param outputModelsDir - the directory where the models are generated (this.context.output.outputModels)
48
+ * @returns the same array of models (modified)
49
+ */
50
+ function resolveModelImports(models, outputModelsDir) {
51
+ models.forEach(model => {
52
+ model.imports = model.imports.map(imprt => {
53
+ const importModel = models.find(value => {
54
+ const normalizedPath = !value.path.startsWith('./') ? `./${value.path}` : value.path;
55
+ return normalizedPath === imprt.path && value.name === imprt.name;
56
+ });
57
+ const importAlias = importModel?.alias ?? imprt.alias;
58
+ let importPath = imprt.path;
59
+ if (importModel) {
60
+ const fromDir = (0, path_1.dirname)((0, path_1.resolve)(outputModelsDir, model.path));
61
+ const toDir = (0, path_1.dirname)((0, path_1.resolve)(outputModelsDir, importModel.path));
62
+ const file = (0, path_1.basename)(importModel.name);
63
+ const relativePath = (0, path_1.relative)(fromDir, toDir);
64
+ importPath = relativePath === '' ? `./${file}` : `${relativePath.replace(/\\/g, '/')}/${file}`;
65
+ }
66
+ return Object.assign(imprt, {
67
+ alias: importAlias,
68
+ path: importPath,
69
+ });
70
+ });
71
+ });
72
+ return models;
73
+ }
@@ -0,0 +1,6 @@
1
+ import type { Context } from '../Context';
2
+ /**
3
+ * Deep traversal and normalization of all $ref in an object
4
+ */
5
+ export declare function normalizeAllRefs<T extends Record<string, any>>(obj: T, context: Context, parentFilePath: string): T;
6
+ //# sourceMappingURL=normalizeAllRefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeAllRefs.d.ts","sourceRoot":"","sources":["../../../src/core/utils/normalizeAllRefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACvB,CAAC,CA6BH"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAllRefs = normalizeAllRefs;
4
+ const normalizeRef_1 = require("./normalizeRef");
5
+ /**
6
+ * Deep traversal and normalization of all $ref in an object
7
+ */
8
+ function normalizeAllRefs(obj, context, parentFilePath) {
9
+ if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
10
+ return obj;
11
+ }
12
+ // If this object is a $ref holder
13
+ if (obj.$ref && typeof obj.$ref === 'string') {
14
+ const normalizedRef = (0, normalizeRef_1.normalizeRef)(obj.$ref, parentFilePath);
15
+ return {
16
+ ...obj,
17
+ $ref: normalizedRef
18
+ };
19
+ }
20
+ const result = Array.isArray(obj) ? [] : { ...obj };
21
+ for (const [key, value] of Object.entries(obj)) {
22
+ if (value && typeof value === 'object') {
23
+ // For nested objects, use the same parent file path
24
+ // The normalization will handle the $ref resolution correctly
25
+ result[key] = normalizeAllRefs(value, context, parentFilePath);
26
+ }
27
+ else if (Array.isArray(value)) {
28
+ result[key] = value.map((item) => (item && typeof item === 'object' ? normalizeAllRefs(item, context, parentFilePath) : item));
29
+ }
30
+ else {
31
+ result[key] = value;
32
+ }
33
+ }
34
+ return result;
35
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Normalize path to prevent duplication issues
3
+ */
4
+ export declare function normalizePath(path: string): string;
5
+ //# sourceMappingURL=normalizePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/normalizePath.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAelD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizePath = normalizePath;
4
+ /**
5
+ * Normalize path to prevent duplication issues
6
+ */
7
+ function normalizePath(path) {
8
+ // If path is empty (e.g. local fragment with no parent file), preserve emptiness
9
+ if (!path) {
10
+ return '';
11
+ }
12
+ // Remove any duplicate slashes
13
+ let normalized = path.replace(/\/+/g, '/');
14
+ // Ensure it starts with / for absolute paths
15
+ if (!normalized.startsWith('./') && !normalized.startsWith('/') && !normalized.startsWith('http')) {
16
+ normalized = `/${normalized}`;
17
+ }
18
+ return normalized;
19
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Normalize a single $ref (returns normalized resolved path + fragment when present).
3
+ */
4
+ export declare function normalizeRef(ref: string, parentFilePath: string): string;
5
+ //# sourceMappingURL=normalizeRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/normalizeRef.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAQxE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeRef = normalizeRef;
4
+ const createNormalizedRef_1 = require("./createNormalizedRef");
5
+ const normalizePath_1 = require("./normalizePath");
6
+ const parseRef_1 = require("./parseRef");
7
+ const resolveRefPath_1 = require("./resolveRefPath");
8
+ /**
9
+ * Normalize a single $ref (returns normalized resolved path + fragment when present).
10
+ */
11
+ function normalizeRef(ref, parentFilePath) {
12
+ const parsedRef = (0, parseRef_1.parseRef)(ref);
13
+ const resolvedPath = (0, resolveRefPath_1.resolveRefPath)(parsedRef, parentFilePath);
14
+ // Normalize the path to prevent duplication issues
15
+ const normalizedPath = (0, normalizePath_1.normalizePath)(resolvedPath);
16
+ return (0, createNormalizedRef_1.createNormalizedRef)(parsedRef, normalizedPath);
17
+ }
@@ -0,0 +1,18 @@
1
+ export declare enum RefType {
2
+ LOCAL_FRAGMENT = "local_fragment",
3
+ EXTERNAL_FILE = "external_file",
4
+ EXTERNAL_FILE_FRAGMENT = "external_file_fragment",
5
+ HTTP_URL = "http_url",
6
+ ABSOLUTE_PATH = "absolute_path"
7
+ }
8
+ export interface ParsedRef {
9
+ type: RefType;
10
+ filePath?: string;
11
+ fragment?: string;
12
+ originalRef: string;
13
+ }
14
+ /**
15
+ * Parse a $ref string to determine its type and components
16
+ */
17
+ export declare function parseRef(ref: string): ParsedRef;
18
+ //# sourceMappingURL=parseRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/parseRef.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IACf,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IACjD,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAiD/C"}
@@ -0,0 +1,64 @@
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
+ exports.RefType = void 0;
7
+ exports.parseRef = parseRef;
8
+ const path_1 = __importDefault(require("path"));
9
+ var RefType;
10
+ (function (RefType) {
11
+ RefType["LOCAL_FRAGMENT"] = "local_fragment";
12
+ RefType["EXTERNAL_FILE"] = "external_file";
13
+ RefType["EXTERNAL_FILE_FRAGMENT"] = "external_file_fragment";
14
+ RefType["HTTP_URL"] = "http_url";
15
+ RefType["ABSOLUTE_PATH"] = "absolute_path";
16
+ })(RefType || (exports.RefType = RefType = {}));
17
+ /**
18
+ * Parse a $ref string to determine its type and components
19
+ */
20
+ function parseRef(ref) {
21
+ if (!ref || typeof ref !== 'string') {
22
+ return { type: RefType.LOCAL_FRAGMENT, originalRef: ref };
23
+ }
24
+ // HTTP URLs
25
+ if (ref.startsWith('http://') || ref.startsWith('https://')) {
26
+ return {
27
+ type: RefType.HTTP_URL,
28
+ originalRef: ref
29
+ };
30
+ }
31
+ // Absolute paths (POSIX/Windows handled by path.isAbsolute)
32
+ if (path_1.default.isAbsolute(ref)) {
33
+ const [filePath, fragment] = ref.split('#');
34
+ return {
35
+ type: RefType.ABSOLUTE_PATH,
36
+ filePath,
37
+ fragment: fragment ? `#${fragment}` : undefined,
38
+ originalRef: ref
39
+ };
40
+ }
41
+ // Local fragment
42
+ if (ref.startsWith('#/')) {
43
+ return {
44
+ type: RefType.LOCAL_FRAGMENT,
45
+ fragment: ref,
46
+ originalRef: ref
47
+ };
48
+ }
49
+ // External file references (may include fragment)
50
+ const [filePath, fragment] = ref.split('#');
51
+ if (fragment) {
52
+ return {
53
+ type: RefType.EXTERNAL_FILE_FRAGMENT,
54
+ filePath,
55
+ fragment: `#${fragment}`,
56
+ originalRef: ref
57
+ };
58
+ }
59
+ return {
60
+ type: RefType.EXTERNAL_FILE,
61
+ filePath,
62
+ originalRef: ref
63
+ };
64
+ }
@@ -3,4 +3,5 @@ export declare function join(...paths: string[]): string;
3
3
  export declare function relative(from: string, to: string): string;
4
4
  export declare function resolve(...pathSegments: string[]): string;
5
5
  export declare function normalize(p: string): string;
6
+ export declare function joinToDir(parentFilePath: string, fileName: string): string;
6
7
  //# sourceMappingURL=pathHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pathHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/pathHelpers.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3C"}
1
+ {"version":3,"file":"pathHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/pathHelpers.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAyBzD;AAED,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1E"}
@@ -8,6 +8,7 @@ exports.join = join;
8
8
  exports.relative = relative;
9
9
  exports.resolve = resolve;
10
10
  exports.normalize = normalize;
11
+ exports.joinToDir = joinToDir;
11
12
  const path_1 = __importDefault(require("path"));
12
13
  const Consts_1 = require("../types/Consts");
13
14
  function dirName(p) {
@@ -17,9 +18,25 @@ function join(...paths) {
17
18
  return path_1.default.join(...paths).replace(Consts_1.SEARCH_REGEXP, '/');
18
19
  }
19
20
  function relative(from, to) {
20
- const value = `./${path_1.default.relative(from, to)}`;
21
- const hasSlash = value.length > 0 && value.endsWith('/');
22
- return `${value.replace(Consts_1.SEARCH_REGEXP, '/')}`.concat(hasSlash ? '' : '/');
21
+ // Defensive defaults
22
+ const fromSafe = from || '.';
23
+ const toSafe = to || '.';
24
+ // Get native relative and convert to POSIX separators
25
+ const relativePath = path_1.default.relative(fromSafe, toSafe).replace(Consts_1.SEARCH_REGEXP, '/');
26
+ // If empty -> same path
27
+ if (!relativePath || relativePath === '') {
28
+ return './';
29
+ }
30
+ // If result is absolute (starts with '/'), return normalized absolute
31
+ if (relativePath.startsWith('/')) {
32
+ return relativePath;
33
+ }
34
+ // If it already starts with '.' (./ or ../) return as-is
35
+ if (relativePath.startsWith('.')) {
36
+ return relativePath;
37
+ }
38
+ // Otherwise make explicit relative path (./something)
39
+ return `./${relativePath}`;
23
40
  }
24
41
  function resolve(...pathSegments) {
25
42
  return path_1.default.resolve(...pathSegments).replace(Consts_1.SEARCH_REGEXP, '/');
@@ -27,3 +44,6 @@ function resolve(...pathSegments) {
27
44
  function normalize(p) {
28
45
  return path_1.default.normalize(p).replace(Consts_1.SEARCH_REGEXP, '/');
29
46
  }
47
+ function joinToDir(parentFilePath, fileName) {
48
+ return resolve(dirName(parentFilePath), fileName);
49
+ }
@@ -0,0 +1,3 @@
1
+ import { ExportedModel } from "../types/base/ExportedModel.model";
2
+ export declare function prepareAlias(models: ExportedModel[]): void;
3
+ //# sourceMappingURL=prepareAlias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareAlias.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareAlias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAenD"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareAlias = prepareAlias;
4
+ function prepareAlias(models) {
5
+ let modelPrevious = undefined;
6
+ let index = 1;
7
+ for (const model of models) {
8
+ if (modelPrevious && model.name === modelPrevious.name) {
9
+ model.alias = `${model.name}$${index}`;
10
+ if (!modelPrevious.alias) {
11
+ modelPrevious.alias = `${modelPrevious.name}$${index - 1}`;
12
+ }
13
+ index++;
14
+ }
15
+ else if (modelPrevious && model.name !== modelPrevious.name) {
16
+ index = 1;
17
+ }
18
+ modelPrevious = model;
19
+ }
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"prepareOptions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAsB1D"}
1
+ {"version":3,"file":"prepareOptions.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAoB1D"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareOptions = prepareOptions;
4
- const Enums_1 = require("../types/Enums");
4
+ const HttpClient_enum_1 = require("../types/enums/HttpClient.enum");
5
5
  const isBoolean_1 = require("./isBoolean");
6
6
  /**
7
7
  * Preparation the configuration
@@ -16,18 +16,16 @@ function prepareOptions(options) {
16
16
  outputServices: options?.outputServices ? options.outputServices : '',
17
17
  outputModels: options?.outputModels ? options.outputModels : '',
18
18
  outputSchemas: options?.outputSchemas ? options.outputSchemas : '',
19
- httpClient: options?.httpClient ? options.httpClient : Enums_1.HttpClient.FETCH,
19
+ httpClient: options?.httpClient ? options.httpClient : HttpClient_enum_1.HttpClient.FETCH,
20
20
  useOptions: (0, isBoolean_1.isBoolean)(options?.useOptions),
21
21
  useUnionTypes: (0, isBoolean_1.isBoolean)(options?.useUnionTypes),
22
- exportCore: (0, isBoolean_1.isBoolean)(options?.exportCore, true),
23
- exportServices: (0, isBoolean_1.isBoolean)(options?.exportServices, true),
24
- exportModels: (0, isBoolean_1.isBoolean)(options?.exportModels, true),
25
- exportSchemas: (0, isBoolean_1.isBoolean)(options?.exportSchemas),
26
- clean: (0, isBoolean_1.isBoolean)(options?.clean, true),
22
+ excludeCoreServiceFiles: (0, isBoolean_1.isBoolean)(options?.excludeCoreServiceFiles, false),
23
+ includeSchemasFiles: (0, isBoolean_1.isBoolean)(options?.includeSchemasFiles, false),
27
24
  request: options?.request ? options.request : '',
28
25
  interfacePrefix: options?.interfacePrefix ? options.interfacePrefix : 'I',
29
26
  enumPrefix: options?.enumPrefix ? options.enumPrefix : 'E',
30
27
  typePrefix: options?.typePrefix ? options.typePrefix : 'T',
31
28
  useCancelableRequest: (0, isBoolean_1.isBoolean)(options?.useCancelableRequest),
29
+ useSeparatedIndexes: (0, isBoolean_1.isBoolean)(options?.useSeparatedIndexes),
32
30
  };
33
31
  }
@@ -1,4 +1,4 @@
1
- import { HttpClient } from '../types/Enums';
1
+ import { HttpClient } from '../types/enums/HttpClient.enum';
2
2
  export declare function registerHandlebarHelpers(root: {
3
3
  httpClient: HttpClient;
4
4
  useOptions: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK5C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAgD5H"}
1
+ {"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAK5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAgD5H"}
@@ -1,7 +1,14 @@
1
1
  import * as Handlebars from 'handlebars/runtime';
2
- import { HttpClient } from '../types/Enums';
2
+ import { HttpClient } from '../types/enums/HttpClient.enum';
3
3
  export interface Templates {
4
- index: Handlebars.TemplateDelegate;
4
+ indexes: {
5
+ full: Handlebars.TemplateDelegate;
6
+ simple: Handlebars.TemplateDelegate;
7
+ core: Handlebars.TemplateDelegate;
8
+ models: Handlebars.TemplateDelegate;
9
+ schemas: Handlebars.TemplateDelegate;
10
+ services: Handlebars.TemplateDelegate;
11
+ };
5
12
  exports: {
6
13
  model: Handlebars.TemplateDelegate;
7
14
  schema: Handlebars.TemplateDelegate;
@@ -1 +1 @@
1
- {"version":3,"file":"registerHandlebarTemplates.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarTemplates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAiFjD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;IACnC,OAAO,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACnC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;KACxC,CAAC;IACF,IAAI,EAAE;QACF,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACtC,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACvC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACrC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAC/C,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC;KAC/C,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAoGnI"}
1
+ {"version":3,"file":"registerHandlebarTemplates.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarTemplates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAuFjD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE;QACL,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAClC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACpC,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAClC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACrC,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC;KACzC,CAAA;IACD,OAAO,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACnC,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;KACxC,CAAC;IACF,IAAI,EAAE;QACF,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACtC,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACvC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;QACrC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAC/C,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC;KAC/C,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CA4GnI"}
@@ -86,7 +86,12 @@ const sendRequest_4 = __importDefault(require("../../templatesCompiled/core/xhr/
86
86
  const exportModel_1 = __importDefault(require("../../templatesCompiled/exportModel"));
87
87
  const exportSchema_1 = __importDefault(require("../../templatesCompiled/exportSchema"));
88
88
  const exportService_1 = __importDefault(require("../../templatesCompiled/exportService"));
89
- const templatesCompiled_1 = __importDefault(require("../../templatesCompiled"));
89
+ const indexFull_1 = __importDefault(require("../../templatesCompiled/indexFull"));
90
+ const indexSimple_1 = __importDefault(require("../../templatesCompiled/indexSimple"));
91
+ const indexCore_1 = __importDefault(require("../../templatesCompiled/indexCore"));
92
+ const indexModels_1 = __importDefault(require("../../templatesCompiled/indexModels"));
93
+ const indexShemas_1 = __importDefault(require("../../templatesCompiled/indexShemas"));
94
+ const indexServices_1 = __importDefault(require("../../templatesCompiled/indexServices"));
90
95
  const base_1 = __importDefault(require("../../templatesCompiled/partials/base"));
91
96
  const exportComposition_1 = __importDefault(require("../../templatesCompiled/partials/exportComposition"));
92
97
  const exportEnum_1 = __importDefault(require("../../templatesCompiled/partials/exportEnum"));
@@ -96,6 +101,7 @@ const header_1 = __importDefault(require("../../templatesCompiled/partials/heade
96
101
  const isNullable_1 = __importDefault(require("../../templatesCompiled/partials/isNullable"));
97
102
  const isReadOnly_1 = __importDefault(require("../../templatesCompiled/partials/isReadOnly"));
98
103
  const isRequired_1 = __importDefault(require("../../templatesCompiled/partials/isRequired"));
104
+ const isRequiredDefinition_1 = __importDefault(require("../../templatesCompiled/partials/isRequiredDefinition"));
99
105
  const parameters_1 = __importDefault(require("../../templatesCompiled/partials/parameters"));
100
106
  const parametersDefinition_1 = __importDefault(require("../../templatesCompiled/partials/parametersDefinition"));
101
107
  const parameterValues_1 = __importDefault(require("../../templatesCompiled/partials/parameterValues"));
@@ -126,7 +132,14 @@ function registerHandlebarTemplates(root) {
126
132
  (0, registerHandlebarHelpers_1.registerHandlebarHelpers)(root);
127
133
  // Main templates (entry points for the files we write to disk)
128
134
  const templates = {
129
- index: Handlebars.template(templatesCompiled_1.default),
135
+ indexes: {
136
+ full: Handlebars.template(indexFull_1.default),
137
+ simple: Handlebars.template(indexSimple_1.default),
138
+ core: Handlebars.template(indexCore_1.default),
139
+ models: Handlebars.template(indexModels_1.default),
140
+ schemas: Handlebars.template(indexShemas_1.default),
141
+ services: Handlebars.template(indexServices_1.default),
142
+ },
130
143
  exports: {
131
144
  model: Handlebars.template(exportModel_1.default),
132
145
  schema: Handlebars.template(exportSchema_1.default),
@@ -151,6 +164,7 @@ function registerHandlebarTemplates(root) {
151
164
  Handlebars.registerPartial('isNullable', Handlebars.template(isNullable_1.default));
152
165
  Handlebars.registerPartial('isReadOnly', Handlebars.template(isReadOnly_1.default));
153
166
  Handlebars.registerPartial('isRequired', Handlebars.template(isRequired_1.default));
167
+ Handlebars.registerPartial('isRequiredDefinition', Handlebars.template(isRequiredDefinition_1.default));
154
168
  Handlebars.registerPartial('parameters', Handlebars.template(parameters_1.default));
155
169
  Handlebars.registerPartial('parametersDefinition', Handlebars.template(parametersDefinition_1.default));
156
170
  Handlebars.registerPartial('parameterValues', Handlebars.template(parameterValues_1.default));
@@ -0,0 +1,7 @@
1
+ import { ParsedRef } from './parseRef';
2
+ /**
3
+ * Resolve a parsed reference to an absolute path (when applicable).
4
+ * parentFilePath is expected to be a file path (absolute or relative).
5
+ */
6
+ export declare function resolveRefPath(parsedRef: ParsedRef, parentFilePath: string): string;
7
+ //# sourceMappingURL=resolveRefPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRefPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAGhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CA4BnF"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRefPath = resolveRefPath;
4
+ const advancedDeduplicatePath_1 = require("./advancedDeduplicatePath");
5
+ const parseRef_1 = require("./parseRef");
6
+ const pathHelpers_1 = require("./pathHelpers");
7
+ /**
8
+ * Resolve a parsed reference to an absolute path (when applicable).
9
+ * parentFilePath is expected to be a file path (absolute or relative).
10
+ */
11
+ function resolveRefPath(parsedRef, parentFilePath) {
12
+ // For correct operation, parentDir must be the path to the directory, not the file.
13
+ const parentDir = (0, pathHelpers_1.dirName)(parentFilePath.split('#')[0]);
14
+ switch (parsedRef.type) {
15
+ case parseRef_1.RefType.LOCAL_FRAGMENT:
16
+ // For local fragments, use the parent file path
17
+ return parentFilePath.split('#')[0];
18
+ case parseRef_1.RefType.EXTERNAL_FILE:
19
+ case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
20
+ // Resolve relative to parent file directory
21
+ if (parsedRef.filePath) {
22
+ const resolvedPath = (0, pathHelpers_1.resolve)(parentDir, parsedRef.filePath);
23
+ // Clean any duplicate path segments
24
+ return (0, advancedDeduplicatePath_1.advancedDeduplicatePath)(resolvedPath);
25
+ }
26
+ return parentFilePath;
27
+ case parseRef_1.RefType.ABSOLUTE_PATH:
28
+ return parsedRef.filePath || parentFilePath;
29
+ case parseRef_1.RefType.HTTP_URL:
30
+ return parsedRef.originalRef;
31
+ default:
32
+ return parentFilePath;
33
+ }
34
+ }
@@ -0,0 +1,7 @@
1
+ export declare function resolveRefToImportPath({ mainSpecPath, parentFilePath, refValuePath, outputModelsPath, }: {
2
+ mainSpecPath: string;
3
+ parentFilePath: string;
4
+ refValuePath: string;
5
+ outputModelsPath: string;
6
+ }): string;
7
+ //# sourceMappingURL=resolveRefToImportPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRefToImportPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefToImportPath.ts"],"names":[],"mappings":"AASA,wBAAgB,sBAAsB,CAAC,EACnC,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,GACnB,EAAE;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,UA+CA"}