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
@@ -1,12 +1,19 @@
1
1
  import { JSONSchema4Type, JSONSchema6Type, JSONSchema7Type } from 'json-schema';
2
- import RefParser from 'json-schema-ref-parser';
3
- import { IOutput, Prefix } from './types/Models';
2
+ import { OutputPaths } from './types/base/OutputPaths.model';
3
+ import { PrefixArtifacts } from './types/base/PrefixArtifacts.model';
4
+ import { $Root } from './types/base/Root.model';
4
5
  type TContextProps = {
5
6
  input: string | Record<string, any>;
6
- output: IOutput;
7
- prefix?: Prefix;
7
+ output: OutputPaths;
8
+ prefix?: PrefixArtifacts;
8
9
  sortByRequired?: boolean;
9
10
  };
11
+ type RefsLike = {
12
+ values: (...args: any[]) => Record<string, any>;
13
+ get: (...args: any[]) => JSONSchema4Type | JSONSchema6Type | JSONSchema7Type;
14
+ paths: (...args: any[]) => string[];
15
+ exists: (...args: any[]) => boolean;
16
+ };
10
17
  /**
11
18
  * A Context wich can share a data between methods
12
19
  */
@@ -14,17 +21,18 @@ export declare class Context {
14
21
  private _refs;
15
22
  private _root;
16
23
  private _output;
17
- prefix: Prefix;
24
+ prefix: PrefixArtifacts;
18
25
  private _sortByRequired;
19
26
  constructor({ input, output, prefix, sortByRequired }: TContextProps);
20
- addRefs(refs: RefParser.$Refs): Context;
27
+ addRefs(refs: RefsLike): Context;
21
28
  values(...types: string[]): Record<string, any>;
22
29
  get($ref: string): JSONSchema4Type | JSONSchema6Type | JSONSchema7Type;
23
30
  paths(...types: string[]): string[];
24
31
  exists($ref: string): boolean;
25
32
  fileName(): string;
26
- get output(): IOutput;
33
+ get output(): OutputPaths;
27
34
  get sortByRequired(): boolean;
35
+ get root(): $Root | undefined;
28
36
  }
29
37
  export {};
30
38
  //# sourceMappingURL=Context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/core/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxD,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED;;GAEG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAU;IAClB,MAAM,EAAE,MAAM,CAInB;IAEF,OAAO,CAAC,eAAe,CAAkB;gBAE7B,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa;IAmB7D,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,OAAO;IAKvC,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAO/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe;IAOtE,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAOnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO7B,QAAQ,IAAI,MAAM;IAOzB,IAAW,MAAM,YAKhB;IAED,IAAW,cAAc,YAExB;CACJ"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/core/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAK/C,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;IAC7E,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAc;IACtB,MAAM,EAAE,eAAe,CAI5B;IAEF,OAAO,CAAC,eAAe,CAAkB;gBAE7B,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa;IAmB7D,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKhC,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAO/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe;IAOtE,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAOnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO7B,QAAQ,IAAI,MAAM;IAOzB,IAAW,MAAM,gBAKhB;IAED,IAAW,cAAc,YAExB;IAED,IAAW,IAAI,IAAI,KAAK,GAAG,SAAS,CAEnC;CACJ"}
@@ -77,5 +77,8 @@ class Context {
77
77
  get sortByRequired() {
78
78
  return this._sortByRequired;
79
79
  }
80
+ get root() {
81
+ return this._root;
82
+ }
80
83
  }
81
84
  exports.Context = Context;
@@ -1,8 +1,18 @@
1
1
  import { Logger } from '../common/Logger';
2
- import { HttpClient } from './types/Enums';
3
- import { IOutput } from './types/Models';
2
+ import { OutputPaths } from './types/base/OutputPaths.model';
3
+ import { HttpClient } from './types/enums/HttpClient.enum';
4
4
  import type { Client } from './types/shared/Client.model';
5
5
  import { Templates } from './utils/registerHandlebarTemplates';
