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.
- package/README.md +7 -0
- package/README.rus.md +7 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +31 -24
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts +2 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.js +47 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +8 -7
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +8 -7
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts +14 -2
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/analyzeDiff.js +56 -13
- package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -3
- package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/ciSummary.js +10 -6
- package/dist/cli/analyzeDiff/ignoreRules.d.ts +0 -6
- package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/ignoreRules.js +2 -3
- package/dist/cli/analyzeDiff/report.d.ts +0 -1
- package/dist/cli/analyzeDiff/report.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/report.js +1 -3
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +2 -0
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +1 -1
- package/dist/cli/analyzeDiff/writeLegacyReport.js +2 -0
- package/dist/cli/analyzeUsage/analyzeUsage.d.ts +2 -2
- package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/analyzeUsage.js +10 -12
- package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +1 -1
- package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/core/ProjectContext.js +5 -10
- package/dist/cli/analyzeUsage/core/Scanner.d.ts +8 -0
- package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/core/Scanner.js +10 -0
- package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +10 -2
- package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/ClientRule.js +29 -21
- package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +2 -2
- package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/CoverageRule.js +16 -24
- package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +4 -1
- package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +2 -2
- package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/ImportRule.js +9 -11
- package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +2 -2
- package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/ModelRule.js +4 -8
- package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +2 -2
- package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/SchemaRule.js +8 -10
- package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +10 -2
- package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/rules/ServiceRule.js +27 -23
- package/dist/cli/analyzeUsage/types.d.ts +4 -4
- package/dist/cli/analyzeUsage/types.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/utils/report.d.ts +1 -1
- package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -1
- package/dist/cli/analyzeUsage/utils/report.js +8 -8
- package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +9 -1
- package/dist/cli/index.js +3 -2
- package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.js +2 -8
- package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/cli/interactive/constants.d.ts +0 -4
- package/dist/cli/interactive/constants.d.ts.map +1 -1
- package/dist/cli/interactive/constants.js +1 -5
- package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.js +5 -12
- package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -1
- package/dist/cli/schemas/analyzeUsage.js +4 -1
- package/dist/cli/schemas/generate.d.ts +3 -2
- package/dist/cli/schemas/generate.d.ts.map +1 -1
- package/dist/cli/schemas/generate.js +3 -2
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +1 -2
- package/dist/common/Logger.d.ts.map +1 -1
- package/dist/common/Logger.js +1 -1
- package/dist/common/LoggerMessages.d.ts +15 -3
- package/dist/common/LoggerMessages.d.ts.map +1 -1
- package/dist/common/LoggerMessages.js +18 -7
- package/dist/common/TEslintFixOptions.d.ts +20 -0
- package/dist/common/TEslintFixOptions.d.ts.map +1 -0
- package/dist/common/TEslintFixOptions.js +15 -0
- package/dist/common/TRawOptions.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +2 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +1 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +3 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +10 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +4 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +7 -1
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +4 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +2 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +2 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +3 -2
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +4 -16
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.js +1 -1
- package/dist/common/VersionedSchema/Utils/createTrivialMigration.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/createTrivialMigration.js +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +1 -3
- package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +1 -3
- package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.js +1 -1
- package/dist/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.d.ts.map +1 -1
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +1 -1
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -1
- package/dist/common/utils/__tests__/eslintFix.test.js +25 -67
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts +2 -0
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/extractEslintFixOptions.test.js +28 -0
- package/dist/common/utils/__tests__/format.test.js +26 -17
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts +2 -0
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/prepareTempTsConfig.test.js +78 -0
- package/dist/common/utils/codegenTempDir.d.ts +20 -0
- package/dist/common/utils/codegenTempDir.d.ts.map +1 -0
- package/dist/common/utils/codegenTempDir.js +42 -0
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
- package/dist/common/utils/convertArrayToObject.js +3 -8
- package/dist/common/utils/eslintFix.d.ts +48 -4
- package/dist/common/utils/eslintFix.d.ts.map +1 -1
- package/dist/common/utils/eslintFix.js +121 -15
- package/dist/common/utils/format.d.ts +1 -1
- package/dist/common/utils/format.d.ts.map +1 -1
- package/dist/common/utils/format.js +23 -11
- package/dist/common/utils/jsonPath.d.ts.map +1 -1
- package/dist/common/utils/prepareTempEslintConfig.d.ts +18 -0
- package/dist/common/utils/prepareTempEslintConfig.d.ts.map +1 -0
- package/dist/common/utils/prepareTempEslintConfig.js +55 -0
- package/dist/common/utils/prepareTempTsConfig.d.ts +23 -0
- package/dist/common/utils/prepareTempTsConfig.d.ts.map +1 -0
- package/dist/common/utils/prepareTempTsConfig.js +105 -0
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +2 -6
- package/dist/core/OpenApiClient.d.ts +15 -0
- package/dist/core/OpenApiClient.d.ts.map +1 -1
- package/dist/core/OpenApiClient.js +68 -10
- package/dist/core/WriteClient.d.ts +73 -17
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +72 -18
- package/dist/core/__tests__/WriteClient.test.js +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.js +1 -3
- package/dist/core/api/v2/parser/getServiceName.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.js +1 -3
- package/dist/core/api/v3/parser/getServiceName.d.ts +1 -1
- package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -1
- package/dist/core/governance/evaluateGovernanceRules.js +1 -3
- package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -1
- package/dist/core/governance/loadGovernanceConfig.js +2 -4
- package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -1
- package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -1
- package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +79 -21
- package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +20 -1
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +58 -6
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -1
- package/dist/core/semanticDiff/analyzeOpenApiDiff.js +47 -19
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +9 -1
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -1
- package/dist/core/semanticDiff/semanticDiffReportSchema.js +137 -53
- package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -1
- package/dist/core/types/Consts.js +1 -1
- package/dist/core/types/DiffReport.model.d.ts +101 -0
- package/dist/core/types/DiffReport.model.d.ts.map +1 -0
- package/dist/core/types/DiffReport.model.js +5 -0
- package/dist/core/types/base/ClientArtifacts.model.d.ts +3 -3
- package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/ExportedModel.model.d.ts +1 -1
- package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -1
- package/dist/core/types/base/ExportedService.model.d.ts.map +1 -1
- package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -1
- package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/PropertyGroup.model.d.ts +1 -1
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/shared/Model.model.d.ts +36 -0
- package/dist/core/types/shared/Model.model.d.ts.map +1 -1
- package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +182 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts +2 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.js +77 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts +2 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.js +159 -0
- package/dist/core/utils/__tests__/loadDiffReport.test.js +131 -0
- package/dist/core/utils/__tests__/modelHelpers.test.js +27 -9
- package/dist/core/utils/__tests__/postProcessModelImports.test.js +1 -4
- package/dist/core/utils/__tests__/postProcessServiceImports.test.js +1 -4
- package/dist/core/utils/__tests__/prepareDtoModels.test.js +74 -2
- package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +27 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts +2 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/resolveClassesModeTypes.test.js +111 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts +2 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.js +68 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.js +10 -11
- package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +10 -27
- package/dist/core/utils/__tests__/templateRendering.test.js +71 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts +2 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts.map +1 -0
- package/dist/core/utils/adapters/__tests__/semanticToStructural.test.js +63 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts +10 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts.map +1 -0
- package/dist/core/utils/adapters/extractMiraclesFromSemantic.js +13 -0
- package/dist/core/utils/adapters/index.d.ts +4 -0
- package/dist/core/utils/adapters/index.d.ts.map +1 -0
- package/dist/core/utils/adapters/index.js +8 -0
- package/dist/core/utils/adapters/semanticToStructural.d.ts +12 -0
- package/dist/core/utils/adapters/semanticToStructural.d.ts.map +1 -0
- package/dist/core/utils/adapters/semanticToStructural.js +36 -0
- package/dist/core/utils/appendUniqueLinesToFile.js +1 -1
- package/dist/core/utils/applyDiffReportToClient.d.ts +13 -1
- package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -1
- package/dist/core/utils/applyDiffReportToClient.js +189 -109
- package/dist/core/utils/areEqual.d.ts +1 -1
- package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts +25 -0
- package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts.map +1 -0
- package/dist/core/utils/buildMiraclesFromSemanticChanges.js +146 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts +23 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts.map +1 -0
- package/dist/core/utils/expandOpenApiRefsForSemanticDiff.js +163 -0
- package/dist/core/utils/getOpenApiSpec.d.ts +18 -0
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +35 -0
- package/dist/core/utils/getOperationErrors.d.ts +2 -2
- package/dist/core/utils/getOperationErrors.d.ts.map +1 -1
- package/dist/core/utils/getOperationResults.d.ts +1 -1
- package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
- package/dist/core/utils/getPropertyGroupSimple.js +1 -3
- package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
- package/dist/core/utils/loadDiffReport.d.ts +11 -30
- package/dist/core/utils/loadDiffReport.d.ts.map +1 -1
- package/dist/core/utils/loadDiffReport.js +69 -3
- package/dist/core/utils/loadSemanticOpenApiSpec.d.ts +15 -0
- package/dist/core/utils/loadSemanticOpenApiSpec.d.ts.map +1 -0
- package/dist/core/utils/loadSemanticOpenApiSpec.js +61 -0
- package/dist/core/utils/modelHelpers.d.ts +13 -5
- package/dist/core/utils/modelHelpers.d.ts.map +1 -1
- package/dist/core/utils/modelHelpers.js +28 -23
- package/dist/core/utils/normalizeString.d.ts.map +1 -1
- package/dist/core/utils/normalizeString.js +1 -5
- package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessServiceImports.js +1 -3
- package/dist/core/utils/precompileTemplates.js +1 -0
- package/dist/core/utils/prepareAlias.d.ts +1 -1
- package/dist/core/utils/prepareDtoModels.d.ts +5 -0
- package/dist/core/utils/prepareDtoModels.d.ts.map +1 -1
- package/dist/core/utils/prepareDtoModels.js +56 -13
- package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -0
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +3 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts +1 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/resolveClassesModeTypes.d.ts +8 -0
- package/dist/core/utils/resolveClassesModeTypes.d.ts.map +1 -0
- package/dist/core/utils/resolveClassesModeTypes.js +77 -0
- package/dist/core/utils/semanticChangesToDiffEntries.d.ts +37 -0
- package/dist/core/utils/semanticChangesToDiffEntries.d.ts.map +1 -0
- package/dist/core/utils/semanticChangesToDiffEntries.js +99 -0
- package/dist/core/utils/semanticPointerToJsonPath.d.ts +7 -0
- package/dist/core/utils/semanticPointerToJsonPath.d.ts.map +1 -0
- package/dist/core/utils/semanticPointerToJsonPath.js +67 -0
- package/dist/core/utils/serviceHelpers.d.ts +6 -7
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
- package/dist/core/utils/serviceHelpers.js +8 -25
- package/dist/core/utils/sortModelByName.d.ts +1 -1
- package/dist/core/utils/writeClientExecutor.d.ts +1 -2
- package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
- package/dist/core/utils/writeClientExecutor.js +2 -6
- package/dist/core/utils/writeClientModels.d.ts +1 -2
- package/dist/core/utils/writeClientModels.d.ts.map +1 -1
- package/dist/core/utils/writeClientModels.js +4 -6
- package/dist/core/utils/writeClientSchemas.d.ts +1 -3
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +2 -7
- package/dist/core/utils/writeClientServices.d.ts +15 -16
- package/dist/core/utils/writeClientServices.d.ts.map +1 -1
- package/dist/core/utils/writeClientServices.js +6 -13
- package/dist/templatesCompiled/client/exportModels.d.ts +17 -11
- package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportModels.js +96 -49
- package/dist/templatesCompiled/client/exportService.d.ts +13 -10
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +95 -67
- package/dist/templatesCompiled/client/partials/header.d.ts +1 -0
- package/dist/templatesCompiled/client/partials/header.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/header.js +11 -2
- package/package.json +130 -136
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +0 -17
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +0 -1
- package/dist/cli/analyzeDiff/buildLegacyReport.js +0 -54
- package/dist/cli/analyzeDiff/diffEngine.d.ts +0 -54
- package/dist/cli/analyzeDiff/diffEngine.d.ts.map +0 -1
- 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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
* @
|
|
26
|
-
* @
|
|
27
|
-
* @
|
|
28
|
-
* @
|
|
29
|
-
* @
|
|
30
|
-
* @
|
|
31
|
-
* @
|
|
32
|
-
* @
|
|
33
|
-
* @
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
78
|
+
* Записывает OpenAPI-клиент по шаблонам в выходные директории.
|
|
79
|
+
* @param options параметры записи клиента
|
|
67
80
|
*/
|
|
68
81
|
writeClient(options: TWriteClientProps): Promise<void>;
|
|
69
82
|
private writeModelsAndFinalize;
|
|
70
83
|
/**
|
|
71
|
-
*
|
|
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
|
|
1
|
+
{"version":3,"file":"WriteClient.d.ts","sourceRoot":"","sources":["../../src/core/WriteClient.ts"],"names":[],"mappings":"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"}
|
package/dist/core/WriteClient.js
CHANGED
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
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,
|
|
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
|
-
|
|
76
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
*
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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"}
|