ts-openapi-codegen 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +221 -123
- package/README.rus.md +725 -0
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +12 -0
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/checkConfig.js +66 -0
- package/dist/cli/checkAndUpdateConfig/constants.d.ts +13 -0
- package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/constants.js +29 -0
- package/dist/cli/checkAndUpdateConfig/types.d.ts +20 -0
- package/dist/cli/checkAndUpdateConfig/types.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/types.js +12 -0
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +12 -0
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/updateConfig.js +56 -0
- package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.js +11 -0
- package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.d.ts +14 -0
- package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.js +30 -0
- package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts +17 -0
- package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.js +29 -0
- package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.d.ts +2 -0
- package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.js +11 -0
- package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts +29 -0
- package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +49 -0
- package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts +6 -0
- package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +22 -0
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts +17 -0
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +53 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +34 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +41 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts +6 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +18 -0
- package/dist/cli/generate/runGenerateOpenApi.d.ts +2 -2
- package/dist/cli/generate/runGenerateOpenApi.d.ts.map +1 -1
- package/dist/cli/generate/runGenerateOpenApi.js +12 -14
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +56 -30
- package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.js +11 -18
- package/dist/cli/interactive/confirmDialog.d.ts +17 -0
- package/dist/cli/interactive/confirmDialog.d.ts.map +1 -0
- package/dist/cli/interactive/confirmDialog.js +36 -0
- package/dist/cli/interactive/constants.d.ts +7 -0
- package/dist/cli/interactive/constants.d.ts.map +1 -0
- package/dist/cli/interactive/constants.js +25 -0
- package/dist/cli/interactive/selectDialog.d.ts +17 -0
- package/dist/cli/interactive/selectDialog.d.ts.map +1 -0
- package/dist/cli/interactive/selectDialog.js +43 -0
- package/dist/cli/interactive/types.d.ts +40 -0
- package/dist/cli/interactive/types.d.ts.map +1 -0
- package/dist/cli/interactive/types.js +12 -0
- package/dist/common/Consts.d.ts +23 -0
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +28 -1
- package/dist/common/Enums.d.ts +4 -0
- package/dist/common/Enums.d.ts.map +1 -1
- package/dist/common/Enums.js +6 -1
- package/dist/common/Logger.d.ts +1 -1
- package/dist/common/Logger.d.ts.map +1 -1
- package/dist/common/Logger.js +5 -38
- package/dist/common/UpdateNotifier.d.ts +36 -2
- package/dist/common/UpdateNotifier.d.ts.map +1 -1
- package/dist/common/UpdateNotifier.js +150 -57
- package/dist/common/VersionedSchema/Types.d.ts +5 -0
- package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +1 -7
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +3 -0
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +14 -0
- package/dist/common/VersionedSchema/Utils/getKeyByMapValue.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/getKeyByMapValue.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/getKeyByMapValue.js +11 -0
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +5 -2
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +22 -15
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +1 -0
- package/dist/common/utils/__tests__/convertArrayToObject.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/convertArrayToObject.test.js +14 -14
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/determineBestMatchingSchemaVersion.test.js +5 -5
- package/dist/common/utils/__tests__/generateKeyMappingForInvalidKeys.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/generateKeyMappingForInvalidKeys.test.js +4 -4
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/getUniqueKeysFromSchemas.test.js +4 -4
- package/dist/common/utils/__tests__/getUniqueObjectKeys.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/getUniqueObjectKeys.test.js +5 -5
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/mergeObjectSchemas.test.js +5 -5
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/migrationForMultiOptions.test.js +21 -15
- package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/migrationForOptions.test.js +13 -9
- package/dist/common/utils/__tests__/pathHelpers.test.d.ts.map +1 -0
- package/dist/{core → common}/utils/__tests__/pathHelpers.test.js +8 -8
- package/dist/common/utils/__tests__/replaceInvalidKeysWithMappedNames.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/replaceInvalidKeysWithMappedNames.test.js +5 -5
- package/dist/common/utils/__tests__/validateAndSuggestKeyCorrections.test.d.ts.map +1 -0
- package/dist/common/{__tests__ → utils/__tests__}/validateAndSuggestKeyCorrections.test.js +5 -5
- package/dist/common/utils/convertArrayToObject.d.ts +2 -0
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -0
- package/dist/common/{Utils.js → utils/convertArrayToObject.js} +0 -20
- package/dist/{core/utils/fileSystem.d.ts → common/utils/fileSystemHelpers.d.ts} +8 -5
- package/dist/common/utils/fileSystemHelpers.d.ts.map +1 -0
- package/dist/common/utils/fileSystemHelpers.js +85 -0
- package/dist/common/utils/format.d.ts +3 -0
- package/dist/common/utils/format.d.ts.map +1 -0
- package/dist/{core → common}/utils/format.js +2 -2
- package/dist/common/utils/loadConfigIfExists.d.ts +2 -0
- package/dist/common/utils/loadConfigIfExists.d.ts.map +1 -0
- package/dist/common/utils/loadConfigIfExists.js +22 -0
- package/dist/common/utils/pathHelpers.d.ts +6 -0
- package/dist/common/utils/pathHelpers.d.ts.map +1 -0
- package/dist/{core → common}/utils/pathHelpers.js +16 -20
- package/dist/common/utils/safeHasOwn.d.ts +2 -0
- package/dist/common/utils/safeHasOwn.d.ts.map +1 -0
- package/dist/common/utils/safeHasOwn.js +9 -0
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +3 -3
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +18 -18
- package/dist/core/__tests__/WriteClient.test.js +61 -60
- package/dist/core/api/v2/Parser.d.ts.map +1 -1
- package/dist/core/api/v2/Parser.js +2 -9
- package/dist/core/api/v2/parser/__tests__/getServer.test.js +2 -2
- package/dist/core/api/v2/parser/__tests__/getType.test.js +3 -3
- package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModelProperties.js +2 -5
- package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModels.js +2 -1
- package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationParameter.js +2 -1
- package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.js +2 -5
- package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.js +2 -5
- package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getServices.js +2 -5
- package/dist/core/api/v2/parser/getType.js +4 -4
- package/dist/core/api/v3/Parser.d.ts +1 -1
- package/dist/core/api/v3/Parser.d.ts.map +1 -1
- package/dist/core/api/v3/Parser.js +2 -9
- package/dist/core/api/v3/parser/__tests__/getServer.test.js +3 -3
- package/dist/core/api/v3/parser/__tests__/getType.test.js +3 -3
- package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModelProperties.js +2 -5
- package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModels.js +2 -1
- package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponse.js +2 -5
- package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.js +2 -5
- package/dist/core/api/v3/parser/getServer.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getServer.js +2 -5
- package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getServices.js +2 -5
- package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getType.js +5 -13
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +34 -27
- package/dist/core/types/Consts.d.ts +5 -1
- package/dist/core/types/Consts.d.ts.map +1 -1
- package/dist/core/types/Consts.js +6 -2
- package/dist/core/types/base/Root.model.d.ts +1 -0
- package/dist/core/types/base/Root.model.d.ts.map +1 -1
- package/dist/core/utils/__tests__/escapeDescription.test.js +3 -3
- package/dist/core/utils/__tests__/escapeName.test.js +2 -2
- package/dist/core/utils/__tests__/flatMap.test.js +2 -2
- package/dist/core/utils/__tests__/getAbsolutePath.test.js +6 -6
- package/dist/core/utils/__tests__/getClassName.test.js +2 -2
- package/dist/core/utils/__tests__/getComment.test.js +2 -2
- package/dist/core/utils/__tests__/getEnumFromDescription.test.js +2 -2
- package/dist/core/utils/__tests__/getFileName.test.js +2 -2
- package/dist/core/utils/__tests__/getGatheringRefs.test.js +2 -2
- package/dist/core/utils/__tests__/getMappedType.test.js +2 -2
- package/dist/core/utils/__tests__/getModelNames.test.js +2 -2
- package/dist/core/utils/__tests__/getOpenApiVersion.test.js +2 -2
- package/dist/core/utils/__tests__/getOperationName.test.js +2 -2
- package/dist/core/utils/__tests__/getOperationParameterName.test.js +2 -2
- package/dist/core/utils/__tests__/getOperationPath.test.js +2 -2
- package/dist/core/utils/__tests__/getOperationResponseCode.test.js +2 -2
- package/dist/core/utils/__tests__/getPattern.test.js +2 -2
- package/dist/core/utils/__tests__/getRefFromSchema.test.js +2 -2
- package/dist/core/utils/__tests__/getRefs.test.js +2 -2
- package/dist/core/utils/__tests__/getRelativeModelPath.test.js +3 -3
- package/dist/core/utils/__tests__/getServiceClassName.test.js +2 -2
- package/dist/core/utils/__tests__/getServiceNames.test.js +2 -2
- package/dist/core/utils/__tests__/getServiceVersion.test.js +2 -2
- package/dist/core/utils/__tests__/isString.test.js +2 -2
- package/dist/core/utils/__tests__/isSubdirectory.test.js +10 -10
- package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +2 -2
- package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +2 -2
- package/dist/core/utils/__tests__/replaceString.test.js +2 -2
- package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +360 -51
- package/dist/core/utils/__tests__/sort.test.js +2 -2
- package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +11 -11
- package/dist/core/utils/__tests__/sortByRequiredSimple.test.js +11 -11
- package/dist/core/utils/__tests__/sortModelsByName.test.js +2 -2
- package/dist/core/utils/__tests__/sortServicesByName.test.js +2 -2
- package/dist/core/utils/__tests__/stripNamespace.test.js +2 -2
- package/dist/core/utils/__tests__/unique.test.js +2 -2
- package/dist/core/utils/__tests__/writeClientCore.test.js +52 -50
- package/dist/core/utils/__tests__/writeClientFullIndex.test.js +39 -37
- package/dist/core/utils/__tests__/writeClientModels.test.js +65 -63
- package/dist/core/utils/__tests__/writeClientSchemas.test.js +65 -63
- package/dist/core/utils/__tests__/writeClientServices.test.js +60 -58
- package/dist/core/utils/appendUniqueLinesToFile.js +4 -4
- package/dist/core/utils/createNormalizedRef.js +2 -2
- package/dist/core/utils/getAbsolutePath.js +3 -3
- package/dist/core/utils/getModelNameWithPrefix.d.ts +3 -0
- package/dist/core/utils/getModelNameWithPrefix.d.ts.map +1 -0
- package/dist/core/utils/getModelNameWithPrefix.js +15 -0
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +4 -4
- package/dist/core/utils/getOutputPaths.d.ts.map +1 -1
- package/dist/core/utils/getOutputPaths.js +6 -6
- package/dist/core/utils/getPattern.d.ts.map +1 -1
- package/dist/core/utils/getPattern.js +2 -1
- package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -1
- package/dist/core/utils/getRelativeModelPath.js +2 -6
- package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
- package/dist/core/utils/isSubdirectory.js +4 -3
- package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +1 -1
- package/dist/core/utils/mapPathToTargetDirSafe.js +11 -12
- package/dist/core/utils/modelHelpers.d.ts.map +1 -1
- package/dist/core/utils/modelHelpers.js +18 -6
- package/dist/core/utils/normalizeString.d.ts +2 -0
- package/dist/core/utils/normalizeString.d.ts.map +1 -0
- package/dist/core/utils/normalizeString.js +14 -0
- package/dist/core/utils/normalizedAbsolutePath.js +3 -3
- package/dist/core/utils/parseRef.d.ts.map +1 -1
- package/dist/core/utils/parseRef.js +7 -10
- package/dist/core/utils/precompileTemplates.js +14 -10
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +24 -0
- package/dist/core/utils/replaceString.d.ts.map +1 -1
- package/dist/core/utils/replaceString.js +2 -1
- package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
- package/dist/core/utils/resolveRefPath.js +3 -3
- package/dist/core/utils/resolveRefToImportPath.d.ts +8 -2
- package/dist/core/utils/resolveRefToImportPath.d.ts.map +1 -1
- package/dist/core/utils/resolveRefToImportPath.js +91 -31
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
- package/dist/core/utils/serviceHelpers.js +2 -1
- package/dist/core/utils/stripNamespace.js +5 -5
- package/dist/core/utils/writeClientCore.d.ts.map +1 -1
- package/dist/core/utils/writeClientCore.js +12 -12
- package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientCoreIndex.js +2 -2
- package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientFullIndex.js +4 -4
- package/dist/core/utils/writeClientModels.d.ts.map +1 -1
- package/dist/core/utils/writeClientModels.js +7 -7
- package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientModelsIndex.js +2 -2
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +7 -7
- package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemasIndex.js +2 -2
- package/dist/core/utils/writeClientServices.d.ts.map +1 -1
- package/dist/core/utils/writeClientServices.js +5 -5
- package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientServicesIndex.js +2 -2
- package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientSimpleIndex.js +4 -4
- package/dist/templatesCompiled/client/exportModel.js +4 -4
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +12 -13
- package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexFull.js +35 -29
- package/dist/templatesCompiled/client/partials/parameters.d.ts +3 -2
- package/dist/templatesCompiled/client/partials/parameters.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/parameters.js +25 -20
- package/dist/templatesCompiled/client/partials/parametersDefinition.d.ts +4 -2
- package/dist/templatesCompiled/client/partials/parametersDefinition.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/parametersDefinition.js +31 -10
- package/package.json +15 -13
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts +0 -5
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts.map +0 -1
- package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.js +0 -45
- package/dist/common/Utils.d.ts +0 -3
- package/dist/common/Utils.d.ts.map +0 -1
- package/dist/common/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
- package/dist/common/__tests__/convertArrayToObject.test.d.ts.map +0 -1
- package/dist/common/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
- package/dist/common/__tests__/generateKeyMappingForInvalidKeys.test.d.ts.map +0 -1
- package/dist/common/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
- package/dist/common/__tests__/getUniqueObjectKeys.test.d.ts.map +0 -1
- package/dist/common/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
- package/dist/common/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
- package/dist/common/__tests__/migrationForOptions.test.d.ts.map +0 -1
- package/dist/common/__tests__/replaceInvalidKeysWithMappedNames.test.d.ts.map +0 -1
- package/dist/common/__tests__/validateAndSuggestKeyCorrections.test.d.ts.map +0 -1
- package/dist/core/utils/__tests__/getRelativeModelImportPath.test.d.ts +0 -2
- package/dist/core/utils/__tests__/getRelativeModelImportPath.test.d.ts.map +0 -1
- package/dist/core/utils/__tests__/getRelativeModelImportPath.test.js +0 -82
- package/dist/core/utils/__tests__/pathHelpers.test.d.ts.map +0 -1
- package/dist/core/utils/fileSystem.d.ts.map +0 -1
- package/dist/core/utils/fileSystem.js +0 -26
- package/dist/core/utils/format.d.ts +0 -2
- package/dist/core/utils/format.d.ts.map +0 -1
- package/dist/core/utils/getRelativeModelImportPath.d.ts +0 -9
- package/dist/core/utils/getRelativeModelImportPath.d.ts.map +0 -1
- package/dist/core/utils/getRelativeModelImportPath.js +0 -45
- package/dist/core/utils/isDirectory.d.ts +0 -2
- package/dist/core/utils/isDirectory.d.ts.map +0 -1
- package/dist/core/utils/isDirectory.js +0 -13
- package/dist/core/utils/pathHelpers.d.ts +0 -7
- package/dist/core/utils/pathHelpers.d.ts.map +0 -1
- /package/dist/common/{__tests__ → utils/__tests__}/__mock__/mockJoiSchema.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/__mock__/mockJoiSchema.js +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/convertArrayToObject.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/determineBestMatchingSchemaVersion.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/generateKeyMappingForInvalidKeys.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/getUniqueKeysFromSchemas.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/getUniqueObjectKeys.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/mergeObjectSchemas.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/migrationForMultiOptions.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/migrationForOptions.test.d.ts +0 -0
- /package/dist/{core → common}/utils/__tests__/pathHelpers.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/replaceInvalidKeysWithMappedNames.test.d.ts +0 -0
- /package/dist/common/{__tests__ → utils/__tests__}/validateAndSuggestKeyCorrections.test.d.ts +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.appendUniqueLinesToFile = appendUniqueLinesToFile;
|
|
4
|
-
const
|
|
4
|
+
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
5
5
|
async function appendUniqueLinesToFile(filePath, data) {
|
|
6
6
|
try {
|
|
7
7
|
let existingContent = '';
|
|
8
|
-
const fileExists = await
|
|
8
|
+
const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(filePath);
|
|
9
9
|
if (fileExists) {
|
|
10
|
-
existingContent = await
|
|
10
|
+
existingContent = await fileSystemHelpers_1.fileSystemHelpers.readFile(filePath, "utf8");
|
|
11
11
|
}
|
|
12
12
|
const existingLines = existingContent.split(/\r?\n/).filter(Boolean);
|
|
13
13
|
const dataLines = data.split(/\r?\n/).filter(Boolean);
|
|
@@ -16,7 +16,7 @@ async function appendUniqueLinesToFile(filePath, data) {
|
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
const updatedContent = existingContent + linesToAdd.join('\n') + '\n';
|
|
19
|
-
await
|
|
19
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile(filePath, updatedContent);
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
22
22
|
throw new Error(`Error when writing to a file: ${error?.message}`);
|
|
@@ -9,11 +9,11 @@ const parseRef_1 = require("./parseRef");
|
|
|
9
9
|
function createNormalizedRef(parsedRef, resolvedPath) {
|
|
10
10
|
switch (parsedRef.type) {
|
|
11
11
|
case parseRef_1.RefType.LOCAL_FRAGMENT:
|
|
12
|
-
return `${resolvedPath}${parsedRef.fragment
|
|
12
|
+
return `${resolvedPath}${parsedRef.fragment}`;
|
|
13
13
|
case parseRef_1.RefType.EXTERNAL_FILE:
|
|
14
14
|
return resolvedPath;
|
|
15
15
|
case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
|
|
16
|
-
return `${resolvedPath}${parsedRef.fragment
|
|
16
|
+
return `${resolvedPath}${parsedRef.fragment}`;
|
|
17
17
|
case parseRef_1.RefType.ABSOLUTE_PATH:
|
|
18
18
|
return parsedRef.fragment ? `${resolvedPath}${parsedRef.fragment}` : resolvedPath;
|
|
19
19
|
case parseRef_1.RefType.HTTP_URL:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAbsolutePath = getAbsolutePath;
|
|
4
|
-
const pathHelpers_1 = require("
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
5
5
|
function getAbsolutePath(definitionRef, parentRef) {
|
|
6
6
|
// If the definition Ref is missing
|
|
7
7
|
if (!definitionRef) {
|
|
@@ -23,9 +23,9 @@ function getAbsolutePath(definitionRef, parentRef) {
|
|
|
23
23
|
// If definitionRef already has its own fragment and/or relative path
|
|
24
24
|
if (definitionRef.includes('#')) {
|
|
25
25
|
const [defPath, defFrag] = definitionRef.split('#');
|
|
26
|
-
const absPath = defPath ? (0, pathHelpers_1.
|
|
26
|
+
const absPath = defPath ? (0, pathHelpers_1.joinHelper)((0, pathHelpers_1.dirNameHelper)(parentBase), defPath) : parentBase;
|
|
27
27
|
return defFrag ? `${absPath}#${defFrag}` : absPath;
|
|
28
28
|
}
|
|
29
29
|
// Plain relative path → resolve against parent base directory
|
|
30
|
-
return (0, pathHelpers_1.
|
|
30
|
+
return (0, pathHelpers_1.joinHelper)((0, pathHelpers_1.dirNameHelper)(parentBase), definitionRef);
|
|
31
31
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getModelNameWithPrefix.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getModelNameWithPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,UAUtG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getModelNameWithPrefix = getModelNameWithPrefix;
|
|
4
|
+
function getModelNameWithPrefix(originalName, definition, prefixes) {
|
|
5
|
+
if (definition.enum && definition !== 'boolean') {
|
|
6
|
+
return `${prefixes.enum}${originalName}`;
|
|
7
|
+
}
|
|
8
|
+
else if (definition.oneOf || definition.anyOf || definition.allOf || ['string', 'number', 'integer', 'boolean', 'array'].includes(definition.type)) {
|
|
9
|
+
return `${prefixes.type}${originalName}`;
|
|
10
|
+
}
|
|
11
|
+
else if (definition.type === 'object') {
|
|
12
|
+
return `${prefixes.interface}${originalName}`;
|
|
13
|
+
}
|
|
14
|
+
return originalName;
|
|
15
|
+
}
|
|
@@ -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":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpE;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA6B5F"}
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getOpenApiSpec = getOpenApiSpec;
|
|
7
7
|
const swagger_parser_1 = __importDefault(require("@apidevtools/swagger-parser"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
9
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
10
10
|
const normalizeAllRefs_1 = require("./normalizeAllRefs");
|
|
11
11
|
/**
|
|
12
12
|
* Load and parse te open api spec. If the file extension is ".yml" or ".yaml"
|
|
@@ -15,11 +15,11 @@ const normalizeAllRefs_1 = require("./normalizeAllRefs");
|
|
|
15
15
|
* @param input
|
|
16
16
|
*/
|
|
17
17
|
async function getOpenApiSpec(context, input) {
|
|
18
|
-
const absoluteInput = (0, pathHelpers_1.
|
|
18
|
+
const absoluteInput = (0, pathHelpers_1.resolveHelper)(process.cwd(), input);
|
|
19
19
|
if (!input) {
|
|
20
20
|
throw new Error(`Could not find OpenApi spec: "${absoluteInput}"`);
|
|
21
21
|
}
|
|
22
|
-
const fileExists = await
|
|
22
|
+
const fileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(absoluteInput);
|
|
23
23
|
if (!fileExists) {
|
|
24
24
|
throw new Error(`Could not read OpenApi spec: "${absoluteInput}"`);
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOutputPaths.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOutputPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getOutputPaths.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getOutputPaths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,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,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOutputPaths = void 0;
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
4
5
|
const isSubdirectory_1 = require("../utils/isSubdirectory");
|
|
5
|
-
const pathHelpers_1 = require("./pathHelpers");
|
|
6
6
|
const getOutputPaths = ({ output, outputCore, outputModels, outputSchemas, outputServices, }) => {
|
|
7
7
|
const rootPath = process.cwd();
|
|
8
8
|
if (!(0, isSubdirectory_1.isSubDirectory)(rootPath, output)) {
|
|
@@ -20,11 +20,11 @@ const getOutputPaths = ({ output, outputCore, outputModels, outputSchemas, outpu
|
|
|
20
20
|
if (outputServices && !(0, isSubdirectory_1.isSubDirectory)(rootPath, outputServices)) {
|
|
21
21
|
throw new Error(`Output folder(services) is not a subdirectory of the current working directory`);
|
|
22
22
|
}
|
|
23
|
-
const outputPath = (0, pathHelpers_1.
|
|
24
|
-
const outputPathCore = outputCore ? (0, pathHelpers_1.
|
|
25
|
-
const outputPathModels = outputModels ? (0, pathHelpers_1.
|
|
26
|
-
const outputPathSchemas = outputSchemas ? (0, pathHelpers_1.
|
|
27
|
-
const outputPathServices = outputServices ? (0, pathHelpers_1.
|
|
23
|
+
const outputPath = (0, pathHelpers_1.resolveHelper)(rootPath, output);
|
|
24
|
+
const outputPathCore = outputCore ? (0, pathHelpers_1.resolveHelper)(rootPath, outputCore) : (0, pathHelpers_1.resolveHelper)(outputPath, 'core');
|
|
25
|
+
const outputPathModels = outputModels ? (0, pathHelpers_1.resolveHelper)(rootPath, outputModels) : (0, pathHelpers_1.resolveHelper)(outputPath, 'models');
|
|
26
|
+
const outputPathSchemas = outputSchemas ? (0, pathHelpers_1.resolveHelper)(rootPath, outputSchemas) : (0, pathHelpers_1.resolveHelper)(outputPath, 'schemas');
|
|
27
|
+
const outputPathServices = outputServices ? (0, pathHelpers_1.resolveHelper)(rootPath, outputServices) : (0, pathHelpers_1.resolveHelper)(outputPath, 'services');
|
|
28
28
|
return {
|
|
29
29
|
output: outputPath,
|
|
30
30
|
outputCore: outputPathCore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPattern.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPattern.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPattern.d.ts","sourceRoot":"","sources":["../../../src/core/utils/getPattern.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPattern = getPattern;
|
|
4
|
+
const Consts_1 = require("../types/Consts");
|
|
4
5
|
/**
|
|
5
6
|
* The spec generates a pattern like this '^\d{3}-\d{2}-\d{4}$'
|
|
6
7
|
* However, to use it in HTML or inside new RegExp() we need to
|
|
@@ -9,5 +10,5 @@ exports.getPattern = getPattern;
|
|
|
9
10
|
* @param pattern
|
|
10
11
|
*/
|
|
11
12
|
function getPattern(pattern) {
|
|
12
|
-
return pattern?.replace(
|
|
13
|
+
return pattern?.replace(Consts_1.REGEX_BACKSLASH, '\\\\');
|
|
13
14
|
}
|
|
@@ -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":"AAIA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,iBAAiB,EAAE,MAAM,UA2B7F"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRelativeModelPath = getRelativeModelPath;
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
4
5
|
const getTypeName_1 = require("./getTypeName");
|
|
5
6
|
const isInsideDirectory_1 = require("./isInsideDirectory");
|
|
6
|
-
const pathHelpers_1 = require("./pathHelpers");
|
|
7
|
-
const replaceString_1 = require("./replaceString");
|
|
8
|
-
const stripNamespace_1 = require("./stripNamespace");
|
|
9
7
|
/**
|
|
10
8
|
* The function calculates the relative path to the model.
|
|
11
9
|
* Removes the transition to the directory with a level above.
|
|
@@ -31,11 +29,9 @@ function getRelativeModelPath(folderPath, relativeModelPath) {
|
|
|
31
29
|
}
|
|
32
30
|
modelPath = pathArray.join(pathSep);
|
|
33
31
|
}
|
|
34
|
-
const resolvedPath = (0, pathHelpers_1.
|
|
32
|
+
const resolvedPath = (0, pathHelpers_1.resolveHelper)(folderPath, modelPath);
|
|
35
33
|
if ((0, isInsideDirectory_1.isInsideDirectory)(resolvedPath, folderPath)) {
|
|
36
34
|
mappedPaths = modelPath;
|
|
37
35
|
}
|
|
38
|
-
const normalizedValue = (0, replaceString_1.replaceString)(mappedPaths);
|
|
39
|
-
mappedPaths = (0, stripNamespace_1.stripNamespace)(normalizedValue || '');
|
|
40
36
|
return mappedPaths;
|
|
41
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSubdirectory.d.ts","sourceRoot":"","sources":["../../../src/core/utils/isSubdirectory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isSubdirectory.d.ts","sourceRoot":"","sources":["../../../src/core/utils/isSubdirectory.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAK3D"}
|
|
@@ -5,14 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.isSubDirectory = isSubDirectory;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
8
9
|
/**
|
|
9
10
|
* Checks whether `child` is a subdirectory of `parent`
|
|
10
11
|
* @param parent Parent directory (absolute path)
|
|
11
12
|
* @param child Child directory (absolute or relative path)
|
|
12
13
|
*/
|
|
13
14
|
function isSubDirectory(parent, child) {
|
|
14
|
-
const parentNormalized =
|
|
15
|
-
const childNormalized =
|
|
16
|
-
const relative =
|
|
15
|
+
const parentNormalized = (0, pathHelpers_1.resolveHelper)(parent);
|
|
16
|
+
const childNormalized = (0, pathHelpers_1.resolveHelper)(parentNormalized, child);
|
|
17
|
+
const relative = (0, pathHelpers_1.relativeHelper)(parentNormalized, childNormalized);
|
|
17
18
|
return relative !== '' && !relative.startsWith('..') && !path_1.default.isAbsolute(relative);
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapPathToTargetDirSafe.d.ts","sourceRoot":"","sources":["../../../src/core/utils/mapPathToTargetDirSafe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapPathToTargetDirSafe.d.ts","sourceRoot":"","sources":["../../../src/core/utils/mapPathToTargetDirSafe.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0CrG"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapPathToTargetDirSafe = mapPathToTargetDirSafe;
|
|
4
|
-
const
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
5
5
|
const findCommonParent_1 = require("./findCommonParent");
|
|
6
6
|
const getRelativeModelPath_1 = require("./getRelativeModelPath");
|
|
7
|
-
const pathHelpers_1 = require("./pathHelpers");
|
|
8
7
|
/**
|
|
9
8
|
* Safely muppit the path from SourceDir → targetDir
|
|
10
9
|
* Works even if the file is outside SourceDir, but in a common parent
|
|
@@ -15,34 +14,34 @@ const pathHelpers_1 = require("./pathHelpers");
|
|
|
15
14
|
*/
|
|
16
15
|
function mapPathToTargetDirSafe(filePath, sourceDir, targetDir) {
|
|
17
16
|
const pathSep = '/';
|
|
18
|
-
const absFile = (0, pathHelpers_1.
|
|
19
|
-
const absSource = (0, pathHelpers_1.
|
|
20
|
-
const absTarget = (0, pathHelpers_1.
|
|
17
|
+
const absFile = (0, pathHelpers_1.resolveHelper)(filePath);
|
|
18
|
+
const absSource = (0, pathHelpers_1.resolveHelper)(sourceDir);
|
|
19
|
+
const absTarget = (0, pathHelpers_1.resolveHelper)(targetDir);
|
|
21
20
|
const sourceWithSep = absSource.endsWith(pathSep) ? absSource : absSource + pathSep;
|
|
22
21
|
// 1. The file inside SourceDir → mapim as usual
|
|
23
22
|
if (absFile.startsWith(sourceWithSep)) {
|
|
24
|
-
const rel = (0,
|
|
25
|
-
return (0, pathHelpers_1.
|
|
23
|
+
const rel = (0, pathHelpers_1.relativeHelper)(absSource, absFile);
|
|
24
|
+
return (0, pathHelpers_1.resolveHelper)(absTarget, rel);
|
|
26
25
|
}
|
|
27
26
|
// 2. The file is outside SourceDir, but in a common parent
|
|
28
27
|
const commonParent = (0, findCommonParent_1.findCommonParent)(absSource, absFile);
|
|
29
28
|
if (commonParent) {
|
|
30
29
|
// Path from commonParent → file
|
|
31
|
-
const fileRelToCommon = (0,
|
|
30
|
+
const fileRelToCommon = (0, pathHelpers_1.relativeHelper)(commonParent, absFile);
|
|
32
31
|
// Path from targetDir → commonParent
|
|
33
|
-
const targetToCommon = (0,
|
|
32
|
+
const targetToCommon = (0, pathHelpers_1.relativeHelper)(absTarget, commonParent);
|
|
34
33
|
if (targetToCommon.includes('..')) {
|
|
35
34
|
// targetDir is higher than commonParent → we can't map
|
|
36
35
|
if (filePath) {
|
|
37
|
-
const relativePath = (0,
|
|
36
|
+
const relativePath = (0, pathHelpers_1.relativeHelper)(absSource, absFile);
|
|
38
37
|
return (0, getRelativeModelPath_1.getRelativeModelPath)(targetDir, relativePath);
|
|
39
38
|
}
|
|
40
39
|
return filePath;
|
|
41
40
|
}
|
|
42
41
|
// Collecting: targetDir → commonParent → file
|
|
43
|
-
const pathFromTargetToCommon = (0,
|
|
42
|
+
const pathFromTargetToCommon = (0, pathHelpers_1.relativeHelper)(absTarget, commonParent);
|
|
44
43
|
const pathFromCommonToFile = fileRelToCommon;
|
|
45
|
-
return (0, pathHelpers_1.
|
|
44
|
+
return (0, pathHelpers_1.resolveHelper)(absTarget, pathFromTargetToCommon, pathFromCommonToFile);
|
|
46
45
|
}
|
|
47
46
|
// 3. There is no common parent → return as is
|
|
48
47
|
return filePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/modelHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modelHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/modelHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAkBjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,KAAK,EAAE,CA+BrF"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.setDuplicateModelAliases = setDuplicateModelAliases;
|
|
4
7
|
exports.resolveModelImports = resolveModelImports;
|
|
5
|
-
const path_1 = require("path");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
6
10
|
/**
|
|
7
11
|
* Assigns alias to models with the same name.
|
|
8
12
|
* Modifies objects of in-place models and returns an array.
|
|
@@ -57,11 +61,19 @@ function resolveModelImports(models, outputModelsDir) {
|
|
|
57
61
|
const importAlias = importModel?.alias ?? imprt.alias;
|
|
58
62
|
let importPath = imprt.path;
|
|
59
63
|
if (importModel) {
|
|
60
|
-
const fromDir = (0,
|
|
61
|
-
const toDir = (0,
|
|
62
|
-
const file =
|
|
63
|
-
const relativePath = (0,
|
|
64
|
-
|
|
64
|
+
const fromDir = (0, pathHelpers_1.dirNameHelper)((0, pathHelpers_1.resolveHelper)(outputModelsDir, model.path));
|
|
65
|
+
const toDir = (0, pathHelpers_1.dirNameHelper)((0, pathHelpers_1.resolveHelper)(outputModelsDir, importModel.path));
|
|
66
|
+
const file = path_1.default.basename(importModel.path);
|
|
67
|
+
const relativePath = (0, pathHelpers_1.relativeHelper)(fromDir, toDir);
|
|
68
|
+
if (relativePath === '') {
|
|
69
|
+
importPath = `./${file}`;
|
|
70
|
+
}
|
|
71
|
+
else if (relativePath.startsWith('./')) {
|
|
72
|
+
importPath = `${relativePath}${file}`;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
importPath = `${relativePath}/${file}`;
|
|
76
|
+
}
|
|
65
77
|
}
|
|
66
78
|
return Object.assign(imprt, {
|
|
67
79
|
alias: importAlias,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeString.d.ts","sourceRoot":"","sources":["../../../src/core/utils/normalizeString.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAUzE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeString = normalizeString;
|
|
4
|
+
const Consts_1 = require("../types/Consts");
|
|
5
|
+
function normalizeString(value) {
|
|
6
|
+
if (!value) {
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
return value
|
|
10
|
+
.replace(Consts_1.REGEX_BACKSLASH, '/')
|
|
11
|
+
.replace(Consts_1.REGEX_MULTIPLE_SLASHES, '/')
|
|
12
|
+
.replace(Consts_1.REGEX_DOT_SLASH, '/')
|
|
13
|
+
.replace(Consts_1.REGEX_LEADING_DOT_SLASH, './');
|
|
14
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizedAbsolutePath = normalizedAbsolutePath;
|
|
4
|
-
const pathHelpers_1 = require("
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
5
5
|
/**
|
|
6
6
|
* Converts the path to an absolute one and normalizes it.
|
|
7
7
|
* @* @param path Value is the value of the path to convert.
|
|
8
8
|
*/
|
|
9
9
|
function normalizedAbsolutePath(pathValue) {
|
|
10
|
-
const absolute = (0, pathHelpers_1.
|
|
11
|
-
return (0, pathHelpers_1.
|
|
10
|
+
const absolute = (0, pathHelpers_1.resolveHelper)(pathValue);
|
|
11
|
+
return (0, pathHelpers_1.normalizeHelper)(absolute);
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/parseRef.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IACf,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IACjD,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"parseRef.d.ts","sourceRoot":"","sources":["../../../src/core/utils/parseRef.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IACf,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IACjD,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAgD/C"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.RefType = void 0;
|
|
7
4
|
exports.parseRef = parseRef;
|
|
8
|
-
const path_1 =
|
|
5
|
+
const path_1 = require("path");
|
|
9
6
|
var RefType;
|
|
10
7
|
(function (RefType) {
|
|
11
8
|
RefType["LOCAL_FRAGMENT"] = "local_fragment";
|
|
@@ -25,17 +22,17 @@ function parseRef(ref) {
|
|
|
25
22
|
if (ref.startsWith('http://') || ref.startsWith('https://')) {
|
|
26
23
|
return {
|
|
27
24
|
type: RefType.HTTP_URL,
|
|
28
|
-
originalRef: ref
|
|
25
|
+
originalRef: ref,
|
|
29
26
|
};
|
|
30
27
|
}
|
|
31
28
|
// Absolute paths (POSIX/Windows handled by path.isAbsolute)
|
|
32
|
-
if (path_1.
|
|
29
|
+
if ((0, path_1.isAbsolute)(ref)) {
|
|
33
30
|
const [filePath, fragment] = ref.split('#');
|
|
34
31
|
return {
|
|
35
32
|
type: RefType.ABSOLUTE_PATH,
|
|
36
33
|
filePath,
|
|
37
34
|
fragment: fragment ? `#${fragment}` : undefined,
|
|
38
|
-
originalRef: ref
|
|
35
|
+
originalRef: ref,
|
|
39
36
|
};
|
|
40
37
|
}
|
|
41
38
|
// Local fragment
|
|
@@ -43,7 +40,7 @@ function parseRef(ref) {
|
|
|
43
40
|
return {
|
|
44
41
|
type: RefType.LOCAL_FRAGMENT,
|
|
45
42
|
fragment: ref,
|
|
46
|
-
originalRef: ref
|
|
43
|
+
originalRef: ref,
|
|
47
44
|
};
|
|
48
45
|
}
|
|
49
46
|
// External file references (may include fragment)
|
|
@@ -53,12 +50,12 @@ function parseRef(ref) {
|
|
|
53
50
|
type: RefType.EXTERNAL_FILE_FRAGMENT,
|
|
54
51
|
filePath,
|
|
55
52
|
fragment: `#${fragment}`,
|
|
56
|
-
originalRef: ref
|
|
53
|
+
originalRef: ref,
|
|
57
54
|
};
|
|
58
55
|
}
|
|
59
56
|
return {
|
|
60
57
|
type: RefType.EXTERNAL_FILE,
|
|
61
58
|
filePath,
|
|
62
|
-
originalRef: ref
|
|
59
|
+
originalRef: ref,
|
|
63
60
|
};
|
|
64
61
|
}
|
|
@@ -5,11 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const fs_1 = __importDefault(require("fs"));
|
|
7
7
|
const handlebars_1 = __importDefault(require("handlebars"));
|
|
8
|
-
const path_1 =
|
|
8
|
+
const path_1 = require("path");
|
|
9
9
|
const Enums_1 = require("../../common/Enums");
|
|
10
10
|
const Logger_1 = require("../../common/Logger");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
12
|
+
const Consts_1 = require("../../core/types/Consts");
|
|
13
|
+
const templatesDir = (0, pathHelpers_1.resolveHelper)(__dirname, '../../templates');
|
|
14
|
+
const compiledDir = (0, pathHelpers_1.resolveHelper)(__dirname, '../../templatesCompiled');
|
|
13
15
|
const header = `// This is an automatically generated file for the hbs template.
|
|
14
16
|
// You don't need to change it, run npm run build:hbs to update it.
|
|
15
17
|
/* istanbul ignore file */
|
|
@@ -36,15 +38,14 @@ const precompileTemplates = () => {
|
|
|
36
38
|
if (file.name === '__mocks__') {
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
39
|
-
const filePath =
|
|
41
|
+
const filePath = (0, pathHelpers_1.joinHelper)(dir, file.name);
|
|
40
42
|
if (file.isDirectory()) {
|
|
41
43
|
walk(filePath);
|
|
42
44
|
}
|
|
43
|
-
else if (file.isFile() && path_1.
|
|
44
|
-
const templateName =
|
|
45
|
-
.relative(templatesDir, filePath)
|
|
45
|
+
else if (file.isFile() && (0, path_1.extname)(file.name) === '.hbs') {
|
|
46
|
+
const templateName = (0, pathHelpers_1.relativeHelper)(templatesDir, filePath)
|
|
46
47
|
.replace(/\.hbs$/, '')
|
|
47
|
-
.replace(
|
|
48
|
+
.replace(Consts_1.REGEX_BACKSLASH, '/');
|
|
48
49
|
const templateContent = fs_1.default.readFileSync(filePath, 'utf8');
|
|
49
50
|
const precompiled = handlebars_1.default.precompile(templateContent, {
|
|
50
51
|
strict: true,
|
|
@@ -58,11 +59,14 @@ const precompileTemplates = () => {
|
|
|
58
59
|
union: true,
|
|
59
60
|
intersection: true,
|
|
60
61
|
enumerator: true,
|
|
62
|
+
containsSystemName: true,
|
|
63
|
+
normalizePath: true,
|
|
64
|
+
joinPath: true,
|
|
61
65
|
},
|
|
62
66
|
});
|
|
63
67
|
const tsContent = header + precompiled;
|
|
64
|
-
const outputFilePath =
|
|
65
|
-
const outputDir =
|
|
68
|
+
const outputFilePath = (0, pathHelpers_1.joinHelper)(compiledDir, `${templateName}.ts`);
|
|
69
|
+
const outputDir = (0, pathHelpers_1.dirNameHelper)(outputFilePath);
|
|
66
70
|
if (!fs_1.default.existsSync(outputDir)) {
|
|
67
71
|
fs_1.default.mkdirSync(outputDir, { recursive: true });
|
|
68
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerHandlebarHelpers.d.ts","sourceRoot":"","sources":["../../../src/core/utils/registerHandlebarHelpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAK5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA+E5H"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerHandlebarHelpers = registerHandlebarHelpers;
|
|
37
37
|
const Handlebars = __importStar(require("handlebars/runtime"));
|
|
38
|
+
const Consts_1 = require("../types/Consts");
|
|
38
39
|
const unique_1 = require("./unique");
|
|
39
40
|
function registerHandlebarHelpers(root) {
|
|
40
41
|
Handlebars.registerHelper('equals', function (a, b, options) {
|
|
@@ -80,4 +81,27 @@ function registerHandlebarHelpers(root) {
|
|
|
80
81
|
const hasReservedWords = RESERVED_WORDS.test(value);
|
|
81
82
|
return hasReservedWords ? options.fn(this) : options.inverse(this);
|
|
82
83
|
});
|
|
84
|
+
Handlebars.registerHelper('normalizePath', function (path) {
|
|
85
|
+
if (!path || typeof path !== 'string') {
|
|
86
|
+
return './';
|
|
87
|
+
}
|
|
88
|
+
let normalizedPath = path
|
|
89
|
+
.replace(Consts_1.REGEX_BACKSLASH, '/')
|
|
90
|
+
.replace(Consts_1.REGEX_MULTIPLE_SLASHES, '/')
|
|
91
|
+
.replace(Consts_1.REGEX_DOT_SLASH, '/')
|
|
92
|
+
.replace(Consts_1.REGEX_LEADING_DOT_SLASH, './')
|
|
93
|
+
.replace(Consts_1.REGEX_TRAILING_SLASH, '');
|
|
94
|
+
if (!normalizedPath.startsWith('./')) {
|
|
95
|
+
normalizedPath = `./${normalizedPath}`;
|
|
96
|
+
}
|
|
97
|
+
if (normalizedPath === '.') {
|
|
98
|
+
return './';
|
|
99
|
+
}
|
|
100
|
+
return normalizedPath;
|
|
101
|
+
});
|
|
102
|
+
Handlebars.registerHelper('joinPath', function (firstPath, secondPath) {
|
|
103
|
+
const cleanedFirstPath = firstPath.endsWith('./') ? firstPath.slice(0, -2) : firstPath;
|
|
104
|
+
const cleanedSecondPath = secondPath.startsWith('./') ? secondPath.slice(2) : secondPath;
|
|
105
|
+
return `${cleanedFirstPath}/${cleanedSecondPath}`.replace(Consts_1.REGEX_BACKSLASH, '/').replace(Consts_1.REGEX_MULTIPLE_SLASHES, '/');
|
|
106
|
+
});
|
|
83
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceString.d.ts","sourceRoot":"","sources":["../../../src/core/utils/replaceString.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceString.d.ts","sourceRoot":"","sources":["../../../src/core/utils/replaceString.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAMvE"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replaceString = replaceString;
|
|
4
|
+
const Consts_1 = require("../types/Consts");
|
|
4
5
|
function replaceString(value) {
|
|
5
6
|
if (!value) {
|
|
6
7
|
return value;
|
|
7
8
|
}
|
|
8
|
-
const searchRegExp =
|
|
9
|
+
const searchRegExp = Consts_1.REGEX_BACKSLASH;
|
|
9
10
|
return value.replace(searchRegExp, '/');
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRefPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveRefPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAW,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CA4BnF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveRefPath = resolveRefPath;
|
|
4
|
+
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
4
5
|
const advancedDeduplicatePath_1 = require("./advancedDeduplicatePath");
|
|
5
6
|
const parseRef_1 = require("./parseRef");
|
|
6
|
-
const pathHelpers_1 = require("./pathHelpers");
|
|
7
7
|
/**
|
|
8
8
|
* Resolve a parsed reference to an absolute path (when applicable).
|
|
9
9
|
* parentFilePath is expected to be a file path (absolute or relative).
|
|
10
10
|
*/
|
|
11
11
|
function resolveRefPath(parsedRef, parentFilePath) {
|
|
12
12
|
// For correct operation, parentDir must be the path to the directory, not the file.
|
|
13
|
-
const parentDir = (0, pathHelpers_1.
|
|
13
|
+
const parentDir = (0, pathHelpers_1.dirNameHelper)(parentFilePath.split('#')[0]);
|
|
14
14
|
switch (parsedRef.type) {
|
|
15
15
|
case parseRef_1.RefType.LOCAL_FRAGMENT:
|
|
16
16
|
// For local fragments, use the parent file path
|
|
@@ -19,7 +19,7 @@ function resolveRefPath(parsedRef, parentFilePath) {
|
|
|
19
19
|
case parseRef_1.RefType.EXTERNAL_FILE_FRAGMENT:
|
|
20
20
|
// Resolve relative to parent file directory
|
|
21
21
|
if (parsedRef.filePath) {
|
|
22
|
-
const resolvedPath = (0, pathHelpers_1.
|
|
22
|
+
const resolvedPath = (0, pathHelpers_1.resolveHelper)(parentDir, parsedRef.filePath);
|
|
23
23
|
// Clean any duplicate path segments
|
|
24
24
|
return (0, advancedDeduplicatePath_1.advancedDeduplicatePath)(resolvedPath);
|
|
25
25
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
interface IParams {
|
|
2
2
|
mainSpecPath: string;
|
|
3
3
|
parentFilePath: string;
|
|
4
4
|
refValuePath: string;
|
|
5
5
|
outputModelsPath: string;
|
|
6
|
-
}
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolves $ref reference to import path for generated code.
|
|
9
|
+
* Handles HTTP URLs, local fragments, external file fragments, external files, and absolute paths.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveRefToImportPath({ mainSpecPath, parentFilePath, refValuePath, outputModelsPath }: IParams): string;
|
|
12
|
+
export {};
|
|
7
13
|
//# sourceMappingURL=resolveRefToImportPath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRefToImportPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefToImportPath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveRefToImportPath.d.ts","sourceRoot":"","sources":["../../../src/core/utils/resolveRefToImportPath.ts"],"names":[],"mappings":"AAQA,UAAU,OAAO;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAyFD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,OAAO,UAiE/G"}
|