ts-openapi-codegen 2.1.0-beta.7 → 2.1.0-beta.9

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 (333) hide show
  1. package/README.md +7 -0
  2. package/README.rus.md +7 -0
  3. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +31 -24
  4. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts +2 -0
  5. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts.map +1 -0
  6. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.js +47 -0
  7. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +8 -7
  8. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +8 -7
  9. package/dist/cli/analyzeDiff/analyzeDiff.d.ts +14 -2
  10. package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -1
  11. package/dist/cli/analyzeDiff/analyzeDiff.js +56 -13
  12. package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -3
  13. package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -1
  14. package/dist/cli/analyzeDiff/ciSummary.js +10 -6
  15. package/dist/cli/analyzeDiff/ignoreRules.d.ts +0 -6
  16. package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -1
  17. package/dist/cli/analyzeDiff/ignoreRules.js +2 -3
  18. package/dist/cli/analyzeDiff/report.d.ts +0 -1
  19. package/dist/cli/analyzeDiff/report.d.ts.map +1 -1
  20. package/dist/cli/analyzeDiff/report.js +1 -3
  21. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +2 -0
  22. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +1 -1
  23. package/dist/cli/analyzeDiff/writeLegacyReport.js +2 -0
  24. package/dist/cli/analyzeUsage/analyzeUsage.d.ts +2 -2
  25. package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -1
  26. package/dist/cli/analyzeUsage/analyzeUsage.js +10 -12
  27. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +1 -1
  28. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -1
  29. package/dist/cli/analyzeUsage/core/ProjectContext.js +5 -10
  30. package/dist/cli/analyzeUsage/core/Scanner.d.ts +8 -0
  31. package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -1
  32. package/dist/cli/analyzeUsage/core/Scanner.js +10 -0
  33. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +10 -2
  34. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -1
  35. package/dist/cli/analyzeUsage/rules/ClientRule.js +29 -21
  36. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +2 -2
  37. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -1
  38. package/dist/cli/analyzeUsage/rules/CoverageRule.js +16 -24
  39. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -1
  40. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +4 -1
  41. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +2 -2
  42. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -1
  43. package/dist/cli/analyzeUsage/rules/ImportRule.js +9 -11
  44. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +2 -2
  45. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -1
  46. package/dist/cli/analyzeUsage/rules/ModelRule.js +4 -8
  47. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +2 -2
  48. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -1
  49. package/dist/cli/analyzeUsage/rules/SchemaRule.js +8 -10
  50. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +10 -2
  51. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -1
  52. package/dist/cli/analyzeUsage/rules/ServiceRule.js +27 -23
  53. package/dist/cli/analyzeUsage/types.d.ts +4 -4
  54. package/dist/cli/analyzeUsage/types.d.ts.map +1 -1
  55. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -1
  56. package/dist/cli/analyzeUsage/utils/report.d.ts +1 -1
  57. package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -1
  58. package/dist/cli/analyzeUsage/utils/report.js +8 -8
  59. package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -1
  60. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  61. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +1 -1
  62. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +1 -1
  63. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -1
  64. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +1 -1
  65. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  66. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +9 -1
  67. package/dist/cli/index.js +3 -2
  68. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.js +2 -8
  69. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -1
  70. package/dist/cli/interactive/constants.d.ts +0 -4
  71. package/dist/cli/interactive/constants.d.ts.map +1 -1
  72. package/dist/cli/interactive/constants.js +1 -5
  73. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  74. package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -1
  75. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  76. package/dist/cli/previewChanges/utils/updateOutputPaths.js +5 -12
  77. package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -1
  78. package/dist/cli/schemas/analyzeUsage.js +4 -1
  79. package/dist/cli/schemas/generate.d.ts +3 -2
  80. package/dist/cli/schemas/generate.d.ts.map +1 -1
  81. package/dist/cli/schemas/generate.js +3 -2
  82. package/dist/common/Consts.d.ts.map +1 -1
  83. package/dist/common/Consts.js +1 -2
  84. package/dist/common/Logger.d.ts.map +1 -1
  85. package/dist/common/Logger.js +1 -1
  86. package/dist/common/LoggerMessages.d.ts +15 -3
  87. package/dist/common/LoggerMessages.d.ts.map +1 -1
  88. package/dist/common/LoggerMessages.js +18 -7
  89. package/dist/common/TEslintFixOptions.d.ts +20 -0
  90. package/dist/common/TEslintFixOptions.d.ts.map +1 -0
  91. package/dist/common/TEslintFixOptions.js +15 -0
  92. package/dist/common/TRawOptions.d.ts.map +1 -1
  93. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  94. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +2 -4
  95. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  96. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +1 -1
  97. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  98. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +1 -2
  99. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  100. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +1 -1
  101. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  102. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +1 -1
  103. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
  104. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +3 -2
  105. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -1
  106. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +10 -4
  107. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +4 -4
  108. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  109. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +7 -1
  110. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  111. package/dist/common/VersionedSchema/CommonSchemas.js +4 -2
  112. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +1 -1
  113. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  114. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +1 -1
  115. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +1 -1
  116. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  117. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
  118. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +2 -2
  119. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +2 -2
  121. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +1 -1
  122. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +1 -1
  123. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  124. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +3 -2
  125. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +4 -16
  126. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -1
  127. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts +1 -1
  128. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.js +1 -1
  130. package/dist/common/VersionedSchema/Utils/createTrivialMigration.d.ts.map +1 -1
  131. package/dist/common/VersionedSchema/Utils/createTrivialMigration.js +1 -1
  132. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  133. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +1 -3
  134. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -1
  135. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  136. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +1 -3
  137. package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.d.ts.map +1 -1
  138. package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.js +1 -1
  139. package/dist/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +1 -1
  141. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -1
  142. package/dist/common/utils/__tests__/eslintFix.test.js +25 -67
  143. package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts +2 -0
  144. package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts.map +1 -0
  145. package/dist/common/utils/__tests__/extractEslintFixOptions.test.js +28 -0
  146. package/dist/common/utils/__tests__/format.test.js +26 -17
  147. package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts +2 -0
  148. package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts.map +1 -0
  149. package/dist/common/utils/__tests__/prepareTempTsConfig.test.js +78 -0
  150. package/dist/common/utils/codegenTempDir.d.ts +20 -0
  151. package/dist/common/utils/codegenTempDir.d.ts.map +1 -0
  152. package/dist/common/utils/codegenTempDir.js +42 -0
  153. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  154. package/dist/common/utils/convertArrayToObject.js +3 -8
  155. package/dist/common/utils/eslintFix.d.ts +48 -4
  156. package/dist/common/utils/eslintFix.d.ts.map +1 -1
  157. package/dist/common/utils/eslintFix.js +121 -15
  158. package/dist/common/utils/format.d.ts +1 -1
  159. package/dist/common/utils/format.d.ts.map +1 -1
  160. package/dist/common/utils/format.js +23 -11
  161. package/dist/common/utils/jsonPath.d.ts.map +1 -1
  162. package/dist/common/utils/prepareTempEslintConfig.d.ts +18 -0
  163. package/dist/common/utils/prepareTempEslintConfig.d.ts.map +1 -0
  164. package/dist/common/utils/prepareTempEslintConfig.js +55 -0
  165. package/dist/common/utils/prepareTempTsConfig.d.ts +23 -0
  166. package/dist/common/utils/prepareTempTsConfig.d.ts.map +1 -0
  167. package/dist/common/utils/prepareTempTsConfig.js +105 -0
  168. package/dist/core/Context.d.ts.map +1 -1
  169. package/dist/core/Context.js +2 -6
  170. package/dist/core/OpenApiClient.d.ts +15 -0
  171. package/dist/core/OpenApiClient.d.ts.map +1 -1
  172. package/dist/core/OpenApiClient.js +68 -10
  173. package/dist/core/WriteClient.d.ts +73 -17
  174. package/dist/core/WriteClient.d.ts.map +1 -1
  175. package/dist/core/WriteClient.js +72 -18
  176. package/dist/core/__tests__/WriteClient.test.js +1 -1
  177. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  178. package/dist/core/api/v2/parser/getOperationResponses.js +1 -3
  179. package/dist/core/api/v2/parser/getServiceName.d.ts +1 -1
  180. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  181. package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
  182. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  183. package/dist/core/api/v3/parser/getOperationResponses.js +1 -3
  184. package/dist/core/api/v3/parser/getServiceName.d.ts +1 -1
  185. package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -1
  186. package/dist/core/governance/evaluateGovernanceRules.js +1 -3
  187. package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -1
  188. package/dist/core/governance/loadGovernanceConfig.js +2 -4
  189. package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -1
  190. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -1
  191. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +79 -21
  192. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +20 -1
  193. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +58 -6
  194. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -1
  195. package/dist/core/semanticDiff/analyzeOpenApiDiff.js +47 -19
  196. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +9 -1
  197. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -1
  198. package/dist/core/semanticDiff/semanticDiffReportSchema.js +137 -53
  199. package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -1
  200. package/dist/core/types/Consts.js +1 -1
  201. package/dist/core/types/DiffReport.model.d.ts +101 -0
  202. package/dist/core/types/DiffReport.model.d.ts.map +1 -0
  203. package/dist/core/types/DiffReport.model.js +5 -0
  204. package/dist/core/types/base/ClientArtifacts.model.d.ts +3 -3
  205. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  206. package/dist/core/types/base/ExportedModel.model.d.ts +1 -1
  207. package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -1
  208. package/dist/core/types/base/ExportedService.model.d.ts.map +1 -1
  209. package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -1
  210. package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -1
  211. package/dist/core/types/base/PropertyGroup.model.d.ts +1 -1
  212. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
  213. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
  214. package/dist/core/types/shared/Model.model.d.ts +36 -0
  215. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  216. package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +182 -0
  217. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts +2 -0
  218. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts.map +1 -0
  219. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.js +77 -0
  220. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts +2 -0
  221. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts.map +1 -0
  222. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.js +159 -0
  223. package/dist/core/utils/__tests__/loadDiffReport.test.js +131 -0
  224. package/dist/core/utils/__tests__/modelHelpers.test.js +27 -9
  225. package/dist/core/utils/__tests__/postProcessModelImports.test.js +1 -4
  226. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +1 -4
  227. package/dist/core/utils/__tests__/prepareDtoModels.test.js +74 -2
  228. package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +27 -0
  229. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts +2 -0
  230. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts.map +1 -0
  231. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.js +111 -0
  232. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts +2 -0
  233. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts.map +1 -0
  234. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.js +68 -0
  235. package/dist/core/utils/__tests__/serviceHelpers.test.js +10 -11
  236. package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +10 -27
  237. package/dist/core/utils/__tests__/templateRendering.test.js +71 -0
  238. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts +2 -0
  239. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts.map +1 -0
  240. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.js +63 -0
  241. package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts +10 -0
  242. package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts.map +1 -0
  243. package/dist/core/utils/adapters/extractMiraclesFromSemantic.js +13 -0
  244. package/dist/core/utils/adapters/index.d.ts +4 -0
  245. package/dist/core/utils/adapters/index.d.ts.map +1 -0
  246. package/dist/core/utils/adapters/index.js +8 -0
  247. package/dist/core/utils/adapters/semanticToStructural.d.ts +12 -0
  248. package/dist/core/utils/adapters/semanticToStructural.d.ts.map +1 -0
  249. package/dist/core/utils/adapters/semanticToStructural.js +36 -0
  250. package/dist/core/utils/appendUniqueLinesToFile.js +1 -1
  251. package/dist/core/utils/applyDiffReportToClient.d.ts +13 -1
  252. package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -1
  253. package/dist/core/utils/applyDiffReportToClient.js +189 -109
  254. package/dist/core/utils/areEqual.d.ts +1 -1
  255. package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts +25 -0
  256. package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts.map +1 -0
  257. package/dist/core/utils/buildMiraclesFromSemanticChanges.js +146 -0
  258. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts +23 -0
  259. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts.map +1 -0
  260. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.js +163 -0
  261. package/dist/core/utils/getOpenApiSpec.d.ts +18 -0
  262. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  263. package/dist/core/utils/getOpenApiSpec.js +35 -0
  264. package/dist/core/utils/getOperationErrors.d.ts +2 -2
  265. package/dist/core/utils/getOperationErrors.d.ts.map +1 -1
  266. package/dist/core/utils/getOperationResults.d.ts +1 -1
  267. package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
  268. package/dist/core/utils/getPropertyGroupSimple.js +1 -3
  269. package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
  270. package/dist/core/utils/loadDiffReport.d.ts +11 -30
  271. package/dist/core/utils/loadDiffReport.d.ts.map +1 -1
  272. package/dist/core/utils/loadDiffReport.js +69 -3
  273. package/dist/core/utils/loadSemanticOpenApiSpec.d.ts +15 -0
  274. package/dist/core/utils/loadSemanticOpenApiSpec.d.ts.map +1 -0
  275. package/dist/core/utils/loadSemanticOpenApiSpec.js +61 -0
  276. package/dist/core/utils/modelHelpers.d.ts +13 -5
  277. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  278. package/dist/core/utils/modelHelpers.js +28 -23
  279. package/dist/core/utils/normalizeString.d.ts.map +1 -1
  280. package/dist/core/utils/normalizeString.js +1 -5
  281. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  282. package/dist/core/utils/postProcessServiceImports.js +1 -3
  283. package/dist/core/utils/precompileTemplates.js +1 -0
  284. package/dist/core/utils/prepareAlias.d.ts +1 -1
  285. package/dist/core/utils/prepareDtoModels.d.ts +5 -0
  286. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -1
  287. package/dist/core/utils/prepareDtoModels.js +56 -13
  288. package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -0
  289. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  290. package/dist/core/utils/registerHandlebarHelpers.js +3 -0
  291. package/dist/core/utils/registerHandlebarTemplates.d.ts +1 -0
  292. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  293. package/dist/core/utils/resolveClassesModeTypes.d.ts +8 -0
  294. package/dist/core/utils/resolveClassesModeTypes.d.ts.map +1 -0
  295. package/dist/core/utils/resolveClassesModeTypes.js +77 -0
  296. package/dist/core/utils/semanticChangesToDiffEntries.d.ts +37 -0
  297. package/dist/core/utils/semanticChangesToDiffEntries.d.ts.map +1 -0
  298. package/dist/core/utils/semanticChangesToDiffEntries.js +99 -0
  299. package/dist/core/utils/semanticPointerToJsonPath.d.ts +7 -0
  300. package/dist/core/utils/semanticPointerToJsonPath.d.ts.map +1 -0
  301. package/dist/core/utils/semanticPointerToJsonPath.js +67 -0
  302. package/dist/core/utils/serviceHelpers.d.ts +6 -7
  303. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  304. package/dist/core/utils/serviceHelpers.js +8 -25
  305. package/dist/core/utils/sortModelByName.d.ts +1 -1
  306. package/dist/core/utils/writeClientExecutor.d.ts +1 -2
  307. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  308. package/dist/core/utils/writeClientExecutor.js +2 -6
  309. package/dist/core/utils/writeClientModels.d.ts +1 -2
  310. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  311. package/dist/core/utils/writeClientModels.js +4 -6
  312. package/dist/core/utils/writeClientSchemas.d.ts +1 -3
  313. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  314. package/dist/core/utils/writeClientSchemas.js +2 -7
  315. package/dist/core/utils/writeClientServices.d.ts +15 -16
  316. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  317. package/dist/core/utils/writeClientServices.js +6 -13
  318. package/dist/templatesCompiled/client/exportModels.d.ts +17 -11
  319. package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -1
  320. package/dist/templatesCompiled/client/exportModels.js +96 -49
  321. package/dist/templatesCompiled/client/exportService.d.ts +13 -10
  322. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  323. package/dist/templatesCompiled/client/exportService.js +95 -67
  324. package/dist/templatesCompiled/client/partials/header.d.ts +1 -0
  325. package/dist/templatesCompiled/client/partials/header.d.ts.map +1 -1
  326. package/dist/templatesCompiled/client/partials/header.js +11 -2
  327. package/package.json +130 -136
  328. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +0 -17
  329. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +0 -1
  330. package/dist/cli/analyzeDiff/buildLegacyReport.js +0 -54
  331. package/dist/cli/analyzeDiff/diffEngine.d.ts +0 -54
  332. package/dist/cli/analyzeDiff/diffEngine.d.ts.map +0 -1
  333. package/dist/cli/analyzeDiff/diffEngine.js +0 -209
