ts-openapi-codegen 1.0.0-beta.5 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -58
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts +5 -0
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts.map +1 -0
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.js +40 -0
- package/dist/cli/generate/runGenerateOpenApi.js +4 -4
- package/dist/cli/index.js +57 -18
- package/dist/cli/utils.d.ts +4 -16
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +22 -20
- package/dist/common/Options.d.ts +4 -6
- package/dist/common/Options.d.ts.map +1 -1
- package/dist/common/UpdateNotifier.d.ts +24 -0
- package/dist/common/UpdateNotifier.d.ts.map +1 -0
- package/dist/common/UpdateNotifier.js +120 -0
- package/dist/common/Utils.d.ts.map +1 -1
- package/dist/common/Utils.js +8 -9
- package/dist/common/VersionedSchema/CommonSchemas.d.ts +12 -0
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +27 -1
- package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.d.ts → MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts} +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsMigrationPlan.js → MultiOptionsVersioned/MultiOptionsMigrationPlan.js} +18 -7
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsSchemaV1.js → MultiOptionsVersioned/MultiOptionsSchemaV1.js} +4 -4
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +6 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsSchemaV2.js → MultiOptionsVersioned/MultiOptionsSchemaV2.js} +4 -4
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +5 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsSchemaV3.js → MultiOptionsVersioned/MultiOptionsSchemaV3.js} +3 -3
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsSchemaV4.js → MultiOptionsVersioned/MultiOptionsSchemaV4.js} +4 -4
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +22 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{MultiOptionsVersionedSchemas.js → MultiOptionsVersioned/MultiOptionsVersionedSchemas.js} +10 -5
- package/dist/common/VersionedSchema/{OptionsMigrationPlans.d.ts → OptionsVersioned/OptionsMigrationPlans.d.ts} +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +23 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{OptionsSchemaV1.js → OptionsVersioned/OptionsSchemaV1.js} +4 -4
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +6 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{OptionsSchemaV2.js → OptionsVersioned/OptionsSchemaV2.js} +4 -4
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +5 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{OptionsSchemaV3.js → OptionsVersioned/OptionsSchemaV3.js} +3 -3
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +17 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -0
- package/dist/common/VersionedSchema/{OptionsVersionedSchemas.js → OptionsVersioned/OptionsVersionedSchemas.js} +9 -4
- package/dist/common/VersionedSchema/Types.d.ts +0 -4
- package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
- package/dist/common/__tests__/convertArrayToObject.test.js +62 -59
- package/dist/common/__tests__/mergeObjectSchemas.test.js +1 -1
- package/dist/common/__tests__/migrationForMultiOptions.test.js +9 -5
- package/dist/common/__tests__/migrationForOptions.test.js +17 -8
- package/dist/common/defaultOptions.d.ts.map +1 -1
- package/dist/common/defaultOptions.js +5 -7
- package/dist/core/Context.d.ts +15 -7
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +3 -0
- package/dist/core/WriteClient.d.ts +94 -0
- package/dist/core/WriteClient.d.ts.map +1 -0
- package/dist/core/WriteClient.js +293 -0
- package/dist/core/__tests__/WriteClient.test.d.ts +2 -0
- package/dist/core/__tests__/WriteClient.test.d.ts.map +1 -0
- package/dist/core/{utils/__tests__/writeClient.test.js → __tests__/WriteClient.test.js} +16 -12
- package/dist/core/api/v2/parser/__tests__/getType.test.js +7 -25
- package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModel.js +5 -2
- package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModelProperties.js +3 -1
- package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModels.js +3 -29
- package/dist/core/api/v2/parser/getOperation.d.ts +1 -1
- package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperation.js +3 -3
- package/dist/core/api/v2/parser/getOperationParameter.d.ts +1 -1
- package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationParameter.js +4 -2
- package/dist/core/api/v2/parser/getOperationParameters.d.ts +1 -1
- package/dist/core/api/v2/parser/getOperationParameters.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationParameters.js +2 -2
- package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.js +3 -1
- package/dist/core/api/v2/parser/getOperationResponses.d.ts +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.js +2 -2
- package/dist/core/api/v2/parser/getServiceName.d.ts +3 -0
- package/dist/core/api/v2/parser/getServiceName.d.ts.map +1 -0
- package/dist/core/api/v2/parser/getServiceName.js +8 -0
- package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getServices.js +21 -32
- package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getType.js +13 -9
- package/dist/core/api/v3/parser/__tests__/getType.test.js +6 -24
- package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModel.js +5 -2
- package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModelProperties.js +3 -1
- package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModels.js +3 -29
- package/dist/core/api/v3/parser/getOperation.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperation.js +4 -4
- package/dist/core/api/v3/parser/getOperationParameter.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.js +6 -3
- package/dist/core/api/v3/parser/getOperationParameters.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameters.js +2 -2
- package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationRequestBody.js +3 -1
- package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponse.js +3 -1
- package/dist/core/api/v3/parser/getOperationResponses.d.ts +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.js +2 -2
- package/dist/core/api/v3/parser/getServiceName.d.ts +3 -0
- package/dist/core/api/v3/parser/getServiceName.d.ts.map +1 -0
- package/dist/core/api/v3/parser/getServiceName.js +8 -0
- package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getServices.js +18 -84
- package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getType.js +22 -10
- package/dist/core/api/v3/types/OpenApiPath.model.d.ts +2 -1
- package/dist/core/api/v3/types/OpenApiPath.model.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +21 -22
- package/dist/core/types/base/ClientArtifacts.model.d.ts +12 -0
- package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -0
- package/dist/core/types/base/ExportedModel.model.d.ts +17 -0
- package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -0
- package/dist/core/types/base/ExportedService.model.d.ts +9 -0
- package/dist/core/types/base/ExportedService.model.d.ts.map +1 -0
- package/dist/core/types/base/ExportedService.model.js +2 -0
- package/dist/core/types/base/OutputPaths.model.d.ts +15 -0
- package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -0
- package/dist/core/types/base/OutputPaths.model.js +2 -0
- package/dist/core/types/base/PrefixArtifacts.model.d.ts +6 -0
- package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -0
- package/dist/core/types/base/PrefixArtifacts.model.js +2 -0
- package/dist/core/types/base/PropertyGroup.model.d.ts +4 -0
- package/dist/core/types/base/PropertyGroup.model.d.ts.map +1 -0
- package/dist/core/types/base/PropertyGroup.model.js +2 -0
- package/dist/core/types/base/RefWithtype.model.d.ts +11 -0
- package/dist/core/types/base/RefWithtype.model.d.ts.map +1 -0
- package/dist/core/types/base/RefWithtype.model.js +2 -0
- package/dist/core/types/base/Root.model.d.ts +5 -0
- package/dist/core/types/base/Root.model.d.ts.map +1 -0
- package/dist/core/types/base/Root.model.js +2 -0
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +10 -0
- package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -0
- package/dist/core/types/base/SimpleClientArtifacts.model.js +2 -0
- package/dist/core/types/enums/HttpClient.enum.d.ts +7 -0
- package/dist/core/types/enums/HttpClient.enum.d.ts.map +1 -0
- package/dist/core/types/{Enums.js → enums/HttpClient.enum.js} +1 -9
- package/dist/core/types/enums/TypeRef.enum.d.ts +8 -0
- package/dist/core/types/enums/TypeRef.enum.d.ts.map +1 -0
- package/dist/core/types/enums/TypeRef.enum.js +11 -0
- package/dist/core/utils/__tests__/getAbsolutePath.test.js +1 -1
- package/dist/core/utils/__tests__/getGatheringRefs.test.js +3 -6
- package/dist/core/utils/__tests__/getRefFromSchema.test.js +1 -1
- package/dist/core/utils/__tests__/pathHelpers.test.js +4 -4
- package/dist/core/utils/__tests__/refResolver.test.d.ts +2 -0
- package/dist/core/utils/__tests__/refResolver.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/refResolver.test.js +55 -0
- package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +2 -2
- package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +7 -3
- package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts +2 -0
- package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +67 -0
- package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +24 -24
- package/dist/core/utils/__tests__/sortByRequiredSimple.test.js +13 -13
- package/dist/core/utils/__tests__/writeClientCore.test.js +14 -6
- package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts +2 -0
- package/dist/core/utils/__tests__/writeClientFullIndex.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/{writeClientIndex.test.js → writeClientFullIndex.test.js} +15 -7
- package/dist/core/utils/__tests__/writeClientModels.test.js +15 -7
- package/dist/core/utils/__tests__/writeClientSchemas.test.js +15 -7
- package/dist/core/utils/__tests__/writeClientServices.test.js +15 -7
- package/dist/core/utils/advancedDeduplicatePath.d.ts +5 -0
- package/dist/core/utils/advancedDeduplicatePath.d.ts.map +1 -0
- package/dist/core/utils/advancedDeduplicatePath.js +29 -0
- package/dist/core/utils/appendUniqueLinesToFile.d.ts +2 -0
- package/dist/core/utils/appendUniqueLinesToFile.d.ts.map +1 -0
- package/dist/core/utils/appendUniqueLinesToFile.js +24 -0
- package/dist/core/utils/createNormalizedRef.d.ts +7 -0
- package/dist/core/utils/createNormalizedRef.d.ts.map +1 -0
- package/dist/core/utils/createNormalizedRef.js +24 -0
- package/dist/core/utils/findCommonParent.d.ts +7 -0
- package/dist/core/utils/findCommonParent.d.ts.map +1 -0
- package/dist/core/utils/findCommonParent.js +20 -0
- package/dist/core/utils/getAbsolutePath.d.ts.map +1 -1
- package/dist/core/utils/getAbsolutePath.js +16 -5
- package/dist/core/utils/getGatheringRefs.d.ts +2 -2
- package/dist/core/utils/getGatheringRefs.d.ts.map +1 -1
- package/dist/core/utils/getGatheringRefs.js +26 -17
- package/dist/core/utils/getMappedType.d.ts +0 -1
- package/dist/core/utils/getMappedType.d.ts.map +1 -1
- package/dist/core/utils/getMappedType.js +3 -4
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +9 -32
- package/dist/core/utils/getOutputPaths.d.ts +2 -2
- package/dist/core/utils/getOutputPaths.d.ts.map +1 -1
- package/dist/core/utils/getPropertyGroupExtended.d.ts +2 -2
- package/dist/core/utils/getPropertyGroupExtended.d.ts.map +1 -1
- package/dist/core/utils/getPropertyGroupSimple.d.ts +2 -2
- package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
- package/dist/core/utils/getRefFromSchema.js +2 -2
- package/dist/core/utils/getRelativeModelImportPath.js +1 -1
- package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -1
- package/dist/core/utils/getRelativeModelPath.js +5 -0
- package/dist/core/utils/isDirectory.d.ts +2 -0
- package/dist/core/utils/isDirectory.d.ts.map +1 -0
- package/dist/core/utils/isDirectory.js +13 -0
- package/dist/core/utils/isFileName.d.ts +7 -0
- package/dist/core/utils/isFileName.d.ts.map +1 -0
- package/dist/core/utils/isFileName.js +30 -0
- package/dist/core/utils/mapPathToTargetDirSafe.d.ts +10 -0
- package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +1 -0
- package/dist/core/utils/mapPathToTargetDirSafe.js +49 -0
- package/dist/core/utils/modelHelpers.d.ts +28 -0
- package/dist/core/utils/modelHelpers.d.ts.map +1 -0
- package/dist/core/utils/modelHelpers.js +73 -0
- package/dist/core/utils/normalizeAllRefs.d.ts +6 -0
- package/dist/core/utils/normalizeAllRefs.d.ts.map +1 -0
- package/dist/core/utils/normalizeAllRefs.js +35 -0
- package/dist/core/utils/normalizePath.d.ts +5 -0
- package/dist/core/utils/normalizePath.d.ts.map +1 -0
- package/dist/core/utils/normalizePath.js +19 -0
- package/dist/core/utils/normalizeRef.d.ts +5 -0
- package/dist/core/utils/normalizeRef.d.ts.map +1 -0
- package/dist/core/utils/normalizeRef.js +17 -0
- package/dist/core/utils/parseRef.d.ts +18 -0
- package/dist/core/utils/parseRef.d.ts.map +1 -0
- package/dist/core/utils/parseRef.js +64 -0
- package/dist/core/utils/pathHelpers.d.ts +1 -0
- package/dist/core/utils/pathHelpers.d.ts.map +1 -1
- package/dist/core/utils/pathHelpers.js +23 -3
- package/dist/core/utils/prepareAlias.d.ts +3 -0
- package/dist/core/utils/prepareAlias.d.ts.map +1 -0
- package/dist/core/utils/prepareAlias.js +20 -0
- package/dist/core/utils/prepareOptions.d.ts.map +1 -1
- package/dist/core/utils/prepareOptions.js +5 -7
- package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -1
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.d.ts +9 -2
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.js +16 -2
- package/dist/core/utils/resolveRefPath.d.ts +7 -0
- package/dist/core/utils/resolveRefPath.d.ts.map +1 -0
- package/dist/core/utils/resolveRefPath.js +34 -0
- package/dist/core/utils/resolveRefToImportPath.d.ts +7 -0
- package/dist/core/utils/resolveRefToImportPath.d.ts.map +1 -0
- package/dist/core/utils/resolveRefToImportPath.js +45 -0
- package/dist/core/utils/serviceHelpers.d.ts +41 -0
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -0
- package/dist/core/utils/serviceHelpers.js +115 -0
- package/dist/core/utils/sortModelByName.d.ts +3 -0
- package/dist/core/utils/sortModelByName.d.ts.map +1 -0
- package/dist/core/utils/sortModelByName.js +12 -0
- package/dist/core/utils/writeClientCore.d.ts +4 -2
- package/dist/core/utils/writeClientCore.d.ts.map +1 -1
- package/dist/core/utils/writeClientCore.js +4 -1
- package/dist/core/utils/writeClientCoreIndex.d.ts +11 -0
- package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientCoreIndex.js +16 -0
- package/dist/core/utils/writeClientFullIndex.d.ts +9 -0
- package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientFullIndex.js +22 -0
- package/dist/core/utils/writeClientModels.d.ts +3 -2
- package/dist/core/utils/writeClientModels.d.ts.map +1 -1
- package/dist/core/utils/writeClientModels.js +5 -0
- package/dist/core/utils/writeClientModelsIndex.d.ts +12 -0
- package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientModelsIndex.js +16 -0
- package/dist/core/utils/writeClientSchemas.d.ts +3 -2
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +5 -0
- package/dist/core/utils/writeClientSchemasIndex.d.ts +12 -0
- package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientSchemasIndex.js +16 -0
- package/dist/core/utils/writeClientServices.d.ts +5 -4
- package/dist/core/utils/writeClientServices.d.ts.map +1 -1
- package/dist/core/utils/writeClientServices.js +4 -0
- package/dist/core/utils/writeClientServicesIndex.d.ts +12 -0
- package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientServicesIndex.js +16 -0
- package/dist/core/utils/writeClientSimpleIndex.d.ts +9 -0
- package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -0
- package/dist/core/utils/writeClientSimpleIndex.js +22 -0
- package/dist/templatesCompiled/exportModel.js +2 -2
- package/dist/templatesCompiled/indexCore.d.ts +9 -0
- package/dist/templatesCompiled/indexCore.d.ts.map +1 -0
- package/dist/templatesCompiled/indexCore.js +22 -0
- package/dist/templatesCompiled/{index.d.ts → indexFull.d.ts} +1 -1
- package/dist/templatesCompiled/indexFull.d.ts.map +1 -0
- package/dist/templatesCompiled/indexModels.d.ts +15 -0
- package/dist/templatesCompiled/indexModels.d.ts.map +1 -0
- package/dist/templatesCompiled/indexModels.js +82 -0
- package/dist/templatesCompiled/indexServices.d.ts +10 -0
- package/dist/templatesCompiled/indexServices.d.ts.map +1 -0
- package/dist/templatesCompiled/indexServices.js +35 -0
- package/dist/templatesCompiled/indexShemas.d.ts +11 -0
- package/dist/templatesCompiled/indexShemas.d.ts.map +1 -0
- package/dist/templatesCompiled/indexShemas.js +47 -0
- package/dist/templatesCompiled/indexSimple.d.ts +21 -0
- package/dist/templatesCompiled/indexSimple.d.ts.map +1 -0
- package/dist/templatesCompiled/indexSimple.js +121 -0
- package/dist/templatesCompiled/partials/isReadOnly.d.ts +1 -1
- package/dist/templatesCompiled/partials/isReadOnly.d.ts.map +1 -1
- package/dist/templatesCompiled/partials/isReadOnly.js +1 -2
- package/dist/templatesCompiled/partials/isRequiredDefinition.d.ts +9 -0
- package/dist/templatesCompiled/partials/isRequiredDefinition.d.ts.map +1 -0
- package/dist/templatesCompiled/partials/isRequiredDefinition.js +27 -0
- package/dist/templatesCompiled/partials/parametersDefinition.js +1 -1
- package/package.json +15 -4
- package/dist/common/VersionedSchema/MultiOptionsMigrationPlan.d.ts.map +0 -1
- package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts +0 -6
- package/dist/common/VersionedSchema/MultiOptionsSchemaV1.d.ts.map +0 -1
- package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts +0 -6
- package/dist/common/VersionedSchema/MultiOptionsSchemaV2.d.ts.map +0 -1
- package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts +0 -5
- package/dist/common/VersionedSchema/MultiOptionsSchemaV3.d.ts.map +0 -1
- package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts +0 -6
- package/dist/common/VersionedSchema/MultiOptionsSchemaV4.d.ts.map +0 -1
- package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts +0 -3
- package/dist/common/VersionedSchema/MultiOptionsVersionedSchemas.d.ts.map +0 -1
- package/dist/common/VersionedSchema/OptionsMigrationPlans.d.ts.map +0 -1
- package/dist/common/VersionedSchema/OptionsMigrationPlans.js +0 -15
- package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts +0 -6
- package/dist/common/VersionedSchema/OptionsSchemaV1.d.ts.map +0 -1
- package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts +0 -6
- package/dist/common/VersionedSchema/OptionsSchemaV2.d.ts.map +0 -1
- package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts +0 -5
- package/dist/common/VersionedSchema/OptionsSchemaV3.d.ts.map +0 -1
- package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts +0 -3
- package/dist/common/VersionedSchema/OptionsVersionedSchemas.d.ts.map +0 -1
- package/dist/core/types/Enums.d.ts +0 -14
- package/dist/core/types/Enums.d.ts.map +0 -1
- package/dist/core/types/Models.d.ts +0 -37
- package/dist/core/types/Models.d.ts.map +0 -1
- package/dist/core/types/shared/ConverterData.model.d.ts +0 -7
- package/dist/core/types/shared/ConverterData.model.d.ts.map +0 -1
- package/dist/core/utils/__tests__/writeClient.test.d.ts +0 -2
- package/dist/core/utils/__tests__/writeClient.test.d.ts.map +0 -1
- package/dist/core/utils/__tests__/writeClientIndex.test.d.ts +0 -2
- package/dist/core/utils/__tests__/writeClientIndex.test.d.ts.map +0 -1
- package/dist/core/utils/writeClient.d.ts +0 -89
- package/dist/core/utils/writeClient.d.ts.map +0 -1
- package/dist/core/utils/writeClient.js +0 -227
- package/dist/core/utils/writeClientIndex.d.ts +0 -59
- package/dist/core/utils/writeClientIndex.d.ts.map +0 -1
- package/dist/core/utils/writeClientIndex.js +0 -27
- package/dist/templatesCompiled/index.d.ts.map +0 -1
- /package/dist/core/types/{Models.js → base/ClientArtifacts.model.js} +0 -0
- /package/dist/core/types/{shared/ConverterData.model.js → base/ExportedModel.model.js} +0 -0
- /package/dist/templatesCompiled/{index.js → indexFull.js} +0 -0
|
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
7
7
|
const node_test_1 = require("node:test");
|
|
8
|
-
const
|
|
8
|
+
const HttpClient_enum_1 = require("../../types/enums/HttpClient.enum");
|
|
9
|
+
const WriteClient_1 = require("../../WriteClient");
|
|
9
10
|
const fileSystem_1 = require("../fileSystem");
|
|
10
|
-
const writeClientServices_1 = require("../writeClientServices");
|
|
11
11
|
(0, node_test_1.test)('@unit: writeClientServices writes to filesystem', async () => {
|
|
12
12
|
const writeFileCalls = [];
|
|
13
13
|
// Re-assigning the function manually with a mock
|
|
14
14
|
const originalWriteFile = fileSystem_1.fileSystem.writeFile;
|
|
15
|
-
fileSystem_1.fileSystem.writeFile =
|
|
15
|
+
fileSystem_1.fileSystem.writeFile = async (path, content) => {
|
|
16
16
|
writeFileCalls.push([path, content]);
|
|
17
|
-
}
|
|
17
|
+
};
|
|
18
18
|
const services = [
|
|
19
19
|
{
|
|
20
20
|
name: 'MyService',
|
|
@@ -24,7 +24,14 @@ const writeClientServices_1 = require("../writeClientServices");
|
|
|
24
24
|
},
|
|
25
25
|
];
|
|
26
26
|
const templates = {
|
|
27
|
-
|
|
27
|
+
indexes: {
|
|
28
|
+
full: () => 'fullIndex',
|
|
29
|
+
simple: () => 'simpleIndex',
|
|
30
|
+
core: () => 'coreIndex',
|
|
31
|
+
models: () => 'modelsIndex',
|
|
32
|
+
schemas: () => 'schemasIndex',
|
|
33
|
+
services: () => 'servicesIndex',
|
|
34
|
+
},
|
|
28
35
|
exports: {
|
|
29
36
|
model: () => 'model',
|
|
30
37
|
schema: () => 'schema',
|
|
@@ -40,7 +47,8 @@ const writeClientServices_1 = require("../writeClientServices");
|
|
|
40
47
|
httpStatusCode: () => 'httpStatusCode',
|
|
41
48
|
},
|
|
42
49
|
};
|
|
43
|
-
|
|
50
|
+
const writeClient = new WriteClient_1.WriteClient();
|
|
51
|
+
await writeClient.writeClientServices({
|
|
44
52
|
services,
|
|
45
53
|
templates,
|
|
46
54
|
outputPaths: {
|
|
@@ -48,7 +56,7 @@ const writeClientServices_1 = require("../writeClientServices");
|
|
|
48
56
|
outputModels: '/',
|
|
49
57
|
outputServices: '/',
|
|
50
58
|
},
|
|
51
|
-
httpClient:
|
|
59
|
+
httpClient: HttpClient_enum_1.HttpClient.FETCH,
|
|
52
60
|
useUnionTypes: false,
|
|
53
61
|
useOptions: false,
|
|
54
62
|
useCancelableRequest: false,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedDeduplicatePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/advancedDeduplicatePath.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2B5D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.advancedDeduplicatePath = advancedDeduplicatePath;
|
|
4
|
+
/**
|
|
5
|
+
* Advanced path deduplication - remove consecutive duplicate segments
|
|
6
|
+
*/
|
|
7
|
+
function advancedDeduplicatePath(path) {
|
|
8
|
+
const segments = path.split('/');
|
|
9
|
+
const result = [];
|
|
10
|
+
for (let i = 0; i < segments.length; i++) {
|
|
11
|
+
const segment = segments[i];
|
|
12
|
+
if (segment === '' || segment === '.') {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
if (segment === '..') {
|
|
16
|
+
if (result.length > 0) {
|
|
17
|
+
result.pop();
|
|
18
|
+
}
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
// Check if this segment is a duplicate of the previous one
|
|
22
|
+
if (result.length > 0 && result[result.length - 1] === segment) {
|
|
23
|
+
// Skip duplicate segment
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
result.push(segment);
|
|
27
|
+
}
|
|
28
|
+
return result.length > 0 ? '/' + result.join('/') : '';
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendUniqueLinesToFile.d.ts","sourceRoot":"","sources":["../../../src/core/utils/appendUniqueLinesToFile.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAoB3E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appendUniqueLinesToFile = appendUniqueLinesToFile;
|
|
4
|
+
const fileSystem_1 = require("./fileSystem");
|
|
5
|
+
async function appendUniqueLinesToFile(filePath, data) {
|
|
6
|
+
try {
|
|
7
|
+
let existingContent = '';
|
|
8
|
+
const fileExists = await fileSystem_1.fileSystem.exists(filePath);
|
|
9
|
+
if (fileExists) {
|
|
10
|
+
existingContent = await fileSystem_1.fileSystem.readFile(filePath, "utf8");
|
|
11
|
+
}
|
|
12
|
+
const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
|
|
13
|
+
const dataLines = data.split(/\r?\n/).filter(Boolean);
|
|
14
|
+
const linesToAdd = dataLines.filter(line => !existingLines.includes(line.trim()));
|
|
15
|
+
if (linesToAdd.length === 0) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const updatedContent = existingContent + linesToAdd.join('\n') + '\n';
|
|
19
|
+
await fileSystem_1.fileSystem.writeFile(filePath, updatedContent);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Error when writing to a file: ${error?.message}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ParsedRef } from './parseRef';
|
|
2
|
+
/**
|
|
3
|
+
* Create normalized reference string from parsedRef and resolvedPath.
|
|
4
|
+
* If resolvedPath is a URL, preserve it.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createNormalizedRef(parsedRef: ParsedRef, resolvedPath: string): string;
|
|
7
|
+
//# sourceMappingURL=createNormalizedRef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNormalizedRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/createNormalizedRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAetF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNormalizedRef = createNormalizedRef;
|
|
4
|
+
const parseRef_1 = require("./parseRef");
|
|
5
|
+
/**
|
|
6
|
+
* Create normalized reference string from parsedRef and resolvedPath.
|
|
7
|
+
* If resolvedPath is a URL, preserve it.
|
|
8
|
+
*/
|
|
9
|
+
function createNormalizedRef(parsedRef, resolvedPath) {
|
|
10
|
+
switch (parsedRef.type) {
|
|
11
|
+
case parseRef_1.RefType.LOCAL_FRAGMENT:
|
|
12
|
+
return `${resolvedPath}${parsedRef.fragment ?? ''}`;
|
|
13
|
+
case parseRef_1.RefType.EXTERNAL_FILE:
|
|
14
|
+
return resolvedPath;
|
|
15
|
+
case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
|
|
16
|
+
return `${resolvedPath}${parsedRef.fragment ?? ''}`;
|
|
17
|
+
case parseRef_1.RefType.ABSOLUTE_PATH:
|
|
18
|
+
return parsedRef.fragment ? `${resolvedPath}${parsedRef.fragment}` : resolvedPath;
|
|
19
|
+
case parseRef_1.RefType.HTTP_URL:
|
|
20
|
+
return parsedRef.originalRef;
|
|
21
|
+
default:
|
|
22
|
+
return resolvedPath;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds the common parent directory of two paths
|
|
3
|
+
* @param path1 The value of the path
|
|
4
|
+
* @param path2 The value of the path
|
|
5
|
+
*/
|
|
6
|
+
export declare function findCommonParent(path1: string, path2: string): string | null;
|
|
7
|
+
//# sourceMappingURL=findCommonParent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findCommonParent.d.ts","sourceRoot":"","sources":["../../../src/core/utils/findCommonParent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa5E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findCommonParent = findCommonParent;
|
|
4
|
+
/**
|
|
5
|
+
* Finds the common parent directory of two paths
|
|
6
|
+
* @param path1 The value of the path
|
|
7
|
+
* @param path2 The value of the path
|
|
8
|
+
*/
|
|
9
|
+
function findCommonParent(path1, path2) {
|
|
10
|
+
const pathSep = '/';
|
|
11
|
+
const parts1 = path1.split(pathSep).filter(Boolean);
|
|
12
|
+
const parts2 = path2.split(pathSep).filter(Boolean);
|
|
13
|
+
let i = 0;
|
|
14
|
+
while (i < parts1.length && i < parts2.length && parts1[i] === parts2[i]) {
|
|
15
|
+
i++;
|
|
16
|
+
}
|
|
17
|
+
if (i === 0)
|
|
18
|
+
return null;
|
|
19
|
+
return pathSep + parts1.slice(0, i).join(pathSep);
|
|
20
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAbsolutePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getAbsolutePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"getAbsolutePath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getAbsolutePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAgC5F"}
|
|
@@ -7,14 +7,25 @@ function getAbsolutePath(definitionRef, parentRef) {
|
|
|
7
7
|
if (!definitionRef) {
|
|
8
8
|
return parentRef.startsWith('#/') ? '' : parentRef;
|
|
9
9
|
}
|
|
10
|
+
const parentBase = parentRef.split('#')[0] || '';
|
|
11
|
+
// If definitionRef is an absolute fragment, attach to parent base
|
|
10
12
|
if (definitionRef.startsWith('#/')) {
|
|
11
|
-
|
|
12
|
-
const basePath = parentRef.split('#')[0]; // We take everything up to #
|
|
13
|
-
return `${basePath}${definitionRef}`;
|
|
13
|
+
return `${parentBase}${definitionRef}`;
|
|
14
14
|
}
|
|
15
|
+
// If parentRef is only a fragment, keep definitionRef as is
|
|
15
16
|
if (parentRef.startsWith('#/')) {
|
|
16
|
-
// If parentRef is an absolute reference, we return definitionRef as it is.
|
|
17
17
|
return definitionRef;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
// Full URL or absolute filesystem path → return as is
|
|
20
|
+
if (/^https?:\/\//i.test(definitionRef) || definitionRef.startsWith('/')) {
|
|
21
|
+
return definitionRef;
|
|
22
|
+
}
|
|
23
|
+
// If definitionRef already has its own fragment and/or relative path
|
|
24
|
+
if (definitionRef.includes('#')) {
|
|
25
|
+
const [defPath, defFrag] = definitionRef.split('#');
|
|
26
|
+
const absPath = defPath ? (0, pathHelpers_1.join)((0, pathHelpers_1.dirName)(parentBase), defPath) : parentBase;
|
|
27
|
+
return defFrag ? `${absPath}#${defFrag}` : absPath;
|
|
28
|
+
}
|
|
29
|
+
// Plain relative path → resolve against parent base directory
|
|
30
|
+
return (0, pathHelpers_1.join)((0, pathHelpers_1.dirName)(parentBase), definitionRef);
|
|
20
31
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Context } from '../Context';
|
|
2
|
-
import {
|
|
3
|
-
export declare function getGatheringRefs(context: Context, object: Record<string, any>, references?:
|
|
2
|
+
import { RefWithType } from '../types/base/RefWithtype.model';
|
|
3
|
+
export declare function getGatheringRefs(context: Context, object: Record<string, any>, references?: RefWithType[], root?: string, isSchema?: boolean): RefWithType[];
|
|
4
4
|
//# sourceMappingURL=getGatheringRefs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGatheringRefs.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getGatheringRefs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"getGatheringRefs.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getGatheringRefs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAe9D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAE,WAAW,EAAO,EAAE,IAAI,GAAE,MAAW,EAAE,QAAQ,GAAE,OAAe,GAAG,WAAW,EAAE,CAqD3K"}
|
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getGatheringRefs = getGatheringRefs;
|
|
7
7
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const TypeRef_enum_1 = require("../types/enums/TypeRef.enum");
|
|
9
|
+
const normalizeRef_1 = require("./normalizeRef");
|
|
10
|
+
const parseRef_1 = require("./parseRef");
|
|
11
|
+
const resolveRefPath_1 = require("./resolveRefPath");
|
|
10
12
|
function includes(references, value) {
|
|
11
13
|
return references.findIndex(item => (0, fast_deep_equal_1.default)(item.value, value)) !== -1;
|
|
12
14
|
}
|
|
@@ -20,24 +22,31 @@ function getGatheringRefs(context, object, references = [], root = '', isSchema
|
|
|
20
22
|
return references;
|
|
21
23
|
}
|
|
22
24
|
if (object.$ref) {
|
|
23
|
-
|
|
24
|
-
const isHttpRef = object.$ref.startsWith('http://') || object.$ref.startsWith('https://');
|
|
25
|
-
// Extracting the base path from root
|
|
25
|
+
// Parse the reference to understand its type
|
|
26
26
|
const baseRoot = extractBasePath(root);
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
if (includes(references, newRef)) {
|
|
27
|
+
const parsedRef = (0, parseRef_1.parseRef)(object.$ref);
|
|
28
|
+
// Create normalized reference for context.get
|
|
29
|
+
const normalizedRef = (0, normalizeRef_1.normalizeRef)(object.$ref, baseRoot);
|
|
30
|
+
if (includes(references, normalizedRef)) {
|
|
33
31
|
return references;
|
|
34
32
|
}
|
|
35
|
-
references.push({ value:
|
|
36
|
-
const newObject = context.get(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (
|
|
40
|
-
|
|
33
|
+
references.push({ value: normalizedRef, type: isSchema ? TypeRef_enum_1.TypeRef.SCHEMA : TypeRef_enum_1.TypeRef.OTHERS });
|
|
34
|
+
const newObject = context.get(normalizedRef);
|
|
35
|
+
// For recursive processing, determine the correct root path
|
|
36
|
+
let newRoot;
|
|
37
|
+
if (parsedRef.type === 'local_fragment') {
|
|
38
|
+
// For local fragments, keep the same root
|
|
39
|
+
newRoot = baseRoot;
|
|
40
|
+
}
|
|
41
|
+
else if (parsedRef.type === 'external_file' || parsedRef.type === 'external_file_fragment') {
|
|
42
|
+
// For external files, use the resolved file path
|
|
43
|
+
const resolvedPath = (0, resolveRefPath_1.resolveRefPath)(parsedRef, baseRoot);
|
|
44
|
+
newRoot = resolvedPath;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// For other types, use the normalized path without fragment
|
|
48
|
+
const [filePath] = normalizedRef.split('#');
|
|
49
|
+
newRoot = filePath;
|
|
41
50
|
}
|
|
42
51
|
return getGatheringRefs(context, newObject, references, newRoot, isSchema);
|
|
43
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMappedType.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getMappedType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMappedType.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getMappedType.ts"],"names":[],"mappings":"AAwBA;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TYPE_MAPPINGS = void 0;
|
|
4
3
|
exports.getMappedType = getMappedType;
|
|
5
4
|
exports.hasMappedType = hasMappedType;
|
|
6
|
-
|
|
5
|
+
const TYPE_MAPPINGS = new Map([
|
|
7
6
|
['File', 'File'],
|
|
8
7
|
['file', 'File'],
|
|
9
8
|
['any', 'any'],
|
|
@@ -30,8 +29,8 @@ exports.TYPE_MAPPINGS = new Map([
|
|
|
30
29
|
* Get mapped type for given type to any basic Typescript/Javascript type.
|
|
31
30
|
*/
|
|
32
31
|
function getMappedType(type) {
|
|
33
|
-
return
|
|
32
|
+
return TYPE_MAPPINGS.get(type);
|
|
34
33
|
}
|
|
35
34
|
function hasMappedType(type) {
|
|
36
|
-
return
|
|
35
|
+
return TYPE_MAPPINGS.has(type);
|
|
37
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOpenApiSpec.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOpenApiSpec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getOpenApiSpec.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOpenApiSpec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAMpE;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA6B5F"}
|
|
@@ -4,27 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getOpenApiSpec = getOpenApiSpec;
|
|
7
|
-
const
|
|
8
|
-
const path_1 = require("path");
|
|
7
|
+
const swagger_parser_1 = __importDefault(require("@apidevtools/swagger-parser"));
|
|
9
8
|
const pathHelpers_1 = require("../utils/pathHelpers");
|
|
10
9
|
const fileSystem_1 = require("./fileSystem");
|
|
11
|
-
|
|
12
|
-
if (object.$ref && !(0, path_1.isAbsolute)(object.$ref) && !object.$ref.match(/^(http:\/\/|https:\/\/|#\/)/g)) {
|
|
13
|
-
object.$ref = (0, pathHelpers_1.join)(parentRef, object.$ref);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
for (const key of Object.keys(object)) {
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
if (object[key] instanceof Object) {
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
replaceRef(object[key], context, parentRef);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return object;
|
|
27
|
-
}
|
|
10
|
+
const normalizeAllRefs_1 = require("./normalizeAllRefs");
|
|
28
11
|
/**
|
|
29
12
|
* Load and parse te open api spec. If the file extension is ".yml" or ".yaml"
|
|
30
13
|
* we will try to parse the file as a YAML spec, otherwise we will fallback
|
|
@@ -40,23 +23,17 @@ async function getOpenApiSpec(context, input) {
|
|
|
40
23
|
if (!fileExists) {
|
|
41
24
|
throw new Error(`Could not read OpenApi spec: "${absoluteInput}"`);
|
|
42
25
|
}
|
|
43
|
-
const
|
|
26
|
+
// const isValidated = await SwaggerParser.validate(absoluteInput)
|
|
27
|
+
const resolvedRefs = await swagger_parser_1.default.resolve(absoluteInput, { validate: false });
|
|
28
|
+
// Coerce to the loose interface expected by Context
|
|
44
29
|
context.addRefs(resolvedRefs);
|
|
45
30
|
const raw = resolvedRefs.get(absoluteInput);
|
|
46
31
|
if (!raw || typeof raw !== 'object' || Array.isArray(raw) || !('paths' in raw)) {
|
|
47
32
|
throw new Error(`Schema at "${absoluteInput}" is not a valid OpenAPI object`);
|
|
48
33
|
}
|
|
49
34
|
const mainSchema = raw;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
newPaths[pathKey] = replaceRef(context.get(maybeRef.$ref), context, (0, pathHelpers_1.dirName)(maybeRef.$ref));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
newPaths[pathKey] = value;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
mainSchema.paths = newPaths;
|
|
61
|
-
return mainSchema;
|
|
35
|
+
// Normalize all $ref in the entire schema using the new comprehensive resolver
|
|
36
|
+
const normalizedSchema = (0, normalizeAllRefs_1.normalizeAllRefs)(mainSchema, context, absoluteInput);
|
|
37
|
+
// The schema is already fully normalized, so we can return it directly
|
|
38
|
+
return normalizedSchema;
|
|
62
39
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OutputPaths } from '../types/base/OutputPaths.model';
|
|
2
2
|
export declare const getOutputPaths: ({ output, outputCore, outputModels, outputSchemas, outputServices, }: {
|
|
3
3
|
output: string;
|
|
4
4
|
outputCore?: string | undefined;
|
|
5
5
|
outputServices?: string | undefined;
|
|
6
6
|
outputModels?: string | undefined;
|
|
7
7
|
outputSchemas?: string | undefined;
|
|
8
|
-
}) =>
|
|
8
|
+
}) => OutputPaths;
|
|
9
9
|
//# sourceMappingURL=getOutputPaths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOutputPaths.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOutputPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getOutputPaths.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOutputPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAI9D,eAAO,MAAM,cAAc,GAAI,sEAM5B;IACC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,KAAG,WA+BH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PropertyGroupExtended } from '../types/base/PropertyGroup.model';
|
|
2
2
|
import { OperationParameter } from '../types/shared/OperationParameter.model';
|
|
3
|
-
export declare function getPropertyGroupExtended(prop: OperationParameter):
|
|
3
|
+
export declare function getPropertyGroupExtended(prop: OperationParameter): PropertyGroupExtended;
|
|
4
4
|
//# sourceMappingURL=getPropertyGroupExtended.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPropertyGroupExtended.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPropertyGroupExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getPropertyGroupExtended.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPropertyGroupExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAG9E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,GAAG,qBAAqB,CAKxF"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function getPropertyGroupSimple(prop: any):
|
|
1
|
+
import { PropertyGroupSimple } from '../types/base/PropertyGroup.model';
|
|
2
|
+
export declare function getPropertyGroupSimple(prop: any): PropertyGroupSimple;
|
|
3
3
|
//# sourceMappingURL=getPropertyGroupSimple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPropertyGroupSimple.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPropertyGroupSimple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getPropertyGroupSimple.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPropertyGroupSimple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,mBAAmB,CAIrE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRefFromSchema = getRefFromSchema;
|
|
4
|
-
const
|
|
4
|
+
const TypeRef_enum_1 = require("../types/enums/TypeRef.enum");
|
|
5
5
|
const getGatheringRefs_1 = require("./getGatheringRefs");
|
|
6
6
|
function getRefFromSchema(context, object) {
|
|
7
7
|
const references = (0, getGatheringRefs_1.getGatheringRefs)(context, object);
|
|
8
|
-
return references.filter(item => item.type ===
|
|
8
|
+
return references.filter(item => item.type === TypeRef_enum_1.TypeRef.SCHEMA).map(value => value.value);
|
|
9
9
|
}
|
|
@@ -30,7 +30,7 @@ function getRelativeModelImportPath(rootPath, sourcePath, targetPath) {
|
|
|
30
30
|
absSourcePath = path_1.default.resolve(absoluteRoot, sourceRelativePath);
|
|
31
31
|
}
|
|
32
32
|
const absSourceDir = normalizedSourcePath ? path_1.default.dirname(absSourcePath) : absoluteRoot;
|
|
33
|
-
let absTargetPath = path_1.default.resolve(absSourceDir, targetPath);
|
|
33
|
+
let absTargetPath = path_1.default.isAbsolute(targetPath) ? targetPath : path_1.default.resolve(absSourceDir, targetPath);
|
|
34
34
|
if (!(0, isInsideDirectory_1.isInsideDirectory)(absTargetPath, rootPath)) {
|
|
35
35
|
const targetRelativePath = (0, getRelativeModelPath_1.getRelativeModelPath)(absoluteRoot, targetPath);
|
|
36
36
|
absTargetPath = path_1.default.resolve(absoluteRoot, targetRelativePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRelativeModelPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getRelativeModelPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getRelativeModelPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getRelativeModelPath.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,iBAAiB,EAAE,MAAM,UA6B7F"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRelativeModelPath = getRelativeModelPath;
|
|
4
|
+
const getTypeName_1 = require("./getTypeName");
|
|
4
5
|
const isInsideDirectory_1 = require("./isInsideDirectory");
|
|
5
6
|
const pathHelpers_1 = require("./pathHelpers");
|
|
6
7
|
const replaceString_1 = require("./replaceString");
|
|
@@ -19,6 +20,10 @@ function getRelativeModelPath(folderPath, relativeModelPath) {
|
|
|
19
20
|
const pathSep = '/';
|
|
20
21
|
let mappedPaths = '';
|
|
21
22
|
let modelPath = relativeModelPath;
|
|
23
|
+
// If absolute path (filesystem or URL-like), collapse to type name only
|
|
24
|
+
if (modelPath.startsWith('/')) {
|
|
25
|
+
return (0, getTypeName_1.getTypeName)(modelPath);
|
|
26
|
+
}
|
|
22
27
|
if (modelPath.startsWith('../')) {
|
|
23
28
|
const pathArray = modelPath.split(pathSep).filter(Boolean);
|
|
24
29
|
while (pathArray[0] === '..') {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDirectory.d.ts","sourceRoot":"","sources":["../../../src/core/utils/isDirectory.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMjD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDirectory = isDirectory;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const pathHelpers_1 = require("./pathHelpers");
|
|
6
|
+
function isDirectory(path) {
|
|
7
|
+
try {
|
|
8
|
+
return (0, fs_1.statSync)((0, pathHelpers_1.normalize)(path)).isDirectory();
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isFileName.d.ts","sourceRoot":"","sources":["../../../src/core/utils/isFileName.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAmB/C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isFileName = isFileName;
|
|
4
|
+
/**
|
|
5
|
+
* Checks if the string is just a file name (with an extension)
|
|
6
|
+
* @param str - the line to check
|
|
7
|
+
* @returns true, if this is the file name
|
|
8
|
+
*/
|
|
9
|
+
function isFileName(str) {
|
|
10
|
+
if (typeof str !== 'string' || !str)
|
|
11
|
+
return false;
|
|
12
|
+
// 1. Does not contain path separators
|
|
13
|
+
if (str.includes('/') || str.includes('\\'))
|
|
14
|
+
return false;
|
|
15
|
+
// 2. Does not start with ./, ../, \
|
|
16
|
+
if (/^\.\.?[\\/\\]/.test(str))
|
|
17
|
+
return false;
|
|
18
|
+
if (str.startsWith('/'))
|
|
19
|
+
return false;
|
|
20
|
+
// 3. Contains at least one dot and does not end with a dot.
|
|
21
|
+
const parts = str.split('.');
|
|
22
|
+
if (parts.length < 2)
|
|
23
|
+
return false;
|
|
24
|
+
if (parts[parts.length - 1] === '')
|
|
25
|
+
return false; // ends with .
|
|
26
|
+
// 4. The file name is not empty
|
|
27
|
+
if (parts[0] === '')
|
|
28
|
+
return false;
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safely muppit the path from SourceDir → targetDir
|
|
3
|
+
* Works even if the file is outside SourceDir, but in a common parent
|
|
4
|
+
* @param filePath
|
|
5
|
+
* @param sourceDir
|
|
6
|
+
* @param targetDir
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function mapPathToTargetDirSafe(filePath: string, sourceDir: string, targetDir: string): string;
|
|
10
|
+
//# sourceMappingURL=mapPathToTargetDirSafe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapPathToTargetDirSafe.d.ts","sourceRoot":"","sources":["../../../src/core/utils/mapPathToTargetDirSafe.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0CrG"}
|