ts-openapi-codegen 2.1.0-beta.6 → 2.1.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 (212) hide show
  1. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +9 -0
  2. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +9 -0
  3. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +9 -0
  4. package/dist/cli/analyzeUsage/analyzeUsage.d.ts +4 -0
  5. package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -0
  6. package/dist/cli/analyzeUsage/analyzeUsage.js +62 -0
  7. package/dist/cli/analyzeUsage/core/Analyzer.d.ts +9 -0
  8. package/dist/cli/analyzeUsage/core/Analyzer.d.ts.map +1 -0
  9. package/dist/cli/analyzeUsage/core/Analyzer.js +29 -0
  10. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +10 -0
  11. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -0
  12. package/dist/cli/analyzeUsage/core/ProjectContext.js +63 -0
  13. package/dist/cli/analyzeUsage/core/Scanner.d.ts +15 -0
  14. package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -0
  15. package/dist/cli/analyzeUsage/core/Scanner.js +115 -0
  16. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +6 -0
  17. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -0
  18. package/dist/cli/analyzeUsage/rules/ClientRule.js +78 -0
  19. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +7 -0
  20. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -0
  21. package/dist/cli/analyzeUsage/rules/CoverageRule.js +63 -0
  22. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts +6 -0
  23. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -0
  24. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +60 -0
  25. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +6 -0
  26. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -0
  27. package/dist/cli/analyzeUsage/rules/ImportRule.js +52 -0
  28. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +6 -0
  29. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -0
  30. package/dist/cli/analyzeUsage/rules/ModelRule.js +38 -0
  31. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +6 -0
  32. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -0
  33. package/dist/cli/analyzeUsage/rules/SchemaRule.js +48 -0
  34. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +7 -0
  35. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -0
  36. package/dist/cli/analyzeUsage/rules/ServiceRule.js +92 -0
  37. package/dist/cli/analyzeUsage/types.d.ts +52 -0
  38. package/dist/cli/analyzeUsage/types.d.ts.map +1 -0
  39. package/dist/cli/analyzeUsage/types.js +2 -0
  40. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts +5 -0
  41. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -0
  42. package/dist/cli/analyzeUsage/utils/fuzzy.js +38 -0
  43. package/dist/cli/analyzeUsage/utils/report.d.ts +16 -0
  44. package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -0
  45. package/dist/cli/analyzeUsage/utils/report.js +85 -0
  46. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.js +10 -20
  47. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.js +10 -20
  48. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
  49. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  50. package/dist/cli/checkAndUpdateConfig/checkConfig.js +8 -4
  51. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
  52. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  53. package/dist/cli/checkAndUpdateConfig/updateConfig.js +6 -3
  54. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  55. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +19 -1
  56. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +18 -9
  57. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +2 -5
  58. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  59. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +12 -16
  60. package/dist/cli/index.js +41 -9
  61. package/dist/cli/initOpenApiConfig/__tests__/init.test.js +4 -14
  62. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.js +3 -1
  63. package/dist/cli/initOpenApiConfig/init.d.ts +2 -1
  64. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  65. package/dist/cli/initOpenApiConfig/init.js +3 -3
  66. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +0 -1
  67. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
  68. package/dist/cli/initOpenApiConfig/initCustomRequest.js +1 -2
  69. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.js +9 -0
  70. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
  71. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +0 -4
  72. package/dist/cli/previewChanges/previewChanges.d.ts +2 -1
  73. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  74. package/dist/cli/previewChanges/previewChanges.js +6 -6
  75. package/dist/cli/schemas/analyzeUsage.d.ts +13 -0
  76. package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -0
  77. package/dist/cli/schemas/analyzeUsage.js +38 -0
  78. package/dist/cli/schemas/generate.d.ts +7 -0
  79. package/dist/cli/schemas/generate.d.ts.map +1 -1
  80. package/dist/cli/schemas/generate.js +4 -0
  81. package/dist/cli/schemas/index.d.ts +2 -2
  82. package/dist/cli/schemas/index.d.ts.map +1 -1
  83. package/dist/cli/schemas/index.js +1 -1
  84. package/dist/cli/schemas/init.d.ts +0 -1
  85. package/dist/cli/schemas/init.d.ts.map +1 -1
  86. package/dist/cli/schemas/init.js +0 -1
  87. package/dist/cli/types.d.ts +6 -0
  88. package/dist/cli/types.d.ts.map +1 -0
  89. package/dist/cli/types.js +2 -0
  90. package/dist/common/Consts.d.ts +1 -0
  91. package/dist/common/Consts.d.ts.map +1 -1
  92. package/dist/common/Consts.js +6 -2
  93. package/dist/common/Logger.js +2 -2
  94. package/dist/common/LoggerMessages.d.ts +59 -12
  95. package/dist/common/LoggerMessages.d.ts.map +1 -1
  96. package/dist/common/LoggerMessages.js +62 -15
  97. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +0 -1
  98. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  99. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +0 -2
  100. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  101. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +0 -2
  102. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  103. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +0 -2
  104. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
  105. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +0 -2
  106. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
  107. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +7 -2
  108. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -1
  109. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +5 -1
  110. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +14 -11
  111. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  112. package/dist/common/VersionedSchema/CommonSchemas.d.ts +0 -2
  113. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  114. package/dist/common/VersionedSchema/CommonSchemas.js +0 -1
  115. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -1
  116. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.js +0 -1
  117. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +0 -1
  118. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  119. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +0 -1
  120. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  121. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +0 -1
  122. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  123. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
  124. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +0 -1
  125. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +0 -1
  126. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  127. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +0 -1
  128. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  130. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +8 -9
  131. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  132. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +1 -1
  133. package/dist/common/utils/__tests__/convertArrayToObject.test.js +0 -3
  134. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  135. package/dist/common/utils/convertArrayToObject.js +0 -2
  136. package/dist/core/OpenApiClient.d.ts +12 -1
  137. package/dist/core/OpenApiClient.d.ts.map +1 -1
  138. package/dist/core/OpenApiClient.js +193 -16
  139. package/dist/core/WriteClient.d.ts +12 -3
  140. package/dist/core/WriteClient.d.ts.map +1 -1
  141. package/dist/core/WriteClient.js +25 -5
  142. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -1
  143. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -1
  144. package/dist/core/plugins/loadGeneratorPlugins.js +1 -1
  145. package/dist/core/types/shared/Client.model.d.ts +1 -1
  146. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  147. package/dist/core/types/shared/Model.model.d.ts +1 -1
  148. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  149. package/dist/core/utils/__tests__/prepareDtoModels.test.js +95 -0
  150. package/dist/core/utils/__tests__/writeClientServices.test.js +0 -1
  151. package/dist/core/utils/loadDiffReport.d.ts.map +1 -1
  152. package/dist/core/utils/loadDiffReport.js +5 -4
  153. package/dist/core/utils/precompileTemplates.js +3 -2
  154. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -1
  155. package/dist/core/utils/prepareDtoModels.js +1 -7
  156. package/dist/core/utils/writeClientCore.d.ts +0 -2
  157. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  158. package/dist/core/utils/writeClientCore.js +19 -18
  159. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  160. package/dist/core/utils/writeClientCoreIndex.js +14 -4
  161. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  162. package/dist/core/utils/writeClientExecutor.js +4 -4
  163. package/dist/core/utils/writeClientFullIndex.js +4 -4
  164. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  165. package/dist/core/utils/writeClientModels.js +10 -10
  166. package/dist/core/utils/writeClientModelsIndex.d.ts +1 -1
  167. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  168. package/dist/core/utils/writeClientModelsIndex.js +14 -4
  169. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  170. package/dist/core/utils/writeClientSchemas.js +7 -7
  171. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  172. package/dist/core/utils/writeClientSchemasIndex.js +14 -4
  173. package/dist/core/utils/writeClientServices.d.ts +0 -2
  174. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  175. package/dist/core/utils/writeClientServices.js +7 -8
  176. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  177. package/dist/core/utils/writeClientServicesIndex.js +14 -4
  178. package/dist/core/utils/writeClientSimpleIndex.js +4 -4
  179. package/dist/templatesCompiled/cli/customRequest.d.ts +2 -6
  180. package/dist/templatesCompiled/cli/customRequest.d.ts.map +1 -1
  181. package/dist/templatesCompiled/cli/customRequest.js +8 -28
  182. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts +0 -3
  183. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts.map +1 -1
  184. package/dist/templatesCompiled/cli/customRequestExecutor.js +5 -28
  185. package/dist/templatesCompiled/client/core/axios/request.d.ts +2 -6
  186. package/dist/templatesCompiled/client/core/axios/request.d.ts.map +1 -1
  187. package/dist/templatesCompiled/client/core/axios/request.js +2 -22
  188. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -5
  189. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  190. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +12 -42
  191. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts +0 -2
  192. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -1
  193. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +3 -11
  194. package/dist/templatesCompiled/client/core/fetch/request.d.ts +2 -6
  195. package/dist/templatesCompiled/client/core/fetch/request.d.ts.map +1 -1
  196. package/dist/templatesCompiled/client/core/fetch/request.js +2 -22
  197. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts +0 -2
  198. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts.map +1 -1
  199. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +3 -11
  200. package/dist/templatesCompiled/client/core/node/request.d.ts +2 -6
  201. package/dist/templatesCompiled/client/core/node/request.d.ts.map +1 -1
  202. package/dist/templatesCompiled/client/core/node/request.js +2 -22
  203. package/dist/templatesCompiled/client/core/xhr/request.d.ts +2 -6
  204. package/dist/templatesCompiled/client/core/xhr/request.d.ts.map +1 -1
  205. package/dist/templatesCompiled/client/core/xhr/request.js +2 -22
  206. package/dist/templatesCompiled/client/exportService.d.ts +9 -11
  207. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  208. package/dist/templatesCompiled/client/exportService.js +64 -82
  209. package/dist/test/helpers/silenceLoggers.d.ts +11 -0
  210. package/dist/test/helpers/silenceLoggers.d.ts.map +1 -0
  211. package/dist/test/helpers/silenceLoggers.js +88 -0
  212. package/package.json +4 -3
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.loadDiffReport = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const Consts_1 = require("../../common/Consts");
9
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
9
10
  const isFreshEnough = (reportPath, inputPath) => {
10
11
  if (!inputPath)
11
12
  return true;
@@ -24,11 +25,11 @@ const loadDiffReport = ({ useHistory, diffReport, inputPath, logger }) => {
24
25
  return null;
25
26
  const reportPath = diffReport || Consts_1.DEFAULT_ANALYZE_DIFF_REPORT_PATH;
26
27
  if (!fs_1.default.existsSync(reportPath)) {
27
- logger.info(`[openapi-codegen] Diff report not found at "${reportPath}". Skipping history annotations.`);
28
+ logger.info(LoggerMessages_1.LOGGER_MESSAGES.DIFF_REPORT.NOT_FOUND(reportPath));
28
29
  return null;
29
30
  }
30
31
  if (!isFreshEnough(reportPath, inputPath)) {
31
- logger.warn(`[openapi-codegen] Diff report "${reportPath}" is older than the input spec. Skipping history annotations.`);
32
+ logger.warn(LoggerMessages_1.LOGGER_MESSAGES.DIFF_REPORT.STALE(reportPath));
32
33
  return null;
33
34
  }
34
35
  try {
@@ -37,14 +38,14 @@ const loadDiffReport = ({ useHistory, diffReport, inputPath, logger }) => {
37
38
  const hasDiffEntries = !!parsed?.diff?.all?.length;
38
39
  const hasMiracles = !!parsed?.miracles?.length;
39
40
  if (!hasDiffEntries && !hasMiracles) {
40
- logger.info(`[openapi-codegen] Diff report "${reportPath}" has no entries. Skipping history annotations.`);
41
+ logger.info(LoggerMessages_1.LOGGER_MESSAGES.DIFF_REPORT.EMPTY(reportPath));
41
42
  return null;
42
43
  }
43
44
  return parsed;
44
45
  }
45
46
  catch (error) {
46
47
  const message = error instanceof Error ? error.message : String(error);
47
- logger.warn(`[openapi-codegen] Failed to read diff report "${reportPath}": ${message}`);
48
+ logger.warn(LoggerMessages_1.LOGGER_MESSAGES.DIFF_REPORT.READ_FAILED(reportPath, message));
48
49
  return null;
49
50
  }
50
51
  };
@@ -8,6 +8,7 @@ const handlebars_1 = __importDefault(require("handlebars"));
8
8
  const path_1 = require("path");
9
9
  const Enums_1 = require("../../common/Enums");
10
10
  const Logger_1 = require("../../common/Logger");
11
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
11
12
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
12
13
  const Consts_1 = require("../../core/types/Consts");
13
14
  const templatesDir = (0, pathHelpers_1.resolveHelper)(__dirname, '../../templates');
@@ -83,10 +84,10 @@ const precompileTemplates = () => {
83
84
  });
84
85
  };
