ts-openapi-codegen 2.0.0-beta.8 → 2.0.0
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 +88 -18
- package/README.rus.md +88 -21
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.js +14 -6
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.js +13 -5
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +24 -13
- package/dist/cli/index.js +10 -8
- package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/init.js +5 -13
- package/dist/cli/initOpenApiConfig/initConfig.js +3 -3
- package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
- package/dist/cli/previewChanges/previewChanges.js +119 -28
- package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
- package/dist/cli/schemas/base.d.ts +6 -1
- package/dist/cli/schemas/base.d.ts.map +1 -1
- package/dist/cli/schemas/base.js +10 -6
- package/dist/cli/schemas/checkConfig.d.ts +1 -1
- package/dist/cli/schemas/generate.d.ts +1 -25
- package/dist/cli/schemas/generate.d.ts.map +1 -1
- package/dist/cli/schemas/generate.js +21 -32
- package/dist/cli/schemas/index.d.ts +2 -1
- package/dist/cli/schemas/index.d.ts.map +1 -1
- package/dist/cli/schemas/index.js +1 -0
- package/dist/cli/schemas/init.d.ts +5 -5
- package/dist/cli/schemas/init.d.ts.map +1 -1
- package/dist/cli/schemas/init.js +4 -5
- package/dist/cli/schemas/previewChanges.d.ts +9 -0
- package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
- package/dist/cli/schemas/previewChanges.js +11 -0
- package/dist/cli/schemas/updateConfig.d.ts +1 -1
- package/dist/common/Consts.d.ts +2 -0
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +8 -2
- package/dist/common/LoggerMessages.d.ts +1 -0
- package/dist/common/LoggerMessages.d.ts.map +1 -1
- package/dist/common/LoggerMessages.js +2 -1
- package/dist/common/TRawOptions.d.ts +1 -1
- package/dist/common/TRawOptions.d.ts.map +1 -1
- package/dist/common/Validation/formatZodError.d.ts +10 -0
- package/dist/common/Validation/formatZodError.d.ts.map +1 -0
- package/dist/{cli/validation/errorFormatter.js → common/Validation/formatZodError.js} +14 -13
- package/dist/common/Validation/index.d.ts +3 -0
- package/dist/common/Validation/index.d.ts.map +1 -0
- package/dist/{cli/validation → common/Validation}/index.js +2 -2
- package/dist/{cli/validation/validateCLIOptions.d.ts → common/Validation/validateZodOptions.d.ts} +4 -4
- package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
- package/dist/{cli/validation/validateCLIOptions.js → common/Validation/validateZodOptions.js} +7 -10
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +14 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -14
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +36 -6
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +33 -37
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +37 -6
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +30 -37
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +42 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +38 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +192 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +27 -0
- package/dist/common/VersionedSchema/CommonSchemas.d.ts +61 -30
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +56 -73
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
- package/dist/common/VersionedSchema/Types.d.ts +5 -5
- package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +104 -0
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +40 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +93 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +6 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +70 -25
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +3 -3
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +17 -4
- package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +12 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +41 -22
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
- package/dist/common/utils/__tests__/convertArrayToObject.test.js +64 -169
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
- package/dist/common/utils/convertArrayToObject.js +51 -14
- package/dist/core/Context.d.ts +6 -5
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +69 -26
- package/dist/core/OpenApiClient.d.ts.map +1 -1
- package/dist/core/OpenApiClient.js +24 -9
- package/dist/core/WriteClient.d.ts +8 -1
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +48 -7
- package/dist/core/__tests__/WriteClient.test.js +2 -0
- package/dist/core/api/v2/Parser.d.ts +1 -1
- package/dist/core/api/v2/Parser.d.ts.map +1 -1
- package/dist/core/api/v2/Parser.js +2 -2
- package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModel.js +2 -5
- package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModelProperties.js +1 -3
- package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModels.js +1 -2
- package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
- package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
- package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
- package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getServices.js +4 -3
- package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getType.js +4 -3
- package/dist/core/api/v3/Parser.d.ts +1 -1
- package/dist/core/api/v3/Parser.d.ts.map +1 -1
- package/dist/core/api/v3/Parser.js +2 -2
- package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModel.js +2 -5
- package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModelProperties.js +1 -3
- package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModels.js +1 -2
- package/dist/core/api/v3/parser/getOperation.js +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
- package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
- package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
- package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
- package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
- package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getServices.js +4 -3
- package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getType.js +4 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/types/base/Templates.model.d.ts +1 -1
- package/dist/core/types/base/Templates.model.d.ts.map +1 -1
- package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
- package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
- package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
- package/dist/core/utils/__tests__/getRelativeModelPath.test.js +9 -3
- package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
- package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
- package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.js +121 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
- package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +14 -1
- package/dist/core/utils/modelHelpers.d.ts.map +1 -1
- package/dist/core/utils/modelHelpers.js +37 -3
- package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessModelImports.js +14 -1
- package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessServiceImports.js +1 -2
- package/dist/core/utils/precompileTemplates.js +1 -0
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +25 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.js +42 -41
- package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
- package/dist/core/utils/resolveRefPath.js +1 -4
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
- package/dist/core/utils/serviceHelpers.js +32 -6
- package/dist/core/utils/validateRawOptions.d.ts +3 -0
- package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
- package/dist/core/utils/validateRawOptions.js +15 -0
- package/dist/core/utils/writeClientExecutor.d.ts +4 -1
- package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
- package/dist/core/utils/writeClientExecutor.js +17 -2
- package/dist/core/utils/writeClientSchemas.d.ts +4 -1
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +11 -2
- package/dist/templatesCompiled/client/core/ApiError.js +1 -1
- package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
- package/dist/templatesCompiled/client/core/axios/request.js +3 -3
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
- package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
- package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
- package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
- package/dist/templatesCompiled/client/core/node/request.js +3 -3
- package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
- package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
- package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportClient.js +51 -13
- package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
- package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportSchema.js +37 -7
- package/dist/templatesCompiled/client/exportService.d.ts +2 -0
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +71 -31
- package/dist/templatesCompiled/client/indexFull.d.ts +1 -0
- package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexFull.js +4 -1
- package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
- package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexSimple.js +4 -1
- package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
- package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
- package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
- package/dist/templatesCompiled/client/jsonschema/exportSchema.js +5 -5
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
- package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
- package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
- package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
- package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
- package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
- package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
- package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
- package/package.json +2 -2
- package/dist/cli/validation/errorFormatter.d.ts +0 -6
- package/dist/cli/validation/errorFormatter.d.ts.map +0 -1
- package/dist/cli/validation/index.d.ts +0 -3
- package/dist/cli/validation/index.d.ts.map +0 -1
- package/dist/cli/validation/validateCLIOptions.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
- package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
- package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
- package/dist/common/defaultOptions.d.ts +0 -3
- package/dist/common/defaultOptions.d.ts.map +0 -1
- package/dist/common/defaultOptions.js +0 -28
- package/dist/common/schemas/configSchemas.d.ts +0 -91
- package/dist/common/schemas/configSchemas.d.ts.map +0 -1
- package/dist/common/schemas/configSchemas.js +0 -131
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
- package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
- package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
- package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
- package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
- package/dist/core/utils/advancedDeduplicatePath.js +0 -29
|
@@ -9,6 +9,7 @@ const pathHelpers_1 = require("../common/utils/pathHelpers");
|
|
|
9
9
|
const Parser_1 = require("./api/v2/Parser");
|
|
10
10
|
const Parser_2 = require("./api/v3/Parser");
|
|
11
11
|
const Context_1 = require("./Context");
|
|
12
|
+
const EmptySchemaStrategy_enum_1 = require("./types/enums/EmptySchemaStrategy.enum");
|
|
12
13
|
const ValidationLibrary_enum_1 = require("./types/enums/ValidationLibrary.enum");
|
|
13
14
|
const getOpenApiSpec_1 = require("./utils/getOpenApiSpec");
|
|
14
15
|
const getOpenApiVersion_1 = require("./utils/getOpenApiVersion");
|
|
@@ -29,9 +30,12 @@ class OpenApiClient {
|
|
|
29
30
|
// Для items: Наследуем глобальный request, если не переопределён
|
|
30
31
|
return rawOptions.items.map(item => ({
|
|
31
32
|
...item,
|
|
33
|
+
httpClient: rawOptions.httpClient,
|
|
32
34
|
request: item.request ?? rawOptions.request, // ?? для fallback на глобальный
|
|
35
|
+
customExecutorPath: rawOptions.customExecutorPath,
|
|
33
36
|
useOptions: rawOptions.useOptions,
|
|
34
37
|
useUnionTypes: rawOptions.useUnionTypes,
|
|
38
|
+
includeSchemasFiles: rawOptions.includeSchemasFiles,
|
|
35
39
|
excludeCoreServiceFiles: rawOptions.excludeCoreServiceFiles,
|
|
36
40
|
interfacePrefix: rawOptions.interfacePrefix,
|
|
37
41
|
enumPrefix: rawOptions.enumPrefix,
|
|
@@ -42,6 +46,7 @@ class OpenApiClient {
|
|
|
42
46
|
sortByRequired: rawOptions.sortByRequired,
|
|
43
47
|
useSeparatedIndexes: rawOptions.useSeparatedIndexes,
|
|
44
48
|
validationLibrary: rawOptions.validationLibrary,
|
|
49
|
+
emptySchemaStrategy: rawOptions.emptySchemaStrategy,
|
|
45
50
|
}));
|
|
46
51
|
}
|
|
47
52
|
else {
|
|
@@ -57,8 +62,10 @@ class OpenApiClient {
|
|
|
57
62
|
httpClient: rawOptions.httpClient,
|
|
58
63
|
useOptions: rawOptions.useOptions,
|
|
59
64
|
useUnionTypes: rawOptions.useUnionTypes,
|
|
65
|
+
includeSchemasFiles: rawOptions.includeSchemasFiles,
|
|
60
66
|
excludeCoreServiceFiles: rawOptions.excludeCoreServiceFiles,
|
|
61
67
|
request: rawOptions.request,
|
|
68
|
+
customExecutorPath: rawOptions.customExecutorPath,
|
|
62
69
|
interfacePrefix: rawOptions.interfacePrefix,
|
|
63
70
|
enumPrefix: rawOptions.enumPrefix,
|
|
64
71
|
typePrefix: rawOptions.typePrefix,
|
|
@@ -68,6 +75,7 @@ class OpenApiClient {
|
|
|
68
75
|
sortByRequired: rawOptions.sortByRequired,
|
|
69
76
|
useSeparatedIndexes: rawOptions.useSeparatedIndexes,
|
|
70
77
|
validationLibrary: rawOptions.validationLibrary,
|
|
78
|
+
emptySchemaStrategy: rawOptions.emptySchemaStrategy,
|
|
71
79
|
},
|
|
72
80
|
];
|
|
73
81
|
}
|
|
@@ -83,8 +91,10 @@ class OpenApiClient {
|
|
|
83
91
|
httpClient: item.httpClient || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.httpClient,
|
|
84
92
|
useOptions: item.useOptions ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useOptions,
|
|
85
93
|
useUnionTypes: item.useUnionTypes ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useUnionTypes,
|
|
94
|
+
includeSchemasFiles: item.includeSchemasFiles ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.includeSchemasFiles,
|
|
86
95
|
excludeCoreServiceFiles: item.excludeCoreServiceFiles ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.excludeCoreServiceFiles,
|
|
87
96
|
request: item.request || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.request,
|
|
97
|
+
customExecutorPath: item.customExecutorPath || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.customExecutorPath,
|
|
88
98
|
interfacePrefix: item.interfacePrefix || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.interfacePrefix,
|
|
89
99
|
enumPrefix: item.enumPrefix || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.enumPrefix,
|
|
90
100
|
typePrefix: item.typePrefix || Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.typePrefix,
|
|
@@ -94,6 +104,7 @@ class OpenApiClient {
|
|
|
94
104
|
sortByRequired: item.sortByRequired ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.sortByRequired,
|
|
95
105
|
useSeparatedIndexes: item.useSeparatedIndexes ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useSeparatedIndexes,
|
|
96
106
|
validationLibrary: item.validationLibrary ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.validationLibrary,
|
|
107
|
+
emptySchemaStrategy: item.emptySchemaStrategy ?? Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.emptySchemaStrategy,
|
|
97
108
|
};
|
|
98
109
|
}
|
|
99
110
|
async cleanOutputDirectories(option) {
|
|
@@ -110,16 +121,16 @@ class OpenApiClient {
|
|
|
110
121
|
}
|
|
111
122
|
this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.STARTED(items.length));
|
|
112
123
|
try {
|
|
113
|
-
const start = process.hrtime();
|
|
124
|
+
const start = process.hrtime.bigint();
|
|
114
125
|
for (const option of items) {
|
|
115
126
|
await this.cleanOutputDirectories(option);
|
|
116
127
|
}
|
|
117
128
|
for (const option of items) {
|
|
118
|
-
const fileStart = process.hrtime();
|
|
129
|
+
const fileStart = process.hrtime.bigint();
|
|
119
130
|
await this.generateSingle(option);
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
this.writeClient.logger.
|
|
131
|
+
const fileEnd = process.hrtime.bigint();
|
|
132
|
+
const fileDurationInSeconds = Number(fileEnd - fileStart) / 1e9;
|
|
133
|
+
this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.DURATION_FOR_FILE(option.input, fileDurationInSeconds.toFixed(3)));
|
|
123
134
|
}
|
|
124
135
|
if (items[0]?.useSeparatedIndexes) {
|
|
125
136
|
await this.writeClient.combineAndWrightSimple();
|
|
@@ -128,9 +139,9 @@ class OpenApiClient {
|
|
|
128
139
|
await this.writeClient.combineAndWrite();
|
|
129
140
|
}
|
|
130
141
|
this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.FINISHED);
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.FINISHED_WITH_DURATION(
|
|
142
|
+
const end = process.hrtime.bigint();
|
|
143
|
+
const durationInSeconds = Number(end - start) / 1e9;
|
|
144
|
+
this.writeClient.logger.forceInfo(LoggerMessages_1.LOGGER_MESSAGES.GENERATION.FINISHED_WITH_DURATION(durationInSeconds.toFixed(3)));
|
|
134
145
|
}
|
|
135
146
|
catch (error) {
|
|
136
147
|
this.writeClient.logger.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(error.message));
|
|
@@ -138,7 +149,7 @@ class OpenApiClient {
|
|
|
138
149
|
this.writeClient.logger.shutdownLogger();
|
|
139
150
|
}
|
|
140
151
|
async generateSingle(item) {
|
|
141
|
-
const { input, output, outputCore, outputServices, outputModels, outputSchemas, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles, request, interfacePrefix, enumPrefix, typePrefix, useCancelableRequest, sortByRequired, useSeparatedIndexes, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, } = item;
|
|
152
|
+
const { input, output, outputCore, outputServices, outputModels, outputSchemas, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles, request, customExecutorPath, interfacePrefix, enumPrefix, typePrefix, useCancelableRequest, sortByRequired, useSeparatedIndexes, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy = EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP, } = item;
|
|
142
153
|
const outputPaths = (0, getOutputPaths_1.getOutputPaths)({
|
|
143
154
|
output,
|
|
144
155
|
outputCore,
|
|
@@ -171,9 +182,11 @@ class OpenApiClient {
|
|
|
171
182
|
useUnionTypes,
|
|
172
183
|
excludeCoreServiceFiles,
|
|
173
184
|
request,
|
|
185
|
+
customExecutorPath,
|
|
174
186
|
useCancelableRequest,
|
|
175
187
|
useSeparatedIndexes,
|
|
176
188
|
validationLibrary,
|
|
189
|
+
emptySchemaStrategy,
|
|
177
190
|
});
|
|
178
191
|
break;
|
|
179
192
|
}
|
|
@@ -190,9 +203,11 @@ class OpenApiClient {
|
|
|
190
203
|
useUnionTypes,
|
|
191
204
|
excludeCoreServiceFiles,
|
|
192
205
|
request,
|
|
206
|
+
customExecutorPath,
|
|
193
207
|
useCancelableRequest,
|
|
194
208
|
useSeparatedIndexes,
|
|
195
209
|
validationLibrary,
|
|
210
|
+
emptySchemaStrategy,
|
|
196
211
|
});
|
|
197
212
|
break;
|
|
198
213
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Logger } from '../common/Logger';
|
|
2
2
|
import { OutputPaths } from './types/base/OutputPaths.model';
|
|
3
3
|
import { Templates } from './types/base/Templates.model';
|
|
4
|
+
import { EmptySchemaStrategy } from './types/enums/EmptySchemaStrategy.enum';
|
|
4
5
|
import { HttpClient } from './types/enums/HttpClient.enum';
|
|
5
6
|
import { ValidationLibrary } from './types/enums/ValidationLibrary.enum';
|
|
6
7
|
import type { Client } from './types/shared/Client.model';
|
|
8
|
+
import type { Model } from './types/shared/Model.model';
|
|
7
9
|
import { writeClientCore } from './utils/writeClientCore';
|
|
8
10
|
import { writeClientCoreIndex } from './utils/writeClientCoreIndex';
|
|
9
11
|
import { writeClientExecutor } from './utils/writeClientExecutor';
|
|
@@ -37,11 +39,15 @@ type TWriteClientProps = {
|
|
|
37
39
|
useUnionTypes: boolean;
|
|
38
40
|
excludeCoreServiceFiles: boolean;
|
|
39
41
|
request?: string;
|
|
42
|
+
customExecutorPath?: string;
|
|
40
43
|
useCancelableRequest?: boolean;
|
|
41
44
|
useSeparatedIndexes?: boolean;
|
|
42
45
|
validationLibrary?: ValidationLibrary;
|
|
46
|
+
emptySchemaStrategy: EmptySchemaStrategy;
|
|
47
|
+
};
|
|
48
|
+
type TAPIClientGeneratorConfig = Omit<TWriteClientProps, 'httpClient' | 'useOptions' | 'request' | 'useCancelableRequest' | 'useSeparatedIndexes'> & {
|
|
49
|
+
schemaModels: Model[];
|
|
43
50
|
};
|
|
44
|
-
type TAPIClientGeneratorConfig = Omit<TWriteClientProps, 'httpClient' | 'useOptions' | 'request' | 'useCancelableRequest' | 'useSeparatedIndexes'>;
|
|
45
51
|
/**
|
|
46
52
|
* The client which is writing all items and keep the parameters to write index file
|
|
47
53
|
*/
|
|
@@ -53,6 +59,7 @@ export declare class WriteClient {
|
|
|
53
59
|
* Write our OpenAPI client, using the given templates at the given output
|
|
54
60
|
*/
|
|
55
61
|
writeClient(options: TWriteClientProps): Promise<void>;
|
|
62
|
+
private writeModelsAndFinalize;
|
|
56
63
|
/**
|
|
57
64
|
* Method keeps all options that is need to create index file
|
|
58
65
|
* @param config
|
|
@@ -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,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
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,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;AAExE;;;;;;;;;;;;GAYG;AACH,KAAK,iBAAiB,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,sBAAsB,GAAG,qBAAqB,CAAC,GAAG;IACjJ,YAAY,EAAE,KAAK,EAAE,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAuD;IACrE,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAU3B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAuH9C,sBAAsB;IA+BpC;;;OAGG;IACH,6BAA6B,CAAC,MAAM,EAAE,yBAAyB;IAUzD,eAAe;IAKf,sBAAsB;IAK5B,IAAW,MAAM,WAEhB;IAED,OAAO,CAAC,yBAAyB;IAyCjC,OAAO,CAAC,mBAAmB;YA4Db,gBAAgB;YAUhB,uBAAuB;IAMrC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAId,eAAe,yBAAmB;IAClC,oBAAoB,8BAAwB;IAC5C,oBAAoB,8BAAwB;IAC5C,iBAAiB,2BAAqB;IACtC,sBAAsB,gCAA0B;IAChD,kBAAkB,4BAAsB;IACxC,uBAAuB,iCAA2B;IAClD,mBAAmB,6BAAuB;IAC1C,wBAAwB,kCAA4B;IACpD,sBAAsB,gCAA0B;IAChD,mBAAmB,6BAAuB;CACpD"}
|
package/dist/core/WriteClient.js
CHANGED
|
@@ -39,7 +39,7 @@ class WriteClient {
|
|
|
39
39
|
* Write our OpenAPI client, using the given templates at the given output
|
|
40
40
|
*/
|
|
41
41
|
async writeClient(options) {
|
|
42
|
-
const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles = false, request, useCancelableRequest = false, useSeparatedIndexes = false, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, } = options;
|
|
42
|
+
const { client, templates, outputPaths, httpClient, useOptions, useUnionTypes, excludeCoreServiceFiles = false, request, customExecutorPath, useCancelableRequest = false, useSeparatedIndexes = false, validationLibrary = ValidationLibrary_enum_1.ValidationLibrary.NONE, emptySchemaStrategy, } = options;
|
|
43
43
|
if (!excludeCoreServiceFiles) {
|
|
44
44
|
const executorPath = (0, pathHelpers_1.resolveHelper)(outputPaths.outputCore, 'executor');
|
|
45
45
|
const interceptorsPath = (0, pathHelpers_1.resolveHelper)(outputPaths.outputCore, 'interceptors');
|
|
@@ -79,6 +79,8 @@ class WriteClient {
|
|
|
79
79
|
outputCorePath: (0, pathHelpers_1.relativeHelper)(outputPaths.output, outputCore),
|
|
80
80
|
services: client.services,
|
|
81
81
|
templates,
|
|
82
|
+
request,
|
|
83
|
+
customExecutorPath,
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
/**
|
|
@@ -87,21 +89,58 @@ class WriteClient {
|
|
|
87
89
|
*/
|
|
88
90
|
if (validationLibrary !== ValidationLibrary_enum_1.ValidationLibrary.NONE) {
|
|
89
91
|
await fileSystemHelpers_1.fileSystemHelpers.mkdir(outputPaths.outputSchemas);
|
|
90
|
-
await this.writeClientSchemas({
|
|
92
|
+
const schemaModels = await this.writeClientSchemas({
|
|
91
93
|
models: client.models,
|
|
92
94
|
templates,
|
|
93
95
|
outputSchemasPath: outputPaths.outputSchemas,
|
|
94
96
|
httpClient,
|
|
95
97
|
useUnionTypes,
|
|
96
98
|
validationLibrary,
|
|
99
|
+
emptySchemaStrategy,
|
|
97
100
|
});
|
|
98
101
|
await this.writeClientSchemasIndex({
|
|
99
|
-
models:
|
|
102
|
+
models: schemaModels,
|
|
100
103
|
templates,
|
|
101
104
|
outputSchemasPath: outputPaths.outputSchemas,
|
|
102
105
|
useSeparatedIndexes,
|
|
103
106
|
});
|
|
107
|
+
await this.writeModelsAndFinalize({
|
|
108
|
+
client,
|
|
109
|
+
templates,
|
|
110
|
+
outputPaths,
|
|
111
|
+
httpClient,
|
|
112
|
+
useOptions,
|
|
113
|
+
useUnionTypes,
|
|
114
|
+
excludeCoreServiceFiles,
|
|
115
|
+
request,
|
|
116
|
+
customExecutorPath,
|
|
117
|
+
useCancelableRequest,
|
|
118
|
+
useSeparatedIndexes,
|
|
119
|
+
validationLibrary,
|
|
120
|
+
emptySchemaStrategy,
|
|
121
|
+
schemaModels,
|
|
122
|
+
});
|
|
123
|
+
return;
|
|
104
124
|
}
|
|
125
|
+
await this.writeModelsAndFinalize({
|
|
126
|
+
client,
|
|
127
|
+
templates,
|
|
128
|
+
outputPaths,
|
|
129
|
+
httpClient,
|
|
130
|
+
useOptions,
|
|
131
|
+
useUnionTypes,
|
|
132
|
+
excludeCoreServiceFiles,
|
|
133
|
+
request,
|
|
134
|
+
customExecutorPath,
|
|
135
|
+
useCancelableRequest,
|
|
136
|
+
useSeparatedIndexes,
|
|
137
|
+
validationLibrary,
|
|
138
|
+
emptySchemaStrategy,
|
|
139
|
+
schemaModels: [],
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
async writeModelsAndFinalize(config) {
|
|
143
|
+
const { client, templates, outputPaths, httpClient, useUnionTypes, useSeparatedIndexes, excludeCoreServiceFiles, validationLibrary, emptySchemaStrategy, schemaModels } = config;
|
|
105
144
|
await fileSystemHelpers_1.fileSystemHelpers.mkdir(outputPaths.outputModels);
|
|
106
145
|
await this.writeClientModels({
|
|
107
146
|
models: client.models,
|
|
@@ -124,6 +163,8 @@ class WriteClient {
|
|
|
124
163
|
useUnionTypes,
|
|
125
164
|
excludeCoreServiceFiles,
|
|
126
165
|
validationLibrary,
|
|
166
|
+
emptySchemaStrategy,
|
|
167
|
+
schemaModels,
|
|
127
168
|
});
|
|
128
169
|
}
|
|
129
170
|
/**
|
|
@@ -155,7 +196,7 @@ class WriteClient {
|
|
|
155
196
|
const result = new Map();
|
|
156
197
|
for (const [key, value] of this.config.entries()) {
|
|
157
198
|
for (const item of value) {
|
|
158
|
-
const { outputPaths, templates, excludeCoreServiceFiles, validationLibrary } = item;
|
|
199
|
+
const { outputPaths, templates, excludeCoreServiceFiles, validationLibrary, schemaModels } = item;
|
|
159
200
|
const outputCore = this.getOutputPath(outputPaths?.outputCore, key, 'core');
|
|
160
201
|
const outputModels = this.getOutputPath(outputPaths?.outputModels, key, 'models');
|
|
161
202
|
const outputSchemas = this.getOutputPath(outputPaths?.outputSchemas, key, 'schemas');
|
|
@@ -175,7 +216,7 @@ class WriteClient {
|
|
|
175
216
|
if (!clientIndex.models.includes(relativePathModel)) {
|
|
176
217
|
clientIndex.models.push(relativePathModel);
|
|
177
218
|
}
|
|
178
|
-
if (validationLibrary !== ValidationLibrary_enum_1.ValidationLibrary.NONE) {
|
|
219
|
+
if (validationLibrary !== ValidationLibrary_enum_1.ValidationLibrary.NONE && schemaModels.length > 0) {
|
|
179
220
|
const relativePathSchema = (0, pathHelpers_1.relativeHelper)(key, outputSchemas);
|
|
180
221
|
if (!clientIndex.schemas.includes(relativePathSchema)) {
|
|
181
222
|
clientIndex.schemas.push(relativePathSchema);
|
|
@@ -189,7 +230,7 @@ class WriteClient {
|
|
|
189
230
|
const result = new Map();
|
|
190
231
|
for (const [key, value] of this.config.entries()) {
|
|
191
232
|
for (const item of value) {
|
|
192
|
-
const { outputPaths, client, templates, useUnionTypes, excludeCoreServiceFiles, validationLibrary } = item;
|
|
233
|
+
const { outputPaths, client, templates, useUnionTypes, excludeCoreServiceFiles, validationLibrary, schemaModels } = item;
|
|
193
234
|
const outputCore = this.getOutputPath(outputPaths?.outputCore, key, 'core');
|
|
194
235
|
const outputModels = this.getOutputPath(outputPaths?.outputModels, key, 'models');
|
|
195
236
|
const outputSchemas = this.getOutputPath(outputPaths?.outputSchemas, key, 'schemas');
|
|
@@ -225,7 +266,7 @@ class WriteClient {
|
|
|
225
266
|
if (!clientIndex.models.some(m => this.isSameModel(m, modelFinal))) {
|
|
226
267
|
clientIndex.models.push(modelFinal);
|
|
227
268
|
}
|
|
228
|
-
if (validationLibrary !== ValidationLibrary_enum_1.ValidationLibrary.NONE) {
|
|
269
|
+
if (validationLibrary !== ValidationLibrary_enum_1.ValidationLibrary.NONE && schemaModels.some(schemaModel => schemaModel.name === model.name && schemaModel.path === model.path)) {
|
|
229
270
|
const schema = { ...modelFinal, package: relativePathSchema };
|
|
230
271
|
if (!clientIndex.schemas.some(s => this.isSameShema(s, schema))) {
|
|
231
272
|
clientIndex.schemas.push(schema);
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
7
|
const node_test_1 = require("node:test");
|
|
8
8
|
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
9
|
+
const EmptySchemaStrategy_enum_1 = require("../types/enums/EmptySchemaStrategy.enum");
|
|
9
10
|
const HttpClient_enum_1 = require("../types/enums/HttpClient.enum");
|
|
10
11
|
const ValidationLibrary_enum_1 = require("../types/enums/ValidationLibrary.enum");
|
|
11
12
|
const getOutputPaths_1 = require("../utils/getOutputPaths");
|
|
@@ -70,6 +71,7 @@ const WriteClient_1 = require("../WriteClient");
|
|
|
70
71
|
useUnionTypes: false,
|
|
71
72
|
excludeCoreServiceFiles: false,
|
|
72
73
|
validationLibrary: ValidationLibrary_enum_1.ValidationLibrary.NONE,
|
|
74
|
+
emptySchemaStrategy: EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP,
|
|
73
75
|
});
|
|
74
76
|
strict_1.default.ok(mkdirCalls.length > 0, 'mkdir should be called at least once');
|
|
75
77
|
strict_1.default.ok(writeFileCalls.length > 0, 'writeFile should be called at least once');
|
|
@@ -15,7 +15,7 @@ export declare class Parser {
|
|
|
15
15
|
_context: Context;
|
|
16
16
|
constructor(context: Context);
|
|
17
17
|
get context(): Context;
|
|
18
|
-
getTypeNameByRef(value: string, ref?: string): string;
|
|
18
|
+
getTypeNameByRef(value: string, ref: string, parentSourceFile?: string): string;
|
|
19
19
|
parse: typeof parse;
|
|
20
20
|
getModels: typeof getModels;
|
|
21
21
|
getType: typeof getType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/core/api/v2/Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACR,QAAQ,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,OAAO;IAI5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAEM,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/core/api/v2/Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACR,QAAQ,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,OAAO;IAI5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAEM,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/E,KAAK,eAAS;IACd,SAAS,mBAAa;IACtB,OAAO,iBAAW;IAClB,QAAQ,kBAAY;IACpB,mBAAmB,6BAAuB;IAC1C,kBAAkB,4BAAsB;IACxC,WAAW,qBAAe;IAC1B,sBAAsB,gCAA0B;IAChD,qBAAqB,+BAAyB;IAC9C,YAAY,sBAAgB;IAC5B,qBAAqB,+BAAyB;IAC9C,oBAAoB,8BAAwB;CACtD"}
|
|
@@ -22,9 +22,9 @@ class Parser {
|
|
|
22
22
|
get context() {
|
|
23
23
|
return this._context;
|
|
24
24
|
}
|
|
25
|
-
getTypeNameByRef(value, ref) {
|
|
25
|
+
getTypeNameByRef(value, ref, parentSourceFile) {
|
|
26
26
|
if (ref) {
|
|
27
|
-
const definition = this.context.get(ref);
|
|
27
|
+
const definition = this.context.get(ref, parentSourceFile);
|
|
28
28
|
return (0, getModelNameWithPrefix_1.getModelNameWithPrefix)(value, definition, this._context.prefix);
|
|
29
29
|
}
|
|
30
30
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAM/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,CAyJjE"}
|
|
@@ -6,7 +6,6 @@ const getComment_1 = require("../../../utils/getComment");
|
|
|
6
6
|
const getEnum_1 = require("../../../utils/getEnum");
|
|
7
7
|
const getEnumFromDescription_1 = require("../../../utils/getEnumFromDescription");
|
|
8
8
|
const getPattern_1 = require("../../../utils/getPattern");
|
|
9
|
-
const normalizeRef_1 = require("../../../utils/normalizeRef");
|
|
10
9
|
function getModel(config) {
|
|
11
10
|
const { openApi, definition, isDefinition = false, name = '', path = '', parentRef } = config;
|
|
12
11
|
const model = {
|
|
@@ -45,8 +44,7 @@ function getModel(config) {
|
|
|
45
44
|
properties: [],
|
|
46
45
|
};
|
|
47
46
|
if (definition.$ref) {
|
|
48
|
-
const
|
|
49
|
-
const definitionRef = this.getType(definition.$ref, normalizedRef);
|
|
47
|
+
const definitionRef = this.getType(definition.$ref, parentRef);
|
|
50
48
|
model.export = 'reference';
|
|
51
49
|
model.type = definitionRef.type;
|
|
52
50
|
model.base = definitionRef.base;
|
|
@@ -77,8 +75,7 @@ function getModel(config) {
|
|
|
77
75
|
}
|
|
78
76
|
if (definition.type === 'array' && definition.items) {
|
|
79
77
|
if (definition.items.$ref) {
|
|
80
|
-
const
|
|
81
|
-
const arrayItems = this.getType(definition.items.$ref, normalizedRef);
|
|
78
|
+
const arrayItems = this.getType(definition.items.$ref, parentRef);
|
|
82
79
|
model.export = 'array';
|
|
83
80
|
model.type = arrayItems.type;
|
|
84
81
|
model.base = arrayItems.base;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModelProperties.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModelProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"getModelProperties.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModelProperties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAI/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,CAgFxH"}
|
|
@@ -5,7 +5,6 @@ const safeHasOwn_1 = require("../../../../common/utils/safeHasOwn");
|
|
|
5
5
|
const escapeName_1 = require("../../../utils/escapeName");
|
|
6
6
|
const getComment_1 = require("../../../utils/getComment");
|
|
7
7
|
const getPattern_1 = require("../../../utils/getPattern");
|
|
8
|
-
const normalizeRef_1 = require("../../../utils/normalizeRef");
|
|
9
8
|
function getModelProperties(openApi, definition, parentRef) {
|
|
10
9
|
const models = [];
|
|
11
10
|
for (const propertyName in definition.properties) {
|
|
@@ -13,8 +12,7 @@ function getModelProperties(openApi, definition, parentRef) {
|
|
|
13
12
|
const property = definition.properties[propertyName];
|
|
14
13
|
const propertyRequired = definition.required?.includes(propertyName) || property.default !== undefined;
|
|
15
14
|
if (property.$ref) {
|
|
16
|
-
const
|
|
17
|
-
const model = this.getType(property.$ref, normalizedRef);
|
|
15
|
+
const model = this.getType(property.$ref, parentRef);
|
|
18
16
|
models.push({
|
|
19
17
|
name: (0, escapeName_1.escapeName)(propertyName),
|
|
20
18
|
alias: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModels.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"getModels.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAI/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,CAsBjE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getModels = getModels;
|
|
4
|
-
const getModelNameWithPrefix_1 = require("../../../utils/getModelNameWithPrefix");
|
|
5
4
|
const modelHelpers_1 = require("../../../utils/modelHelpers");
|
|
6
5
|
const sortModelsByName_1 = require("../../../utils/sortModelsByName");
|
|
7
6
|
const unique_1 = require("../../../utils/unique");
|
|
@@ -16,7 +15,7 @@ function getModels(openApi) {
|
|
|
16
15
|
openApi: openApi,
|
|
17
16
|
definition: definition,
|
|
18
17
|
isDefinition: true,
|
|
19
|
-
name:
|
|
18
|
+
name: definitionType.base,
|
|
20
19
|
path: definitionType.path,
|
|
21
20
|
parentRef: modelRef,
|
|
22
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOperationParameter.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationParameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"getOperationParameter.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationParameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAOzF,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,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAsIxI"}
|
|
@@ -7,7 +7,6 @@ const getEnum_1 = require("../../../utils/getEnum");
|
|
|
7
7
|
const getEnumFromDescription_1 = require("../../../utils/getEnumFromDescription");
|
|
8
8
|
const getOperationParameterName_1 = require("../../../utils/getOperationParameterName");
|
|
9
9
|
const getPattern_1 = require("../../../utils/getPattern");
|
|
10
|
-
const normalizeRef_1 = require("../../../utils/normalizeRef");
|
|
11
10
|
const getOperationParameterDefault_1 = require("./getOperationParameterDefault");
|
|
12
11
|
function getOperationParameter(openApi, parameter, parentRef) {
|
|
13
12
|
const operationParameter = {
|
|
@@ -45,8 +44,7 @@ function getOperationParameter(openApi, parameter, parentRef) {
|
|
|
45
44
|
mediaType: null,
|
|
46
45
|
};
|
|
47
46
|
if (parameter.$ref) {
|
|
48
|
-
const
|
|
49
|
-
const definitionRef = this.getType(parameter.$ref, normalizedRef);
|
|
47
|
+
const definitionRef = this.getType(parameter.$ref, parentRef);
|
|
50
48
|
operationParameter.export = 'reference';
|
|
51
49
|
operationParameter.type = definitionRef.type;
|
|
52
50
|
operationParameter.base = definitionRef.base;
|
|
@@ -101,8 +99,7 @@ function getOperationParameter(openApi, parameter, parentRef) {
|
|
|
101
99
|
}
|
|
102
100
|
if (parameter.schema) {
|
|
103
101
|
if (parameter.schema.$ref) {
|
|
104
|
-
const
|
|
105
|
-
const model = this.getType(parameter.schema.$ref, normalizedRef);
|
|
102
|
+
const model = this.getType(parameter.schema.$ref, parentRef);
|
|
106
103
|
operationParameter.export = 'reference';
|
|
107
104
|
operationParameter.type = model.type;
|
|
108
105
|
operationParameter.base = model.base;
|
|
@@ -16,7 +16,7 @@ function getOperationParameters(openApi, parameters, parentRef) {
|
|
|
16
16
|
};
|
|
17
17
|
// Iterate over the parameters
|
|
18
18
|
parameters.forEach(parameterOrReference => {
|
|
19
|
-
const parameterDef = (parameterOrReference.$ref ? this.context.get(parameterOrReference.$ref) : parameterOrReference);
|
|
19
|
+
const parameterDef = (parameterOrReference.$ref ? this.context.get(parameterOrReference.$ref, parentRef) : parameterOrReference);
|
|
20
20
|
const parameter = this.getOperationParameter(openApi, parameterDef, parentRef);
|
|
21
21
|
// We ignore the "api-version" param, since we do not want to add this
|
|
22
22
|
// as the first / default parameter for each of the service calls.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOperationResponse.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"getOperationResponse.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getOperationResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGvF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAmF1J"}
|
|
@@ -4,7 +4,6 @@ exports.getOperationResponse = getOperationResponse;
|
|
|
4
4
|
const safeHasOwn_1 = require("../../../../common/utils/safeHasOwn");
|
|
5
5
|
const getComment_1 = require("../../../utils/getComment");
|
|
6
6
|
const getPattern_1 = require("../../../utils/getPattern");
|
|
7
|
-
const normalizeRef_1 = require("../../../utils/normalizeRef");
|
|
8
7
|
function getOperationResponse(openApi, response, responseCode, parentRef) {
|
|
9
8
|
const operationResponse = {
|
|
10
9
|
in: 'response',
|
|
@@ -33,8 +32,7 @@ function getOperationResponse(openApi, response, responseCode, parentRef) {
|
|
|
33
32
|
// then we need to parse the schema!
|
|
34
33
|
if (response.schema) {
|
|
35
34
|
if (response.schema.$ref) {
|
|
36
|
-
const
|
|
37
|
-
const model = this.getType(response.schema.$ref, normalizedRef);
|
|
35
|
+
const model = this.getType(response.schema.$ref, parentRef);
|
|
38
36
|
operationResponse.export = 'reference';
|
|
39
37
|
operationResponse.type = model.type;
|
|
40
38
|
operationResponse.base = model.base;
|
|
@@ -10,7 +10,7 @@ function getOperationResponses(openApi, responses, parentRef) {
|
|
|
10
10
|
for (const code in responses) {
|
|
11
11
|
if ((0, safeHasOwn_1.safeHasOwn)(responses, code)) {
|
|
12
12
|
const responseOrReference = responses[code];
|
|
13
|
-
const response = (responseOrReference.$ref ? this.context.get(responseOrReference.$ref) : responseOrReference);
|
|
13
|
+
const response = (responseOrReference.$ref ? this.context.get(responseOrReference.$ref, parentRef) : responseOrReference);
|
|
14
14
|
const responseCode = (0, getOperationResponseCode_1.getOperationResponseCode)(code);
|
|
15
15
|
if (responseCode) {
|
|
16
16
|
const operationResponse = this.getOperationResponse(openApi, response, responseCode, parentRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getServices.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getServices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getServices.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getServices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAiCrE"}
|
|
@@ -14,9 +14,10 @@ function getServices(openApi) {
|
|
|
14
14
|
if ((0, safeHasOwn_1.safeHasOwn)(openApi.paths, url)) {
|
|
15
15
|
// Grab path and parse any global path parameters
|
|
16
16
|
const pathByUrl = openApi.paths[url];
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const parentFileRef = pathByUrl.$ref ||
|
|
17
|
+
const rootPath = this.context.root?.path || '';
|
|
18
|
+
const path = (pathByUrl.$ref ? this.context.get(pathByUrl.$ref, rootPath) : pathByUrl);
|
|
19
|
+
const parentFileRef = pathByUrl.$ref || rootPath;
|
|
20
|
+
const pathParams = this.getOperationParameters(openApi, path.parameters || [], parentFileRef);
|
|
20
21
|
// Parse all the methods for this path
|
|
21
22
|
(0, serviceHelpers_1.forEachOperationInPath)(path, (method, op) => {
|
|
22
23
|
// Each method contains an OpenAPI operation, we parse the operation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getType.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"getType.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v2/parser/getType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAM7D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA8C5E"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getType = getType;
|
|
4
4
|
const pathHelpers_1 = require("../../../../common/utils/pathHelpers");
|
|
5
5
|
const getMappedType_1 = require("../../../utils/getMappedType");
|
|
6
|
+
const getRelativeModelPath_1 = require("../../../utils/getRelativeModelPath");
|
|
6
7
|
const getTypeName_1 = require("../../../utils/getTypeName");
|
|
7
8
|
const normalizeString_1 = require("../../../utils/normalizeString");
|
|
8
9
|
const stripNamespace_1 = require("../../../utils/stripNamespace");
|
|
@@ -35,15 +36,15 @@ function getType(value, parentRef) {
|
|
|
35
36
|
* В этом случае надо брать непосредственно normalizedValue - это относительный путь или фрагмент.
|
|
36
37
|
* Предполагаем, что в таком случае расчитывать нет нужды. Это путь от папки outputModels
|
|
37
38
|
*/
|
|
38
|
-
const canonicalValue = this.context.resolveCanonicalRef(normalizedValue);
|
|
39
|
+
const canonicalValue = this.context.resolveCanonicalRef(normalizedValue, parentRef);
|
|
39
40
|
let valuePath = valueClean;
|
|
40
41
|
if (canonicalValue) {
|
|
41
42
|
const refValuePath = canonicalValue?.fragment ? `${canonicalValue.outputFile}${canonicalValue.fragment}` : canonicalValue?.outputFile || '';
|
|
42
43
|
const cleanedRefValuePath = (0, stripNamespace_1.stripNamespace)(refValuePath);
|
|
43
44
|
valuePath = (0, pathHelpers_1.relativeHelper)(this.context.output?.outputModels, cleanedRefValuePath);
|
|
44
45
|
}
|
|
45
|
-
valuePath =
|
|
46
|
-
const type = this.getTypeNameByRef((0, getTypeName_1.getTypeName)(valueClean), parentRef);
|
|
46
|
+
valuePath = (0, getRelativeModelPath_1.getRelativeModelPath)(this.context.output?.outputModels, valuePath);
|
|
47
|
+
const type = this.getTypeNameByRef((0, getTypeName_1.getTypeName)(valueClean), normalizedValue, parentRef);
|
|
47
48
|
const valueImportPath = !valuePath.startsWith('./') ? `./${valuePath}` : valuePath;
|
|
48
49
|
result.path = valuePath;
|
|
49
50
|
result.type = type;
|
|
@@ -16,7 +16,7 @@ export declare class Parser {
|
|
|
16
16
|
private _context;
|
|
17
17
|
constructor(context: Context);
|
|
18
18
|
get context(): Context;
|
|
19
|
-
getTypeNameByRef(value: string, ref?: string): string;
|
|
19
|
+
getTypeNameByRef(value: string, ref: string, parentSourceFile?: string): string;
|
|
20
20
|
parse: typeof parse;
|
|
21
21
|
getModels: typeof getModels;
|
|
22
22
|
getType: typeof getType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/core/api/v3/Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE,OAAO;IAI5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAEM,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/core/api/v3/Parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE,OAAO;IAI5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAEM,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/E,KAAK,eAAS;IACd,SAAS,mBAAa;IACtB,OAAO,iBAAW;IAClB,QAAQ,kBAAY;IACpB,mBAAmB,6BAAuB;IAC1C,kBAAkB,4BAAsB;IACxC,WAAW,qBAAe;IAC1B,sBAAsB,gCAA0B;IAChD,qBAAqB,+BAAyB;IAC9C,YAAY,sBAAgB;IAC5B,qBAAqB,+BAAyB;IAC9C,oBAAoB,8BAAwB;IAC5C,uBAAuB,iCAA2B;CAC5D"}
|
|
@@ -23,9 +23,9 @@ class Parser {
|
|
|
23
23
|
get context() {
|
|
24
24
|
return this._context;
|
|
25
25
|
}
|
|
26
|
-
getTypeNameByRef(value, ref) {
|
|
26
|
+
getTypeNameByRef(value, ref, parentSourceFile) {
|
|
27
27
|
if (ref) {
|
|
28
|
-
const definition = this.context.get(ref);
|
|
28
|
+
const definition = this.context.get(ref, parentSourceFile);
|
|
29
29
|
return (0, getModelNameWithPrefix_1.getModelNameWithPrefix)(value, definition, this._context.prefix);
|
|
30
30
|
}
|
|
31
31
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/v3/parser/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAM/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,CAgLjE"}
|