6
+ import { writeClientCore } from './utils/writeClientCore';
7
+ import { writeClientCoreIndex } from './utils/writeClientCoreIndex';
8
+ import { writeClientFullIndex } from './utils/writeClientFullIndex';
9
+ import { writeClientModels } from './utils/writeClientModels';
10
+ import { writeClientModelsIndex } from './utils/writeClientModelsIndex';
11
+ import { writeClientSchemas } from './utils/writeClientSchemas';
12
+ import { writeClientSchemasIndex } from './utils/writeClientSchemasIndex';
13
+ import { writeClientServices } from './utils/writeClientServices';
14
+ import { writeClientServicesIndex } from './utils/writeClientServicesIndex';
15
+ import { writeClientSimpleIndex } from './utils/writeClientSimpleIndex';
6
16
  /**
7
17
  * @param client Client object with all the models, services, etc.
8
18
  * @param templates Templates wrapper with all loaded Handlebars templates
@@ -10,54 +20,31 @@ import { Templates } from './utils/registerHandlebarTemplates';
10
20
  * @param httpClient The selected httpClient (fetch, xhr or node)
11
21
  * @param useOptions Use options or arguments functions
12
22
  * @param useUnionTypes Use union types instead of enums
13
- * @param exportCore: Generate core client classes
14
- * @param exportServices: Generate services
15
- * @param exportModels: Generate models
16
- * @param exportSchemas: Generate schemas
17
- * @param clean: Clean a directory before generation
23
+ * @param excludeCoreServiceFiles The generation of the core and services is excluded
24
+ * @param includeSchemasFiles The generation of model validation schemes is enabled
18
25
  * @param request: Path to custom request file
19
26
  * @param useCancelableRequest Use cancelable request type.
27
+ * @param useSeparatedIndexes Use separate index files for the core, models, schemas, and services
20
28
  */
21
- interface IWriteClient {
29
+ type TWriteClientProps = {
22
30
  client: Client;
23
31
  templates: Templates;
24
- outputPaths: IOutput;
32
+ outputPaths: OutputPaths;
25
33
  httpClient: HttpClient;
26
34
  useOptions: boolean;
27
35
  useUnionTypes: boolean;
28
- exportCore: boolean;
29
- exportServices: boolean;
30
- exportModels: boolean;
31
- exportSchemas: boolean;
32
- clean: boolean;
36
+ excludeCoreServiceFiles: boolean;
37
+ includeSchemasFiles: boolean;
33
38
  request?: string;
34
39
  useCancelableRequest?: boolean;
35
- }
36
- /**
37
- * @param client Client object with all the models, services, etc.
38
- * @param templates The loaded handlebar templates
39
- * @param outputPaths Directory to write the generated files to
40
- * @param useUnionTypes Use union types instead of enums
41
- * @param exportCore: Generate core
42
- * @param exportServices: Generate services
43
- * @param exportModels: Generate models
44
- * @param exportSchemas: Generate schemas
45
- */
46
- export interface IWriteClientIndex {
47
- client: Client;
48
- templates: Templates;
49
- outputPaths: IOutput;
50
- useUnionTypes: boolean;
51
- exportCore: boolean;
52
- exportServices: boolean;
53
- exportModels: boolean;
54
- exportSchemas: boolean;
55
- }
40
+ useSeparatedIndexes?: boolean;
41
+ };
42
+ type TAPIClientGeneratorConfig = Omit<TWriteClientProps, 'httpClient' | 'useOptions' | 'request' | 'useCancelableRequest' | 'useSeparatedIndexes'>;
56
43
  /**
57
44
  * The client which is writing all items and keep the parameters to write index file
58
45
  */