85
86
  walk(templatesDir);
86
- logger.info('The templates have been successfully precompiled and saved!');
87
+ logger.info(LoggerMessages_1.LOGGER_MESSAGES.TEMPLATES.PRECOMPILE_SUCCESS);
87
88
  }
88
89
  catch (error) {
89
- logger.error(`Error during pre-compilation of templates: ${error.message}`);
90
+ logger.error(LoggerMessages_1.LOGGER_MESSAGES.TEMPLATES.PRECOMPILE_ERROR(error.message));
90
91
  }
91
92
  };
92
93
  precompileTemplates();
@@ -1 +1 @@
1
- {"version":3,"file":"prepareDtoModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareDtoModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAyL3D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAqCjD,CAAC"}
1
+ {"version":3,"file":"prepareDtoModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/prepareDtoModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAkL3D,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAqCjD,CAAC"}
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareDtoModels = void 0;
4
- const unique_1 = require("./unique");
5
4
  const escapeName_1 = require("./escapeName");
6
- const stripQuotes = (name) => {
7
- if (name.startsWith("'") && name.endsWith("'")) {
8
- return name.slice(1, -1);
9
- }
10
- return name;
11
- };
5
+ const unique_1 = require("./unique");
12
6
  const buildPropertyTarget = (name, prefix) => {
13
7
  if (name.startsWith("'") && name.endsWith("'")) {
14
8
  return `${prefix}[${name}]`;
@@ -10,7 +10,6 @@ import { WriteClient } from '../WriteClient';
10
10
  * @param httpClient The selected httpClient (fetch, xhr or node)
11
11
  * @param request: Path to custom request file
12
12
  * @param useCancelableRequest Use cancelable request type
13
- * @param useRequestRaw Generate requestRaw and raw service methods
14
13
  */
15
14
  interface IWriteClientCore {
16
15
  client: Client;
@@ -19,7 +18,6 @@ interface IWriteClientCore {
19
18
  httpClient: HttpClient;
20
19
  request?: string;
21
20
  useCancelableRequest?: boolean;
22
- useRequestRaw?: boolean;
23
21
  useSeparatedIndexes?: boolean;
24
22
  modelsMode?: ModelsMode;
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CjG"}
1
+ {"version":3,"file":"writeClientCore.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CjG"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientCore = writeClientCore;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
4
5
  const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
7
  const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
@@ -14,35 +15,34 @@ const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
14
15
  * @param useCancelableRequest Use cancelable request type
15
16
  */
16
17
  async function writeClientCore(options) {
17
- const { client, templates, outputCorePath, httpClient, request, useCancelableRequest, useRequestRaw = true, useSeparatedIndexes, modelsMode } = options;
18
+ const { client, templates, outputCorePath, httpClient, request, useCancelableRequest, useSeparatedIndexes, modelsMode } = options;
18
19
  const context = {
19
20
  httpClient,
20
21
  server: client.server,
21
22
  version: client.version,
22
23
  useCancelableRequest,
23
- useRequestRaw,
24
24
  useSeparatedIndexes,
25
25
  };
26
- this.logger.info("The recording of the kernel files begins");
26
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.CORE_START);
27
27
  const hasCustomRequest = !!request;
28
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'OpenAPI.ts'), templates.core.settings(context));
29
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiError.ts'), templates.core.apiError({}));
30
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({}));
31
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiResult.ts'), templates.core.apiResult({}));
28
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'OpenAPI.ts'), templates.core.settings(context));
29
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiError.ts'), templates.core.apiError({}));
30
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiRequestOptions.ts'), templates.core.apiRequestOptions({}));
31
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'ApiResult.ts'), templates.core.apiResult({}));
32
32
  if (modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES) {
33
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'BaseDto.ts'), templates.core.baseDto({}));
34
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'dtoUtils.ts'), templates.core.dtoUtils({}));
33
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'BaseDto.ts'), templates.core.baseDto({}));
34
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'dtoUtils.ts'), templates.core.dtoUtils({}));
35
35
  }
