@tsed/schema 8.9.5 → 8.10.0-rc.2
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/lib/browser/components/async-api/channelsMapper.js +51 -0
- package/lib/browser/components/async-api/channelsMapper.js.map +1 -0
- package/lib/browser/components/async-api/generate.js +15 -0
- package/lib/browser/components/async-api/generate.js.map +1 -0
- package/lib/browser/components/async-api/messageMapper.js +31 -0
- package/lib/browser/components/async-api/messageMapper.js.map +1 -0
- package/lib/browser/components/async-api/payloadMapper.js +47 -0
- package/lib/browser/components/async-api/payloadMapper.js.map +1 -0
- package/lib/browser/components/async-api/responseMapper.js +37 -0
- package/lib/browser/components/async-api/responseMapper.js.map +1 -0
- package/lib/browser/components/default/anyMapper.js +25 -0
- package/lib/browser/components/default/anyMapper.js.map +1 -0
- package/lib/browser/components/default/classMapper.js +36 -0
- package/lib/browser/components/default/classMapper.js.map +1 -0
- package/lib/browser/components/default/discriminatorMappingMapper.js +22 -0
- package/lib/browser/components/default/discriminatorMappingMapper.js.map +1 -0
- package/lib/browser/components/default/enumsMapper.js +10 -0
- package/lib/browser/components/default/enumsMapper.js.map +1 -0
- package/lib/browser/components/default/genericsMapper.js +51 -0
- package/lib/browser/components/default/genericsMapper.js.map +1 -0
- package/lib/browser/components/default/inheritedClassMapper.js +30 -0
- package/lib/browser/components/default/inheritedClassMapper.js.map +1 -0
- package/lib/browser/components/default/itemMapper.js +9 -0
- package/lib/browser/components/default/itemMapper.js.map +1 -0
- package/lib/browser/components/default/lazyRefMapper.js +17 -0
- package/lib/browser/components/default/lazyRefMapper.js.map +1 -0
- package/lib/browser/components/default/mapMapper.js +10 -0
- package/lib/browser/components/default/mapMapper.js.map +1 -0
- package/lib/browser/components/default/nullableMapper.js +32 -0
- package/lib/browser/components/default/nullableMapper.js.map +1 -0
- package/lib/browser/components/default/objectMapper.js +24 -0
- package/lib/browser/components/default/objectMapper.js.map +1 -0
- package/lib/browser/components/default/ofMapper.js +14 -0
- package/lib/browser/components/default/ofMapper.js.map +1 -0
- package/lib/browser/components/default/propertiesMapper.js +21 -0
- package/lib/browser/components/default/propertiesMapper.js.map +1 -0
- package/lib/browser/components/default/requiredMapper.js +28 -0
- package/lib/browser/components/default/requiredMapper.js.map +1 -0
- package/lib/browser/components/default/schemaMapper.js +68 -0
- package/lib/browser/components/default/schemaMapper.js.map +1 -0
- package/lib/browser/components/index.js +66 -0
- package/lib/browser/components/index.js.map +1 -0
- package/lib/browser/components/open-spec/discriminatorMappingMapper.js +7 -0
- package/lib/browser/components/open-spec/discriminatorMappingMapper.js.map +1 -0
- package/lib/browser/components/open-spec/enumsMapper.js +13 -0
- package/lib/browser/components/open-spec/enumsMapper.js.map +1 -0
- package/lib/browser/components/open-spec/generate.js +18 -0
- package/lib/browser/components/open-spec/generate.js.map +1 -0
- package/lib/browser/components/open-spec/nullableMapper.js +36 -0
- package/lib/browser/components/open-spec/nullableMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInFilesMapper.js +21 -0
- package/lib/browser/components/open-spec/operationInFilesMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInParameterMapper.js +31 -0
- package/lib/browser/components/open-spec/operationInParameterMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInParametersMapper.js +9 -0
- package/lib/browser/components/open-spec/operationInParametersMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInQueryMapper.js +46 -0
- package/lib/browser/components/open-spec/operationInQueryMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationMapper.js +33 -0
- package/lib/browser/components/open-spec/operationMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationMediaMapper.js +10 -0
- package/lib/browser/components/open-spec/operationMediaMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationRequestBodyMapper.js +40 -0
- package/lib/browser/components/open-spec/operationRequestBodyMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationResponseMapper.js +17 -0
- package/lib/browser/components/open-spec/operationResponseMapper.js.map +1 -0
- package/lib/browser/components/open-spec/pathsMapper.js +88 -0
- package/lib/browser/components/open-spec/pathsMapper.js.map +1 -0
- package/lib/browser/constants/OperationVerbs.js +24 -0
- package/lib/browser/constants/OperationVerbs.js.map +1 -0
- package/lib/browser/constants/httpStatusMessages.js +25 -0
- package/lib/browser/constants/httpStatusMessages.js.map +1 -0
- package/lib/browser/constants/jsonSchemaProperties.js +21 -0
- package/lib/browser/constants/jsonSchemaProperties.js.map +1 -0
- package/lib/browser/decorators/class/children.js +13 -0
- package/lib/browser/decorators/class/children.js.map +1 -0
- package/lib/browser/decorators/class/discriminatorValue.js +11 -0
- package/lib/browser/decorators/class/discriminatorValue.js.map +1 -0
- package/lib/browser/decorators/collections/collectionContains.js +8 -0
- package/lib/browser/decorators/collections/collectionContains.js.map +1 -0
- package/lib/browser/decorators/collections/collectionOf.js +26 -0
- package/lib/browser/decorators/collections/collectionOf.js.map +1 -0
- package/lib/browser/decorators/collections/maxItems.js +13 -0
- package/lib/browser/decorators/collections/maxItems.js.map +1 -0
- package/lib/browser/decorators/collections/maxProperties.js +13 -0
- package/lib/browser/decorators/collections/maxProperties.js.map +1 -0
- package/lib/browser/decorators/collections/minItems.js +13 -0
- package/lib/browser/decorators/collections/minItems.js.map +1 -0
- package/lib/browser/decorators/collections/minProperties.js +13 -0
- package/lib/browser/decorators/collections/minProperties.js.map +1 -0
- package/lib/browser/decorators/collections/uniqueItems.js +9 -0
- package/lib/browser/decorators/collections/uniqueItems.js.map +1 -0
- package/lib/browser/decorators/common/additionalProperties.js +10 -0
- package/lib/browser/decorators/common/additionalProperties.js.map +1 -0
- package/lib/browser/decorators/common/allOf.js +10 -0
- package/lib/browser/decorators/common/allOf.js.map +1 -0
- package/lib/browser/decorators/common/allow.js +16 -0
- package/lib/browser/decorators/common/allow.js.map +1 -0
- package/lib/browser/decorators/common/any.js +10 -0
- package/lib/browser/decorators/common/any.js.map +1 -0
- package/lib/browser/decorators/common/anyOf.js +10 -0
- package/lib/browser/decorators/common/anyOf.js.map +1 -0
- package/lib/browser/decorators/common/const.js +10 -0
- package/lib/browser/decorators/common/const.js.map +1 -0
- package/lib/browser/decorators/common/customKey.js +18 -0
- package/lib/browser/decorators/common/customKey.js.map +1 -0
- package/lib/browser/decorators/common/default.js +10 -0
- package/lib/browser/decorators/common/default.js.map +1 -0
- package/lib/browser/decorators/common/defaultMsg.js +9 -0
- package/lib/browser/decorators/common/defaultMsg.js.map +1 -0
- package/lib/browser/decorators/common/description.js +23 -0
- package/lib/browser/decorators/common/description.js.map +1 -0
- package/lib/browser/decorators/common/discriminatorKey.js +15 -0
- package/lib/browser/decorators/common/discriminatorKey.js.map +1 -0
- package/lib/browser/decorators/common/enum.js +12 -0
- package/lib/browser/decorators/common/enum.js.map +1 -0
- package/lib/browser/decorators/common/errorMsg.js +11 -0
- package/lib/browser/decorators/common/errorMsg.js.map +1 -0
- package/lib/browser/decorators/common/example.js +10 -0
- package/lib/browser/decorators/common/example.js.map +1 -0
- package/lib/browser/decorators/common/examples.js +10 -0
- package/lib/browser/decorators/common/examples.js.map +1 -0
- package/lib/browser/decorators/common/exclusiveMaximum.js +7 -0
- package/lib/browser/decorators/common/exclusiveMaximum.js.map +1 -0
- package/lib/browser/decorators/common/exclusiveMinimum.js +7 -0
- package/lib/browser/decorators/common/exclusiveMinimum.js.map +1 -0
- package/lib/browser/decorators/common/format.js +16 -0
- package/lib/browser/decorators/common/format.js.map +1 -0
- package/lib/browser/decorators/common/forwardGroups.js +10 -0
- package/lib/browser/decorators/common/forwardGroups.js.map +1 -0
- package/lib/browser/decorators/common/groups.js +31 -0
- package/lib/browser/decorators/common/groups.js.map +1 -0
- package/lib/browser/decorators/common/hidden.js +8 -0
- package/lib/browser/decorators/common/hidden.js.map +1 -0
- package/lib/browser/decorators/common/ignore.js +10 -0
- package/lib/browser/decorators/common/ignore.js.map +1 -0
- package/lib/browser/decorators/common/integer.js +10 -0
- package/lib/browser/decorators/common/integer.js.map +1 -0
- package/lib/browser/decorators/common/jsonEntityFn.js +11 -0
- package/lib/browser/decorators/common/jsonEntityFn.js.map +1 -0
- package/lib/browser/decorators/common/labelledAs.js +10 -0
- package/lib/browser/decorators/common/labelledAs.js.map +1 -0
- package/lib/browser/decorators/common/maxLength.js +13 -0
- package/lib/browser/decorators/common/maxLength.js.map +1 -0
- package/lib/browser/decorators/common/maximum.js +10 -0
- package/lib/browser/decorators/common/maximum.js.map +1 -0
- package/lib/browser/decorators/common/minLength.js +13 -0
- package/lib/browser/decorators/common/minLength.js.map +1 -0
- package/lib/browser/decorators/common/minimum.js +10 -0
- package/lib/browser/decorators/common/minimum.js.map +1 -0
- package/lib/browser/decorators/common/multipleOf.js +13 -0
- package/lib/browser/decorators/common/multipleOf.js.map +1 -0
- package/lib/browser/decorators/common/name.js +20 -0
- package/lib/browser/decorators/common/name.js.map +1 -0
- package/lib/browser/decorators/common/nullable.js +10 -0
- package/lib/browser/decorators/common/nullable.js.map +1 -0
- package/lib/browser/decorators/common/oneOf.js +10 -0
- package/lib/browser/decorators/common/oneOf.js.map +1 -0
- package/lib/browser/decorators/common/optional.js +18 -0
- package/lib/browser/decorators/common/optional.js.map +1 -0
- package/lib/browser/decorators/common/pattern.js +9 -0
- package/lib/browser/decorators/common/pattern.js.map +1 -0
- package/lib/browser/decorators/common/property.js +11 -0
- package/lib/browser/decorators/common/property.js.map +1 -0
- package/lib/browser/decorators/common/readOnly.js +10 -0
- package/lib/browser/decorators/common/readOnly.js.map +1 -0
- package/lib/browser/decorators/common/recordOf.js +15 -0
- package/lib/browser/decorators/common/recordOf.js.map +1 -0
- package/lib/browser/decorators/common/required.js +8 -0
- package/lib/browser/decorators/common/required.js.map +1 -0
- package/lib/browser/decorators/common/requiredGroups.js +11 -0
- package/lib/browser/decorators/common/requiredGroups.js.map +1 -0
- package/lib/browser/decorators/common/schema.js +16 -0
- package/lib/browser/decorators/common/schema.js.map +1 -0
- package/lib/browser/decorators/common/title.js +10 -0
- package/lib/browser/decorators/common/title.js.map +1 -0
- package/lib/browser/decorators/common/typeError.js +10 -0
- package/lib/browser/decorators/common/typeError.js.map +1 -0
- package/lib/browser/decorators/common/writeOnly.js +10 -0
- package/lib/browser/decorators/common/writeOnly.js.map +1 -0
- package/lib/browser/decorators/config/jsonEntityComponent.js +10 -0
- package/lib/browser/decorators/config/jsonEntityComponent.js.map +1 -0
- package/lib/browser/decorators/generics/genericOf.js +19 -0
- package/lib/browser/decorators/generics/genericOf.js.map +1 -0
- package/lib/browser/decorators/generics/generics.js +11 -0
- package/lib/browser/decorators/generics/generics.js.map +1 -0
- package/lib/browser/decorators/operations/acceptMime.js +9 -0
- package/lib/browser/decorators/operations/acceptMime.js.map +1 -0
- package/lib/browser/decorators/operations/consumes.js +20 -0
- package/lib/browser/decorators/operations/consumes.js.map +1 -0
- package/lib/browser/decorators/operations/contentType.js +8 -0
- package/lib/browser/decorators/operations/contentType.js.map +1 -0
- package/lib/browser/decorators/operations/deprecated.js +26 -0
- package/lib/browser/decorators/operations/deprecated.js.map +1 -0
- package/lib/browser/decorators/operations/header.js +9 -0
- package/lib/browser/decorators/operations/header.js.map +1 -0
- package/lib/browser/decorators/operations/in.js +27 -0
- package/lib/browser/decorators/operations/in.js.map +1 -0
- package/lib/browser/decorators/operations/inFile.js +27 -0
- package/lib/browser/decorators/operations/inFile.js.map +1 -0
- package/lib/browser/decorators/operations/location.js +8 -0
- package/lib/browser/decorators/operations/location.js.map +1 -0
- package/lib/browser/decorators/operations/operation.js +45 -0
- package/lib/browser/decorators/operations/operation.js.map +1 -0
- package/lib/browser/decorators/operations/operationId.js +13 -0
- package/lib/browser/decorators/operations/operationId.js.map +1 -0
- package/lib/browser/decorators/operations/operationPath.js +13 -0
- package/lib/browser/decorators/operations/operationPath.js.map +1 -0
- package/lib/browser/decorators/operations/partial.js +8 -0
- package/lib/browser/decorators/operations/partial.js.map +1 -0
- package/lib/browser/decorators/operations/path.js +13 -0
- package/lib/browser/decorators/operations/path.js.map +1 -0
- package/lib/browser/decorators/operations/produces.js +20 -0
- package/lib/browser/decorators/operations/produces.js.map +1 -0
- package/lib/browser/decorators/operations/publish.js +9 -0
- package/lib/browser/decorators/operations/publish.js.map +1 -0
- package/lib/browser/decorators/operations/redirect.js +20 -0
- package/lib/browser/decorators/operations/redirect.js.map +1 -0
- package/lib/browser/decorators/operations/returns.js +180 -0
- package/lib/browser/decorators/operations/returns.js.map +1 -0
- package/lib/browser/decorators/operations/route.js +37 -0
- package/lib/browser/decorators/operations/route.js.map +1 -0
- package/lib/browser/decorators/operations/security.js +20 -0
- package/lib/browser/decorators/operations/security.js.map +1 -0
- package/lib/browser/decorators/operations/status.js +8 -0
- package/lib/browser/decorators/operations/status.js.map +1 -0
- package/lib/browser/decorators/operations/subscribe.js +9 -0
- package/lib/browser/decorators/operations/subscribe.js.map +1 -0
- package/lib/browser/decorators/operations/summary.js +13 -0
- package/lib/browser/decorators/operations/summary.js.map +1 -0
- package/lib/browser/decorators/operations/tags.js +25 -0
- package/lib/browser/decorators/operations/tags.js.map +1 -0
- package/lib/browser/decorators/operations/view.js +8 -0
- package/lib/browser/decorators/operations/view.js.map +1 -0
- package/lib/browser/domain/DecoratorContext.js +62 -0
- package/lib/browser/domain/DecoratorContext.js.map +1 -0
- package/lib/browser/domain/JsonAliasMap.js +7 -0
- package/lib/browser/domain/JsonAliasMap.js.map +1 -0
- package/lib/browser/domain/JsonClassStore.js +32 -0
- package/lib/browser/domain/JsonClassStore.js.map +1 -0
- package/lib/browser/domain/JsonDiscriminator.js +41 -0
- package/lib/browser/domain/JsonDiscriminator.js.map +1 -0
- package/lib/browser/domain/JsonEntityStore.js +131 -0
- package/lib/browser/domain/JsonEntityStore.js.map +1 -0
- package/lib/browser/domain/JsonFormatTypes.js +5 -0
- package/lib/browser/domain/JsonFormatTypes.js.map +1 -0
- package/lib/browser/domain/JsonLazyRef.js +20 -0
- package/lib/browser/domain/JsonLazyRef.js.map +1 -0
- package/lib/browser/domain/JsonMap.js +19 -0
- package/lib/browser/domain/JsonMap.js.map +1 -0
- package/lib/browser/domain/JsonMedia.js +16 -0
- package/lib/browser/domain/JsonMedia.js.map +1 -0
- package/lib/browser/domain/JsonMethodStore.js +121 -0
- package/lib/browser/domain/JsonMethodStore.js.map +1 -0
- package/lib/browser/domain/JsonOperation.js +129 -0
- package/lib/browser/domain/JsonOperation.js.map +1 -0
- package/lib/browser/domain/JsonOperationPathsMap.js +13 -0
- package/lib/browser/domain/JsonOperationPathsMap.js.map +1 -0
- package/lib/browser/domain/JsonOperationRoute.js +54 -0
- package/lib/browser/domain/JsonOperationRoute.js.map +1 -0
- package/lib/browser/domain/JsonParameter.js +41 -0
- package/lib/browser/domain/JsonParameter.js.map +1 -0
- package/lib/browser/domain/JsonParameterStore.js +69 -0
- package/lib/browser/domain/JsonParameterStore.js.map +1 -0
- package/lib/browser/domain/JsonParameterTypes.js +13 -0
- package/lib/browser/domain/JsonParameterTypes.js.map +1 -0
- package/lib/browser/domain/JsonPropertyStore.js +64 -0
- package/lib/browser/domain/JsonPropertyStore.js.map +1 -0
- package/lib/browser/domain/JsonRequestBody.js +24 -0
- package/lib/browser/domain/JsonRequestBody.js.map +1 -0
- package/lib/browser/domain/JsonResponse.js +36 -0
- package/lib/browser/domain/JsonResponse.js.map +1 -0
- package/lib/browser/domain/JsonSchema.js +625 -0
- package/lib/browser/domain/JsonSchema.js.map +1 -0
- package/lib/browser/domain/SpecTypes.js +5 -0
- package/lib/browser/domain/SpecTypes.js.map +1 -0
- package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js +10 -0
- package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
- package/lib/browser/fn/allOf.js +8 -0
- package/lib/browser/fn/allOf.js.map +1 -0
- package/lib/browser/fn/any.js +8 -0
- package/lib/browser/fn/any.js.map +1 -0
- package/lib/browser/fn/anyOf.js +8 -0
- package/lib/browser/fn/anyOf.js.map +1 -0
- package/lib/browser/fn/boolean.js +8 -0
- package/lib/browser/fn/boolean.js.map +1 -0
- package/lib/browser/fn/collection.js +16 -0
- package/lib/browser/fn/collection.js.map +1 -0
- package/lib/browser/fn/date.js +17 -0
- package/lib/browser/fn/date.js.map +1 -0
- package/lib/browser/fn/email.js +9 -0
- package/lib/browser/fn/email.js.map +1 -0
- package/lib/browser/fn/enums.js +10 -0
- package/lib/browser/fn/enums.js.map +1 -0
- package/lib/browser/fn/from.js +18 -0
- package/lib/browser/fn/from.js.map +1 -0
- package/lib/browser/fn/integer.js +8 -0
- package/lib/browser/fn/integer.js.map +1 -0
- package/lib/browser/fn/lazyRef.js +14 -0
- package/lib/browser/fn/lazyRef.js.map +1 -0
- package/lib/browser/fn/number.js +8 -0
- package/lib/browser/fn/number.js.map +1 -0
- package/lib/browser/fn/object.js +8 -0
- package/lib/browser/fn/object.js.map +1 -0
- package/lib/browser/fn/oneOf.js +8 -0
- package/lib/browser/fn/oneOf.js.map +1 -0
- package/lib/browser/fn/string.js +8 -0
- package/lib/browser/fn/string.js.map +1 -0
- package/lib/browser/fn/uri.js +9 -0
- package/lib/browser/fn/uri.js.map +1 -0
- package/lib/browser/fn/url.js +9 -0
- package/lib/browser/fn/url.js.map +1 -0
- package/lib/browser/hooks/alterIgnore.js +12 -0
- package/lib/browser/hooks/alterIgnore.js.map +1 -0
- package/lib/browser/hooks/alterOneOf.js +30 -0
- package/lib/browser/hooks/alterOneOf.js.map +1 -0
- package/lib/browser/hooks/alterRequiredGroups.js +8 -0
- package/lib/browser/hooks/alterRequiredGroups.js.map +1 -0
- package/lib/browser/index.js +450 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/registries/JsonSchemaMapperContainer.js +27 -0
- package/lib/browser/registries/JsonSchemaMapperContainer.js.map +1 -0
- package/lib/browser/registries/enumRegistries.js +5 -0
- package/lib/browser/registries/enumRegistries.js.map +1 -0
- package/lib/browser/utils/buildPath.js +7 -0
- package/lib/browser/utils/buildPath.js.map +1 -0
- package/lib/browser/utils/concatParameters.js +7 -0
- package/lib/browser/utils/concatParameters.js.map +1 -0
- package/lib/browser/utils/concatPath.js +17 -0
- package/lib/browser/utils/concatPath.js.map +1 -0
- package/lib/browser/utils/defineStatusModel.js +12 -0
- package/lib/browser/utils/defineStatusModel.js.map +1 -0
- package/lib/browser/utils/generateSpec.js +24 -0
- package/lib/browser/utils/generateSpec.js.map +1 -0
- package/lib/browser/utils/generics.js +26 -0
- package/lib/browser/utils/generics.js.map +1 -0
- package/lib/browser/utils/getComputedType.js +8 -0
- package/lib/browser/utils/getComputedType.js.map +1 -0
- package/lib/browser/utils/getInheritedStores.js +10 -0
- package/lib/browser/utils/getInheritedStores.js.map +1 -0
- package/lib/browser/utils/getJsonEntityStore.js +17 -0
- package/lib/browser/utils/getJsonEntityStore.js.map +1 -0
- package/lib/browser/utils/getJsonPathParameters.js +51 -0
- package/lib/browser/utils/getJsonPathParameters.js.map +1 -0
- package/lib/browser/utils/getJsonSchema.js +72 -0
- package/lib/browser/utils/getJsonSchema.js.map +1 -0
- package/lib/browser/utils/getJsonType.js +10 -0
- package/lib/browser/utils/getJsonType.js.map +1 -0
- package/lib/browser/utils/getOperationsRoutes.js +30 -0
- package/lib/browser/utils/getOperationsRoutes.js.map +1 -0
- package/lib/browser/utils/getOperationsStores.js +24 -0
- package/lib/browser/utils/getOperationsStores.js.map +1 -0
- package/lib/browser/utils/getPropertiesStores.js +26 -0
- package/lib/browser/utils/getPropertiesStores.js.map +1 -0
- package/lib/browser/utils/getSpec.js +56 -0
- package/lib/browser/utils/getSpec.js.map +1 -0
- package/lib/browser/utils/getSpecType.js +12 -0
- package/lib/browser/utils/getSpecType.js.map +1 -0
- package/lib/browser/utils/isSuccessStatus.js +6 -0
- package/lib/browser/utils/isSuccessStatus.js.map +1 -0
- package/lib/browser/utils/mapHeaders.js +14 -0
- package/lib/browser/utils/mapHeaders.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec.js +27 -0
- package/lib/browser/utils/mapOpenSpec.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec2.js +40 -0
- package/lib/browser/utils/mapOpenSpec2.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec3.js +19 -0
- package/lib/browser/utils/mapOpenSpec3.js.map +1 -0
- package/lib/browser/utils/mapOpenSpecInfo.js +16 -0
- package/lib/browser/utils/mapOpenSpecInfo.js.map +1 -0
- package/lib/browser/utils/mapOperationOptions.js +17 -0
- package/lib/browser/utils/mapOperationOptions.js.map +1 -0
- package/lib/browser/utils/matchGroups.js +27 -0
- package/lib/browser/utils/matchGroups.js.map +1 -0
- package/lib/browser/utils/mergeSpec.js +23 -0
- package/lib/browser/utils/mergeSpec.js.map +1 -0
- package/lib/browser/utils/operationIdFormatter.js +29 -0
- package/lib/browser/utils/operationIdFormatter.js.map +1 -0
- package/lib/browser/utils/ref.js +32 -0
- package/lib/browser/utils/ref.js.map +1 -0
- package/lib/browser/utils/removeHiddenOperation.js +7 -0
- package/lib/browser/utils/removeHiddenOperation.js.map +1 -0
- package/lib/browser/utils/serializeEnumValues.js +11 -0
- package/lib/browser/utils/serializeEnumValues.js.map +1 -0
- package/lib/browser/utils/somethingOf.js +7 -0
- package/lib/browser/utils/somethingOf.js.map +1 -0
- package/lib/browser/utils/toJsonMapCollection.js +8 -0
- package/lib/browser/utils/toJsonMapCollection.js.map +1 -0
- package/lib/browser/utils/toJsonRegex.js +7 -0
- package/lib/browser/utils/toJsonRegex.js.map +1 -0
- package/lib/browser/utils/transformToOS2.js +302 -0
- package/lib/browser/utils/transformToOS2.js.map +1 -0
- package/lib/browser/utils/withErrorMsg.js +31 -0
- package/lib/browser/utils/withErrorMsg.js.map +1 -0
- package/lib/esm/domain/JsonEntityStore.js +6 -0
- package/lib/esm/domain/JsonEntityStore.js.map +1 -1
- package/lib/types/domain/JsonEntityStore.d.ts +2 -0
- package/package.json +19 -16
- package/src/domain/JsonEntityStore.ts +8 -0
- package/vite.config.mts +45 -0
- package/lib/browser/schema.umd.min.js +0 -3
- package/lib/browser/schema.umd.min.js.LICENSE.txt +0 -6
- package/lib/browser/schema.umd.min.js.map +0 -1
- package/webpack.config.cjs +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchGroups.js","sources":["../../../src/utils/matchGroups.ts"],"sourcesContent":["import picomatch from \"picomatch\";\n\nfunction micromatch(list: string[], patterns: string[]) {\n patterns = ([] as string[]).concat(patterns);\n list = ([] as string[]).concat(list);\n\n let omit = new Set();\n let keep = new Set();\n let items = new Set();\n let negatives = 0;\n\n let onResult = (state: any) => {\n items.add(state.output);\n };\n\n for (let i = 0; i < patterns.length; i++) {\n let isMatch: any = picomatch(String(patterns[i]), {onResult}, true);\n let negated = isMatch.state.negated || isMatch.state.negatedExtglob;\n\n if (negated) {\n negatives++;\n }\n\n for (let item of list) {\n let matched = isMatch(item, true);\n\n let match = negated ? !matched.isMatch : matched.isMatch;\n if (!match) continue;\n\n if (negated) {\n omit.add(matched.output);\n } else {\n omit.delete(matched.output);\n keep.add(matched.output);\n }\n }\n }\n\n let result = negatives === patterns.length ? [...items] : [...keep];\n return !!result.filter((item) => !omit.has(item)).length;\n}\n\n/**\n * @ignore\n */\nexport function matchGroups(groups: string[], compareWith: string[] = []) {\n const groupsExcludes = groups.filter((group) => group.startsWith(\"!\")).map((group) => group.replace(\"!\", \"\"));\n const groupsIncludes = groups.filter((group) => !group.startsWith(\"!\"));\n\n if (groupsExcludes.length) {\n if (compareWith.length && micromatch(groupsExcludes, compareWith)) {\n return true;\n }\n }\n\n if (groupsIncludes.length) {\n return !micromatch(\n groups.filter((group) => !group.startsWith(\"!\")),\n compareWith\n );\n }\n\n return false;\n}\n"],"names":["micromatch","list","patterns","omit","keep","items","negatives","onResult","state","i","isMatch","picomatch","negated","item","matched","matchGroups","groups","compareWith","groupsExcludes","group","groupsIncludes"],"mappings":";AAEA,SAASA,EAAWC,GAAgBC,GAAoB;AAC1C,EAAAA,IAAA,CAAA,EAAgB,OAAOA,CAAQ,GACnCD,IAAA,CAAA,EAAgB,OAAOA,CAAI;AAE/B,MAAAE,wBAAW,IAAI,GACfC,wBAAW,IAAI,GACfC,wBAAY,IAAI,GAChBC,IAAY,GAEZC,IAAW,CAACC,MAAe;AACvB,IAAAH,EAAA,IAAIG,EAAM,MAAM;AAAA,EACxB;AAEA,WAASC,IAAI,GAAGA,IAAIP,EAAS,QAAQO,KAAK;AACpC,QAAAC,IAAeC,EAAU,OAAOT,EAASO,CAAC,CAAC,GAAG,EAAC,UAAAF,EAAQ,GAAG,EAAI,GAC9DK,IAAUF,EAAQ,MAAM,WAAWA,EAAQ,MAAM;AAErD,IAAIE,KACFN;AAGF,aAASO,KAAQZ,GAAM;AACjB,UAAAa,IAAUJ,EAAQG,GAAM,EAAI;AAGhC,OADYD,IAAU,CAACE,EAAQ,UAAUA,EAAQ,aAG7CF,IACGT,EAAA,IAAIW,EAAQ,MAAM,KAElBX,EAAA,OAAOW,EAAQ,MAAM,GACrBV,EAAA,IAAIU,EAAQ,MAAM;AAAA,IACzB;AAAA,EACF;AAIK,SAAA,CAAC,EADKR,MAAcJ,EAAS,SAAS,CAAC,GAAGG,CAAK,IAAI,CAAC,GAAGD,CAAI,GAClD,OAAO,CAACS,MAAS,CAACV,EAAK,IAAIU,CAAI,CAAC,EAAE;AACpD;AAKO,SAASE,EAAYC,GAAkBC,IAAwB,IAAI;AACxE,QAAMC,IAAiBF,EAAO,OAAO,CAACG,MAAUA,EAAM,WAAW,GAAG,CAAC,EAAE,IAAI,CAACA,MAAUA,EAAM,QAAQ,KAAK,EAAE,CAAC,GACtGC,IAAiBJ,EAAO,OAAO,CAACG,MAAU,CAACA,EAAM,WAAW,GAAG,CAAC;AAEtE,SAAID,EAAe,UACbD,EAAY,UAAUjB,EAAWkB,GAAgBD,CAAW,IACvD,KAIPG,EAAe,SACV,CAACpB;AAAA,IACNgB,EAAO,OAAO,CAACG,MAAU,CAACA,EAAM,WAAW,GAAG,CAAC;AAAA,IAC/CF;AAAA,EACF,IAGK;AACT;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { mergeReducerBuilder as s, deepMerge as i } from "@tsed/core";
|
|
2
|
+
const n = s((e, t) => e.type && e.type && e.type === t.type && t.type === "array" ? JSON.stringify(e.items) === JSON.stringify(t.items) : e.type && e.type === t.type || e.$ref && e.$ref === t.$ref), p = s((e, t) => e.in === t.in && e.name === t.name), y = s((e, t) => !!Object.keys(t).find((r) => !!e[r])), f = s((e, t) => e.name === t.name), m = {
|
|
3
|
+
security: y,
|
|
4
|
+
parameters: p,
|
|
5
|
+
oneOf: n,
|
|
6
|
+
anyOf: n,
|
|
7
|
+
allOf: n,
|
|
8
|
+
tags: f
|
|
9
|
+
};
|
|
10
|
+
function d(e, t) {
|
|
11
|
+
return i(e, t, {
|
|
12
|
+
reducers: m,
|
|
13
|
+
cleanUndefinedProps: !0
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
d as mergeSpec,
|
|
18
|
+
p as parameters,
|
|
19
|
+
n as schemesReducer,
|
|
20
|
+
y as security,
|
|
21
|
+
f as tagsReducer
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=mergeSpec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeSpec.js","sources":["../../../src/utils/mergeSpec.ts"],"sourcesContent":["import {deepMerge, mergeReducerBuilder} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\n\n/**\n * @ignore\n */\nexport const schemesReducer = mergeReducerBuilder((current, value) => {\n if (current.type && current.type && current.type === value.type && value.type === \"array\") {\n return JSON.stringify(current.items) === JSON.stringify(value.items);\n }\n\n return (current.type && current.type === value.type) || (current.$ref && current.$ref === value.$ref);\n});\n\n/**\n * @ignore\n */\nexport const parameters = mergeReducerBuilder((current, value) => current.in === value.in && current.name === value.name);\n\n/**\n * @ignore\n */\nexport const security = mergeReducerBuilder((current, value) => {\n return !!Object.keys(value).find((key) => !!current[key]);\n});\n\n/**\n * @ignore\n */\nexport const tagsReducer = mergeReducerBuilder((current, value) => current.name === value.name);\n\n/**\n * @ignore\n */\nconst SPEC_REDUCERS = {\n security,\n parameters,\n oneOf: schemesReducer,\n anyOf: schemesReducer,\n allOf: schemesReducer,\n tags: tagsReducer\n};\n\n/**\n * Merge two spec\n * @param spec\n * @param input\n */\nexport function mergeSpec<Spec = OpenSpec2 | OpenSpec3>(spec: Partial<Spec>, input: Partial<Spec>): Partial<Spec> {\n return deepMerge(spec, input, {\n reducers: SPEC_REDUCERS,\n cleanUndefinedProps: true\n });\n}\n"],"names":["schemesReducer","mergeReducerBuilder","current","value","parameters","security","key","tagsReducer","SPEC_REDUCERS","mergeSpec","spec","input","deepMerge"],"mappings":";AAMO,MAAMA,IAAiBC,EAAoB,CAACC,GAASC,MACtDD,EAAQ,QAAQA,EAAQ,QAAQA,EAAQ,SAASC,EAAM,QAAQA,EAAM,SAAS,UACzE,KAAK,UAAUD,EAAQ,KAAK,MAAM,KAAK,UAAUC,EAAM,KAAK,IAG7DD,EAAQ,QAAQA,EAAQ,SAASC,EAAM,QAAUD,EAAQ,QAAQA,EAAQ,SAASC,EAAM,IACjG,GAKYC,IAAaH,EAAoB,CAACC,GAASC,MAAUD,EAAQ,OAAOC,EAAM,MAAMD,EAAQ,SAASC,EAAM,IAAI,GAK3GE,IAAWJ,EAAoB,CAACC,GAASC,MAC7C,CAAC,CAAC,OAAO,KAAKA,CAAK,EAAE,KAAK,CAACG,MAAQ,CAAC,CAACJ,EAAQI,CAAG,CAAC,CACzD,GAKYC,IAAcN,EAAoB,CAACC,GAASC,MAAUD,EAAQ,SAASC,EAAM,IAAI,GAKxFK,IAAgB;AAAA,EACpB,UAAAH;AAAA,EACA,YAAAD;AAAA,EACA,OAAOJ;AAAA,EACP,OAAOA;AAAA,EACP,OAAOA;AAAA,EACP,MAAMO;AACR;AAOgB,SAAAE,EAAwCC,GAAqBC,GAAqC;AACzG,SAAAC,EAAUF,GAAMC,GAAO;AAAA,IAC5B,UAAUH;AAAA,IACV,qBAAqB;AAAA,EAAA,CACtB;AACH;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { camelCase as u } from "/home/runner/work/tsed/tsed/node_modules/change-case/dist/index.js";
|
|
2
|
+
const f = "%c.%m";
|
|
3
|
+
function d(n = "") {
|
|
4
|
+
const t = /* @__PURE__ */ new Map(), c = (e, r) => {
|
|
5
|
+
const o = (n || f).replace(/%c/, e).replace(/%m/, r);
|
|
6
|
+
return n === "" ? u(o) : o;
|
|
7
|
+
};
|
|
8
|
+
return (e, r, o = "") => {
|
|
9
|
+
const s = c(e, r), a = e + r;
|
|
10
|
+
if (!t.has(a))
|
|
11
|
+
return t.set(a, 0), s;
|
|
12
|
+
const i = o.match(/{(\w+)}/gi);
|
|
13
|
+
if (i) {
|
|
14
|
+
const p = e + r + i[0];
|
|
15
|
+
if (!t.has(p))
|
|
16
|
+
return t.set(p, 0), u(`${s} By ${i}`);
|
|
17
|
+
}
|
|
18
|
+
const m = t.get(a) + 1;
|
|
19
|
+
return t.set(a, m), `${s}_${m}`;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function g(n, { store: t, operationIdFormatter: c }) {
|
|
23
|
+
return c(t.parent.schema.get("name") || t.parent.targetName, t.propertyName, n);
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
g as getOperationId,
|
|
27
|
+
d as operationIdFormatter
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=operationIdFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operationIdFormatter.js","sources":["../../../src/utils/operationIdFormatter.ts"],"sourcesContent":["import {camelCase} from \"change-case\";\n\nimport {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions.js\";\n\nconst DEFAULT_PATTERN = \"%c.%m\";\n\n/**\n * @ignore\n */\nexport function operationIdFormatter(pattern: string = \"\") {\n const OPERATION_IDS = new Map<string, number>();\n\n const transform = (name: string, propertyKey: string) => {\n const str = (pattern || DEFAULT_PATTERN).replace(/%c/, name).replace(/%m/, propertyKey);\n return pattern === \"\" ? camelCase(str) : str;\n };\n\n return (name: string, propertyKey: string, path: string = \"\") => {\n const operationId = transform(name, propertyKey);\n const operationKey = name + propertyKey;\n\n if (!OPERATION_IDS.has(operationKey)) {\n OPERATION_IDS.set(operationKey, 0);\n\n return operationId;\n }\n\n // try with paths\n const result = path.match(/{(\\w+)}/gi);\n if (result) {\n const operationKey = name + propertyKey + result[0];\n\n if (!OPERATION_IDS.has(operationKey)) {\n OPERATION_IDS.set(operationKey, 0);\n\n return camelCase(`${operationId} By ${result}`);\n }\n }\n\n const id = OPERATION_IDS.get(operationKey)! + 1;\n OPERATION_IDS.set(operationKey, id);\n\n return `${operationId}_${id}`;\n };\n}\n\nexport function getOperationId(path: string, {store, operationIdFormatter}: JsonSchemaOptions) {\n return operationIdFormatter!(store.parent.schema.get(\"name\") || store.parent.targetName, store.propertyName, path);\n}\n"],"names":["DEFAULT_PATTERN","operationIdFormatter","pattern","OPERATION_IDS","transform","name","propertyKey","str","camelCase","path","operationId","operationKey","result","id","getOperationId","store"],"mappings":";AAIA,MAAMA,IAAkB;AAKR,SAAAC,EAAqBC,IAAkB,IAAI;AACnD,QAAAC,wBAAoB,IAAoB,GAExCC,IAAY,CAACC,GAAcC,MAAwB;AACjD,UAAAC,KAAOL,KAAWF,GAAiB,QAAQ,MAAMK,CAAI,EAAE,QAAQ,MAAMC,CAAW;AACtF,WAAOJ,MAAY,KAAKM,EAAUD,CAAG,IAAIA;AAAA,EAC3C;AAEA,SAAO,CAACF,GAAcC,GAAqBG,IAAe,OAAO;AACzD,UAAAC,IAAcN,EAAUC,GAAMC,CAAW,GACzCK,IAAeN,IAAOC;AAE5B,QAAI,CAACH,EAAc,IAAIQ,CAAY;AACnB,aAAAR,EAAA,IAAIQ,GAAc,CAAC,GAE1BD;AAIH,UAAAE,IAASH,EAAK,MAAM,WAAW;AACrC,QAAIG,GAAQ;AACV,YAAMD,IAAeN,IAAOC,IAAcM,EAAO,CAAC;AAElD,UAAI,CAACT,EAAc,IAAIQ,CAAY;AACnB,eAAAR,EAAA,IAAIQ,GAAc,CAAC,GAE1BH,EAAU,GAAGE,CAAW,OAAOE,CAAM,EAAE;AAAA,IAChD;AAGF,UAAMC,IAAKV,EAAc,IAAIQ,CAAY,IAAK;AAChC,WAAAR,EAAA,IAAIQ,GAAcE,CAAE,GAE3B,GAAGH,CAAW,IAAIG,CAAE;AAAA,EAC7B;AACF;AAEO,SAASC,EAAeL,GAAc,EAAC,OAAAM,GAAO,sBAAAd,KAA0C;AAC7F,SAAOA,EAAsBc,EAAM,OAAO,OAAO,IAAI,MAAM,KAAKA,EAAM,OAAO,YAAYA,EAAM,cAAcN,CAAI;AACnH;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { setValue as u, cleanObject as i } from "@tsed/core";
|
|
2
|
+
import { pascalCase as a } from "/home/runner/work/tsed/tsed/node_modules/change-case/dist/index.js";
|
|
3
|
+
import { SpecTypes as f } from "../domain/SpecTypes.js";
|
|
4
|
+
function m(t) {
|
|
5
|
+
const { host: e = `#/${[f.OPENAPI, f.ASYNCAPI].includes(t.specType) ? "components/schemas" : "definitions"}` } = t;
|
|
6
|
+
return e;
|
|
7
|
+
}
|
|
8
|
+
function l(t, e) {
|
|
9
|
+
return e.groups && e.groups.length ? a(`${t} ${e.groupsName || e.groups.join(" ")}`) : t;
|
|
10
|
+
}
|
|
11
|
+
function p(t, e, r) {
|
|
12
|
+
const o = {
|
|
13
|
+
$ref: `${m(r)}/${t}`
|
|
14
|
+
}, s = e.isReadOnly, c = e.isWriteOnly;
|
|
15
|
+
return i({
|
|
16
|
+
readOnly: s ? !0 : void 0,
|
|
17
|
+
writeOnly: c ? !0 : void 0,
|
|
18
|
+
...s || c ? {
|
|
19
|
+
anyOf: [o]
|
|
20
|
+
} : o
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function g(t, e, r) {
|
|
24
|
+
const n = l(t.getName(), r);
|
|
25
|
+
return e && u(r, `components.schemas.${n}`, e), p(n, t, r);
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
p as createRef,
|
|
29
|
+
l as createRefName,
|
|
30
|
+
g as toRef
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.js","sources":["../../../src/utils/ref.ts"],"sourcesContent":["import {cleanObject, setValue} from \"@tsed/core\";\nimport {pascalCase} from \"change-case\";\n\nimport type {JsonSchema} from \"../domain/JsonSchema.js\";\nimport {SpecTypes} from \"../domain/SpecTypes.js\";\nimport {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions.js\";\n\n/**\n * ignore\n * @param options\n */\nfunction getHost(options: JsonSchemaOptions) {\n const {host = `#/${[SpecTypes.OPENAPI, SpecTypes.ASYNCAPI].includes(options.specType!) ? \"components/schemas\" : \"definitions\"}`} =\n options;\n\n return host;\n}\n\n/**\n * @ignore\n */\nexport function createRefName(name: string, options: JsonSchemaOptions) {\n if (options.groups && options.groups.length) {\n return pascalCase(`${name} ${options.groupsName || options.groups.join(\" \")}`);\n }\n\n return name;\n}\n\n/**\n * @ignore\n */\nexport function createRef(name: string, schema: JsonSchema, options: JsonSchemaOptions) {\n const host = getHost(options);\n const ref = {\n $ref: `${host}/${name}`\n };\n\n const readOnly = schema.isReadOnly;\n const writeOnly = schema.isWriteOnly;\n\n return cleanObject({\n readOnly: readOnly ? true : undefined,\n writeOnly: writeOnly ? true : undefined,\n ...(readOnly || writeOnly\n ? {\n anyOf: [ref]\n }\n : ref)\n });\n}\n\n/**\n * @ignore\n */\nexport function toRef(value: JsonSchema, schema: unknown | undefined, options: JsonSchemaOptions) {\n const name = createRefName(value.getName(), options);\n\n if (schema) {\n setValue(options, `components.schemas.${name}`, schema);\n }\n\n return createRef(name, value, options);\n}\n"],"names":["getHost","options","host","SpecTypes","createRefName","name","pascalCase","createRef","schema","ref","readOnly","writeOnly","cleanObject","toRef","value","setValue"],"mappings":";;;AAWA,SAASA,EAAQC,GAA4B;AAC3C,QAAM,EAAC,MAAAC,IAAO,KAAK,CAACC,EAAU,SAASA,EAAU,QAAQ,EAAE,SAASF,EAAQ,QAAS,IAAI,uBAAuB,aAAa,OAC3HA;AAEK,SAAAC;AACT;AAKgB,SAAAE,EAAcC,GAAcJ,GAA4B;AACtE,SAAIA,EAAQ,UAAUA,EAAQ,OAAO,SAC5BK,EAAW,GAAGD,CAAI,IAAIJ,EAAQ,cAAcA,EAAQ,OAAO,KAAK,GAAG,CAAC,EAAE,IAGxEI;AACT;AAKgB,SAAAE,EAAUF,GAAcG,GAAoBP,GAA4B;AAEtF,QAAMQ,IAAM;AAAA,IACV,MAAM,GAFKT,EAAQC,CAAO,CAEb,IAAII,CAAI;AAAA,EACvB,GAEMK,IAAWF,EAAO,YAClBG,IAAYH,EAAO;AAEzB,SAAOI,EAAY;AAAA,IACjB,UAAUF,IAAW,KAAO;AAAA,IAC5B,WAAWC,IAAY,KAAO;AAAA,IAC9B,GAAID,KAAYC,IACZ;AAAA,MACE,OAAO,CAACF,CAAG;AAAA,IAAA,IAEbA;AAAA,EAAA,CACL;AACH;AAKgB,SAAAI,EAAMC,GAAmBN,GAA6BP,GAA4B;AAChG,QAAMI,IAAOD,EAAcU,EAAM,QAAA,GAAWb,CAAO;AAEnD,SAAIO,KACFO,EAASd,GAAS,sBAAsBI,CAAI,IAAIG,CAAM,GAGjDD,EAAUF,GAAMS,GAAOb,CAAO;AACvC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeHiddenOperation.js","sources":["../../../src/utils/removeHiddenOperation.ts"],"sourcesContent":["import {JsonMethodStore} from \"../domain/JsonMethodStore.js\";\n\nexport function removeHiddenOperation(operationStore: JsonMethodStore) {\n return !operationStore.store.get(\"hidden\");\n}\n"],"names":["removeHiddenOperation","operationStore"],"mappings":"AAEO,SAASA,EAAsBC,GAAiC;AACrE,SAAO,CAACA,EAAe,MAAM,IAAI,QAAQ;AAC3C;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { uniq as c, isObject as i } from "@tsed/core";
|
|
2
|
+
const o = (e) => i(e) && e !== null ? Object.entries(e).reduce((r, [n, s]) => isNaN(+n) ? r.concat(s) : r, []) : e;
|
|
3
|
+
function a(e) {
|
|
4
|
+
const r = e.reduce((t, u) => t.concat(o(u)), []), n = (t) => t === null ? "null" : typeof t, s = r.reduce((t, u) => t.add(n(u)), /* @__PURE__ */ new Set());
|
|
5
|
+
return { values: c(r), types: s };
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
o as serializeEnum,
|
|
9
|
+
a as serializeEnumValues
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=serializeEnumValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeEnumValues.js","sources":["../../../src/utils/serializeEnumValues.ts"],"sourcesContent":["import {isObject, uniq} from \"@tsed/core\";\n\nexport const serializeEnum = (enumValue: any) => {\n if (isObject(enumValue) && enumValue !== null) {\n return Object.entries(enumValue).reduce((acc: any, [key, value]: any) => {\n if (isNaN(+key)) {\n return acc.concat(value);\n }\n\n return acc;\n }, []);\n }\n\n return enumValue;\n};\n\nexport function serializeEnumValues(enumValues: any[]) {\n const values = enumValues.reduce((acc, value) => acc.concat(serializeEnum(value)), []);\n\n const getValue = (value: any) => {\n return value === null ? \"null\" : typeof value;\n };\n\n const types = values.reduce((set: Set<any>, value: any) => set.add(getValue(value)), new Set());\n\n return {values: uniq(values), types};\n}\n"],"names":["serializeEnum","enumValue","isObject","acc","key","value","serializeEnumValues","enumValues","values","getValue","types","set","uniq"],"mappings":";AAEa,MAAAA,IAAgB,CAACC,MACxBC,EAASD,CAAS,KAAKA,MAAc,OAChC,OAAO,QAAQA,CAAS,EAAE,OAAO,CAACE,GAAU,CAACC,GAAKC,CAAK,MACxD,MAAM,CAACD,CAAG,IACLD,EAAI,OAAOE,CAAK,IAGlBF,GACN,EAAE,IAGAF;AAGF,SAASK,EAAoBC,GAAmB;AACrD,QAAMC,IAASD,EAAW,OAAO,CAACJ,GAAKE,MAAUF,EAAI,OAAOH,EAAcK,CAAK,CAAC,GAAG,CAAA,CAAE,GAE/EI,IAAW,CAACJ,MACTA,MAAU,OAAO,SAAS,OAAOA,GAGpCK,IAAQF,EAAO,OAAO,CAACG,GAAeN,MAAeM,EAAI,IAAIF,EAASJ,CAAK,CAAC,GAAG,oBAAI,KAAK;AAE9F,SAAO,EAAC,QAAQO,EAAKJ,CAAM,GAAG,OAAAE,EAAK;AACrC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"somethingOf.js","sources":["../../../src/utils/somethingOf.ts"],"sourcesContent":["export function makeOf(key: string, schemes: unknown[]) {\n if (schemes.length) {\n if (schemes.length === 1) {\n return schemes[0];\n } else {\n return {[key]: schemes};\n }\n }\n\n return null;\n}\n"],"names":["makeOf","key","schemes"],"mappings":"AAAgB,SAAAA,EAAOC,GAAaC,GAAoB;AACtD,SAAIA,EAAQ,SACNA,EAAQ,WAAW,IACdA,EAAQ,CAAC,IAET,EAAC,CAACD,CAAG,GAAGC,EAAO,IAInB;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toJsonMapCollection.js","sources":["../../../src/utils/toJsonMapCollection.ts"],"sourcesContent":["import {JsonMap} from \"../domain/JsonMap.js\";\n\n/**\n * @ignore\n */\nexport function toJsonMapCollection(content: {[key: string]: any}, klass = JsonMap) {\n return Object.entries(content).reduce((content, [key, value]) => {\n content.set(key, new klass(value));\n\n return content;\n }, new JsonMap<any>());\n}\n"],"names":["toJsonMapCollection","content","klass","JsonMap","key","value"],"mappings":";AAKgB,SAAAA,EAAoBC,GAA+BC,IAAQC,GAAS;AAC3E,SAAA,OAAO,QAAQF,CAAO,EAAE,OAAO,CAACA,GAAS,CAACG,GAAKC,CAAK,OACzDJ,EAAQ,IAAIG,GAAK,IAAIF,EAAMG,CAAK,CAAC,GAE1BJ,IACN,IAAIE,EAAA,CAAc;AACvB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toJsonRegex.js","sources":["../../../src/utils/toJsonRegex.ts"],"sourcesContent":["/**\n * @ignore\n * @param pattern\n */\nexport function toJsonRegex(pattern: string | RegExp) {\n return String(pattern).replace(/^(\\/)(.*)(\\/)$/, \"$2\");\n}\n"],"names":["toJsonRegex","pattern"],"mappings":"AAIO,SAASA,EAAYC,GAA0B;AACpD,SAAO,OAAOA,CAAO,EAAE,QAAQ,kBAAkB,IAAI;AACvD;"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { cleanObject as y } from "@tsed/core";
|
|
2
|
+
const v = ["get", "put", "post", "delete", "options", "head", "patch", "trace"], O = [
|
|
3
|
+
"format",
|
|
4
|
+
"minimum",
|
|
5
|
+
"maximum",
|
|
6
|
+
"exclusiveMinimum",
|
|
7
|
+
"exclusiveMaximum",
|
|
8
|
+
"minLength",
|
|
9
|
+
"maxLength",
|
|
10
|
+
"multipleOf",
|
|
11
|
+
"minItems",
|
|
12
|
+
"maxItems",
|
|
13
|
+
"uniqueItems",
|
|
14
|
+
"minProperties",
|
|
15
|
+
"maxProperties",
|
|
16
|
+
"additionalProperties",
|
|
17
|
+
"pattern",
|
|
18
|
+
"enum",
|
|
19
|
+
"default"
|
|
20
|
+
], x = ["type", "items"], b = /^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/, f = {
|
|
21
|
+
APPLICATION_X_WWW_URLENCODED: "application/x-www-form-urlencoded",
|
|
22
|
+
MULTIPART_FORM_DATA: "multipart/form-data"
|
|
23
|
+
};
|
|
24
|
+
function R(o) {
|
|
25
|
+
return o.replace("#/components/schemas/", "#/definitions/").replace("#/components/", "#/x-components/");
|
|
26
|
+
}
|
|
27
|
+
function p(o) {
|
|
28
|
+
if (Array.isArray(o))
|
|
29
|
+
o.forEach(p);
|
|
30
|
+
else if (typeof o == "object")
|
|
31
|
+
for (let e in o)
|
|
32
|
+
e === "$ref" ? o.$ref = R(o.$ref) : p(o[e]);
|
|
33
|
+
}
|
|
34
|
+
function d(o) {
|
|
35
|
+
return new RegExp(b, "i").test(o);
|
|
36
|
+
}
|
|
37
|
+
function u(o) {
|
|
38
|
+
const e = Object.keys(f).map((t) => f[t]);
|
|
39
|
+
return Object.keys(o).filter((t) => e.indexOf(t) > -1 || d(t));
|
|
40
|
+
}
|
|
41
|
+
function S(o) {
|
|
42
|
+
function e(t) {
|
|
43
|
+
const { scheme: s, type: c, name: i, bearerFormat: r, flows: n, ...a } = t;
|
|
44
|
+
switch (c) {
|
|
45
|
+
case "http":
|
|
46
|
+
if (s === "basic")
|
|
47
|
+
return {
|
|
48
|
+
...a,
|
|
49
|
+
type: s
|
|
50
|
+
};
|
|
51
|
+
if (s === "bearer")
|
|
52
|
+
return {
|
|
53
|
+
...a,
|
|
54
|
+
type: "apiKey",
|
|
55
|
+
name: "Authorization",
|
|
56
|
+
in: "header"
|
|
57
|
+
};
|
|
58
|
+
break;
|
|
59
|
+
case "oauth2":
|
|
60
|
+
const l = Object.keys(n)[0], m = n[l];
|
|
61
|
+
let h = l;
|
|
62
|
+
return h === "clientCredentials" ? h = "application" : h === "authorizationCode" && (h = "accessCode"), {
|
|
63
|
+
type: c,
|
|
64
|
+
flow: h,
|
|
65
|
+
authorizationUrl: m.authorizationUrl,
|
|
66
|
+
tokenUrl: m.tokenUrl,
|
|
67
|
+
scopes: m.scopes
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return Object.entries(o).reduce(
|
|
72
|
+
(t, [s, c]) => {
|
|
73
|
+
const i = e(c);
|
|
74
|
+
return i && (t[s] = i), t;
|
|
75
|
+
},
|
|
76
|
+
{}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function E(o) {
|
|
80
|
+
let e = o.url;
|
|
81
|
+
const t = o.variables || {};
|
|
82
|
+
for (const c in t) {
|
|
83
|
+
const i = t[c] || {};
|
|
84
|
+
if (i.default) {
|
|
85
|
+
const r = RegExp(`{${c}}`, "g");
|
|
86
|
+
e = e.replace(r, i.default);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const s = new URL(e);
|
|
90
|
+
return {
|
|
91
|
+
host: s.host ? s.host : void 0,
|
|
92
|
+
basePath: s.pathname,
|
|
93
|
+
schemes: s.protocol !== null ? [s.protocol.substring(0, s.protocol.length - 1)] : void 0
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
class P {
|
|
97
|
+
constructor(e) {
|
|
98
|
+
this.spec = JSON.parse(JSON.stringify(e));
|
|
99
|
+
}
|
|
100
|
+
convertInfos() {
|
|
101
|
+
const e = this.spec.servers && this.spec.servers[0];
|
|
102
|
+
return e ? E(e) : {};
|
|
103
|
+
}
|
|
104
|
+
resolveReference(e, t, s) {
|
|
105
|
+
if (!t || !t.$ref)
|
|
106
|
+
return t;
|
|
107
|
+
const c = t.$ref;
|
|
108
|
+
if (c.startsWith("#")) {
|
|
109
|
+
const i = c.split("/").map((n) => n.replace(/~1/g, "/").replace(/~0/g, "~"));
|
|
110
|
+
i.shift();
|
|
111
|
+
let r = e;
|
|
112
|
+
return i.forEach((n) => {
|
|
113
|
+
r = r[n];
|
|
114
|
+
}), s ? JSON.parse(JSON.stringify(r)) : r;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
convert() {
|
|
118
|
+
const e = {
|
|
119
|
+
swagger: "2.0",
|
|
120
|
+
...this.convertInfos(),
|
|
121
|
+
paths: this.spec.paths ? this.convertOperations(this.spec.paths, this.spec) : void 0
|
|
122
|
+
};
|
|
123
|
+
return this.spec.components && (this.convertSchemas(), this.convertSecurityDefinitions(), this.spec["x-components"] = this.spec.components, delete this.spec.components, p(this.spec)), delete this.spec.servers, delete this.spec.openapi, delete this.spec["x-components"], y({
|
|
124
|
+
...e,
|
|
125
|
+
...this.spec
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
convertOperations(e, t) {
|
|
129
|
+
return Object.entries(e).reduce((s, [c, i]) => {
|
|
130
|
+
const r = s[c] = this.resolveReference({ ...t, paths: s }, i, !0);
|
|
131
|
+
return this.convertParameters(r), Object.keys(r).forEach((n) => {
|
|
132
|
+
if (v.indexOf(n) >= 0) {
|
|
133
|
+
const a = r[n] = this.resolveReference({ ...t, paths: s }, r[n], !0);
|
|
134
|
+
this.convertOperationParameters(a), this.convertResponses(a);
|
|
135
|
+
}
|
|
136
|
+
}), s;
|
|
137
|
+
}, e);
|
|
138
|
+
}
|
|
139
|
+
convertOperationParameters(e) {
|
|
140
|
+
let t, s, c, i;
|
|
141
|
+
if (e.parameters = e.parameters || [], e.requestBody) {
|
|
142
|
+
let r = this.resolveReference(this.spec, e.requestBody, !0);
|
|
143
|
+
if (e.requestBody.content) {
|
|
144
|
+
const n = u(e.requestBody.content)[0], a = { content: {} }, l = e.requestBody.content[n];
|
|
145
|
+
l && l.schema && l.schema.$ref && !l.schema.$ref.startsWith("#") && (r = this.resolveReference(this.spec, l.schema, !0), a.content[`${n}`] = { schema: r }, r = a);
|
|
146
|
+
}
|
|
147
|
+
if (r.name = "body", t = r.content, t && Object.keys(t).length) {
|
|
148
|
+
if (c = Object.keys(t).filter((n) => n.indexOf("/") > 0), i = c.filter((n) => n.indexOf("*") < 0), s = u(t)[0], delete r.content, [f.APPLICATION_X_WWW_URLENCODED, f.MULTIPART_FORM_DATA].includes(s))
|
|
149
|
+
if (e.consumes = i, r.in = "formData", r.schema = t[s].schema, r.schema = this.resolveReference(this.spec, r.schema, !0), r.schema.type === "object" && r.schema.properties) {
|
|
150
|
+
const n = r.schema.required || [];
|
|
151
|
+
Object.keys(r.schema.properties).forEach((a) => {
|
|
152
|
+
var m;
|
|
153
|
+
const l = r.schema.properties[a];
|
|
154
|
+
if (!l.readOnly) {
|
|
155
|
+
const h = {
|
|
156
|
+
name: a,
|
|
157
|
+
in: "formData",
|
|
158
|
+
schema: l
|
|
159
|
+
};
|
|
160
|
+
n.indexOf(a) >= 0 && (h.required = !0), (m = e.parameters) == null || m.push(h);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
} else
|
|
164
|
+
e.parameters.push(r);
|
|
165
|
+
else s ? (e.consumes = i, r.in = "body", r.schema = t[s].schema, e.parameters.push(r)) : c && (e.consumes = i || ["application/octet-stream"], r.in = "body", r.name = r.name || "file", delete r.type, r.schema = t[c[0]].schema || {
|
|
166
|
+
type: "string",
|
|
167
|
+
format: "binary"
|
|
168
|
+
}, e.parameters.push(r));
|
|
169
|
+
r.schema && this.convertSchema(r.schema, "request");
|
|
170
|
+
}
|
|
171
|
+
delete e.requestBody;
|
|
172
|
+
}
|
|
173
|
+
this.convertParameters(e);
|
|
174
|
+
}
|
|
175
|
+
convertParameters(e) {
|
|
176
|
+
e.parameters !== void 0 && (e.parameters = e.parameters || [], (e.parameters || []).forEach((t, s) => {
|
|
177
|
+
if (t = e.parameters[s] = this.resolveReference(this.spec, t, !1), t.in !== "body") {
|
|
178
|
+
if (this.copySchemaProperties(t, O), this.copySchemaProperties(t, x), this.copySchemaXProperties(t), !t.description) {
|
|
179
|
+
const c = this.resolveReference(this.spec, t.schema, !1);
|
|
180
|
+
c && c.description && (t.description = c.description);
|
|
181
|
+
}
|
|
182
|
+
t.example !== void 0 && (t["x-example"] = t.example), delete t.schema, delete t.allowReserved, delete t.example;
|
|
183
|
+
}
|
|
184
|
+
if (t.type === "array")
|
|
185
|
+
switch (t.style || (t.in === "query" || t.in === "cookie" ? "form" : "simple")) {
|
|
186
|
+
case "matrix":
|
|
187
|
+
t.collectionFormat = t.explode ? void 0 : "csv";
|
|
188
|
+
break;
|
|
189
|
+
case "label":
|
|
190
|
+
t.collectionFormat = void 0;
|
|
191
|
+
break;
|
|
192
|
+
case "simple":
|
|
193
|
+
t.collectionFormat = "csv";
|
|
194
|
+
break;
|
|
195
|
+
case "spaceDelimited":
|
|
196
|
+
t.collectionFormat = "ssv";
|
|
197
|
+
break;
|
|
198
|
+
case "pipeDelimited":
|
|
199
|
+
t.collectionFormat = "pipes";
|
|
200
|
+
break;
|
|
201
|
+
case "deepOpbject":
|
|
202
|
+
t.collectionFormat = "multi";
|
|
203
|
+
break;
|
|
204
|
+
case "form":
|
|
205
|
+
t.collectionFormat = t.explode === !1 ? "csv" : "multi";
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
delete t.style, delete t.explode;
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
copySchemaProperties(e, t) {
|
|
212
|
+
let s = this.resolveReference(this.spec, e.schema, !0);
|
|
213
|
+
s && t.forEach((c) => {
|
|
214
|
+
const i = s[c];
|
|
215
|
+
c === "additionalProperties" && typeof i == "boolean" || i !== void 0 && (e[c] = i);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
copySchemaXProperties(e) {
|
|
219
|
+
let t = this.resolveReference(this.spec, e.schema, !0);
|
|
220
|
+
t && Object.keys(t).forEach((s) => {
|
|
221
|
+
Reflect.hasOwnProperty.call(t, s) && !Reflect.hasOwnProperty.call(e, s) && s.startsWith("x-") && (e[s] = t[s]);
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
convertResponses(e) {
|
|
225
|
+
Object.keys(e.responses || {}).forEach((t) => {
|
|
226
|
+
const s = e.responses[t] = this.resolveReference(this.spec, e.responses[t], !0);
|
|
227
|
+
if (s.content) {
|
|
228
|
+
let c = null, i = null;
|
|
229
|
+
if (Object.keys(s.content).forEach((r) => {
|
|
230
|
+
const n = r.indexOf("*") < 0 ? r : "application/octet-stream";
|
|
231
|
+
e.produces ? e.produces.indexOf(n) < 0 && e.produces.push(n) : e.produces = [n];
|
|
232
|
+
const a = s.content[r];
|
|
233
|
+
c = c || a.schema, !i && d(n) && (i = a.schema), a.example && (s.examples = s.examples || {}, s.examples[n] = a.example);
|
|
234
|
+
}), c) {
|
|
235
|
+
s.schema = i || c;
|
|
236
|
+
const r = this.resolveReference(this.spec, s.schema, !0);
|
|
237
|
+
r && s.schema.$ref && !s.schema.$ref.startsWith("#") && (s.schema = r), this.convertSchema(s.schema, "response");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
Object.keys(s.headers || {}).forEach((c) => {
|
|
241
|
+
const i = this.resolveReference(this.spec, s.headers[c], !0);
|
|
242
|
+
i.schema && (i.type = i.schema.type, i.format = i.schema.format, delete i.schema), s.headers[c] = i;
|
|
243
|
+
}), delete s.content;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
convertSchema(e, t) {
|
|
247
|
+
if (e.oneOf && (delete e.oneOf, e.discriminator && delete e.discriminator), e.anyOf && (delete e.anyOf, e.discriminator && delete e.discriminator), e.allOf)
|
|
248
|
+
for (const s in e.allOf)
|
|
249
|
+
this.convertSchema(e.allOf[s], t);
|
|
250
|
+
switch (e.discriminator && (e.discriminator.mapping && this.convertDiscriminatorMapping(e.discriminator.mapping), e.discriminator = e.discriminator.propertyName), e.type) {
|
|
251
|
+
case "object":
|
|
252
|
+
e.properties && Object.keys(e.properties).forEach((s) => {
|
|
253
|
+
e.properties[s].writeOnly === !0 && t === "response" ? delete e.properties[s] : (this.convertSchema(e.properties[s], t), delete e.properties[s].writeOnly);
|
|
254
|
+
});
|
|
255
|
+
break;
|
|
256
|
+
case "array":
|
|
257
|
+
e.items && this.convertSchema(e.items, t);
|
|
258
|
+
}
|
|
259
|
+
e.nullable && (e["x-nullable"] = !0, delete e.nullable), e.deprecated !== void 0 && (e["x-deprecated"] === void 0 && (e["x-deprecated"] = e.deprecated), delete e.deprecated);
|
|
260
|
+
}
|
|
261
|
+
convertSchemas() {
|
|
262
|
+
this.spec.definitions = this.spec.components.schemas, Object.keys(this.spec.definitions || {}).forEach((e) => {
|
|
263
|
+
this.convertSchema(this.spec.definitions[e]);
|
|
264
|
+
}), delete this.spec.components.schemas;
|
|
265
|
+
}
|
|
266
|
+
convertDiscriminatorMapping(e) {
|
|
267
|
+
Object.keys(e).forEach((t) => {
|
|
268
|
+
const s = e[t];
|
|
269
|
+
if (typeof s != "string") {
|
|
270
|
+
console.warn(`Ignoring ${s} for ${t} in discriminator.mapping.`);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
let c;
|
|
274
|
+
if (/^[a-zA-Z0-9._-]+$/.test(s))
|
|
275
|
+
try {
|
|
276
|
+
c = this.resolveReference(this.spec, { $ref: `#/components/schemas/${s}` }, !1);
|
|
277
|
+
} catch (i) {
|
|
278
|
+
console.debug(`Error resolving ${s} for ${t} as schema name in discriminator.mapping: ${i}`);
|
|
279
|
+
}
|
|
280
|
+
if (!c)
|
|
281
|
+
try {
|
|
282
|
+
c = this.resolveReference(this.spec, { $ref: s }, !1);
|
|
283
|
+
} catch (i) {
|
|
284
|
+
console.debug(`Error resolving ${s} for ${t} in discriminator.mapping: ${i}`);
|
|
285
|
+
}
|
|
286
|
+
c ? (c["x-discriminator-value"] = t, c["x-ms-discriminator-value"] = t) : console.warn(`Unable to resolve ${s} for ${t} in discriminator.mapping.`);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
convertSecurityDefinitions() {
|
|
290
|
+
this.spec.components.securitySchemes && (this.spec.securityDefinitions = S(this.spec.components.securitySchemes), delete this.spec.components.securitySchemes);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function k(o) {
|
|
294
|
+
return new P(o).convert();
|
|
295
|
+
}
|
|
296
|
+
export {
|
|
297
|
+
P as Converter,
|
|
298
|
+
E as transformInformation,
|
|
299
|
+
S as transformSecurity,
|
|
300
|
+
k as transformToOS2
|
|
301
|
+
};
|
|
302
|
+
//# sourceMappingURL=transformToOS2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformToOS2.js","sources":["../../../src/utils/transformToOS2.ts"],"sourcesContent":["\"use strict\";\nimport {cleanObject} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3, type OS2Security, OS3Operation} from \"@tsed/openspec\";\n\nconst HTTP_METHODS = [\"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\", \"trace\"];\nconst SCHEMA_PROPERTIES = [\n \"format\",\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"minLength\",\n \"maxLength\",\n \"multipleOf\",\n \"minItems\",\n \"maxItems\",\n \"uniqueItems\",\n \"minProperties\",\n \"maxProperties\",\n \"additionalProperties\",\n \"pattern\",\n \"enum\",\n \"default\"\n];\nconst ARRAY_PROPERTIES = [\"type\", \"items\"];\n\nconst APPLICATION_JSON_REGEX = /^(application\\/json|[^;\\/ \\t]+\\/[^;\\/ \\t]+[+]json)[ \\t]*(;.*)?$/;\nconst SUPPORTED_MIME_TYPES: Record<string, any> = {\n APPLICATION_X_WWW_URLENCODED: \"application/x-www-form-urlencoded\",\n MULTIPART_FORM_DATA: \"multipart/form-data\"\n};\n\nfunction fixRef(ref: string) {\n return ref.replace(\"#/components/schemas/\", \"#/definitions/\").replace(\"#/components/\", \"#/x-components/\");\n}\n\nfunction fixRefs(obj: any) {\n if (Array.isArray(obj)) {\n obj.forEach(fixRefs);\n } else if (typeof obj === \"object\") {\n for (let key in obj) {\n if (key === \"$ref\") {\n obj.$ref = fixRef(obj.$ref);\n } else {\n fixRefs(obj[key]);\n }\n }\n }\n}\n\nfunction isJsonMimeType(type: string) {\n return new RegExp(APPLICATION_JSON_REGEX, \"i\").test(type);\n}\n\nfunction getSupportedMimeTypes(content: any) {\n const MIME_VALUES = Object.keys(SUPPORTED_MIME_TYPES).map((key) => {\n return SUPPORTED_MIME_TYPES[key];\n });\n return Object.keys(content).filter((key) => {\n return MIME_VALUES.indexOf(key) > -1 || isJsonMimeType(key);\n });\n}\n\nexport function transformSecurity(securitySchemes: any) {\n function map(security: any): OS2Security | undefined {\n const {scheme, type, name, bearerFormat, flows, ...props} = security;\n\n switch (type) {\n case \"http\":\n if (scheme === \"basic\") {\n return {\n ...props,\n type: scheme\n };\n }\n\n if (scheme === \"bearer\") {\n return {\n ...props,\n type: \"apiKey\",\n name: \"Authorization\",\n in: \"header\"\n };\n }\n break;\n case \"oauth2\":\n const flowName = Object.keys(flows)[0];\n const flow = flows[flowName];\n let flowType = flowName;\n\n if (flowType === \"clientCredentials\") {\n flowType = \"application\";\n } else if (flowType === \"authorizationCode\") {\n flowType = \"accessCode\";\n }\n\n return {\n type,\n flow: flowType as never,\n authorizationUrl: flow.authorizationUrl,\n tokenUrl: flow.tokenUrl,\n scopes: flow.scopes\n };\n }\n }\n\n return Object.entries(securitySchemes).reduce(\n (securityDefinitions, [key, security]) => {\n const securityDefinition = map(security);\n\n if (securityDefinition) {\n securityDefinitions[key] = securityDefinition;\n }\n\n return securityDefinitions;\n },\n {} as Record<string, OS2Security>\n );\n}\n\nexport function transformInformation(server: any) {\n let serverUrl = server.url;\n\n const variables = server[\"variables\"] || {};\n\n for (const variable in variables) {\n const variableObject = variables[variable] || {};\n if (variableObject[\"default\"]) {\n const re = RegExp(`{${variable}}`, \"g\");\n serverUrl = serverUrl.replace(re, variableObject[\"default\"]);\n }\n }\n\n const url = new URL(serverUrl);\n\n return {\n host: url.host ? url.host : undefined,\n basePath: url.pathname,\n schemes: url.protocol !== null ? [url.protocol.substring(0, url.protocol.length - 1)] : undefined\n };\n}\n\nexport class Converter {\n private spec: any;\n\n constructor(spec: Partial<OpenSpec3>) {\n this.spec = JSON.parse(JSON.stringify(spec));\n }\n\n convertInfos() {\n const server = this.spec.servers && this.spec.servers[0];\n\n if (server) {\n return transformInformation(server);\n }\n\n return {};\n }\n\n resolveReference(base: any, obj: any, shouldClone: boolean) {\n if (!obj || !obj.$ref) {\n return obj;\n }\n\n const ref: string = obj.$ref;\n\n if (ref.startsWith(\"#\")) {\n const keys = ref.split(\"/\").map((k) => k.replace(/~1/g, \"/\").replace(/~0/g, \"~\"));\n keys.shift();\n\n let cur = base;\n keys.forEach((k) => {\n cur = cur[k];\n });\n\n return shouldClone ? JSON.parse(JSON.stringify(cur)) : cur;\n }\n }\n\n convert() {\n const spec = {\n swagger: \"2.0\",\n ...this.convertInfos(),\n paths: this.spec.paths ? this.convertOperations(this.spec.paths, this.spec) : undefined\n };\n\n if (this.spec.components) {\n this.convertSchemas();\n this.convertSecurityDefinitions();\n\n this.spec[\"x-components\"] = this.spec.components;\n delete this.spec.components;\n\n fixRefs(this.spec);\n }\n\n delete this.spec.servers;\n delete this.spec.openapi;\n delete this.spec[\"x-components\"];\n\n return cleanObject({\n ...spec,\n ...this.spec\n });\n }\n\n convertOperations(paths: any, spec: any) {\n return Object.entries(paths).reduce((paths, [path, operation]) => {\n const pathObject = (paths[path] = this.resolveReference({...spec, paths}, operation, true));\n\n this.convertParameters(pathObject); // converts common parameters\n\n Object.keys(pathObject).forEach((method) => {\n if (HTTP_METHODS.indexOf(method) >= 0) {\n const operation = (pathObject[method] = this.resolveReference({...spec, paths}, pathObject[method], true));\n\n this.convertOperationParameters(operation);\n this.convertResponses(operation);\n }\n });\n\n return paths;\n }, paths);\n }\n\n convertOperationParameters(operation: OS3Operation) {\n let content, contentKey, mediaRanges, mediaTypes;\n operation.parameters = operation.parameters || [];\n\n if (operation.requestBody) {\n let param = this.resolveReference(this.spec, operation.requestBody, true);\n\n // fixing external $ref in body\n if (operation.requestBody.content) {\n const type = getSupportedMimeTypes(operation.requestBody.content)[0];\n const structuredObj: any = {content: {}};\n const data = operation.requestBody.content[type];\n\n if (data && data.schema && data.schema.$ref && !data.schema.$ref.startsWith(\"#\")) {\n param = this.resolveReference(this.spec, data.schema, true);\n structuredObj[\"content\"][`${type}`] = {schema: param};\n param = structuredObj;\n }\n }\n\n param.name = \"body\";\n content = param.content;\n\n if (content && Object.keys(content).length) {\n mediaRanges = Object.keys(content).filter((mediaRange) => mediaRange.indexOf(\"/\") > 0);\n mediaTypes = mediaRanges.filter((range) => range.indexOf(\"*\") < 0);\n contentKey = getSupportedMimeTypes(content)[0];\n\n delete param.content;\n\n if ([SUPPORTED_MIME_TYPES.APPLICATION_X_WWW_URLENCODED, SUPPORTED_MIME_TYPES.MULTIPART_FORM_DATA].includes(contentKey)) {\n (operation as any).consumes = mediaTypes;\n\n param.in = \"formData\";\n param.schema = content[contentKey].schema;\n param.schema = this.resolveReference(this.spec, param.schema, true);\n\n if (param.schema.type === \"object\" && param.schema.properties) {\n const required = param.schema.required || [];\n\n Object.keys(param.schema.properties).forEach((name) => {\n const schema = param.schema.properties[name];\n\n // readOnly properties should not be sent in requests\n if (!schema.readOnly) {\n const formDataParam: any = {\n name,\n in: \"formData\",\n schema\n };\n if (required.indexOf(name) >= 0) {\n formDataParam.required = true;\n }\n\n operation.parameters?.push(formDataParam);\n }\n });\n } else {\n operation.parameters.push(param);\n }\n } else if (contentKey) {\n (operation as any).consumes = mediaTypes;\n param.in = \"body\";\n param.schema = content[contentKey].schema;\n operation.parameters.push(param);\n } else if (mediaRanges) {\n (operation as any).consumes = mediaTypes || [\"application/octet-stream\"];\n param.in = \"body\";\n param.name = param.name || \"file\";\n delete param.type;\n\n param.schema = content[mediaRanges[0]].schema || {\n type: \"string\",\n format: \"binary\"\n };\n\n operation.parameters.push(param);\n }\n\n if (param.schema) {\n this.convertSchema(param.schema, \"request\");\n }\n }\n\n delete operation.requestBody;\n }\n this.convertParameters(operation);\n }\n\n convertParameters(obj: any) {\n if (obj.parameters === undefined) {\n return;\n }\n\n obj.parameters = obj.parameters || [];\n\n (obj.parameters || []).forEach((param: any, i: number) => {\n param = obj.parameters[i] = this.resolveReference(this.spec, param, false);\n\n if (param.in !== \"body\") {\n this.copySchemaProperties(param, SCHEMA_PROPERTIES);\n this.copySchemaProperties(param, ARRAY_PROPERTIES);\n this.copySchemaXProperties(param);\n\n if (!param.description) {\n const schema = this.resolveReference(this.spec, param.schema, false);\n if (!!schema && schema.description) {\n param.description = schema.description;\n }\n }\n\n if (param.example !== undefined) {\n param[\"x-example\"] = param.example;\n }\n\n delete param.schema;\n delete param.allowReserved;\n delete param.example;\n }\n\n if (param.type === \"array\") {\n let style = param.style || (param.in === \"query\" || param.in === \"cookie\" ? \"form\" : \"simple\");\n\n switch (style) {\n case \"matrix\":\n param.collectionFormat = param.explode ? undefined : \"csv\";\n break;\n case \"label\":\n param.collectionFormat = undefined;\n break;\n case \"simple\":\n param.collectionFormat = \"csv\";\n break;\n case \"spaceDelimited\":\n param.collectionFormat = \"ssv\";\n break;\n case \"pipeDelimited\":\n param.collectionFormat = \"pipes\";\n break;\n case \"deepOpbject\":\n param.collectionFormat = \"multi\";\n break;\n case \"form\":\n param.collectionFormat = param.explode === false ? \"csv\" : \"multi\";\n break;\n }\n }\n\n delete param.style;\n delete param.explode;\n });\n }\n\n copySchemaProperties(obj: any, props: any[]) {\n let schema = this.resolveReference(this.spec, obj.schema, true);\n\n if (!schema) {\n return;\n }\n\n props.forEach((prop) => {\n const value = schema[prop];\n\n if (prop === \"additionalProperties\" && typeof value === \"boolean\") {\n return;\n }\n\n if (value !== undefined) {\n obj[prop] = value;\n }\n });\n }\n\n copySchemaXProperties(obj: Record<string, any>) {\n let schema = this.resolveReference(this.spec, obj.schema, true);\n if (!schema) {\n return;\n }\n\n Object.keys(schema).forEach((propName) => {\n if (Reflect.hasOwnProperty.call(schema, propName) && !Reflect.hasOwnProperty.call(obj, propName) && propName.startsWith(\"x-\")) {\n obj[propName] = schema[propName];\n }\n });\n }\n\n convertResponses(operation: Record<string, any>) {\n // var anySchema, code, content, jsonSchema, mediaRange, mediaType, response, resolved, headers\n\n Object.keys(operation.responses || {}).forEach((code) => {\n const response = (operation.responses[code] = this.resolveReference(this.spec, operation.responses[code], true));\n\n if (response.content) {\n let anySchema: any = null;\n let jsonSchema: any = null;\n\n Object.keys(response.content).forEach((mediaRange) => {\n // produces and examples only allow media types, not ranges\n // use application/octet-stream as a catch-all type\n const mediaType = mediaRange.indexOf(\"*\") < 0 ? mediaRange : \"application/octet-stream\";\n\n if (!operation.produces) {\n operation.produces = [mediaType];\n } else if (operation.produces.indexOf(mediaType) < 0) {\n operation.produces.push(mediaType);\n }\n\n const content = response.content[mediaRange];\n anySchema = anySchema || content.schema;\n\n if (!jsonSchema && isJsonMimeType(mediaType)) {\n jsonSchema = content.schema;\n }\n\n if (content.example) {\n response.examples = response.examples || {};\n response.examples[mediaType] = content.example;\n }\n });\n\n if (anySchema) {\n response.schema = jsonSchema || anySchema;\n const resolved = this.resolveReference(this.spec, response.schema, true);\n\n if (resolved && response.schema.$ref && !response.schema.$ref.startsWith(\"#\")) {\n response.schema = resolved;\n }\n\n this.convertSchema(response.schema, \"response\");\n }\n }\n\n Object.keys(response.headers || {}).forEach((header) => {\n // Always resolve headers when converting to v2.\n const resolved = this.resolveReference(this.spec, response.headers[header], true);\n\n // Headers should be converted like parameters.\n if (resolved.schema) {\n resolved.type = resolved.schema.type;\n resolved.format = resolved.schema.format;\n delete resolved.schema;\n }\n\n response.headers[header] = resolved;\n });\n\n delete response.content;\n });\n }\n\n convertSchema(def: any, operationDirection?: any) {\n if (def.oneOf) {\n delete def.oneOf;\n\n if (def.discriminator) {\n delete def.discriminator;\n }\n }\n\n if (def.anyOf) {\n delete def.anyOf;\n\n if (def.discriminator) {\n delete def.discriminator;\n }\n }\n\n if (def.allOf) {\n for (const i in def.allOf) {\n this.convertSchema(def.allOf[i], operationDirection);\n }\n }\n\n if (def.discriminator) {\n if (def.discriminator.mapping) {\n this.convertDiscriminatorMapping(def.discriminator.mapping);\n }\n\n def.discriminator = def.discriminator.propertyName;\n }\n\n switch (def.type) {\n case \"object\":\n if (def.properties) {\n Object.keys(def.properties).forEach((propName) => {\n if (def.properties[propName].writeOnly === true && operationDirection === \"response\") {\n delete def.properties[propName];\n } else {\n this.convertSchema(def.properties[propName], operationDirection);\n delete def.properties[propName].writeOnly;\n }\n });\n }\n break;\n case \"array\":\n if (def.items) {\n this.convertSchema(def.items, operationDirection);\n }\n }\n\n if (def.nullable) {\n def[\"x-nullable\"] = true;\n delete def.nullable;\n }\n\n // OpenAPI 3 has boolean \"deprecated\" on Schema, OpenAPI 2 does not\n // Convert to x-deprecated for Autorest (and perhaps others)\n if (def[\"deprecated\"] !== undefined) {\n // Move to x-deprecated, unless it is already defined\n if (def[\"x-deprecated\"] === undefined) {\n def[\"x-deprecated\"] = def.deprecated;\n }\n delete def.deprecated;\n }\n }\n\n convertSchemas() {\n this.spec.definitions = this.spec.components.schemas;\n\n Object.keys(this.spec.definitions || {}).forEach((defName) => {\n this.convertSchema(this.spec.definitions[defName]);\n });\n\n delete this.spec.components.schemas;\n }\n\n convertDiscriminatorMapping(mapping: any) {\n Object.keys(mapping).forEach((payload) => {\n const schemaNameOrRef = mapping[payload];\n\n if (typeof schemaNameOrRef !== \"string\") {\n console.warn(`Ignoring ${schemaNameOrRef} for ${payload} in discriminator.mapping.`);\n return;\n }\n\n // payload may be a schema name or JSON Reference string.\n // OAS3 spec limits schema names to ^[a-zA-Z0-9._-]+$\n // Note: Valid schema name could be JSON file name without extension.\n // Prefer schema name, with file name as fallback.\n let schema;\n if (/^[a-zA-Z0-9._-]+$/.test(schemaNameOrRef)) {\n try {\n schema = this.resolveReference(this.spec, {$ref: `#/components/schemas/${schemaNameOrRef}`}, false);\n } catch (err) {\n console.debug(`Error resolving ${schemaNameOrRef} for ${payload} as schema name in discriminator.mapping: ${err}`);\n }\n }\n\n // schemaNameRef is not a schema name. Try to resolve as JSON Ref.\n if (!schema) {\n try {\n schema = this.resolveReference(this.spec, {$ref: schemaNameOrRef}, false);\n } catch (err) {\n console.debug(`Error resolving ${schemaNameOrRef} for ${payload} in discriminator.mapping: ${err}`);\n }\n }\n\n if (schema) {\n // Swagger Codegen + OpenAPI Generator extension\n // https://github.com/swagger-api/swagger-codegen/pull/4252\n schema[\"x-discriminator-value\"] = payload;\n\n // AutoRest extension\n // https://github.com/Azure/autorest/pull/474\n schema[\"x-ms-discriminator-value\"] = payload;\n } else {\n console.warn(`Unable to resolve ${schemaNameOrRef} for ${payload} in discriminator.mapping.`);\n }\n });\n }\n\n convertSecurityDefinitions() {\n if (this.spec.components.securitySchemes) {\n this.spec.securityDefinitions = transformSecurity(this.spec.components.securitySchemes);\n delete this.spec.components.securitySchemes;\n }\n }\n}\n\nexport function transformToOS2(spec: any): Partial<OpenSpec2> {\n return new Converter(spec).convert();\n}\n"],"names":["HTTP_METHODS","SCHEMA_PROPERTIES","ARRAY_PROPERTIES","APPLICATION_JSON_REGEX","SUPPORTED_MIME_TYPES","fixRef","ref","fixRefs","obj","key","isJsonMimeType","type","getSupportedMimeTypes","content","MIME_VALUES","transformSecurity","securitySchemes","map","security","scheme","name","bearerFormat","flows","props","flowName","flow","flowType","securityDefinitions","securityDefinition","transformInformation","server","serverUrl","variables","variable","variableObject","re","url","Converter","spec","base","shouldClone","keys","k","cur","cleanObject","paths","path","operation","pathObject","method","contentKey","mediaRanges","mediaTypes","param","structuredObj","data","mediaRange","range","required","schema","formDataParam","_a","i","prop","value","propName","code","response","anySchema","jsonSchema","mediaType","resolved","header","def","operationDirection","defName","mapping","payload","schemaNameOrRef","err","transformToOS2"],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useDecorators as n, deepMerge as c } from "@tsed/core";
|
|
2
|
+
import { JsonEntityFn as p } from "../decorators/common/jsonEntityFn.js";
|
|
3
|
+
function M(r, m) {
|
|
4
|
+
const s = {};
|
|
5
|
+
return (...i) => {
|
|
6
|
+
const t = n(m(...i));
|
|
7
|
+
return t.Error = (o) => (s.message = o, n(
|
|
8
|
+
t,
|
|
9
|
+
s.message && p((e) => {
|
|
10
|
+
const a = e.parentSchema.get("#errorMessage") || {};
|
|
11
|
+
r === "required" ? e.parentSchema.customKey(
|
|
12
|
+
"errorMessage",
|
|
13
|
+
c(a, {
|
|
14
|
+
[r]: {
|
|
15
|
+
[e.propertyName]: o
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
) : e.itemSchema.customKey(
|
|
19
|
+
"errorMessage",
|
|
20
|
+
c(a, {
|
|
21
|
+
[r]: o
|
|
22
|
+
})
|
|
23
|
+
);
|
|
24
|
+
})
|
|
25
|
+
)), t;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
M as withErrorMsg
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=withErrorMsg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withErrorMsg.js","sources":["../../../src/utils/withErrorMsg.ts"],"sourcesContent":["import {deepMerge, useDecorators} from \"@tsed/core\";\n\nimport {JsonEntityFn} from \"../decorators/common/jsonEntityFn.js\";\n\nexport interface ErrorChainedMethods<T> {\n <T>(target: Object, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<T> | number): any;\n\n Error(msg: string): this;\n}\n\nexport type ErrorChainedDecorator<Decorator extends (...args: any[]) => any> = (\n ...args: Parameters<Decorator>\n) => ErrorChainedMethods<Decorator>;\n\nexport function withErrorMsg<Decorator extends (...args: any[]) => any>(\n errorKey: string,\n originalDecorator: Decorator\n): ErrorChainedDecorator<Decorator> {\n const schema: any = {};\n\n return ((...decoratorOptions: any[]) => {\n const decorator = useDecorators(originalDecorator(...decoratorOptions));\n (decorator as any).Error = (message: string) => {\n schema.message = message;\n\n return useDecorators(\n decorator,\n schema.message &&\n JsonEntityFn((store) => {\n // since errorMessage is a custom key, it is prefixed with a # to avoid conflict with JSON Schema keywords\n const errorMessage = store.parentSchema.get(\"#errorMessage\") || {};\n\n if (errorKey === \"required\") {\n store.parentSchema.customKey(\n \"errorMessage\",\n deepMerge(errorMessage, {\n [errorKey]: {\n [store.propertyName]: message\n }\n })\n );\n } else {\n store.itemSchema.customKey(\n \"errorMessage\",\n deepMerge(errorMessage, {\n [errorKey]: message\n })\n );\n }\n })\n );\n };\n\n return decorator;\n }) as any;\n}\n"],"names":["withErrorMsg","errorKey","originalDecorator","schema","decoratorOptions","decorator","useDecorators","message","JsonEntityFn","store","errorMessage","deepMerge"],"mappings":";;AAcgB,SAAAA,EACdC,GACAC,GACkC;AAClC,QAAMC,IAAc,CAAC;AAErB,SAAQ,IAAIC,MAA4B;AACtC,UAAMC,IAAYC,EAAcJ,EAAkB,GAAGE,CAAgB,CAAC;AACrE,WAAAC,EAAkB,QAAQ,CAACE,OAC1BJ,EAAO,UAAUI,GAEVD;AAAA,MACLD;AAAA,MACAF,EAAO,WACLK,EAAa,CAACC,MAAU;AAEtB,cAAMC,IAAeD,EAAM,aAAa,IAAI,eAAe,KAAK,CAAC;AAEjE,QAAIR,MAAa,aACfQ,EAAM,aAAa;AAAA,UACjB;AAAA,UACAE,EAAUD,GAAc;AAAA,YACtB,CAACT,CAAQ,GAAG;AAAA,cACV,CAACQ,EAAM,YAAY,GAAGF;AAAA,YAAA;AAAA,UAEzB,CAAA;AAAA,QACH,IAEAE,EAAM,WAAW;AAAA,UACf;AAAA,UACAE,EAAUD,GAAc;AAAA,YACtB,CAACT,CAAQ,GAAGM;AAAA,UACb,CAAA;AAAA,QACH;AAAA,MAEH,CAAA;AAAA,IACL,IAGKF;AAAA,EACT;AACF;"}
|
|
@@ -141,6 +141,12 @@ export class JsonEntityStore {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
+
set path(path) {
|
|
145
|
+
this.store.set("path", path);
|
|
146
|
+
}
|
|
147
|
+
get path() {
|
|
148
|
+
return this.store.get("path");
|
|
149
|
+
}
|
|
144
150
|
getBestType() {
|
|
145
151
|
return this.itemSchema.hasDiscriminator
|
|
146
152
|
? this.itemSchema.discriminator().base
|