59
46
  export declare class WriteClient {
60
- private options;
47
+ private config;
61
48
  private _logger;
62
49
  constructor();
63
50
  /**
@@ -68,29 +55,40 @@ export declare class WriteClient {
68
55
  * @param httpClient The selected httpClient (fetch, xhr or node)
69
56
  * @param useOptions Use options or arguments functions
70
57
  * @param useUnionTypes Use union types instead of enums
71
- * @param exportCore: Generate core client classes
72
- * @param exportServices: Generate services
73
- * @param exportModels: Generate models
74
- * @param exportSchemas: Generate schemas
75
- * @param clean: Clean a directory before generation
58
+ * @param excludeCoreServiceFiles:
59
+ * @param includeSchemasFiles:
76
60
  * @param request: Path to custom request file
77
61
  * @param useCancelableRequest Use cancelable request type.
78
62
  */
79
- writeClient(options: IWriteClient): Promise<void>;
63
+ writeClient(options: TWriteClientProps): Promise<void>;
80
64
  /**
81
65
  * Method keeps all options that is need to create index file
82
- * @param options
66
+ * @param config
83
67
  */
84
- writeClientIndex(options: IWriteClientIndex): Promise<void>;
68
+ buildClientGeneratorConfigMap(config: TAPIClientGeneratorConfig): void;
85
69
  combineAndWrite(): Promise<void>;
70
+ combineAndWrightSimple(): Promise<void>;
86
71
  get logger(): Logger;
72
+ private buildSimpleClientIndexMap;
87
73
  private buildClientIndexMap;
88
- private finalizeAndWright;
74
+ private finalizeAndWrite;
75
+ private simpledFinalizeAndWrite;
89
76
  private getOutputPath;
90
77
  private ensureClientIndex;
78
+ private ensureSimpleClientIndex;
91
79
  private isSameModel;
92
80
  private isSameShema;
93
81
  private isSomeService;
82
+ writeClientCore: typeof writeClientCore;
83
+ writeClientCoreIndex: typeof writeClientCoreIndex;
84
+ writeClientFullIndex: typeof writeClientFullIndex;
85
+ writeClientModels: typeof writeClientModels;
86
+ writeClientModelsIndex: typeof writeClientModelsIndex;
87
+ writeClientSchemas: typeof writeClientSchemas;
88
+ writeClientSchemasIndex: typeof writeClientSchemasIndex;
89
+ writeClientServices: typeof writeClientServices;
90
+ writeClientServicesIndex: typeof writeClientServicesIndex;
91
+ writeClientSimpleIndex: typeof writeClientSimpleIndex;
94
92
  }
95
93
  export {};
96
94
  //# sourceMappingURL=WriteClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WriteClient.d.ts","sourceRoot":"","sources":["../../src/core/WriteClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAU/D;;;;;;;;;;;;;;GAcG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,OAAO,CAAS;;IAUxB;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DvD;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,eAAe;IAKrB,IAAW,MAAM,WAEhB;IAED,OAAO,CAAC,mBAAmB;YAgEb,iBAAiB;IAU/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;CAGxB"}