36
36
  if (useCancelableRequest) {
37
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'CancelablePromise.ts'), templates.core.cancelablePromise({}));
37
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'CancelablePromise.ts'), templates.core.cancelablePromise({}));
38
38
  }
39
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'HttpStatusCode.ts'), templates.core.httpStatusCode({}));
40
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'), templates.core.request(context));
41
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/requestExecutor.ts'), templates.core.requestExecutor({ useRequestRaw }));
42
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/createExecutorAdapter.ts'), templates.core.createExecutorAdapter({ useCustomRequest: hasCustomRequest, useRequestRaw }));
43
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/interceptors.ts'), templates.core.interceptors({}));
44
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/apiErrorInterceptor.ts'), templates.core.apiErrorInterceptor({}));
45
- await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/withInterceptors.ts'), templates.core.withInterceptors({ useRequestRaw }));
39
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'HttpStatusCode.ts'), templates.core.httpStatusCode({}));
40
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'), templates.core.request(context));
41
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/requestExecutor.ts'), templates.core.requestExecutor({}));
42
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'executor/createExecutorAdapter.ts'), templates.core.createExecutorAdapter({ useCustomRequest: hasCustomRequest }));
43
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/interceptors.ts'), templates.core.interceptors({}));
44
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/apiErrorInterceptor.ts'), templates.core.apiErrorInterceptor({}));
45
+ await this.writeOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'interceptors/withInterceptors.ts'), templates.core.withInterceptors({}));
46
46
  if (hasCustomRequest) {
47
47
  const requestFile = (0, pathHelpers_1.resolveHelper)(process.cwd(), request);
48
48
  const requestFileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(requestFile);
@@ -50,6 +50,7 @@ async function writeClientCore(options) {
50
50
  throw new Error(`Custom request file "${requestFile}" does not exists`);
51
51
  }
52
52
  await fileSystemHelpers_1.fileSystemHelpers.copyFile(requestFile, (0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'));
53
+ this.registerOutputFile((0, pathHelpers_1.resolveHelper)(outputCorePath, 'request.ts'));
53
54
  }
54
- this.logger.info("The writing of the kernel files has been completed successfully");
55
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.CORE_FINISH);
55
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;CACpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcnF"}
1
+ {"version":3,"file":"writeClientCoreIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientCoreIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,gCAAgC,EAAE,UAAU,CAAC;CACpE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBnF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientCoreIndex = writeClientCoreIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientCoreIndex(options) {
7
8
  const { templates, outputCorePath, useCancelableRequest, useSeparatedIndexes, modelsMode } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputCorePath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.core({ useCancelableRequest, modelsMode });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,iBAAS,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CASjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxG;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"writeClientExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientExecutor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,mBAAmB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,iBAAS,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CASjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBxG;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientExecutor = writeClientExecutor;
4
4
  exports.deduplicateServicesByName = deduplicateServicesByName;
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const eslintFix_1 = require("../../common/utils/eslintFix");
6
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
7
7
  const format_1 = require("../../common/utils/format");
8
8
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
9
9
  function deduplicateServicesByName(services) {
@@ -21,7 +21,7 @@ async function writeClientExecutor(options) {
21
21
  const file = (0, pathHelpers_1.resolveHelper)(outputPath, 'createClient.ts');
22
22
  const uniqueServices = deduplicateServicesByName(services);
23
23
  const hasCustomRequest = !!request;
24
- this.logger.info(`Началась запись файла ${file}`);
24
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.EXECUTOR_START(file));
25
25
  const templateResult = templates.exports.client({
26
26
  outputCore: outputCorePath,
27
27
  useCustomRequest: hasCustomRequest,
@@ -29,9 +29,9 @@ async function writeClientExecutor(options) {
29
29
  services: uniqueServices,
30
30
  });
31
31
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
32
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
32
+ await this.writeOutputFile(file, formattedValue);
33
33
  if (useEslintFix) {
34
34
  await (0, eslintFix_1.eslintFix)(file);
35
35
  }
36
- this.logger.info(`File recording completed: ${file}`);
36
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
37
37
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientFullIndex = writeClientFullIndex;
4
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
5
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
6
6
  /**
7
7
  * Generate the OpenAPI client index file using the Handlebar template and write it to disk.
@@ -11,8 +11,8 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
11
11
  async function writeClientFullIndex(options) {
12
12
  const { templates, outputPath, core, models, schemas, services, modelsMode, modelsPackage } = options;
13
13
  const resolvePathIndex = (0, pathHelpers_1.resolveHelper)(outputPath, 'index.ts');
14
- this.logger.info(`Data has been written to a file: ${resolvePathIndex}`);
15
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(resolvePathIndex, templates.indexes.full({
14
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(resolvePathIndex));
15
+ await this.writeOutputFile(resolvePathIndex, templates.indexes.full({
16
16
  core,
17
17
  models,
18
18
  schemas,
@@ -20,5 +20,5 @@ async function writeClientFullIndex(options) {
20
20
  modelsMode,
21
21
  modelsPackage,
22
22
  }));
23
- this.logger.info(`Writing to the file is completed: ${resolvePathIndex}`);
23
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(resolvePathIndex));
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModels.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,kBAAkB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrG"}
1
+ {"version":3,"file":"writeClientModels.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModels.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,kBAAkB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrG"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientModels = writeClientModels;
4
4
  const fs_1 = require("fs");
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const eslintFix_1 = require("../../common/utils/eslintFix");
6
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
7
7
  const format_1 = require("../../common/utils/format");
8
8
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
9
9
  const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
@@ -17,7 +17,7 @@ const ModelsMode_enum_1 = require("../types/enums/ModelsMode.enum");
17
17
  */
18
18
  async function writeClientModels(options) {
19
19
  const { models, templates, outputModelsPath, httpClient, useUnionTypes, modelsMode, outputCorePath, useOptions, useProjectPrettier, useEslintFix } = options;
20
- this.logger.info('Recording of model files begins');
20
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_START);
21
21
  if (modelsMode === ModelsMode_enum_1.ModelsMode.CLASSES) {
22
22
  const file = (0, pathHelpers_1.resolveHelper)(outputModelsPath, 'models.ts');
23
23
  const templateResult = templates.exports.models({
@@ -29,9 +29,9 @@ async function writeClientModels(options) {
29
29
  modelsMode,
30
30
  });
31
31
  const formattedValue = await (0, format_1.format)(templateResult);
32
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
33
- this.logger.info(`File recording completed: ${file}`);
34
- this.logger.info('Model file recording completed successfully');
32
+ await this.writeOutputFile(file, formattedValue);
33
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
34
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_FINISH);
35
35
  return;
36
36
  }
37
37
  for (const model of models) {
@@ -42,22 +42,22 @@ async function writeClientModels(options) {
42
42
  const dir = (0, pathHelpers_1.dirNameHelper)(modelFolderPath);
43
43
  if (dir) {
44
44
  const directory = (0, pathHelpers_1.resolveHelper)(outputModelsPath, dir);
45
- this.logger.info(`A directory is being created: ${directory}`);
45
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DIRECTORY_CREATING(directory));
46
46
  (0, fs_1.mkdirSync)(directory, { recursive: true });
47
47
  }
48
48
  const file = (0, pathHelpers_1.resolveHelper)(outputModelsPath, `${modelFolderPath}.ts`);
49
- this.logger.info(`The recording of the file data begins: ${file}`);
49
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
50
50
  const templateResult = templates.exports.model({
51
51
  ...model,
52
52
  httpClient,
53
53
  useUnionTypes,
54
54
  });
55
55
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
56
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
56
+ await this.writeOutputFile(file, formattedValue);
57
57
  if (useEslintFix) {
58
58
  await (0, eslintFix_1.eslintFix)(file);
59
59
  }
60
- this.logger.info(`File recording completed: ${file}`);
60
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
61
61
  }
62
- this.logger.info('Model file recording completed successfully');
62
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.MODELS_FINISH);
63
63
  }
@@ -1,7 +1,7 @@
1
1
  import { Templates } from '../types/base/Templates.model';
2
+ import { ModelsMode } from '../types/enums/ModelsMode.enum';
2
3
  import { Model } from '../types/shared/Model.model';
3
4
  import { WriteClient } from '../WriteClient';
4
- import { ModelsMode } from '../types/enums/ModelsMode.enum';
5
5
  interface IOptionsProps {
6
6
  models: Model[];
7
7
  templates: Templates;
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientModelsIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModelsIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcrF"}
1
+ {"version":3,"file":"writeClientModelsIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientModelsIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBrF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientModelsIndex = writeClientModelsIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientModelsIndex(options) {
7
8
  const { models, templates, outputModelsPath, useSeparatedIndexes, modelsMode } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputModelsPath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.models({ models, modelsMode });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientSchemas.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemas.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,mBAAmB;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAExD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2C1G"}
1
+ {"version":3,"file":"writeClientSchemas.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,UAAU,mBAAmB;IACzB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAExD;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA2C1G"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEmptySchemaModel = isEmptySchemaModel;
4
4
  exports.writeClientSchemas = writeClientSchemas;
5
5
  const fs_1 = require("fs");
6
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
6
7
  const eslintFix_1 = require("../../common/utils/eslintFix");
7
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
8
8
  const format_1 = require("../../common/utils/format");
9
9
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
10
10
  const EmptySchemaStrategy_enum_1 = require("../types/enums/EmptySchemaStrategy.enum");
@@ -22,18 +22,18 @@ function isEmptySchemaModel(model) {
22
22
  async function writeClientSchemas(options) {
23
23
  const { models, templates, outputSchemasPath, httpClient, useUnionTypes, validationLibrary, emptySchemaStrategy, useProjectPrettier, useEslintFix } = options;
24
24
  if (templates.exports.schema) {
25
- this.logger.info('The recording of model validation schema files begins.');
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SCHEMAS_START);
26
26
  const modelsToWrite = emptySchemaStrategy === EmptySchemaStrategy_enum_1.EmptySchemaStrategy.SKIP ? models.filter(model => !isEmptySchemaModel(model)) : models;
27
27
  for (const model of modelsToWrite) {
28
28
  const modelFolderPath = model?.path;
29
29
  const dir = (0, pathHelpers_1.dirNameHelper)(modelFolderPath);
30
30
  if (dir) {
31
31
  const directory = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, dir);
32
- this.logger.info(`A directory is being created: ${directory}`);
32
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DIRECTORY_CREATING(directory));
33
33
  (0, fs_1.mkdirSync)(directory, { recursive: true });
34
34
  }
35
35
  const file = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, `${modelFolderPath}Schema.ts`);
36
- this.logger.info(`The recording of the file data begins: ${file}`);
36
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
37
37
  const templateResult = templates.exports.schema({
38
38
  ...model,
39
39
  httpClient,
@@ -42,13 +42,13 @@ async function writeClientSchemas(options) {
42
42
  emptySchemaStrategy,
43
43
  });
44
44
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
45
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
45
+ await this.writeOutputFile(file, formattedValue);
46
46
  if (useEslintFix) {
47
47
  await (0, eslintFix_1.eslintFix)(file);
48
48
  }
49
- this.logger.info(`File recording completed: ${file}`);
49
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
50
50
  }
51
- this.logger.info('The recording of model validation schema files has been completed successfully');
51
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SCHEMAS_FINISH);
52
52
  return modelsToWrite;
53
53
  }
54
54
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientSchemasIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemasIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBActF"}
1
+ {"version":3,"file":"writeClientSchemasIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientSchemasIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBtF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientSchemasIndex = writeClientSchemasIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientSchemasIndex(options) {
7
8
  const { models, templates, outputSchemasPath, useSeparatedIndexes } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputSchemasPath, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.schemas({ schemas: models });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }
@@ -12,7 +12,6 @@ type TServeceOutputsPath = Omit<OutputPaths, 'output' | 'outputSchemas'>;
12
12
  * @param useUnionTypes Use union types instead of enums
13
13
  * @param useOptions Use options or arguments functions
14
14
  * @param useCancelableRequest Use cancelable request type
15
- * @param useRequestRaw Generate *Raw service methods
16
15
  */
17
16
  interface IWriteClientServices {
18
17
  services: Service[];
@@ -22,7 +21,6 @@ interface IWriteClientServices {
22
21
  useUnionTypes: boolean;
23
22
  useOptions: boolean;
24
23
  useCancelableRequest: boolean;
25
- useRequestRaw: boolean;
26
24
  useProjectPrettier?: boolean;
27
25
  useEslintFix?: boolean;
28
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientServices.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BzG"}
1
+ {"version":3,"file":"writeClientServices.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServices.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;AAEzE;;;;;;;;GAQG;AACH,UAAU,oBAAoB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzG"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientServices = writeClientServices;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
4
5
  const eslintFix_1 = require("../../common/utils/eslintFix");
5
- const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
6
6
  const format_1 = require("../../common/utils/format");
7
7
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
8
8
  /**
@@ -15,11 +15,11 @@ const pathHelpers_1 = require("../../common/utils/pathHelpers");
15
15
  * @param useOptions Use options or arguments functions
16
16
  */
17
17
  async function writeClientServices(options) {
18
- const { services, templates, outputPaths, httpClient, useUnionTypes, useOptions, useCancelableRequest, useRequestRaw, useProjectPrettier, useEslintFix } = options;
19
- this.logger.info('Recording of service files begins');
18
+ const { services, templates, outputPaths, httpClient, useUnionTypes, useOptions, useCancelableRequest, useProjectPrettier, useEslintFix } = options;
19
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SERVICES_START);
20
20
  for (const service of services) {
21
21
  const file = (0, pathHelpers_1.resolveHelper)(outputPaths.outputServices, `${service.name}.ts`);
22
- this.logger.info(`The recording of the file data begins: ${file}`);
22
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.DATA_WRITE_START(file));
23
23
  const templateResult = templates.exports.service({
24
24
  ...service,
25
25
  httpClient,
@@ -28,14 +28,13 @@ async function writeClientServices(options) {
28
28
  outputCore: outputPaths.outputCore,
29
29
  outputModels: outputPaths.outputModels,
30
30
  useCancelableRequest,
31
- useRequestRaw,
32
31
  });
33
32
  const formattedValue = await (0, format_1.format)(templateResult, undefined, useProjectPrettier);
34
- await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
33
+ await this.writeOutputFile(file, formattedValue);
35
34
  if (useEslintFix) {
36
35
  await (0, eslintFix_1.eslintFix)(file);
37
36
  }
38
- this.logger.info(`File recording completed: ${file}`);
37
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.FILE_RECORDED(file));
39
38
  }
40
- this.logger.info('Service file recording completed successfully');
39
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.SERVICES_FINISH);
41
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeClientServicesIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServicesIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,UAAU,aAAa;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAcvF"}
1
+ {"version":3,"file":"writeClientServicesIndex.d.ts","sourceRoot":"","sources":["../../../src/core/utils/writeClientServicesIndex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,UAAU,aAAa;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,iBAuBvF"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.writeClientServicesIndex = writeClientServicesIndex;
4
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
4
6
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
5
- const appendUniqueLinesToFile_1 = require("./appendUniqueLinesToFile");
6
7
  async function writeClientServicesIndex(options) {
7
8
  const { services, templates, outputServices, useSeparatedIndexes } = options;
8
9
  if (!useSeparatedIndexes) {
9
10
  return;
10
11
  }
11
12
  const filePath = (0, pathHelpers_1.resolveHelper)(outputServices, 'index.ts');
12
- this.logger.info(`Data has been written to a file: ${filePath}`);
13
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_DATA_WRITTEN(filePath));
13
14
  const content = templates.indexes.services({ services });
14
- await (0, appendUniqueLinesToFile_1.appendUniqueLinesToFile)(filePath, content);
15
- this.logger.info(`Writing to the file is completed: ${filePath}`);
15
+ let existingContent = '';
16
+ const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
17
+ if (fileExists) {
18
+ existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, 'utf8');
19
+ }
20
+ const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
21
+ const dataLines = content.split(/\r?\n/).filter(Boolean);
22
+ const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
23
+ const updatedContent = linesToAdd.length > 0 ? existingContent + linesToAdd.join('\n') + '\n' : existingContent;
24
+ await this.writeOutputFile(filePath, updatedContent);
25
+ this.logger.info(LoggerMessages_1.LOGGER_MESSAGES.WRITE_CLIENT.INDEX_WRITE_COMPLETED(filePath));
16
26
  }