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
|
@@ -7,67 +7,71 @@ const node_assert_1 = __importDefault(require("node:assert"));
|
|
|
7
7
|
const node_test_1 = require("node:test");
|
|
8
8
|
const convertArrayToObject_1 = require("../convertArrayToObject");
|
|
9
9
|
(0, node_test_1.describe)('@unit: convertArrayToObject', () => {
|
|
10
|
-
(0, node_test_1.test)('
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
const expected = {
|
|
10
|
+
(0, node_test_1.test)('returns default shape for null', () => {
|
|
11
|
+
const result = (0, convertArrayToObject_1.convertArrayToObject)(null);
|
|
12
|
+
node_assert_1.default.deepStrictEqual(result, {
|
|
14
13
|
items: [],
|
|
15
14
|
excludeCoreServiceFiles: undefined,
|
|
16
15
|
request: undefined,
|
|
16
|
+
customExecutorPath: undefined,
|
|
17
17
|
useOptions: undefined,
|
|
18
18
|
useCancelableRequest: undefined,
|
|
19
|
-
};
|
|
20
|
-
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
(0, node_test_1.test)('returns default shape for empty array', () => {
|
|
22
|
+
const result = (0, convertArrayToObject_1.convertArrayToObject)([]);
|
|
23
|
+
node_assert_1.default.deepStrictEqual(result, {
|
|
24
|
+
items: [],
|
|
25
|
+
excludeCoreServiceFiles: undefined,
|
|
26
|
+
request: undefined,
|
|
27
|
+
customExecutorPath: undefined,
|
|
28
|
+
useOptions: undefined,
|
|
29
|
+
useCancelableRequest: undefined,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
(0, node_test_1.test)('passes through object config unchanged', () => {
|
|
33
|
+
const input = { input: './spec.json', output: './generated', httpClient: 'axios' };
|
|
34
|
+
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
35
|
+
node_assert_1.default.strictEqual(result, input);
|
|
21
36
|
});
|
|
22
|
-
(0, node_test_1.test)('
|
|
37
|
+
(0, node_test_1.test)('converts legacy array and keeps per-item request/customExecutorPath', () => {
|
|
23
38
|
const input = [
|
|
24
39
|
{
|
|
25
40
|
input: 'url1',
|
|
26
41
|
output: 'res1',
|
|
27
|
-
exportCore: true,
|
|
28
42
|
request: 'req1',
|
|
43
|
+
customExecutorPath: 'exec-1',
|
|
44
|
+
httpClient: 'axios',
|
|
45
|
+
useOptions: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
input: 'url2',
|
|
49
|
+
output: 'res2',
|
|
50
|
+
request: 'req2',
|
|
51
|
+
customExecutorPath: 'exec-2',
|
|
52
|
+
httpClient: 'axios',
|
|
29
53
|
useOptions: true,
|
|
30
54
|
},
|
|
31
55
|
];
|
|
32
|
-
const
|
|
33
|
-
|
|
56
|
+
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
57
|
+
node_assert_1.default.deepStrictEqual(result, {
|
|
58
|
+
httpClient: 'axios',
|
|
59
|
+
useOptions: true,
|
|
60
|
+
useUnionTypes: undefined,
|
|
34
61
|
excludeCoreServiceFiles: undefined,
|
|
35
|
-
|
|
62
|
+
includeSchemasFiles: undefined,
|
|
36
63
|
interfacePrefix: undefined,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
output: 'res1',
|
|
41
|
-
outputCore: undefined,
|
|
42
|
-
outputServices: undefined,
|
|
43
|
-
outputModels: undefined,
|
|
44
|
-
outputSchemas: undefined,
|
|
45
|
-
},
|
|
46
|
-
],
|
|
64
|
+
enumPrefix: undefined,
|
|
65
|
+
typePrefix: undefined,
|
|
66
|
+
useCancelableRequest: undefined,
|
|
47
67
|
logLevel: undefined,
|
|
48
68
|
logTarget: undefined,
|
|
49
|
-
request: 'req1',
|
|
50
69
|
sortByRequired: undefined,
|
|
51
|
-
typePrefix: undefined,
|
|
52
|
-
useCancelableRequest: undefined,
|
|
53
|
-
useOptions: true,
|
|
54
70
|
useSeparatedIndexes: undefined,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
node_assert_1.default.deepStrictEqual(result, expected);
|
|
60
|
-
});
|
|
61
|
-
(0, node_test_1.test)('Multiple elements with the same outer margins', () => {
|
|
62
|
-
const input = [
|
|
63
|
-
{ input: 'url1', output: 'res1', exportCore: true, request: 'req1', useOptions: true },
|
|
64
|
-
{ input: 'url2', output: 'res2', exportCore: true, request: 'req1', useOptions: true },
|
|
65
|
-
];
|
|
66
|
-
const expected = {
|
|
67
|
-
enumPrefix: undefined,
|
|
68
|
-
excludeCoreServiceFiles: undefined,
|
|
69
|
-
httpClient: undefined,
|
|
70
|
-
interfacePrefix: undefined,
|
|
71
|
+
validationLibrary: undefined,
|
|
72
|
+
emptySchemaStrategy: undefined,
|
|
73
|
+
request: undefined,
|
|
74
|
+
customExecutorPath: undefined,
|
|
71
75
|
items: [
|
|
72
76
|
{
|
|
73
77
|
input: 'url1',
|
|
@@ -76,6 +80,8 @@ const convertArrayToObject_1 = require("../convertArrayToObject");
|
|
|
76
80
|
outputServices: undefined,
|
|
77
81
|
outputModels: undefined,
|
|
78
82
|
outputSchemas: undefined,
|
|
83
|
+
request: 'req1',
|
|
84
|
+
customExecutorPath: 'exec-1',
|
|
79
85
|
},
|
|
80
86
|
{
|
|
81
87
|
input: 'url2',
|
|
@@ -84,146 +90,35 @@ const convertArrayToObject_1 = require("../convertArrayToObject");
|
|
|
84
90
|
outputServices: undefined,
|
|
85
91
|
outputModels: undefined,
|
|
86
92
|
outputSchemas: undefined,
|
|
93
|
+
request: 'req2',
|
|
94
|
+
customExecutorPath: 'exec-2',
|
|
87
95
|
},
|
|
88
96
|
],
|
|
89
|
-
|
|
90
|
-
logTarget: undefined,
|
|
91
|
-
request: 'req1',
|
|
92
|
-
sortByRequired: undefined,
|
|
93
|
-
typePrefix: undefined,
|
|
94
|
-
useCancelableRequest: undefined,
|
|
95
|
-
useOptions: true,
|
|
96
|
-
useSeparatedIndexes: undefined,
|
|
97
|
-
useUnionTypes: undefined,
|
|
98
|
-
validationLibrary: undefined
|
|
99
|
-
};
|
|
100
|
-
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
101
|
-
node_assert_1.default.deepStrictEqual(result, expected);
|
|
97
|
+
});
|
|
102
98
|
});
|
|
103
|
-
(0, node_test_1.test)('
|
|
99
|
+
(0, node_test_1.test)('promotes request/customExecutorPath to root when they are equal for all items', () => {
|
|
104
100
|
const input = [
|
|
105
|
-
{ input: 'url1', output: 'res1',
|
|
106
|
-
{ input: 'url2', output: 'res2',
|
|
101
|
+
{ input: 'url1', output: 'res1', request: 'req', customExecutorPath: 'exec' },
|
|
102
|
+
{ input: 'url2', output: 'res2', request: 'req', customExecutorPath: 'exec' },
|
|
107
103
|
];
|
|
108
|
-
const expected = {
|
|
109
|
-
enumPrefix: undefined,
|
|
110
|
-
excludeCoreServiceFiles: undefined,
|
|
111
|
-
httpClient: undefined,
|
|
112
|
-
interfacePrefix: undefined,
|
|
113
|
-
items: [
|
|
114
|
-
{
|
|
115
|
-
input: 'url1',
|
|
116
|
-
output: 'res1',
|
|
117
|
-
outputCore: undefined,
|
|
118
|
-
outputServices: undefined,
|
|
119
|
-
outputModels: undefined,
|
|
120
|
-
outputSchemas: undefined,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
input: 'url2',
|
|
124
|
-
output: 'res2',
|
|
125
|
-
outputCore: undefined,
|
|
126
|
-
outputServices: undefined,
|
|
127
|
-
outputModels: undefined,
|
|
128
|
-
outputSchemas: undefined,
|
|
129
|
-
},
|
|
130
|
-
],
|
|
131
|
-
logLevel: undefined,
|
|
132
|
-
logTarget: undefined,
|
|
133
|
-
request: 'req1',
|
|
134
|
-
sortByRequired: undefined,
|
|
135
|
-
typePrefix: undefined,
|
|
136
|
-
useCancelableRequest: undefined,
|
|
137
|
-
useOptions: true,
|
|
138
|
-
useSeparatedIndexes: undefined,
|
|
139
|
-
useUnionTypes: undefined,
|
|
140
|
-
validationLibrary: undefined
|
|
141
|
-
};
|
|
142
104
|
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
143
|
-
node_assert_1.default.
|
|
105
|
+
node_assert_1.default.strictEqual(result.request, 'req');
|
|
106
|
+
node_assert_1.default.strictEqual(result.customExecutorPath, 'exec');
|
|
144
107
|
});
|
|
145
|
-
(0, node_test_1.test)('
|
|
108
|
+
(0, node_test_1.test)('supports legacy "client" alias by normalizing it to httpClient', () => {
|
|
146
109
|
const input = [
|
|
147
|
-
{ input: 'url1', output: 'res1' },
|
|
148
|
-
{ input: 'url2', output: 'res2' },
|
|
110
|
+
{ input: 'url1', output: 'res1', client: 'axios', useOptions: true },
|
|
111
|
+
{ input: 'url2', output: 'res2', client: 'axios', useOptions: true },
|
|
149
112
|
];
|
|
150
|
-
const expected = {
|
|
151
|
-
enumPrefix: undefined,
|
|
152
|
-
excludeCoreServiceFiles: undefined,
|
|
153
|
-
httpClient: undefined,
|
|
154
|
-
interfacePrefix: undefined,
|
|
155
|
-
items: [
|
|
156
|
-
{
|
|
157
|
-
input: 'url1',
|
|
158
|
-
output: 'res1',
|
|
159
|
-
outputCore: undefined,
|
|
160
|
-
outputServices: undefined,
|
|
161
|
-
outputModels: undefined,
|
|
162
|
-
outputSchemas: undefined,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
input: 'url2',
|
|
166
|
-
output: 'res2',
|
|
167
|
-
outputCore: undefined,
|
|
168
|
-
outputServices: undefined,
|
|
169
|
-
outputModels: undefined,
|
|
170
|
-
outputSchemas: undefined,
|
|
171
|
-
},
|
|
172
|
-
],
|
|
173
|
-
logLevel: undefined,
|
|
174
|
-
logTarget: undefined,
|
|
175
|
-
request: undefined,
|
|
176
|
-
sortByRequired: undefined,
|
|
177
|
-
typePrefix: undefined,
|
|
178
|
-
useCancelableRequest: undefined,
|
|
179
|
-
useOptions: undefined,
|
|
180
|
-
useSeparatedIndexes: undefined,
|
|
181
|
-
useUnionTypes: undefined,
|
|
182
|
-
validationLibrary: undefined
|
|
183
|
-
};
|
|
184
113
|
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
185
|
-
node_assert_1.default.
|
|
114
|
+
node_assert_1.default.strictEqual(result.httpClient, 'axios');
|
|
115
|
+
node_assert_1.default.strictEqual(result.useOptions, true);
|
|
186
116
|
});
|
|
187
|
-
(0, node_test_1.test)('
|
|
117
|
+
(0, node_test_1.test)('throws on conflicting root-driven fields', () => {
|
|
188
118
|
const input = [
|
|
189
|
-
{ input: 'url1', output: 'res1',
|
|
190
|
-
{ input: 'url2', output: 'res2',
|
|
119
|
+
{ input: 'url1', output: 'res1', useOptions: true },
|
|
120
|
+
{ input: 'url2', output: 'res2', useOptions: false },
|
|
191
121
|
];
|
|
192
|
-
|
|
193
|
-
enumPrefix: undefined,
|
|
194
|
-
excludeCoreServiceFiles: undefined,
|
|
195
|
-
httpClient: undefined,
|
|
196
|
-
interfacePrefix: undefined,
|
|
197
|
-
items: [
|
|
198
|
-
{
|
|
199
|
-
input: 'url1',
|
|
200
|
-
output: 'res1',
|
|
201
|
-
outputCore: undefined,
|
|
202
|
-
outputServices: undefined,
|
|
203
|
-
outputModels: undefined,
|
|
204
|
-
outputSchemas: undefined,
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
input: 'url2',
|
|
208
|
-
output: 'res2',
|
|
209
|
-
outputCore: undefined,
|
|
210
|
-
outputServices: undefined,
|
|
211
|
-
outputModels: undefined,
|
|
212
|
-
outputSchemas: undefined,
|
|
213
|
-
},
|
|
214
|
-
],
|
|
215
|
-
logLevel: undefined,
|
|
216
|
-
logTarget: undefined,
|
|
217
|
-
request: undefined,
|
|
218
|
-
sortByRequired: undefined,
|
|
219
|
-
typePrefix: undefined,
|
|
220
|
-
useCancelableRequest: undefined,
|
|
221
|
-
useOptions: undefined,
|
|
222
|
-
useSeparatedIndexes: undefined,
|
|
223
|
-
useUnionTypes: undefined,
|
|
224
|
-
validationLibrary: undefined
|
|
225
|
-
};
|
|
226
|
-
const result = (0, convertArrayToObject_1.convertArrayToObject)(input);
|
|
227
|
-
node_assert_1.default.deepStrictEqual(result, expected);
|
|
122
|
+
node_assert_1.default.throws(() => (0, convertArrayToObject_1.convertArrayToObject)(input), /conflicting "useOptions" values/);
|
|
228
123
|
});
|
|
229
124
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertArrayToObject.d.ts","sourceRoot":"","sources":["../../../src/common/utils/convertArrayToObject.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"convertArrayToObject.d.ts","sourceRoot":"","sources":["../../../src/common/utils/convertArrayToObject.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA6GxH"}
|
|
@@ -6,6 +6,7 @@ function convertArrayToObject(optionsArr) {
|
|
|
6
6
|
items: [],
|
|
7
7
|
excludeCoreServiceFiles: undefined,
|
|
8
8
|
request: undefined,
|
|
9
|
+
customExecutorPath: undefined,
|
|
9
10
|
useOptions: undefined,
|
|
10
11
|
useCancelableRequest: undefined,
|
|
11
12
|
};
|
|
@@ -16,21 +17,12 @@ function convertArrayToObject(optionsArr) {
|
|
|
16
17
|
if (optionsArr.length === 0) {
|
|
17
18
|
return emptyResult;
|
|
18
19
|
}
|
|
19
|
-
const
|
|
20
|
-
input: item.input,
|
|
21
|
-
output: item.output,
|
|
22
|
-
outputCore: item.outputCore,
|
|
23
|
-
outputServices: item.outputServices,
|
|
24
|
-
outputModels: item.outputModels,
|
|
25
|
-
outputSchemas: item.outputSchemas,
|
|
26
|
-
}));
|
|
27
|
-
const firstItem = optionsArr[0];
|
|
28
|
-
const fieldsToExtract = [
|
|
20
|
+
const rootDrivenFields = [
|
|
29
21
|
'httpClient',
|
|
30
22
|
'useOptions',
|
|
31
23
|
'useUnionTypes',
|
|
32
24
|
'excludeCoreServiceFiles',
|
|
33
|
-
'
|
|
25
|
+
'includeSchemasFiles',
|
|
34
26
|
'interfacePrefix',
|
|
35
27
|
'enumPrefix',
|
|
36
28
|
'typePrefix',
|
|
@@ -40,13 +32,58 @@ function convertArrayToObject(optionsArr) {
|
|
|
40
32
|
'sortByRequired',
|
|
41
33
|
'useSeparatedIndexes',
|
|
42
34
|
'validationLibrary',
|
|
35
|
+
'emptySchemaStrategy',
|
|
43
36
|
];
|
|
44
|
-
const
|
|
37
|
+
const getNormalizedFieldValue = (item, field) => {
|
|
38
|
+
if (field === 'httpClient') {
|
|
39
|
+
return item.httpClient ?? item.client;
|
|
40
|
+
}
|
|
41
|
+
return item[field];
|
|
42
|
+
};
|
|
43
|
+
const getRootValueOrThrow = (field) => {
|
|
44
|
+
const definedValues = optionsArr
|
|
45
|
+
.map(item => getNormalizedFieldValue(item, field))
|
|
46
|
+
.filter(value => value !== undefined);
|
|
47
|
+
if (definedValues.length === 0) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const firstValue = definedValues[0];
|
|
51
|
+
const hasConflict = definedValues.some(value => value !== firstValue);
|
|
52
|
+
if (hasConflict) {
|
|
53
|
+
throw new Error(`Legacy array config has conflicting "${field}" values. ` +
|
|
54
|
+
`This option must have the same value for all array items.`);
|
|
55
|
+
}
|
|
56
|
+
return firstValue;
|
|
57
|
+
};
|
|
58
|
+
const getCommonOptionalRootValue = (field) => {
|
|
59
|
+
const definedValues = optionsArr
|
|
60
|
+
.map(item => item[field])
|
|
61
|
+
.filter(value => value !== undefined);
|
|
62
|
+
if (definedValues.length === 0) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const firstValue = definedValues[0];
|
|
66
|
+
const hasConflict = definedValues.some(value => value !== firstValue);
|
|
67
|
+
return hasConflict ? undefined : firstValue;
|
|
68
|
+
};
|
|
69
|
+
const items = optionsArr.map(item => ({
|
|
70
|
+
input: item.input,
|
|
71
|
+
output: item.output,
|
|
72
|
+
outputCore: item.outputCore,
|
|
73
|
+
outputServices: item.outputServices,
|
|
74
|
+
outputModels: item.outputModels,
|
|
75
|
+
outputSchemas: item.outputSchemas,
|
|
76
|
+
request: item.request,
|
|
77
|
+
customExecutorPath: item.customExecutorPath,
|
|
78
|
+
}));
|
|
79
|
+
const extractedRootFields = rootDrivenFields.reduce((acc, field) => ({
|
|
45
80
|
...acc,
|
|
46
|
-
[field]:
|
|
81
|
+
[field]: getRootValueOrThrow(field),
|
|
47
82
|
}), {});
|
|
48
83
|
return {
|
|
49
|
-
...
|
|
84
|
+
...extractedRootFields,
|
|
85
|
+
request: getCommonOptionalRootValue('request'),
|
|
86
|
+
customExecutorPath: getCommonOptionalRootValue('customExecutorPath'),
|
|
50
87
|
items,
|
|
51
88
|
};
|
|
52
89
|
}
|
package/dist/core/Context.d.ts
CHANGED
|
@@ -33,28 +33,29 @@ export declare class Context {
|
|
|
33
33
|
prefix: PrefixArtifacts;
|
|
34
34
|
private _sortByRequired;
|
|
35
35
|
private specRoot;
|
|
36
|
+
private entryFile?;
|
|
36
37
|
private virtualFiles;
|
|
37
38
|
constructor({ input, output, prefix, sortByRequired }: TContextProps);
|
|
38
39
|
addRefs(refs: RefsLike): Context;
|
|
39
40
|
values(...types: string[]): Record<string, any>;
|
|
40
|
-
get($ref: string): JSONSchema4Type | JSONSchema6Type | JSONSchema7Type;
|
|
41
|
+
get($ref: string, parentSourceFile?: string): JSONSchema4Type | JSONSchema6Type | JSONSchema7Type;
|
|
41
42
|
paths(...types: string[]): string[];
|
|
42
|
-
exists($ref: string): boolean;
|
|
43
|
+
exists($ref: string, parentSourceFile?: string): boolean;
|
|
43
44
|
fileName(): string;
|
|
44
45
|
get output(): OutputPaths;
|
|
45
46
|
get sortByRequired(): boolean;
|
|
46
47
|
get root(): $Root | undefined;
|
|
47
48
|
private canonicalizeRef;
|
|
48
49
|
private mapSourceToOutput;
|
|
49
|
-
private
|
|
50
|
-
private walkSchema;
|
|
50
|
+
private walkSchemaForFragments;
|
|
51
51
|
initializeVirtualFileMap(rootSchema: unknown, entryFile: string): void;
|
|
52
52
|
getVirtualFiles(): VirtualFileMap;
|
|
53
53
|
getAllCanonicalRefs(): string[];
|
|
54
|
-
resolveCanonicalRef(canonicalRef: string): {
|
|
54
|
+
resolveCanonicalRef(canonicalRef: string, parentSourceFile?: string): {
|
|
55
55
|
outputFile: string;
|
|
56
56
|
fragment?: string;
|
|
57
57
|
} | undefined;
|
|
58
|
+
private normalizeRefForLookup;
|
|
58
59
|
}
|
|
59
60
|
export {};
|
|
60
61
|
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/core/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIhF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/core/Context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIhF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAMhD,KAAK,aAAa,GAAG;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACZ,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;IAC7E,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;CACvC,CAAC;AAEF,UAAU,WAAW;IACjB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,KAAK,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE/C;;GAEG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAc;IACtB,MAAM,EAAE,eAAe,CAI5B;IAEF,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA6B;gBAErC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa;IAmB7D,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKhC,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAO/C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe;IAQjG,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAOnC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO;IAQxD,QAAQ,IAAI,MAAM;IAOzB,IAAW,MAAM,gBAKhB;IAED,IAAW,cAAc,YAExB;IAED,IAAW,IAAI,IAAI,KAAK,GAAG,SAAS,CAEnC;IAED,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,sBAAsB;IA+BvB,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;IAuC/D,eAAe,IAAI,cAAc;IAIjC,mBAAmB,IAAI,MAAM,EAAE;IAgB/B,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GACpE;QACI,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,GACD,SAAS;IAef,OAAO,CAAC,qBAAqB;CAyBhC"}
|
package/dist/core/Context.js
CHANGED
|
@@ -5,6 +5,7 @@ const path_1 = require("path");
|
|
|
5
5
|
const pathHelpers_1 = require("../common/utils/pathHelpers");
|
|
6
6
|
const getFileName_1 = require("./utils/getFileName");
|
|
7
7
|
const isString_1 = require("./utils/isString");
|
|
8
|
+
const normalizeRef_1 = require("./utils/normalizeRef");
|
|
8
9
|
const parseRef_1 = require("./utils/parseRef");
|
|
9
10
|
/**
|
|
10
11
|
* A Context wich can share a data between methods
|
|
@@ -20,6 +21,7 @@ class Context {
|
|
|
20
21
|
};
|
|
21
22
|
_sortByRequired = false;
|
|
22
23
|
specRoot;
|
|
24
|
+
entryFile;
|
|
23
25
|
virtualFiles = new Map();
|
|
24
26
|
constructor({ input, output, prefix, sortByRequired }) {
|
|
25
27
|
this._output = output;
|
|
@@ -48,11 +50,12 @@ class Context {
|
|
|
48
50
|
}
|
|
49
51
|
return this._refs.values(...types);
|
|
50
52
|
}
|
|
51
|
-
get($ref) {
|
|
53
|
+
get($ref, parentSourceFile) {
|
|
52
54
|
if (!this._refs) {
|
|
53
55
|
throw new Error('Context must be initialized');
|
|
54
56
|
}
|
|
55
|
-
|
|
57
|
+
const normalizedRef = this.normalizeRefForLookup($ref, parentSourceFile);
|
|
58
|
+
return this._refs.get(normalizedRef);
|
|
56
59
|
}
|
|
57
60
|
paths(...types) {
|
|
58
61
|
if (!this._refs) {
|
|
@@ -60,11 +63,12 @@ class Context {
|
|
|
60
63
|
}
|
|
61
64
|
return this._refs.paths(...types);
|
|
62
65
|
}
|
|
63
|
-
exists($ref) {
|
|
66
|
+
exists($ref, parentSourceFile) {
|
|
64
67
|
if (!this._refs) {
|
|
65
68
|
throw new Error('Context must be initialized');
|
|
66
69
|
}
|
|
67
|
-
|
|
70
|
+
const normalizedRef = this.normalizeRefForLookup($ref, parentSourceFile);
|
|
71
|
+
return this._refs.exists(normalizedRef);
|
|
68
72
|
}
|
|
69
73
|
fileName() {
|
|
70
74
|
if (!this._root) {
|
|
@@ -107,38 +111,36 @@ class Context {
|
|
|
107
111
|
const baseName = (0, path_1.basename)(relative).replace(/\.(yaml|yml|json)$/i, '.ts');
|
|
108
112
|
return (0, pathHelpers_1.resolveHelper)(this.output.outputModels, dir, baseName);
|
|
109
113
|
}
|
|
110
|
-
|
|
111
|
-
const { sourceFile, fragment } = this.canonicalizeRef(ref, parentSourceFile);
|
|
112
|
-
let entry = this.virtualFiles.get(sourceFile);
|
|
113
|
-
if (!entry) {
|
|
114
|
-
entry = {
|
|
115
|
-
sourceFile,
|
|
116
|
-
outputFile: this.mapSourceToOutput(sourceFile),
|
|
117
|
-
fragments: new Set(),
|
|
118
|
-
};
|
|
119
|
-
this.virtualFiles.set(sourceFile, entry);
|
|
120
|
-
}
|
|
121
|
-
if (fragment) {
|
|
122
|
-
entry.fragments.add(fragment);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
walkSchema(obj, parentSourceFile) {
|
|
114
|
+
walkSchemaForFragments(obj, parentSourceFile) {
|
|
126
115
|
if (!obj || typeof obj !== 'object')
|
|
127
116
|
return;
|
|
128
117
|
if (typeof obj.$ref === 'string') {
|
|
129
|
-
this.
|
|
118
|
+
const { sourceFile, fragment } = this.canonicalizeRef(obj.$ref, parentSourceFile);
|
|
119
|
+
let entry = this.virtualFiles.get(sourceFile);
|
|
120
|
+
if (!entry) {
|
|
121
|
+
entry = {
|
|
122
|
+
sourceFile,
|
|
123
|
+
outputFile: this.mapSourceToOutput(sourceFile),
|
|
124
|
+
fragments: new Set(),
|
|
125
|
+
};
|
|
126
|
+
this.virtualFiles.set(sourceFile, entry);
|
|
127
|
+
}
|
|
128
|
+
if (fragment) {
|
|
129
|
+
entry.fragments.add(fragment);
|
|
130
|
+
}
|
|
130
131
|
}
|
|
131
132
|
if (Array.isArray(obj)) {
|
|
132
|
-
obj.forEach(item => this.
|
|
133
|
+
obj.forEach(item => this.walkSchemaForFragments(item, parentSourceFile));
|
|
133
134
|
return;
|
|
134
135
|
}
|
|
135
136
|
for (const value of Object.values(obj)) {
|
|
136
|
-
this.
|
|
137
|
+
this.walkSchemaForFragments(value, parentSourceFile);
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
initializeVirtualFileMap(rootSchema, entryFile) {
|
|
140
141
|
this.specRoot = (0, pathHelpers_1.normalizeHelper)((0, pathHelpers_1.dirNameHelper)(entryFile));
|
|
141
142
|
const normalizedEntry = (0, pathHelpers_1.normalizeHelper)(entryFile);
|
|
143
|
+
this.entryFile = normalizedEntry;
|
|
142
144
|
// Гарантируем, что entry файл тоже есть в карте
|
|
143
145
|
if (!this.virtualFiles.has(normalizedEntry)) {
|
|
144
146
|
this.virtualFiles.set(normalizedEntry, {
|
|
@@ -147,7 +149,26 @@ class Context {
|
|
|
147
149
|
fragments: new Set(),
|
|
148
150
|
});
|
|
149
151
|
}
|
|
150
|
-
|
|
152
|
+
// 🔴 Вместо ручного обхода, использовать resolved.paths() от SwaggerParser
|
|
153
|
+
// это даст нам все файлы, которые парсер разрешил
|
|
154
|
+
const allPaths = this._refs?.paths() || [];
|
|
155
|
+
for (const refPath of allPaths) {
|
|
156
|
+
const normalizedPath = (0, pathHelpers_1.normalizeHelper)(refPath);
|
|
157
|
+
if (!this.virtualFiles.has(normalizedPath)) {
|
|
158
|
+
this.virtualFiles.set(normalizedPath, {
|
|
159
|
+
sourceFile: normalizedPath,
|
|
160
|
+
outputFile: this.mapSourceToOutput(normalizedPath),
|
|
161
|
+
fragments: new Set(),
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Обходим каждый файл чтобы найти $ref с фрагментами (#)
|
|
166
|
+
for (const [sourceFile] of this.virtualFiles) {
|
|
167
|
+
const schema = this._refs?.get(sourceFile);
|
|
168
|
+
if (schema && typeof schema === 'object') {
|
|
169
|
+
this.walkSchemaForFragments(schema, sourceFile);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
151
172
|
}
|
|
152
173
|
getVirtualFiles() {
|
|
153
174
|
return this.virtualFiles;
|
|
@@ -166,8 +187,9 @@ class Context {
|
|
|
166
187
|
}
|
|
167
188
|
return result;
|
|
168
189
|
}
|
|
169
|
-
resolveCanonicalRef(canonicalRef) {
|
|
170
|
-
const
|
|
190
|
+
resolveCanonicalRef(canonicalRef, parentSourceFile) {
|
|
191
|
+
const normalizedRef = this.normalizeRefForLookup(canonicalRef, parentSourceFile);
|
|
192
|
+
const parsed = (0, parseRef_1.parseRef)(normalizedRef);
|
|
171
193
|
const sourceFile = (0, pathHelpers_1.normalizeHelper)(parsed.filePath ?? '');
|
|
172
194
|
const file = this.virtualFiles.get(sourceFile);
|
|
173
195
|
if (!file)
|
|
@@ -177,5 +199,26 @@ class Context {
|
|
|
177
199
|
fragment: parsed.fragment,
|
|
178
200
|
};
|
|
179
201
|
}
|
|
202
|
+
normalizeRefForLookup(ref, parentSourceFile) {
|
|
203
|
+
if (!ref)
|
|
204
|
+
return ref;
|
|
205
|
+
// Prefer explicit parent if provided
|
|
206
|
+
if (parentSourceFile) {
|
|
207
|
+
const normalizedParent = (0, path_1.isAbsolute)(parentSourceFile)
|
|
208
|
+
? parentSourceFile
|
|
209
|
+
: (0, pathHelpers_1.resolveHelper)(this.specRoot, parentSourceFile);
|
|
210
|
+
return (0, normalizeRef_1.normalizeRef)(ref, normalizedParent);
|
|
211
|
+
}
|
|
212
|
+
// If we can fall back to entry file, normalize relative refs against it
|
|
213
|
+
if (this.entryFile) {
|
|
214
|
+
const parsed = (0, parseRef_1.parseRef)(ref);
|
|
215
|
+
if (parsed.type === parseRef_1.RefType.LOCAL_FRAGMENT ||
|
|
216
|
+
parsed.type === parseRef_1.RefType.EXTERNAL_FILE ||
|
|
217
|
+
parsed.type === parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT) {
|
|
218
|
+
return (0, normalizeRef_1.normalizeRef)(ref, this.entryFile);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return ref;
|
|
222
|
+
}
|
|
180
223
|
}
|
|
181
224
|
exports.Context = Context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiClient.d.ts","sourceRoot":"","sources":["../../src/core/OpenApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,WAAW,EAAsB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenApiClient.d.ts","sourceRoot":"","sources":["../../src/core/OpenApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,WAAW,EAAsB,MAAM,uBAAuB,CAAC;AAgBtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBAAa,aAAa;IACtB,OAAO,CAAC,YAAY,CAA4B;IAEhD,IAAW,WAAW,gBAKrB;IAED,OAAO,CAAC,gBAAgB;IAuDxB,OAAO,CAAC,gBAAgB;YA4BV,sBAAsB;YAUtB,oBAAoB;YAmCpB,cAAc;IAwFtB,QAAQ,CAAC,UAAU,EAAE,WAAW;CAWzC"}
|