1
+ {"version":3,"file":"WriteClient.d.ts","sourceRoot":"","sources":["../../src/core/WriteClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,KAAK,iBAAiB,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,KAAK,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,sBAAsB,GAAG,qBAAqB,CAAC,CAAC;AAEnJ;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,OAAO,CAAS;;IAUxB;;;;;;;;;;;;OAYG;IACG,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2F5D;;;OAGG;IACH,6BAA6B,CAAC,MAAM,EAAE,yBAAyB;IAUzD,eAAe;IAKf,sBAAsB;IAK5B,IAAW,MAAM,WAEhB;IAED,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,mBAAmB;YA4Db,gBAAgB;YAUhB,uBAAuB;IAMrC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAId,eAAe,yBAAmB;IAClC,oBAAoB,8BAAwB;IAC5C,oBAAoB,8BAAwB;IAC5C,iBAAiB,2BAAqB;IACtC,sBAAsB,gCAA0B;IAChD,kBAAkB,4BAAsB;IACxC,uBAAuB,iCAA2B;IAClD,mBAAmB,6BAAuB;IAC1C,wBAAwB,kCAA4B;IACpD,sBAAsB,gCAA0B;CAC1D"}
@@ -9,15 +9,20 @@ const prepareAlias_1 = require("./utils/prepareAlias");
9
9
  const sortModelByName_1 = require("./utils/sortModelByName");
10
10
  const unique_1 = require("./utils/unique");
11
11
  const writeClientCore_1 = require("./utils/writeClientCore");
12
- const writeClientIndex_1 = require("./utils/writeClientIndex");
12
+ const writeClientCoreIndex_1 = require("./utils/writeClientCoreIndex");
13
+ const writeClientFullIndex_1 = require("./utils/writeClientFullIndex");
13
14
  const writeClientModels_1 = require("./utils/writeClientModels");
15
+ const writeClientModelsIndex_1 = require("./utils/writeClientModelsIndex");
14
16
  const writeClientSchemas_1 = require("./utils/writeClientSchemas");
17
+ const writeClientSchemasIndex_1 = require("./utils/writeClientSchemasIndex");
15
18
  const writeClientServices_1 = require("./utils/writeClientServices");
19
+ const writeClientServicesIndex_1 = require("./utils/writeClientServicesIndex");
20
+ const writeClientSimpleIndex_1 = require("./utils/writeClientSimpleIndex");
16
21
  /**
17
22
  * The client which is writing all items and keep the parameters to write index file
18
23
  */
19
24
  class WriteClient {
20
- options = new Map();
25
+ config = new Map();
21
26
  _logger;
22
27
  constructor() {
23
28
  this._logger = new Logger_1.Logger({
@@ -34,133 +39,158 @@ class WriteClient {
34
39
  * @param httpClient The selected httpClient (fetch, xhr or node)
35
40
  * @param useOptions Use options or arguments functions
36
41
  * @param useUnionTypes Use union types instead of enums
37
- * @param exportCore: Generate core client classes
38
- * @param exportServices: Generate services
39
- * @param exportModels: Generate models
40
- * @param exportSchemas: Generate schemas
41
- * @param clean: Clean a directory before generation
42
+ * @param excludeCoreServiceFiles:
43
+ * @param includeSchemasFiles:
42
44
  * @param request: Path to custom request file
43
45
  * @param useCancelableRequest Use cancelable request type.
44
46
  */
45
47
  async writeClient(options) {
46
- const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, exportCore, exportServices, exportModels, exportSchemas, request, useCancelableRequest = false } = options;
47
- if (exportCore) {
48
+ const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles = false, includeSchemasFiles = false, request, useCancelableRequest = false, useSeparatedIndexes = false, } = options;
49
+ if (!excludeCoreServiceFiles) {
48
50
  await fileSystem_1.fileSystem.mkdir(outputPaths.outputCore);
49
- await (0, writeClientCore_1.writeClientCore)({ client, templates, outputCorePath: outputPaths.outputCore, httpClient, request, useCancelableRequest });
50
- }
51
- if (exportServices) {
51
+ await this.writeClientCore({ client, templates, outputCorePath: outputPaths.outputCore, httpClient, request, useCancelableRequest });
52
+ await this.writeClientCoreIndex({
53
+ templates,
54
+ outputCorePath: outputPaths.outputCore,
55
+ useCancelableRequest,
56
+ useSeparatedIndexes,
57
+ });
52
58
  const { outputCore, outputServices, outputModels } = outputPaths;
53
59
  await fileSystem_1.fileSystem.mkdir(outputPaths.outputServices);
54
- await (0, writeClientServices_1.writeClientServices)({
60
+ await this.writeClientServices({
55
61
  services: client.services,
56
62
  templates,
57
63
  outputPaths: {
58
64
  outputServices,
59
- outputCore: exportCore ? `${(0, pathHelpers_1.relative)(outputServices, outputCore)}` : '../core/',
60
- outputModels: exportModels ? `${(0, pathHelpers_1.relative)(outputServices, outputModels)}` : '../models/',
65
+ outputCore: `${(0, pathHelpers_1.relative)(outputServices, outputCore)}`,
66
+ outputModels: `${(0, pathHelpers_1.relative)(outputServices, outputModels)}`,
61
67
  },
62
68
  httpClient,
63
69
  useUnionTypes,
64
70
  useOptions,
65
71
  useCancelableRequest,
66
72
  });
73
+ await this.writeClientServicesIndex({
74
+ services: client.services,
75
+ templates,
76
+ outputServices,
77
+ useSeparatedIndexes,
78
+ });
67
79
  }
68
- if (exportSchemas) {
80
+ if (includeSchemasFiles) {
69
81
  await fileSystem_1.fileSystem.mkdir(outputPaths.outputSchemas);
70
- await (0, writeClientSchemas_1.writeClientSchemas)({
82
+ await this.writeClientSchemas({
71
83
  models: client.models,
72
84
  templates,
73
85
  outputSchemasPath: outputPaths.outputSchemas,
74
86
  httpClient,
75
87
  useUnionTypes,
76
88
  });
77
- }
78
- if (exportModels) {
79
- await fileSystem_1.fileSystem.mkdir(outputPaths.outputModels);
80
- await (0, writeClientModels_1.writeClientModels)({
89
+ await this.writeClientSchemasIndex({
81
90
  models: client.models,
82
91
  templates,
83
- outputModelsPath: outputPaths.outputModels,
84
- httpClient,
85
- useUnionTypes,
86
- });
87
- }
88
- if (exportCore || exportServices || exportSchemas || exportModels) {
89
- await fileSystem_1.fileSystem.mkdir(outputPaths.output);
90
- await this.writeClientIndex({
91
- client,
92
- templates,
93
- outputPaths,
94
- useUnionTypes,
95
- exportCore,
96
- exportServices,
97
- exportModels,
98
- exportSchemas,
92
+ outputSchemasPath: outputPaths.outputSchemas,
93
+ useSeparatedIndexes,
99
94
  });
100
95
  }
96
+ await fileSystem_1.fileSystem.mkdir(outputPaths.outputModels);
97
+ await this.writeClientModels({
98
+ models: client.models,
99
+ templates,
100
+ outputModelsPath: outputPaths.outputModels,
101
+ httpClient,
102
+ useUnionTypes,
103
+ });
104
+ await this.writeClientModelsIndex({
105
+ models: client.models,
106
+ templates,
107
+ outputModelsPath: outputPaths.outputModels,
108
+ useSeparatedIndexes,
109
+ });
110
+ await fileSystem_1.fileSystem.mkdir(outputPaths.output);
111
+ this.buildClientGeneratorConfigMap({
112
+ client,
113
+ templates,
114
+ outputPaths,
115
+ useUnionTypes,
116
+ excludeCoreServiceFiles,
117
+ includeSchemasFiles,
118
+ });
101
119
  }
102
120
  /**
103
121
  * Method keeps all options that is need to create index file
104
- * @param options
122
+ * @param config
105
123
  */
106
- async writeClientIndex(options) {
107
- const { outputPaths } = options;
108
- const values = this.options.get(outputPaths.output);
124
+ buildClientGeneratorConfigMap(config) {
125
+ const { outputPaths } = config;
126
+ const values = this.config.get(outputPaths.output);
109
127
  if (values) {
110
- values.push(options);
128
+ values.push(config);
111
129
  }
112
130
  else {
113
- this.options.set(outputPaths.output, Array.of(options));
131
+ this.config.set(outputPaths.output, Array.of(config));
114
132
  }
115
133
  }
116
134
  async combineAndWrite() {
117
135
  const result = this.buildClientIndexMap();
118
- await this.finalizeAndWright(result);
136
+ await this.finalizeAndWrite(result);
137
+ }
138
+ async combineAndWrightSimple() {
139
+ const result = this.buildSimpleClientIndexMap();
140
+ await this.simpledFinalizeAndWrite(result);
119
141
  }
120
142
  get logger() {
121
143
  return this._logger;
122
144
  }
145
+ buildSimpleClientIndexMap() {
146
+ const result = new Map();
147
+ for (const [key, value] of this.config.entries()) {
148
+ for (const item of value) {
149
+ const { outputPaths, templates, excludeCoreServiceFiles, includeSchemasFiles } = item;
150
+ const outputCore = this.getOutputPath(outputPaths?.outputCore, key, 'core');
151
+ const outputModels = this.getOutputPath(outputPaths?.outputModels, key, 'models');
152
+ const outputSchemas = this.getOutputPath(outputPaths?.outputSchemas, key, 'schemas');
153
+ const outputServices = this.getOutputPath(outputPaths?.outputServices, key, 'services');
154
+ const clientIndex = this.ensureSimpleClientIndex(result, key, templates);
155
+ if (!excludeCoreServiceFiles) {
156
+ const relativePathCore = (0, pathHelpers_1.relative)(key, outputCore);
157
+ if (!clientIndex.core.includes(relativePathCore)) {
158
+ clientIndex.core.push(relativePathCore);
159
+ }
160
+ const relativeService = (0, pathHelpers_1.relative)(key, outputServices);
161
+ if (!clientIndex.services.includes(relativeService)) {
162
+ clientIndex.services.push(relativeService);
163
+ }
164
+ }
165
+ const relativePathModel = (0, pathHelpers_1.relative)(key, outputModels);
166
+ if (!clientIndex.models.includes(relativePathModel)) {
167
+ clientIndex.models.push(relativePathModel);
168
+ }
169
+ if (includeSchemasFiles) {
170
+ const relativePathSchema = (0, pathHelpers_1.relative)(key, outputSchemas);
171
+ if (!clientIndex.schemas.includes(relativePathSchema)) {
172
+ clientIndex.schemas.push(relativePathSchema);
173
+ }
174
+ }
175
+ }
176
+ }
177
+ return result;
178
+ }
123
179
  buildClientIndexMap() {
124
180
  const result = new Map();
125
- for (const [key, value] of this.options.entries()) {
181
+ for (const [key, value] of this.config.entries()) {
126
182
  for (const item of value) {
127
- const { exportCore, outputPaths, exportModels, exportSchemas, exportServices, client, templates, useUnionTypes } = item;
183
+ const { outputPaths, client, templates, useUnionTypes, excludeCoreServiceFiles, includeSchemasFiles } = item;
128
184
  const outputCore = this.getOutputPath(outputPaths?.outputCore, key, 'core');
129
185
  const outputModels = this.getOutputPath(outputPaths?.outputModels, key, 'models');
130
186
  const outputSchemas = this.getOutputPath(outputPaths?.outputSchemas, key, 'schemas');
131
187
  const outputServices = this.getOutputPath(outputPaths?.outputServices, key, 'services');
132
188
  const clientIndex = this.ensureClientIndex(result, key, templates);
133
- if (exportCore) {
189
+ if (!excludeCoreServiceFiles) {
134
190
  const rel = (0, pathHelpers_1.relative)(key, outputCore);
135
191
  if (!clientIndex.core.includes(rel)) {
136
192
  clientIndex.core.push(rel);
137
193
  }
138
- }
139
- if (exportModels || exportSchemas) {
140
- const relativePathModel = `${(0, pathHelpers_1.relative)(key, outputModels)}`;
141
- const relativePathSchema = `${(0, pathHelpers_1.relative)(key, outputSchemas)}`;
142
- for (const model of client.models) {
143
- const modelFinal = {
144
- name: model.name,
145
- alias: '',
146
- path: model.path,
147
- package: relativePathModel,
148
- enum: model.enum && model.enum.length > 0,
149
- useUnionTypes,
150
- enums: model.enums && model.enums.length > 0,
151
- };
152
- if (exportModels && clientIndex.models.some(m => this.isSameModel(m, modelFinal))) {
153
- clientIndex.models.push(modelFinal);
154
- }
155
- if (exportSchemas) {
156
- const schema = { ...modelFinal, package: relativePathSchema };
157
- if (!clientIndex.schemas.some(s => this.isSameShema(s, schema))) {
158
- clientIndex.schemas.push(schema);
159
- }
160
- }
161
- }
162
- }
163
- if (exportServices) {
164
194
  const relativeService = `${(0, pathHelpers_1.relative)(key, outputServices)}`;
165
195
  for (const service of client.services) {
166
196
  if (!clientIndex.services.some(s => this.isSomeService(s, service.name, relativeService))) {
@@ -171,17 +201,44 @@ class WriteClient {
171
201
  }
172
202
  }
173
203
  }
204
+ const relativePathModel = `${(0, pathHelpers_1.relative)(key, outputModels)}`;
205
+ const relativePathSchema = `${(0, pathHelpers_1.relative)(key, outputSchemas)}`;
206
+ for (const model of client.models) {
207
+ const modelFinal = {
208
+ name: model.name,
209
+ alias: '',
210
+ path: model.path,
211
+ package: relativePathModel,
212
+ enum: model.enum && model.enum.length > 0,
213
+ useUnionTypes,
214
+ enums: model.enums && model.enums.length > 0,
215
+ };
216
+ if (!clientIndex.models.some(m => this.isSameModel(m, modelFinal))) {
217
+ clientIndex.models.push(modelFinal);
218
+ }
219
+ if (includeSchemasFiles) {
220
+ const schema = { ...modelFinal, package: relativePathSchema };
221
+ if (!clientIndex.schemas.some(s => this.isSameShema(s, schema))) {
222
+ clientIndex.schemas.push(schema);
223
+ }
224
+ }
225
+ }
174
226
  }
175
227
  }
176
228
  return result;
177
229
  }
178
- async finalizeAndWright(result) {
230
+ async finalizeAndWrite(result) {
179
231
  for (const value of result.values()) {
180
232
  value.models = value.models.filter(unique_1.unique).sort(sortModelByName_1.sortModelByName);
181
233
  (0, prepareAlias_1.prepareAlias)(value.models);
182
234
  value.schemas = value.schemas.filter(unique_1.unique).sort(sortModelByName_1.sortModelByName);
183
235
  (0, prepareAlias_1.prepareAlias)(value.schemas);
184
- await (0, writeClientIndex_1.writeClientIndex)(value);
236
+ await this.writeClientFullIndex(value);
237
+ }
238
+ }
239
+ async simpledFinalizeAndWrite(result) {
240
+ for (const value of result.values()) {
241
+ await this.writeClientSimpleIndex(value);
185
242
  }
186
243
  }
187
244
  getOutputPath(output, key, fallback) {
@@ -200,13 +257,21 @@ class WriteClient {
200
257
  }
201
258
  return map.get(key);
202
259
  }
260
+ ensureSimpleClientIndex(map, key, templates) {
261
+ if (!map.has(key)) {
262
+ map.set(key, {
263
+ templates,
264
+ outputPath: key,
265
+ core: [],
266
+ models: [],
267
+ schemas: [],
268
+ services: [],
269
+ });
270
+ }
271
+ return map.get(key);
272
+ }
203
273
  isSameModel(a, b) {
204
- return (a.name === b.name &&
205
- a.path === b.path &&
206
- a.package === b.package &&
207
- a.enum === b.enum &&
208
- a.enums === b.enums &&
209
- a.useUnionTypes === b.useUnionTypes);
274
+ return a.name === b.name && a.path === b.path && a.package === b.package && a.enum === b.enum && a.enums === b.enums && a.useUnionTypes === b.useUnionTypes;
210
275
  }
211
276
  isSameShema(a, b) {
212
277
  return a.name === b.name && a.path === b.path && a.package === b.package;
@@ -214,5 +279,15 @@ class WriteClient {
214
279
  isSomeService(a, name, pkg) {
215
280
  return a.name === name && a.package === pkg;
216
281
  }
282
+ writeClientCore = writeClientCore_1.writeClientCore;
283
+ writeClientCoreIndex = writeClientCoreIndex_1.writeClientCoreIndex;
284
+ writeClientFullIndex = writeClientFullIndex_1.writeClientFullIndex;
285
+ writeClientModels = writeClientModels_1.writeClientModels;
286
+ writeClientModelsIndex = writeClientModelsIndex_1.writeClientModelsIndex;
287
+ writeClientSchemas = writeClientSchemas_1.writeClientSchemas;
288
+ writeClientSchemasIndex = writeClientSchemasIndex_1.writeClientSchemasIndex;
289
+ writeClientServices = writeClientServices_1.writeClientServices;
290
+ writeClientServicesIndex = writeClientServicesIndex_1.writeClientServicesIndex;
291
+ writeClientSimpleIndex = writeClientSimpleIndex_1.writeClientSimpleIndex;
217
292
  }
218
293
  exports.WriteClient = WriteClient;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const strict_1 = __importDefault(require("node:assert/strict"));
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
9
  const fileSystem_1 = require("../utils/fileSystem");
10
10
  const getOutputPaths_1 = require("../utils/getOutputPaths");
11
11
  const WriteClient_1 = require("../WriteClient");
@@ -30,7 +30,14 @@ const WriteClient_1 = require("../WriteClient");
30
30
  services: [],
31
31
  };
32
32
  const templates = {
33
- index: () => 'index',
33
+ indexes: {
34
+ full: () => 'fullIndex',
35
+ simple: () => 'simpleIndex',
36
+ core: () => 'coreIndex',
37
+ models: () => 'modelsIndex',
38
+ schemas: () => 'schemasIndex',
39
+ services: () => 'servicesIndex',
40
+ },
34
41
  exports: {
35
42
  model: () => 'model',
36
43
  schema: () => 'schema',
@@ -51,14 +58,11 @@ const WriteClient_1 = require("../WriteClient");
51
58
  client,
52
59
  templates,
53
60
  outputPaths,
54
- httpClient: Enums_1.HttpClient.FETCH,
61
+ httpClient: HttpClient_enum_1.HttpClient.FETCH,
55
62
  useOptions: false,
56
63
  useUnionTypes: false,
57
- exportCore: true,
58
- exportServices: true,
59
- exportModels: true,
60
- exportSchemas: true,
61
- clean: true,
64
+ excludeCoreServiceFiles: false,
65
+ includeSchemasFiles: false,
62
66
  });
63
67
  strict_1.default.ok(mkdirCalls.length > 0, 'mkdir should be called at least once');
64
68
  strict_1.default.ok(writeFileCalls.length > 0, 'writeFile should be called at least once');