@@ -5,6 +5,8 @@ const fs_1 = require("fs");
5
5
  const Consts_1 = require("../common/Consts");
6
6
  const Logger_1 = require("../common/Logger");
7
7
  const LoggerMessages_1 = require("../common/LoggerMessages");
8
+ const TEslintFixOptions_1 = require("../common/TEslintFixOptions");
9
+ const eslintFix_1 = require("../common/utils/eslintFix");
8
10
  const fileSystemHelpers_1 = require("../common/utils/fileSystemHelpers");
9
11
  const pathHelpers_1 = require("../common/utils/pathHelpers");
10
12
  const Parser_1 = require("./api/v2/Parser");
@@ -25,11 +27,18 @@ const loadDiffReport_1 = require("./utils/loadDiffReport");
25
27
  const postProcessClient_1 = require("./utils/postProcessClient");
26
28
  const prepareDtoModels_1 = require("./utils/prepareDtoModels");
27
29
  const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates");
30
+ const resolveClassesModeTypes_1 = require("./utils/resolveClassesModeTypes");
28
31
  const WriteClient_1 = require("./WriteClient");
32
+ /**
33
+ * Оркестратор генерации OpenAPI-клиента: парсинг спецификации, применение diff-отчёта и запись артефактов.
34
+ */
29
35
  class OpenApiClient {
30
36
  static CACHE_FINGERPRINT_VERSION = 1;
31
37
  static DEFAULT_CACHE_FILENAME = '.openapi-codegen-cache.json';
32
38
  _writeClient = null;
39
+ /** ESLint paths from top-level rawOptions (not per items[] entry). */
40
+ eslintFixOptions = {};
41
+ /** Экземпляр WriteClient для записи сгенерированных файлов. */
33
42
  get writeClient() {
34
43
  if (!this._writeClient) {
35
44
  throw new Error('WriteClient must be initialized');
@@ -72,6 +81,7 @@ class OpenApiClient {
72
81
  cachePath: rawOptions.cachePath,
73
82
  cacheStrategy: rawOptions.cacheStrategy,
74
83
  cacheDebug: rawOptions.cacheDebug,
84
+ prettierConfigPath: rawOptions.prettierConfigPath,
75
85
  }));
76
86
  }
