ts-openapi-codegen 1.0.0-beta.6 → 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.js +2 -2
- package/dist/cli/generate/runGenerateOpenApi.js +4 -4
- package/dist/cli/index.js +11 -13
- package/dist/cli/utils.d.ts +0 -17
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +0 -20
- package/dist/common/Options.d.ts +4 -6
- package/dist/common/Options.d.ts.map +1 -1
- 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 +43 -45
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +156 -81
- package/dist/core/__tests__/WriteClient.test.js +12 -8
- 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 +19 -20
- 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 +2 -6
- package/dist/core/utils/prepareAlias.d.ts.map +1 -1
- package/dist/core/utils/prepareAlias.js +0 -4
- 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 +14 -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 +2 -2
- package/dist/core/utils/sortModelByName.d.ts.map +1 -1
- 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/package.json +7 -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__/writeClientIndex.test.d.ts +0 -2
- package/dist/core/utils/__tests__/writeClientIndex.test.d.ts.map +0 -1
- 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
|
@@ -8,13 +8,13 @@ const node_test_1 = require("node:test");
|
|
|
8
8
|
const createOperationParameter_1 = require("../__mocks__/createOperationParameter");
|
|
9
9
|
const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
10
10
|
(0, node_test_1.describe)('sortByRequiredExtended', () => {
|
|
11
|
-
//
|
|
12
|
-
(0, node_test_1.test)('@unit:
|
|
11
|
+
// Tests for comparison between different groups
|
|
12
|
+
(0, node_test_1.test)('@unit: must sort the groups in order: required, required-with-default, optional, optional-with-default', () => {
|
|
13
13
|
const params = [
|
|
14
|
-
(0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false }),
|
|
15
|
-
(0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true }),
|
|
16
|
-
(0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'def' }),
|
|
17
|
-
(0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'def' })
|
|
14
|
+
(0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false }),
|
|
15
|
+
(0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true }),
|
|
16
|
+
(0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'def' }),
|
|
17
|
+
(0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'def' })
|
|
18
18
|
];
|
|
19
19
|
params.sort(sortByRequiredExtended_1.sortByRequiredExtended);
|
|
20
20
|
const sortedNames = params.map(p => p.name);
|
|
@@ -25,8 +25,8 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
25
25
|
'optional-with-default'
|
|
26
26
|
]);
|
|
27
27
|
});
|
|
28
|
-
//
|
|
29
|
-
(0, node_test_1.test)('@unit:
|
|
28
|
+
// Comparison tests within groups
|
|
29
|
+
(0, node_test_1.test)('@unit: must sort by name within the required group', () => {
|
|
30
30
|
const params = [
|
|
31
31
|
(0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: true }),
|
|
32
32
|
(0, createOperationParameter_1.createOperationParameter)('Alpha', { isRequired: true }),
|
|
@@ -36,7 +36,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
36
36
|
const sortedNames = params.map(p => p.name);
|
|
37
37
|
node_assert_1.default.deepStrictEqual(sortedNames, ['Alpha', 'Beta', 'Gamma']);
|
|
38
38
|
});
|
|
39
|
-
(0, node_test_1.test)('@unit:
|
|
39
|
+
(0, node_test_1.test)('@unit: must sort by name within the required-with-default group', () => {
|
|
40
40
|
const params = [
|
|
41
41
|
(0, createOperationParameter_1.createOperationParameter)('Zeta', { isRequired: true, default: 'def' }),
|
|
42
42
|
(0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: true, default: 'def' }),
|
|
@@ -46,7 +46,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
46
46
|
const sortedNames = params.map(p => p.name);
|
|
47
47
|
node_assert_1.default.deepStrictEqual(sortedNames, ['Alpha', 'Beta', 'Zeta']);
|
|
48
48
|
});
|
|
49
|
-
(0, node_test_1.test)('@unit:
|
|
49
|
+
(0, node_test_1.test)('@unit: it should sort by name within the optional group', () => {
|
|
50
50
|
const params = [
|
|
51
51
|
(0, createOperationParameter_1.createOperationParameter)('Second', { isRequired: false }),
|
|
52
52
|
(0, createOperationParameter_1.createOperationParameter)('First', { isRequired: false }),
|
|
@@ -56,7 +56,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
56
56
|
const sortedNames = params.map(p => p.name);
|
|
57
57
|
node_assert_1.default.deepStrictEqual(sortedNames, ['First', 'Second', 'Third']);
|
|
58
58
|
});
|
|
59
|
-
(0, node_test_1.test)('@unit:
|
|
59
|
+
(0, node_test_1.test)('@unit: it must sort by name within the optional-with-default group', () => {
|
|
60
60
|
const params = [
|
|
61
61
|
(0, createOperationParameter_1.createOperationParameter)('Dog', { isRequired: false, default: 'def' }),
|
|
62
62
|
(0, createOperationParameter_1.createOperationParameter)('Cat', { isRequired: false, default: 'def' }),
|
|
@@ -66,7 +66,7 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
66
66
|
const sortedNames = params.map(p => p.name);
|
|
67
67
|
node_assert_1.default.deepStrictEqual(sortedNames, ['Bird', 'Cat', 'Dog']);
|
|
68
68
|
});
|
|
69
|
-
//
|
|
69
|
+
// Tests for all possible pairs of groups
|
|
70
70
|
const groupPairs = [
|
|
71
71
|
['required', 'required-with-default'],
|
|
72
72
|
['required', 'optional'],
|
|
@@ -76,16 +76,16 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
76
76
|
['optional', 'optional-with-default']
|
|
77
77
|
];
|
|
78
78
|
for (const [groupA, groupB] of groupPairs) {
|
|
79
|
-
(0, node_test_1.test)(`@unit:
|
|
79
|
+
(0, node_test_1.test)(`@unit: must place "${groupA}" before "${groupB}"`, () => {
|
|
80
80
|
const paramA = (0, createOperationParameter_1.createOperationParameter)('A', createOptionsForGroup(groupA));
|
|
81
81
|
const paramB = (0, createOperationParameter_1.createOperationParameter)('B', createOptionsForGroup(groupB));
|
|
82
|
-
// A
|
|
82
|
+
// A should go before B
|
|
83
83
|
node_assert_1.default.ok((0, sortByRequiredExtended_1.sortByRequiredExtended)(paramA, paramB) < 0);
|
|
84
|
-
// B
|
|
84
|
+
// B should come after A
|
|
85
85
|
node_assert_1.default.ok((0, sortByRequiredExtended_1.sortByRequiredExtended)(paramB, paramA) > 0);
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
|
-
//
|
|
88
|
+
// Auxiliary function for creating parameters by group
|
|
89
89
|
function createOptionsForGroup(group) {
|
|
90
90
|
switch (group) {
|
|
91
91
|
case 'required':
|
|
@@ -98,20 +98,20 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
98
98
|
return { isRequired: false, default: 'default' };
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
//
|
|
102
|
-
(0, node_test_1.test)('@unit:
|
|
101
|
+
// Tests for equal groups
|
|
102
|
+
(0, node_test_1.test)('@unit: it should return 0 for identical parameters.', () => {
|
|
103
103
|
const param1 = (0, createOperationParameter_1.createOperationParameter)('Test', { isRequired: true });
|
|
104
104
|
const param2 = (0, createOperationParameter_1.createOperationParameter)('Test', { isRequired: true });
|
|
105
105
|
node_assert_1.default.strictEqual((0, sortByRequiredExtended_1.sortByRequiredExtended)(param1, param2), 0);
|
|
106
106
|
});
|
|
107
|
-
//
|
|
108
|
-
(0, node_test_1.test)('@unit:
|
|
107
|
+
// A test for processing parameters with the same name
|
|
108
|
+
(0, node_test_1.test)('@unit: it should return 0 for parameters with the same name in the same group.', () => {
|
|
109
109
|
const param1 = (0, createOperationParameter_1.createOperationParameter)('Same', { isRequired: false, default: 'def' });
|
|
110
110
|
const param2 = (0, createOperationParameter_1.createOperationParameter)('Same', { isRequired: false, default: 'def' });
|
|
111
111
|
node_assert_1.default.strictEqual((0, sortByRequiredExtended_1.sortByRequiredExtended)(param1, param2), 0);
|
|
112
112
|
});
|
|
113
|
-
//
|
|
114
|
-
(0, node_test_1.test)('@unit:
|
|
113
|
+
// A test for mixed groups with the same priorities
|
|
114
|
+
(0, node_test_1.test)('@unit: It should sort only by name for identical groups.', () => {
|
|
115
115
|
const params = [
|
|
116
116
|
(0, createOperationParameter_1.createOperationParameter)('Beta', { isRequired: false }), // optional
|
|
117
117
|
(0, createOperationParameter_1.createOperationParameter)('Alpha', { isRequired: true }), // required
|
|
@@ -131,8 +131,8 @@ const sortByRequiredExtended_1 = require("../sortByRequiredExtended");
|
|
|
131
131
|
'Epsilon' // optional-with-default
|
|
132
132
|
]);
|
|
133
133
|
});
|
|
134
|
-
//
|
|
135
|
-
(0, node_test_1.test)('@unit:
|
|
134
|
+
// A test for borderline cases
|
|
135
|
+
(0, node_test_1.test)('@unit: It must handle empty names correctly.', () => {
|
|
136
136
|
const params = [
|
|
137
137
|
(0, createOperationParameter_1.createOperationParameter)('', { isRequired: true }),
|
|
138
138
|
(0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true }),
|
|
@@ -8,65 +8,65 @@ const node_test_1 = require("node:test");
|
|
|
8
8
|
const createOperationParameter_1 = require("../__mocks__/createOperationParameter");
|
|
9
9
|
const sortByRequiredSimple_1 = require("../sortByRequiredSimple");
|
|
10
10
|
(0, node_test_1.describe)('sortByRequiredSimple', () => {
|
|
11
|
-
(0, node_test_1.test)('@unit:
|
|
11
|
+
(0, node_test_1.test)('@unit: must put required parameters without default before optional ones.', () => {
|
|
12
12
|
const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
|
|
13
13
|
const b = (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false });
|
|
14
14
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
|
|
15
15
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
|
|
16
16
|
});
|
|
17
|
-
(0, node_test_1.test)('@unit:
|
|
17
|
+
(0, node_test_1.test)('@unit: it must consider two required parameters equal without default', () => {
|
|
18
18
|
const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: true });
|
|
19
19
|
const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true });
|
|
20
20
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
21
21
|
});
|
|
22
|
-
(0, node_test_1.test)('@unit:
|
|
22
|
+
(0, node_test_1.test)('@unit: It must consider two optional parameters equal.', () => {
|
|
23
23
|
const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: false });
|
|
24
24
|
const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: false });
|
|
25
25
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
26
26
|
});
|
|
27
|
-
(0, node_test_1.test)('@unit:
|
|
27
|
+
(0, node_test_1.test)('@unit: must place the required ones without default before the required ones with default', () => {
|
|
28
28
|
const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
|
|
29
29
|
const b = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'test' });
|
|
30
30
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
|
|
31
31
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
|
|
32
32
|
});
|
|
33
|
-
(0, node_test_1.test)('@unit:
|
|
33
|
+
(0, node_test_1.test)('@unit: it must consider two required parameters with default equal.', () => {
|
|
34
34
|
const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: true, default: 'a' });
|
|
35
35
|
const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: true, default: 'b' });
|
|
36
36
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
37
37
|
});
|
|
38
|
-
(0, node_test_1.test)('@unit:
|
|
38
|
+
(0, node_test_1.test)('@unit: must place the required ones without default before the optional ones with default', () => {
|
|
39
39
|
const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
|
|
40
40
|
const b = (0, createOperationParameter_1.createOperationParameter)('optional-with-default', { isRequired: false, default: 'test' });
|
|
41
41
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), -1);
|
|
42
42
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 1);
|
|
43
43
|
});
|
|
44
|
-
(0, node_test_1.test)('@unit:
|
|
44
|
+
(0, node_test_1.test)('@unit: it must consider two optional parameters with default equal.', () => {
|
|
45
45
|
const a = (0, createOperationParameter_1.createOperationParameter)('A', { isRequired: false, default: 'a' });
|
|
46
46
|
const b = (0, createOperationParameter_1.createOperationParameter)('B', { isRequired: false, default: 'b' });
|
|
47
47
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
48
48
|
});
|
|
49
|
-
(0, node_test_1.test)('@unit:
|
|
49
|
+
(0, node_test_1.test)('@unit: it should consider mandatory with default and optional without default to be equal', () => {
|
|
50
50
|
const a = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: 'test' });
|
|
51
51
|
const b = (0, createOperationParameter_1.createOperationParameter)('optional', { isRequired: false });
|
|
52
52
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
53
53
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(b, a), 0);
|
|
54
54
|
});
|
|
55
|
-
(0, node_test_1.test)('@unit:
|
|
55
|
+
(0, node_test_1.test)('@unit: it must work correctly with undefined values.', () => {
|
|
56
56
|
const a = (0, createOperationParameter_1.createOperationParameter)('required', { isRequired: true });
|
|
57
57
|
const b = (0, createOperationParameter_1.createOperationParameter)('required-with-default', { isRequired: true, default: undefined });
|
|
58
58
|
strict_1.default.strictEqual((0, sortByRequiredSimple_1.sortByRequiredSimple)(a, b), 0);
|
|
59
59
|
});
|
|
60
60
|
(0, node_test_1.test)('@unit: should sort params', () => {
|
|
61
|
-
const optionalParameter = (0, createOperationParameter_1.createOperationParameter)('optional', { description: '3.
|
|
61
|
+
const optionalParameter = (0, createOperationParameter_1.createOperationParameter)('optional', { description: '3. Optional parameter with no default value', isRequired: false });
|
|
62
62
|
const optionalParameterWithDefault = (0, createOperationParameter_1.createOperationParameter)('optional-with-default', {
|
|
63
|
-
description: '4.
|
|
63
|
+
description: '4. An optional parameter with a default value',
|
|
64
64
|
isRequired: false,
|
|
65
65
|
default: 'Hello World!',
|
|
66
66
|
});
|
|
67
|
-
const requiredParameter = (0, createOperationParameter_1.createOperationParameter)('required', { description: '1.
|
|
67
|
+
const requiredParameter = (0, createOperationParameter_1.createOperationParameter)('required', { description: '1. A required parameter without a default value', isRequired: true });
|
|
68
68
|
const requiredParameterWithDefault = (0, createOperationParameter_1.createOperationParameter)('required-with-default', {
|
|
69
|
-
description: '2.
|
|
69
|
+
description: '2. A required parameter with a default value',
|
|
70
70
|
isRequired: true,
|
|
71
71
|
default: 'Hello World!',
|
|
72
72
|
});
|
|
@@ -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 writeClientCore_1 = require("../writeClientCore");
|
|
11
11
|
(0, node_test_1.test)('@unit: writeClientCore 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 client = {
|
|
19
19
|
server: 'http://localhost:8080',
|
|
20
20
|
version: '1.0',
|
|
@@ -22,7 +22,14 @@ const writeClientCore_1 = require("../writeClientCore");
|
|
|
22
22
|
services: [],
|
|
23
23
|
};
|
|
24
24
|
const templates = {
|
|
25
|
-
|
|
25
|
+
indexes: {
|
|
26
|
+
full: () => 'fullIndex',
|
|
27
|
+
simple: () => 'simpleIndex',
|
|
28
|
+
core: () => 'coreIndex',
|
|
29
|
+
models: () => 'modelsIndex',
|
|
30
|
+
schemas: () => 'schemasIndex',
|
|
31
|
+
services: () => 'servicesIndex',
|
|
32
|
+
},
|
|
26
33
|
exports: {
|
|
27
34
|
model: () => 'model',
|
|
28
35
|
schema: () => 'schema',
|
|
@@ -39,7 +46,8 @@ const writeClientCore_1 = require("../writeClientCore");
|
|
|
39
46
|
},
|
|
40
47
|
};
|
|
41
48
|
const useCancelableRequest = true;
|
|
42
|
-
|
|
49
|
+
const writeClient = new WriteClient_1.WriteClient();
|
|
50
|
+
await writeClient.writeClientCore({ client, templates, outputCorePath: '/', httpClient: HttpClient_enum_1.HttpClient.FETCH, useCancelableRequest });
|
|
43
51
|
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('OpenAPI.ts') && content.toString().includes('settings')), 'Expected writeFile to be called with settings content for OpenAPI.ts');
|
|
44
52
|
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('ApiError.ts') && content.toString().includes('apiError')), 'Expected writeFile to be called with apiError content for ApiError.ts');
|
|
45
53
|
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('ApiRequestOptions.ts') && content.toString().includes('apiRequestOptions')), 'Expected writeFile to be called with apiRequestOptions content for ApiRequestOptions.ts');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeClientFullIndex.test.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/__tests__/writeClientFullIndex.test.ts"],"names":[],"mappings":""}
|
|
@@ -5,17 +5,24 @@ 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 WriteClient_1 = require("../../WriteClient");
|
|
8
9
|
const fileSystem_1 = require("../fileSystem");
|
|
9
|
-
|
|
10
|
-
(0, node_test_1.test)('@unit: writeClientIndex writes to filesystem', async () => {
|
|
10
|
+
(0, node_test_1.test)('@unit: writeClientFullIndex writes to filesystem', async () => {
|
|
11
11
|
const writeFileCalls = [];
|
|
12
12
|
// Re-assigning the function manually with a mock
|
|
13
13
|
const originalWriteFile = fileSystem_1.fileSystem.writeFile;
|
|
14
|
-
fileSystem_1.fileSystem.writeFile =
|
|
14
|
+
fileSystem_1.fileSystem.writeFile = async (path, content) => {
|
|
15
15
|
writeFileCalls.push([path, content]);
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
const templates = {
|
|
18
|
-
|
|
18
|
+
indexes: {
|
|
19
|
+
full: () => 'fullIndex',
|
|
20
|
+
simple: () => 'simpleIndex',
|
|
21
|
+
core: () => 'coreIndex',
|
|
22
|
+
models: () => 'modelsIndex',
|
|
23
|
+
schemas: () => 'schemasIndex',
|
|
24
|
+
services: () => 'servicesIndex',
|
|
25
|
+
},
|
|
19
26
|
exports: {
|
|
20
27
|
model: () => 'model',
|
|
21
28
|
schema: () => 'schema',
|
|
@@ -31,8 +38,9 @@ const writeClientIndex_1 = require("../writeClientIndex");
|
|
|
31
38
|
httpStatusCode: () => 'httpStatusCode',
|
|
32
39
|
},
|
|
33
40
|
};
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
const writeClient = new WriteClient_1.WriteClient();
|
|
42
|
+
await writeClient.writeClientFullIndex({ templates, outputPath: '/', core: [], models: [], schemas: [], services: [] });
|
|
43
|
+
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('index.ts') && content.toString().includes('fullIndex')), 'Expected writeFile to be called with index content for index.ts');
|
|
36
44
|
// Restoring the original function
|
|
37
45
|
fileSystem_1.fileSystem.writeFile = originalWriteFile;
|
|
38
46
|
});
|
|
@@ -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 writeClientModels_1 = require("../writeClientModels");
|
|
11
11
|
(0, node_test_1.test)('@unit: writeClientModels 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 models = [
|
|
19
19
|
{
|
|
20
20
|
export: 'interface',
|
|
@@ -37,7 +37,14 @@ const writeClientModels_1 = require("../writeClientModels");
|
|
|
37
37
|
},
|
|
38
38
|
];
|
|
39
39
|
const templates = {
|
|
40
|
-
|
|
40
|
+
indexes: {
|
|
41
|
+
full: () => 'fullIndex',
|
|
42
|
+
simple: () => 'simpleIndex',
|
|
43
|
+
core: () => 'coreIndex',
|
|
44
|
+
models: () => 'modelsIndex',
|
|
45
|
+
schemas: () => 'schemasIndex',
|
|
46
|
+
services: () => 'servicesIndex',
|
|
47
|
+
},
|
|
41
48
|
exports: {
|
|
42
49
|
model: () => 'model',
|
|
43
50
|
schema: () => 'schema',
|
|
@@ -53,11 +60,12 @@ const writeClientModels_1 = require("../writeClientModels");
|
|
|
53
60
|
httpStatusCode: () => 'httpStatusCode',
|
|
54
61
|
},
|
|
55
62
|
};
|
|
56
|
-
|
|
63
|
+
const writeClient = new WriteClient_1.WriteClient();
|
|
64
|
+
await writeClient.writeClientModels({
|
|
57
65
|
models,
|
|
58
66
|
templates,
|
|
59
67
|
outputModelsPath: '/',
|
|
60
|
-
httpClient:
|
|
68
|
+
httpClient: HttpClient_enum_1.HttpClient.FETCH,
|
|
61
69
|
useUnionTypes: false,
|
|
62
70
|
});
|
|
63
71
|
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('MyModel.ts') && content.toString().includes('model')), 'Expected writeFile to be called with model content for MyModel.ts');
|
|
@@ -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 writeClientSchemas_1 = require("../writeClientSchemas");
|
|
11
11
|
(0, node_test_1.test)('@unit: writeClientSchemas 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 models = [
|
|
19
19
|
{
|
|
20
20
|
export: 'interface',
|
|
@@ -37,7 +37,14 @@ const writeClientSchemas_1 = require("../writeClientSchemas");
|
|
|
37
37
|
},
|
|
38
38
|
];
|
|
39
39
|
const templates = {
|
|
40
|
-
|
|
40
|
+
indexes: {
|
|
41
|
+
full: () => 'fullIndex',
|
|
42
|
+
simple: () => 'simpleIndex',
|
|
43
|
+
core: () => 'coreIndex',
|
|
44
|
+
models: () => 'modelsIndex',
|
|
45
|
+
schemas: () => 'schemasIndex',
|
|
46
|
+
services: () => 'servicesIndex',
|
|
47
|
+
},
|
|
41
48
|
exports: {
|
|
42
49
|
model: () => 'model',
|
|
43
50
|
schema: () => 'schema',
|
|
@@ -53,11 +60,12 @@ const writeClientSchemas_1 = require("../writeClientSchemas");
|
|
|
53
60
|
httpStatusCode: () => 'httpStatusCode',
|
|
54
61
|
},
|
|
55
62
|
};
|
|
56
|
-
|
|
63
|
+
const writeClient = new WriteClient_1.WriteClient();
|
|
64
|
+
await writeClient.writeClientSchemas({
|
|
57
65
|
models,
|
|
58
66
|
templates,
|
|
59
67
|
outputSchemasPath: '/',
|
|
60
|
-
httpClient:
|
|
68
|
+
httpClient: HttpClient_enum_1.HttpClient.FETCH,
|
|
61
69
|
useUnionTypes: false,
|
|
62
70
|
});
|
|
63
71
|
node_assert_1.default.ok(writeFileCalls.some(([filePath, content]) => filePath.toString().includes('MyModelSchema.ts') && content.toString().includes('schema')), 'Expected writeFile to be called with schema content for MyModelSchema.ts');
|
|
@@ -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"}
|