77
87
  else {
@@ -112,6 +122,7 @@ class OpenApiClient {
112
122
  cachePath: rawOptions.cachePath,
113
123
  cacheStrategy: rawOptions.cacheStrategy,
114
124
  cacheDebug: rawOptions.cacheDebug,
125
+ prettierConfigPath: rawOptions.prettierConfigPath,
115
126
  },
116
127
  ];
117
128
  }
@@ -150,8 +161,7 @@ class OpenApiClient {
150
161
  miracles: item.miracles || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.miracles,
151
162
  strictOpenapi: item.strictOpenapi ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.strictOpenapi,
152
163
  reportFile: item.reportFile || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.reportFile,
153
- useProjectPrettier: item.useProjectPrettier ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useProjectPrettier,
154
- useEslintFix: item.useEslintFix ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useEslintFix,
164
+ prettierConfigPath: item.prettierConfigPath ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.prettierConfigPath,
155
165
  governanceConfig: item.governanceConfig || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.governanceConfig,
156
166
  cache: item.cache ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.cache,
157
167
  cachePath: item.cachePath || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.cachePath,
@@ -229,7 +239,7 @@ class OpenApiClient {
229
239
  }
230
240
  for (const option of items) {
231
241
  const fileStart = process.hrtime.bigint();
232
- const generationCache = cacheEnabled ? generationCaches.get(this.resolveOutputRoot(option.output)) ?? null : null;
242
+ const generationCache = cacheEnabled ? (generationCaches.get(this.resolveOutputRoot(option.output)) ?? null) : null;
233
243
  await this.generateSingle(option, generationCache);
234
244
  const fileEnd = process.hrtime.bigint();
235
245
  const fileDurationInSeconds = Number(fileEnd - fileStart) / 1e9;
@@ -249,6 +259,7 @@ class OpenApiClient {
249
259
  }
250
260
  const writeStats = this.writeClient.getWriteStats();
251
261
  this.writeClient.logger.info(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.WRITE_STATS(writeStats.written, writeStats.unchanged));
262
+ await this.runBatchEslintFixIfEnabled();
252
263
  this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.FINISHED);
253
264
  const end = process.hrtime.bigint();
254
265
  const durationInSeconds = Number(end - start) / 1e9;
@@ -287,7 +298,7 @@ class OpenApiClient {
287
298
  this.writeClient.logger.warn(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.CACHE_SHARED_OUTPUT_WARNING(duplicatedOutputs.map(output => `- ${output}`).join('\n')));
288
299
  }
289
300
  async generateSingle(item, generationCache) {
290
- const { input, output, outputCore, outputServices, outputModels, outputSchemas, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles, request, plugins, customExecutorPath, interfacePrefix, enumPrefix, typePrefix, useCancelableRequest, sortByRequired, useSeparatedIndexes, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy = EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP, useHistory, diffReport, modelsMode = ModelsMode_enum_1.ModelsMode.INTERFACES, strictOpenapi, reportFile, useProjectPrettier = false, useEslintFix = false, governanceConfig, } = item;
301
+ const { input, output, outputCore, outputServices, outputModels, outputSchemas, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles, request, plugins, customExecutorPath, interfacePrefix, enumPrefix, typePrefix, useCancelableRequest, sortByRequired, useSeparatedIndexes, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy = EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP, useHistory, diffReport, modelsMode = ModelsMode_enum_1.ModelsMode.INTERFACES, strictOpenapi, reportFile, prettierConfigPath, governanceConfig, } = item;
291
302
  const outputPaths = (0, getOutputPaths_1.getOutputPaths)({
292
303
  output,
293
304
  outputCore,
@@ -348,12 +359,17 @@ class OpenApiClient {
348
359
  useUnionTypes,
349
360
  useOptions,
350
361
  validationLibrary,
362
+ useBatchEslintFix: Boolean(this.eslintFixOptions.tsconfigPath && this.eslintFixOptions.eslintConfigPath),
351
363
  });
352
364
  const diffReportData = await this.loadDiffReportIfNeeded({
353
365
  useHistory,
354
366
  diffReport,
355
367
  inputPath: absoluteInput,
356
368
  });
369
+ if (useHistory && !diffReportData) {
370
+ const reportPath = diffReport || Consts_1.DEFAULT_ANALYZE_DIFF_REPORT_PATH;
371
+ this.writeClient.logger.warn(LoggerMessages_1.LOGGER_MESSAGES.DIFF_REPORT.USE_HISTORY_NO_REPORT(reportPath));
372
+ }
357
373
  this.writeClient.logger.info(LoggerMessages_1.LOGGER_MESSAGES.OPENAPI.DEFINING_VERSION);
358
374
  switch (openApiVersion) {
359
375
  case getOpenApiVersion_1.OpenApiVersion.V2: {
@@ -368,7 +384,7 @@ class OpenApiClient {
368
384
  context,
369
385
  });
370
386
  const clientFinal = (0, postProcessClient_1.postProcessClient)(clientWithDiff);
371
- const clientPrepared = modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES ? (0, prepareDtoModels_1.prepareDtoModels)(clientFinal) : clientFinal;
387
+ const clientPrepared = modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES ? (0, resolveClassesModeTypes_1.resolveClassesModeTypes)((0, prepareDtoModels_1.prepareDtoModels)(clientFinal)) : clientFinal;
372
388
  this.writeClient.logger.info(LoggerMessages_1.LOGGER_MESSAGES.OPENAPI.WRITING_V2);
373
389
  await this.writeClient.writeClient({
374
390
  client: clientPrepared,
@@ -385,8 +401,7 @@ class OpenApiClient {
385
401
  validationLibrary,
386
402
  emptySchemaStrategy,
387
403
  modelsMode,
388
- useProjectPrettier,
389
- useEslintFix,
404
+ prettierConfigPath,
390
405
  });
391
406
  break;
392
407
  }
@@ -402,7 +417,7 @@ class OpenApiClient {
402
417
  context,
403
418
  });
404
419
  const clientFinal = (0, postProcessClient_1.postProcessClient)(clientWithDiff);
405
- const clientPrepared = modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES ? (0, prepareDtoModels_1.prepareDtoModels)(clientFinal) : clientFinal;
420
+ const clientPrepared = modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES ? (0, resolveClassesModeTypes_1.resolveClassesModeTypes)((0, prepareDtoModels_1.prepareDtoModels)(clientFinal)) : clientFinal;
406
421
  this.writeClient.logger.info(LoggerMessages_1.LOGGER_MESSAGES.OPENAPI.WRITING_V3);
407
422
  await this.writeClient.writeClient({
408
423
  client: clientPrepared,
@@ -419,8 +434,7 @@ class OpenApiClient {
419
434
  validationLibrary,
420
435
  emptySchemaStrategy,
421
436
  modelsMode,
422
- useProjectPrettier,
423
- useEslintFix,
437
+ prettierConfigPath,
424
438
  });
425
439
  break;
426
440
  }
@@ -485,6 +499,44 @@ class OpenApiClient {
485
499
  }
486
500
  return true;
487
501
  }
502
+ /**
503
+ * Runs batch ESLint fix after combineAndWrite / combineAndWrightSimple when both paths are set.
504
+ * Warns and skips when only one path is provided; always clears the WriteClient lint registry.
505
+ */
506
+ async runBatchEslintFixIfEnabled() {
507
+ const opts = this.eslintFixOptions;
508
+ const hasTsconfig = !!opts.tsconfigPath;
509
+ const hasEslintConfig = !!opts.eslintConfigPath;
510
+ if (!hasTsconfig && !hasEslintConfig) {
511
+ this.writeClient.clearLintTargets();
512
+ return;
513
+ }
514
+ if (!hasTsconfig || !hasEslintConfig) {
515
+ this.writeClient.logger.warn(LoggerMessages_1.LOGGER_MESSAGES.FORMATTING.ESLINT_PATHS_MISSING);
516
+ this.writeClient.clearLintTargets();
517
+ return;
518
+ }
519
+ try {
520
+ const { files, includeGlobs } = this.writeClient.getLintTargets();
521
+ if (files.length === 0) {
522
+ return;
523
+ }
524
+ const fixStart = process.hrtime.bigint();
525
+ this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.FORMATTING.ESLINT_BATCH_STARTED);
526
+ await (0, eslintFix_1.eslintFixBatch)({
527
+ files,
528
+ includeGlobs,
529
+ tsconfigPath: opts.tsconfigPath,
530
+ eslintConfigPath: opts.eslintConfigPath,
531
+ });
532
+ const fixEnd = process.hrtime.bigint();
533
+ const durationInSeconds = Number(fixEnd - fixStart) / 1e9;
534
+ this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.FORMATTING.ESLINT_BATCH_FINISHED(durationInSeconds.toFixed(3)));
535
+ }
536
+ finally {
537
+ this.writeClient.clearLintTargets();
538
+ }
539
+ }
488
540
  async loadDiffReportIfNeeded(params) {
489
541
  return (0, loadDiffReport_1.loadDiffReport)({
490
542
  useHistory: params.useHistory,
@@ -503,8 +555,13 @@ class OpenApiClient {
503
555
  openApiVersion: params.openApiVersion,
504
556
  diffReport: params.diffReport,
505
557
  prefix: params.context.prefix,
558
+ context: params.context,
506
559
  });
507
560
  }
561
+ /**
562
+ * Запускает генерацию клиента по опциям CLI или конфигурации.
563
+ * @param rawOptions сырые опции генерации
564
+ */
508
565
  async generate(rawOptions) {
509
566
  const logger = new Logger_1.Logger({
510
567
  level: rawOptions.logLevel ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.logLevel,
@@ -512,6 +569,7 @@ class OpenApiClient {
512
569
  logOutput: rawOptions.logTarget ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.logTarget,
513
570
  });
514
571
  this._writeClient = new WriteClient_1.WriteClient(logger);
572
+ this.eslintFixOptions = (0, TEslintFixOptions_1.extractEslintFixOptions)(rawOptions);
515
573
  const items = this.normalizeOptions(rawOptions).map(item => this.addDefaultValues(item));
516
574
  await this.generateCodeForItems(items);
517
575
  }
@@ -20,17 +20,23 @@ import { writeClientServicesIndex } from './utils/writeClientServicesIndex';
20
20
  import { writeClientSimpleIndex } from './utils/writeClientSimpleIndex';
21
21
  import { WriteFileIfChangedResult } from './utils/writeFileIfChanged';
22
22
  /**
23
- * @param client Client object with all the models, services, etc.
24
- * @param templates Templates wrapper with all loaded Handlebars templates
25
- * @param outputPaths The relative location of the output directory
26
- * @param httpClient The selected httpClient (fetch, xhr or node)
27
- * @param useOptions Use options or arguments functions
28
- * @param useUnionTypes Use union types instead of enums
29
- * @param excludeCoreServiceFiles The generation of the core and services is excluded
30
- * @param request: Path to custom request file
31
- * @param useCancelableRequest Use cancelable request type.
32
- * @param useSeparatedIndexes Use separate index files for the core, models, schemas, and services
33
- * @param validationLibrary Validation library to use for schema validation
23
+ * Параметры записи OpenAPI-клиента на диск.
24
+ * @property client клиент со всеми моделями и сервисами
25
+ * @property templates загруженные Handlebars-шаблоны
26
+ * @property outputPaths относительные пути выходных директорий
27
+ * @property httpClient выбранный HTTP-клиент
28
+ * @property useOptions использовать options-функции вместо аргументов
29
+ * @property useUnionTypes использовать union types вместо enum
30
+ * @property excludeCoreServiceFiles исключить генерацию core и services
31
+ * @property [request] путь к кастомному request-файлу
32
+ * @property [customExecutorPath] путь к кастомному executor
33
+ * @property [useCancelableRequest] использовать cancelable request type
34
+ * @property [useSeparatedIndexes] писать отдельные index-файлы для core, models, schemas и services
35
+ * @property [validationLibrary] библиотека валидации схем
36
+ * @property emptySchemaStrategy стратегия обработки пустых схем
37
+ * @property [modelsMode] режим генерации моделей
38
+ * @property [useProjectPrettier] форматировать через Prettier проекта
39
+ * @property [useEslintFix] применять ESLint fix к сгенерированным файлам
34
40
  */
35
41
  type TWriteClientProps = {
36
42
  client: Client;
@@ -47,42 +53,81 @@ type TWriteClientProps = {
47
53
  validationLibrary?: ValidationLibrary;
48
54
  emptySchemaStrategy: EmptySchemaStrategy;
49
55
  modelsMode?: ModelsMode;
50
- useProjectPrettier?: boolean;
51
- useEslintFix?: boolean;
56
+ prettierConfigPath?: string;
52
57
  };
53
58
  type TAPIClientGeneratorConfig = Omit<TWriteClientProps, 'httpClient' | 'useOptions' | 'request' | 'useCancelableRequest' | 'useSeparatedIndexes'> & {
54
59
  schemaModels: Model[];
55
60
  };
56
61
  /**
57
- * The client which is writing all items and keep the parameters to write index file
62
+ * Клиент записи сгенерированных артефактов и сборки index-файлов.
58
63
  */
59
64
  export declare class WriteClient {
60
65
  private config;
61
66
  private expectedOutputFiles;
62
67
  private writeStats;
68
+ /** Absolute paths of generated model/service files for batch ESLint. */
69
+ private lintTargetFiles;
70
+ /** Output directory globs for the temporary tsconfig include. */
71
+ private lintIncludeGlobs;
63
72
  private _logger;
73
+ /**
74
+ * @param [logger] логгер записи клиента
75
+ */
64
76
  constructor(logger?: Logger);
65
77
  /**
66
- * Write our OpenAPI client, using the given templates at the given output
78
+ * Записывает OpenAPI-клиент по шаблонам в выходные директории.
79
+ * @param options параметры записи клиента
67
80
  */
68
81
  writeClient(options: TWriteClientProps): Promise<void>;
69
82
  private writeModelsAndFinalize;
70
83
  /**
71
- * Method keeps all options that is need to create index file
72
- * @param config
84
+ * Сохраняет конфигурацию генератора для последующей сборки index-файла.
85
+ * @param config конфигурация генератора клиента
73
86
  */
74
87
  buildClientGeneratorConfigMap(config: TAPIClientGeneratorConfig): void;
88
+ /** Собирает и записывает полный index клиента. */
75
89
  combineAndWrite(): Promise<void>;
90
+ /** Собирает и записывает упрощённый index клиента. */
76
91
  combineAndWrightSimple(): Promise<void>;
92
+ /** Логгер записи клиента. */
77
93
  get logger(): Logger;
94
+ /**
95
+ * Записывает выходной файл, если содержимое изменилось.
96
+ * @param filePath путь к файлу
97
+ * @param content содержимое файла
98
+ * @returns результат записи: written или unchanged
99
+ */
78
100
  writeOutputFile(filePath: string, content: string): Promise<WriteFileIfChangedResult>;
101
+ /**
102
+ * Регистрирует ожидаемый выходной файл без записи содержимого.
103
+ * @param filePath путь к файлу
104
+ */
79
105
  registerOutputFile(filePath: string): void;
106
+ /** Возвращает множество ожидаемых выходных файлов. */
80
107
  getExpectedOutputFiles(): Set<string>;
108
+ /** Возвращает список ожидаемых выходных файлов. */
81
109
  getExpectedOutputFilesArray(): string[];
110
+ /** Возвращает статистику записи файлов. */
82
111
  getWriteStats(): {
83
112
  written: number;
84
113
  unchanged: number;
85
114
  };
115
+ /**
116
+ * Registers a generated file for the post-generation batch ESLint pass.
117
+ *
118
+ * @param filePath - Written file path (absolute or relative to cwd).
119
+ * @param outputRoot - Models or services output directory used to build a narrow tsconfig glob.
120
+ */
121
+ registerLintTarget(filePath: string, outputRoot: string): void;
122
+ /**
123
+ * Returns collected lint targets after all writeClient* calls.
124
+ */
125
+ getLintTargets(): {
126
+ files: string[];
127
+ includeGlobs: string[];
128
+ };
129
+ /** Clears the lint registry after batch ESLint finishes or is skipped. */
130
+ clearLintTargets(): void;
86
131
  private buildSimpleClientIndexMap;
87
132
  private buildClientIndexMap;
88
133
  private finalizeAndWrite;
@@ -93,16 +138,27 @@ export declare class WriteClient {
93
138
  private isSameModel;
94
139
  private isSameShema;
95
140
  private isSomeService;
141
+ /** Делегирует запись core-части клиента. */
96
142
  writeClientCore: typeof writeClientCore;
143
+ /** Делегирует запись index core-части. */
97
144
  writeClientCoreIndex: typeof writeClientCoreIndex;
145
+ /** Делегирует запись полного index клиента. */
98
146
  writeClientFullIndex: typeof writeClientFullIndex;
147
+ /** Делегирует запись моделей клиента. */
99
148
  writeClientModels: typeof writeClientModels;
149
+ /** Делегирует запись index моделей. */
100
150
  writeClientModelsIndex: typeof writeClientModelsIndex;
151
+ /** Делегирует запись схем клиента. */
101
152
  writeClientSchemas: typeof writeClientSchemas;
153
+ /** Делегирует запись index схем. */
102
154
  writeClientSchemasIndex: typeof writeClientSchemasIndex;
155
+ /** Делегирует запись сервисов клиента. */
103
156
  writeClientServices: typeof writeClientServices;
157
+ /** Делегирует запись index сервисов. */
104
158
  writeClientServicesIndex: typeof writeClientServicesIndex;
159
+ /** Делегирует запись упрощённого index клиента. */
105
160
  writeClientSimpleIndex: typeof writeClientSimpleIndex;
161
+ /** Делегирует запись executor клиента. */
106
162
  writeClientExecutor: typeof writeClientExecutor;
107
163
  }
108
164
  export {};
@@ -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;AAM1C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,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;AACxE,OAAO,EAAsB,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE1F;;;;;;;;;;;;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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,KAAK,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,sBAAsB,GAAG,qBAAqB,CAAC,GAAG;IACjJ,YAAY,EAAE,KAAK,EAAE,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAU3B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAuI9C,sBAAsB;IA0DpC;;;OAGG;IACH,6BAA6B,CAAC,MAAM,EAAE,yBAAyB;IAUzD,eAAe;IAKf,sBAAsB;IAK5B,IAAW,MAAM,WAEhB;IAEY,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO3F,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,sBAAsB,IAAI,GAAG,CAAC,MAAM,CAAC;IAIrC,2BAA2B,IAAI,MAAM,EAAE;IAIvC,aAAa,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAI9D,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,mBAAmB;YAkEb,gBAAgB;YAUhB,uBAAuB;IAMrC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAiBzB,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;IAChD,mBAAmB,6BAAuB;CACpD"}
1
+ {"version":3,"file":"WriteClient.d.ts","sourceRoot":"","sources":["../../src/core/WriteClient.ts"],"names":[],"mappings":"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"}
@@ -23,13 +23,20 @@ const writeClientServicesIndex_1 = require("./utils/writeClientServicesIndex");
23
23
  const writeClientSimpleIndex_1 = require("./utils/writeClientSimpleIndex");
24
24
  const writeFileIfChanged_1 = require("./utils/writeFileIfChanged");
25
25
  /**
26
- * The client which is writing all items and keep the parameters to write index file
26
+ * Клиент записи сгенерированных артефактов и сборки index-файлов.
27
27
  */
28
28
  class WriteClient {
29
29
  config = new Map();
30
30
  expectedOutputFiles = new Set();
31
31
  writeStats = { written: 0, unchanged: 0 };
32
+ /** Absolute paths of generated model/service files for batch ESLint. */
33
+ lintTargetFiles = new Set();
34
+ /** Output directory globs for the temporary tsconfig include. */
35
+ lintIncludeGlobs = new Set();
32
36
  _logger;
37
+ /**
38
+ * @param [logger] логгер записи клиента
39
+ */
33
40
  constructor(logger) {
34
41
  this._logger =
35
42
  logger ||
@@ -40,10 +47,11 @@ class WriteClient {
40
47
  });
41
48
  }
42
49
  /**
43
- * Write our OpenAPI client, using the given templates at the given output
50
+ * Записывает OpenAPI-клиент по шаблонам в выходные директории.
51
+ * @param options параметры записи клиента
44
52
  */
45
53
  async writeClient(options) {
46
- const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles = false, request, customExecutorPath, useCancelableRequest = false, useSeparatedIndexes = false, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy, modelsMode, useProjectPrettier = false, useEslintFix = false, } = options;
54
+ const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles = false, request, customExecutorPath, useCancelableRequest = false, useSeparatedIndexes = false, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy, modelsMode, prettierConfigPath, } = options;
47
55
  if (!excludeCoreServiceFiles) {
48
56
  const executorPath = (0, pathHelpers_1.resolveHelper)(outputPaths.outputCore, 'executor');
49
57
  const interceptorsPath = (0, pathHelpers_1.resolveHelper)(outputPaths.outputCore, 'interceptors');
@@ -72,8 +80,8 @@ class WriteClient {
72
80
  useUnionTypes,
73
81
  useOptions,
74
82
  useCancelableRequest,
75
- useProjectPrettier,
76
- useEslintFix,
83
+ prettierConfigPath,
84
+ modelsMode,
77
85
  });
78
86
  await this.writeClientServicesIndex({
79
87
  services: client.services,
@@ -88,8 +96,7 @@ class WriteClient {
88
96
  templates,
89
97
  request,
90
98
  customExecutorPath,
91
- useProjectPrettier,
92
- useEslintFix,
99
+ prettierConfigPath,
93
100
  });
94
101
  }
95
102
  /**
@@ -106,8 +113,7 @@ class WriteClient {
106
113
  useUnionTypes,
107
114
  validationLibrary,
108
115
  emptySchemaStrategy,
109
- useProjectPrettier,
110
- useEslintFix,
116
+ prettierConfigPath,
111
117
  });
112
118
  await this.writeClientSchemasIndex({
113
119
  models: schemaModels,
@@ -131,8 +137,7 @@ class WriteClient {
131
137
  emptySchemaStrategy,
132
138
  modelsMode,
133
139
  schemaModels,
134
- useProjectPrettier,
135
- useEslintFix,
140
+ prettierConfigPath,
136
141
  });
137
142
  return;
138
143
  }
@@ -152,12 +157,11 @@ class WriteClient {
152
157
  emptySchemaStrategy,
153
158
  modelsMode,
154
159
  schemaModels: [],
155
- useProjectPrettier,
156
- useEslintFix,
160
+ prettierConfigPath,
157
161
  });
158
162
  }
159
163
  async writeModelsAndFinalize(config) {
160
- const { client, templates, outputPaths, httpClient, useUnionTypes, useOptions, useSeparatedIndexes, excludeCoreServiceFiles, validationLibrary, emptySchemaStrategy, modelsMode, schemaModels, useProjectPrettier, useEslintFix, } = config;
164
+ const { client, templates, outputPaths, httpClient, useUnionTypes, useOptions, useSeparatedIndexes, excludeCoreServiceFiles, validationLibrary, emptySchemaStrategy, modelsMode, schemaModels, prettierConfigPath, } = config;
161
165
  await fileSystemHelpers_1.fileSystemHelpers.mkdir(outputPaths.outputModels);
162
166
  const shouldInlineDtoCore = modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES && excludeCoreServiceFiles;
163
167
  if (shouldInlineDtoCore) {
@@ -173,8 +177,7 @@ class WriteClient {
173
177
  useOptions,
174
178
  modelsMode,
175
179
  outputCorePath: shouldInlineDtoCore ? './' : (0, pathHelpers_1.relativeHelper)(outputPaths.outputModels, outputPaths.outputCore),
176
- useProjectPrettier,
177
- useEslintFix,
180
+ prettierConfigPath,
178
181
  });
179
182
  await this.writeClientModelsIndex({
180
183
  models: client.models,
@@ -197,8 +200,8 @@ class WriteClient {
197
200
  });
198
201
  }
199
202
  /**
200
- * Method keeps all options that is need to create index file
201
- * @param config
203
+ * Сохраняет конфигурацию генератора для последующей сборки index-файла.
204
+ * @param config конфигурация генератора клиента
202
205
  */
203
206
  buildClientGeneratorConfigMap(config) {
204
207
  const { outputPaths } = config;
@@ -210,35 +213,75 @@ class WriteClient {
210
213
  this.config.set(outputPaths.output, Array.of(config));
211
214
  }
212
215
  }
216
+ /** Собирает и записывает полный index клиента. */
213
217
  async combineAndWrite() {
214
218
  const result = this.buildClientIndexMap();
215
219
  await this.finalizeAndWrite(result);
216
220
  }
221
+ /** Собирает и записывает упрощённый index клиента. */
217
222
  async combineAndWrightSimple() {
218
223
  const result = this.buildSimpleClientIndexMap();
219
224
  await this.simpledFinalizeAndWrite(result);
220
225
  }
226
+ /** Логгер записи клиента. */
221
227
  get logger() {
222
228
  return this._logger;
223
229
  }
230
+ /**
231
+ * Записывает выходной файл, если содержимое изменилось.
232
+ * @param filePath путь к файлу
233
+ * @param content содержимое файла
234
+ * @returns результат записи: written или unchanged
235
+ */
224
236
  async writeOutputFile(filePath, content) {
225
237
  this.expectedOutputFiles.add((0, pathHelpers_1.resolveHelper)(process.cwd(), filePath));
226
238
  const result = await (0, writeFileIfChanged_1.writeFileIfChanged)(filePath, content);
227
239
  this.writeStats[result] += 1;
228
240
  return result;
229
241
  }
242
+ /**
243
+ * Регистрирует ожидаемый выходной файл без записи содержимого.
244
+ * @param filePath путь к файлу
245
+ */
230
246
  registerOutputFile(filePath) {
231
247
  this.expectedOutputFiles.add((0, pathHelpers_1.resolveHelper)(process.cwd(), filePath));
232
248
  }
249
+ /** Возвращает множество ожидаемых выходных файлов. */
233
250
  getExpectedOutputFiles() {
234
251
  return this.expectedOutputFiles;
235
252
  }
253
+ /** Возвращает список ожидаемых выходных файлов. */
236
254
  getExpectedOutputFilesArray() {
237
255
  return Array.from(this.expectedOutputFiles);
238
256
  }
257
+ /** Возвращает статистику записи файлов. */
239
258
  getWriteStats() {
240
259
  return { ...this.writeStats };
241
260
  }
261
+ /**
262
+ * Registers a generated file for the post-generation batch ESLint pass.
263
+ *
264
+ * @param filePath - Written file path (absolute or relative to cwd).
265
+ * @param outputRoot - Models or services output directory used to build a narrow tsconfig glob.
266
+ */
267
+ registerLintTarget(filePath, outputRoot) {
268
+ this.lintTargetFiles.add((0, pathHelpers_1.resolveHelper)(process.cwd(), filePath));
269
+ this.lintIncludeGlobs.add(`${outputRoot.replace(/\\/g, '/')}/**/*.ts`);
270
+ }
271
+ /**
272
+ * Returns collected lint targets after all writeClient* calls.
273
+ */
274
+ getLintTargets() {
275
+ return {
276
+ files: [...this.lintTargetFiles],
277
+ includeGlobs: [...this.lintIncludeGlobs],
278
+ };
279
+ }
280
+ /** Clears the lint registry after batch ESLint finishes or is skipped. */
281
+ clearLintTargets() {
282
+ this.lintTargetFiles.clear();
283
+ this.lintIncludeGlobs.clear();
284
+ }
242
285
  buildSimpleClientIndexMap() {
243
286
  const result = new Map();
244
287
  for (const [key, value] of this.config.entries()) {
@@ -384,16 +427,27 @@ class WriteClient {
384
427
  isSomeService(a, name, pkg) {
385
428
  return a.name === name && a.package === pkg;
386
429
  }
430
+ /** Делегирует запись core-части клиента. */
387
431
  writeClientCore = writeClientCore_1.writeClientCore;
432
+ /** Делегирует запись index core-части. */
388
433
  writeClientCoreIndex = writeClientCoreIndex_1.writeClientCoreIndex;
434
+ /** Делегирует запись полного index клиента. */
389
435
  writeClientFullIndex = writeClientFullIndex_1.writeClientFullIndex;
436
+ /** Делегирует запись моделей клиента. */
390
437
  writeClientModels = writeClientModels_1.writeClientModels;
438
+ /** Делегирует запись index моделей. */
391
439
  writeClientModelsIndex = writeClientModelsIndex_1.writeClientModelsIndex;
440
+ /** Делегирует запись схем клиента. */
392
441
  writeClientSchemas = writeClientSchemas_1.writeClientSchemas;
442
+ /** Делегирует запись index схем. */
393
443
  writeClientSchemasIndex = writeClientSchemasIndex_1.writeClientSchemasIndex;
444
+ /** Делегирует запись сервисов клиента. */
394
445
  writeClientServices = writeClientServices_1.writeClientServices;
446
+ /** Делегирует запись index сервисов. */
395
447
  writeClientServicesIndex = writeClientServicesIndex_1.writeClientServicesIndex;
448
+ /** Делегирует запись упрощённого index клиента. */
396
449
  writeClientSimpleIndex = writeClientSimpleIndex_1.writeClientSimpleIndex;
450
+ /** Делегирует запись executor клиента. */
397
451
  writeClientExecutor = writeClientExecutor_1.writeClientExecutor;
398
452
  }
399
453
  exports.WriteClient = WriteClient;
@@ -61,7 +61,7 @@ const WriteClient_1 = require("../WriteClient");
61
61
  interceptors: () => 'interceptors',
62
62
  withInterceptors: () => 'withInterceptors',
63
63
  baseDto: () => 'baseDto',
64
- dtoUtils: () => 'dtoUtils'
64
+ dtoUtils: () => 'dtoUtils',
65
65
  },
66
66
  };
67
67
  const outputPaths = (0, getOutputPaths_1.getOutputPaths)({ output: './dist' });
@@ -1 +1 @@
1
- {"version":3,"file":"getOperationResponses.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationResponses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA0BzI"}
1
+ {"version":3,"file":"getOperationResponses.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationResponses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAwBzI"}
@@ -17,9 +17,7 @@ function getOperationResponses(openApi, responses, parentRef) {
17
17
  const response = (responseOrReference.$ref ? this.context.get(responseOrReference.$ref, parentRef) : responseOrReference);
18
18
  const responseCode = (0, getOperationResponseCode_1.getOperationResponseCode)(code);
19
19
  const normalizedParentRef = (0, path_1.isAbsolute)(parentRef) ? parentRef : (0, pathHelpers_1.resolveHelper)(this.context.root?.dirName || process.cwd(), parentRef);
20
- const responseParentRef = responseOrReference.$ref
21
- ? (0, parseRef_1.parseRef)((0, normalizeRef_1.normalizeRef)(responseOrReference.$ref, normalizedParentRef)).filePath || normalizedParentRef
22
- : parentRef;
20
+ const responseParentRef = responseOrReference.$ref ? (0, parseRef_1.parseRef)((0, normalizeRef_1.normalizeRef)(responseOrReference.$ref, normalizedParentRef)).filePath || normalizedParentRef : parentRef;
23
21
  if (responseCode) {
24
22
  const operationResponse = this.getOperationResponse(openApi, response, responseCode, responseParentRef);
25
23
  operationResponses.push(operationResponse);
@@ -1,3 +1,3 @@
1
- import { OpenApiOperation } from "../types/OpenApiOperation.model";
1
+ import { OpenApiOperation } from '../types/OpenApiOperation.model';
2
2
  export declare function getServiceName(op: OpenApiOperation, fileName: string): string;
3
3
  //# sourceMappingURL=getServiceName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOperation.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAS3F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAkE3M"}
1
+ {"version":3,"file":"getOperation.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAS3F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,wBAAgB,YAAY,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,gBAAgB,EACpB,UAAU,EAAE,mBAAmB,EAC/B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACtB,SAAS,CAkEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOperationParameters.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperationParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAgE7I"}
1
+ {"version":3,"file":"getOperationParameters.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperationParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CA+D7I"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOperationResponses.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperationResponses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA0BzI"}
1
+ {"version":3,"file":"getOperationResponses.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getOperationResponses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAwBzI"}