@tsed/schema 7.70.1 → 7.71.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/.barrelsby.json +1 -1
- package/jest.config.js +2 -0
- package/lib/browser/schema.umd.min.js +1 -1
- package/lib/browser/schema.umd.min.js.map +1 -1
- package/lib/cjs/components/async-api/channelsMapper.js +13 -13
- package/lib/cjs/components/async-api/channelsMapper.js.map +1 -1
- package/lib/cjs/components/async-api/generate.js +4 -4
- package/lib/cjs/components/async-api/generate.js.map +1 -1
- package/lib/cjs/components/async-api/messageMapper.js +11 -11
- package/lib/cjs/components/async-api/messageMapper.js.map +1 -1
- package/lib/cjs/components/async-api/payloadMapper.js +14 -14
- package/lib/cjs/components/async-api/payloadMapper.js.map +1 -1
- package/lib/cjs/components/async-api/responseMapper.js +7 -7
- package/lib/cjs/components/async-api/responseMapper.js.map +1 -1
- package/lib/cjs/components/default/anyMapper.js +14 -14
- package/lib/cjs/components/default/anyMapper.js.map +1 -1
- package/lib/cjs/components/default/classMapper.js +13 -13
- package/lib/cjs/components/default/classMapper.js.map +1 -1
- package/lib/cjs/components/default/genericsMapper.js +10 -10
- package/lib/cjs/components/default/genericsMapper.js.map +1 -1
- package/lib/cjs/components/default/inheritedClassMapper.js +5 -5
- package/lib/cjs/components/default/inheritedClassMapper.js.map +1 -1
- package/lib/cjs/components/default/itemMapper.js +3 -3
- package/lib/cjs/components/default/itemMapper.js.map +1 -1
- package/lib/cjs/components/default/lazyRefMapper.js +7 -7
- package/lib/cjs/components/default/lazyRefMapper.js.map +1 -1
- package/lib/cjs/components/default/mapMapper.js +5 -5
- package/lib/cjs/components/default/mapMapper.js.map +1 -1
- package/lib/cjs/components/default/objectMapper.js +7 -7
- package/lib/cjs/components/default/objectMapper.js.map +1 -1
- package/lib/cjs/components/default/ofMapper.js +5 -5
- package/lib/cjs/components/default/ofMapper.js.map +1 -1
- package/lib/cjs/components/default/propertiesMapper.js +13 -13
- package/lib/cjs/components/default/propertiesMapper.js.map +1 -1
- package/lib/cjs/components/default/schemaMapper.js +22 -22
- package/lib/cjs/components/default/schemaMapper.js.map +1 -1
- package/lib/cjs/components/index.js +29 -29
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/open-spec/generate.js +6 -6
- package/lib/cjs/components/open-spec/generate.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInFilesMapper.js +2 -2
- package/lib/cjs/components/open-spec/operationInFilesMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInParameterMapper.js +10 -10
- package/lib/cjs/components/open-spec/operationInParameterMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInParametersMapper.js +3 -3
- package/lib/cjs/components/open-spec/operationInParametersMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInQueryMapper.js +4 -4
- package/lib/cjs/components/open-spec/operationInQueryMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationMapper.js +10 -10
- package/lib/cjs/components/open-spec/operationMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationMediaMapper.js +3 -3
- package/lib/cjs/components/open-spec/operationMediaMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationRequestBodyMapper.js +8 -8
- package/lib/cjs/components/open-spec/operationRequestBodyMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationResponseMapper.js +3 -3
- package/lib/cjs/components/open-spec/operationResponseMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/pathsMapper.js +27 -27
- package/lib/cjs/components/open-spec/pathsMapper.js.map +1 -1
- package/lib/cjs/decorators/class/children.js +2 -2
- package/lib/cjs/decorators/class/children.js.map +1 -1
- package/lib/cjs/decorators/class/discriminatorValue.js +2 -2
- package/lib/cjs/decorators/class/discriminatorValue.js.map +1 -1
- package/lib/cjs/decorators/collections/collectionContains.js +2 -2
- package/lib/cjs/decorators/collections/collectionContains.js.map +1 -1
- package/lib/cjs/decorators/collections/collectionOf.js +2 -2
- package/lib/cjs/decorators/collections/collectionOf.js.map +1 -1
- package/lib/cjs/decorators/collections/maxItems.js +4 -4
- package/lib/cjs/decorators/collections/maxItems.js.map +1 -1
- package/lib/cjs/decorators/collections/maxProperties.js +4 -4
- package/lib/cjs/decorators/collections/maxProperties.js.map +1 -1
- package/lib/cjs/decorators/collections/minItems.js +4 -4
- package/lib/cjs/decorators/collections/minItems.js.map +1 -1
- package/lib/cjs/decorators/collections/minProperties.js +4 -4
- package/lib/cjs/decorators/collections/minProperties.js.map +1 -1
- package/lib/cjs/decorators/collections/uniqueItems.js +4 -4
- package/lib/cjs/decorators/collections/uniqueItems.js.map +1 -1
- package/lib/cjs/decorators/common/additionalProperties.js +2 -2
- package/lib/cjs/decorators/common/additionalProperties.js.map +1 -1
- package/lib/cjs/decorators/common/allOf.js +2 -2
- package/lib/cjs/decorators/common/allOf.js.map +1 -1
- package/lib/cjs/decorators/common/allow.js +3 -3
- package/lib/cjs/decorators/common/allow.js.map +1 -1
- package/lib/cjs/decorators/common/any.js +2 -2
- package/lib/cjs/decorators/common/any.js.map +1 -1
- package/lib/cjs/decorators/common/anyOf.js +2 -2
- package/lib/cjs/decorators/common/anyOf.js.map +1 -1
- package/lib/cjs/decorators/common/const.js +2 -2
- package/lib/cjs/decorators/common/const.js.map +1 -1
- package/lib/cjs/decorators/common/customKey.js +3 -3
- package/lib/cjs/decorators/common/customKey.js.map +1 -1
- package/lib/cjs/decorators/common/default.js +2 -2
- package/lib/cjs/decorators/common/default.js.map +1 -1
- package/lib/cjs/decorators/common/defaultMsg.js +2 -2
- package/lib/cjs/decorators/common/defaultMsg.js.map +1 -1
- package/lib/cjs/decorators/common/description.js +2 -2
- package/lib/cjs/decorators/common/description.js.map +1 -1
- package/lib/cjs/decorators/common/discriminatorKey.js +3 -3
- package/lib/cjs/decorators/common/discriminatorKey.js.map +1 -1
- package/lib/cjs/decorators/common/enum.js +4 -4
- package/lib/cjs/decorators/common/enum.js.map +1 -1
- package/lib/cjs/decorators/common/errorMsg.js +2 -2
- package/lib/cjs/decorators/common/errorMsg.js.map +1 -1
- package/lib/cjs/decorators/common/example.js +2 -2
- package/lib/cjs/decorators/common/example.js.map +1 -1
- package/lib/cjs/decorators/common/examples.js +2 -2
- package/lib/cjs/decorators/common/examples.js.map +1 -1
- package/lib/cjs/decorators/common/exclusiveMaximum.js +4 -4
- package/lib/cjs/decorators/common/exclusiveMaximum.js.map +1 -1
- package/lib/cjs/decorators/common/exclusiveMinimum.js +4 -4
- package/lib/cjs/decorators/common/exclusiveMinimum.js.map +1 -1
- package/lib/cjs/decorators/common/format.js +17 -17
- package/lib/cjs/decorators/common/format.js.map +1 -1
- package/lib/cjs/decorators/common/forwardGroups.js +2 -2
- package/lib/cjs/decorators/common/forwardGroups.js.map +1 -1
- package/lib/cjs/decorators/common/groups.js +4 -4
- package/lib/cjs/decorators/common/groups.js.map +1 -1
- package/lib/cjs/decorators/common/ignore.js +3 -3
- package/lib/cjs/decorators/common/ignore.js.map +1 -1
- package/lib/cjs/decorators/common/integer.js +2 -2
- package/lib/cjs/decorators/common/integer.js.map +1 -1
- package/lib/cjs/decorators/common/jsonEntityFn.js +2 -2
- package/lib/cjs/decorators/common/jsonEntityFn.js.map +1 -1
- package/lib/cjs/decorators/common/maxLength.js +4 -4
- package/lib/cjs/decorators/common/maxLength.js.map +1 -1
- package/lib/cjs/decorators/common/maximum.js +4 -4
- package/lib/cjs/decorators/common/maximum.js.map +1 -1
- package/lib/cjs/decorators/common/minLength.js +4 -4
- package/lib/cjs/decorators/common/minLength.js.map +1 -1
- package/lib/cjs/decorators/common/minimum.js +4 -4
- package/lib/cjs/decorators/common/minimum.js.map +1 -1
- package/lib/cjs/decorators/common/multipleOf.js +4 -4
- package/lib/cjs/decorators/common/multipleOf.js.map +1 -1
- package/lib/cjs/decorators/common/name.js +2 -2
- package/lib/cjs/decorators/common/name.js.map +1 -1
- package/lib/cjs/decorators/common/nullable.js +3 -3
- package/lib/cjs/decorators/common/nullable.js.map +1 -1
- package/lib/cjs/decorators/common/oneOf.js +2 -2
- package/lib/cjs/decorators/common/oneOf.js.map +1 -1
- package/lib/cjs/decorators/common/optional.js +2 -2
- package/lib/cjs/decorators/common/optional.js.map +1 -1
- package/lib/cjs/decorators/common/pattern.js +4 -4
- package/lib/cjs/decorators/common/pattern.js.map +1 -1
- package/lib/cjs/decorators/common/property.js +2 -2
- package/lib/cjs/decorators/common/property.js.map +1 -1
- package/lib/cjs/decorators/common/readOnly.js +2 -2
- package/lib/cjs/decorators/common/readOnly.js.map +1 -1
- package/lib/cjs/decorators/common/recordOf.js +2 -2
- package/lib/cjs/decorators/common/recordOf.js.map +1 -1
- package/lib/cjs/decorators/common/required.js +5 -5
- package/lib/cjs/decorators/common/required.js.map +1 -1
- package/lib/cjs/decorators/common/requiredGroups.js +4 -4
- package/lib/cjs/decorators/common/requiredGroups.js.map +1 -1
- package/lib/cjs/decorators/common/schema.js +3 -3
- package/lib/cjs/decorators/common/schema.js.map +1 -1
- package/lib/cjs/decorators/common/title.js +2 -2
- package/lib/cjs/decorators/common/title.js.map +1 -1
- package/lib/cjs/decorators/common/typeError.js +3 -3
- package/lib/cjs/decorators/common/typeError.js.map +1 -1
- package/lib/cjs/decorators/common/writeOnly.js +2 -2
- package/lib/cjs/decorators/common/writeOnly.js.map +1 -1
- package/lib/cjs/decorators/config/jsonEntityComponent.js +2 -2
- package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -1
- package/lib/cjs/decorators/generics/genericOf.js +4 -4
- package/lib/cjs/decorators/generics/genericOf.js.map +1 -1
- package/lib/cjs/decorators/generics/generics.js +2 -2
- package/lib/cjs/decorators/generics/generics.js.map +1 -1
- package/lib/cjs/decorators/operations/acceptMime.js +2 -2
- package/lib/cjs/decorators/operations/acceptMime.js.map +1 -1
- package/lib/cjs/decorators/operations/consumes.js +2 -2
- package/lib/cjs/decorators/operations/consumes.js.map +1 -1
- package/lib/cjs/decorators/operations/contentType.js +2 -2
- package/lib/cjs/decorators/operations/contentType.js.map +1 -1
- package/lib/cjs/decorators/operations/deprecated.js +2 -2
- package/lib/cjs/decorators/operations/deprecated.js.map +1 -1
- package/lib/cjs/decorators/operations/header.js +2 -2
- package/lib/cjs/decorators/operations/header.js.map +1 -1
- package/lib/cjs/decorators/operations/in.js +7 -7
- package/lib/cjs/decorators/operations/in.js.map +1 -1
- package/lib/cjs/decorators/operations/inFile.js +6 -6
- package/lib/cjs/decorators/operations/inFile.js.map +1 -1
- package/lib/cjs/decorators/operations/location.js +2 -2
- package/lib/cjs/decorators/operations/location.js.map +1 -1
- package/lib/cjs/decorators/operations/operation.js +6 -6
- package/lib/cjs/decorators/operations/operation.js.map +1 -1
- package/lib/cjs/decorators/operations/operationId.js +2 -2
- package/lib/cjs/decorators/operations/operationId.js.map +1 -1
- package/lib/cjs/decorators/operations/operationPath.js +2 -2
- package/lib/cjs/decorators/operations/operationPath.js.map +1 -1
- package/lib/cjs/decorators/operations/partial.js +2 -2
- package/lib/cjs/decorators/operations/partial.js.map +1 -1
- package/lib/cjs/decorators/operations/path.js +2 -2
- package/lib/cjs/decorators/operations/path.js.map +1 -1
- package/lib/cjs/decorators/operations/produces.js +2 -2
- package/lib/cjs/decorators/operations/produces.js.map +1 -1
- package/lib/cjs/decorators/operations/publish.js +3 -3
- package/lib/cjs/decorators/operations/publish.js.map +1 -1
- package/lib/cjs/decorators/operations/redirect.js +3 -3
- package/lib/cjs/decorators/operations/redirect.js.map +1 -1
- package/lib/cjs/decorators/operations/returns.js +20 -20
- package/lib/cjs/decorators/operations/returns.js.map +1 -1
- package/lib/cjs/decorators/operations/route.js +11 -11
- package/lib/cjs/decorators/operations/route.js.map +1 -1
- package/lib/cjs/decorators/operations/security.js +2 -2
- package/lib/cjs/decorators/operations/security.js.map +1 -1
- package/lib/cjs/decorators/operations/status.js +2 -2
- package/lib/cjs/decorators/operations/status.js.map +1 -1
- package/lib/cjs/decorators/operations/subscribe.js +3 -3
- package/lib/cjs/decorators/operations/subscribe.js.map +1 -1
- package/lib/cjs/decorators/operations/summary.js +2 -2
- package/lib/cjs/decorators/operations/summary.js.map +1 -1
- package/lib/cjs/decorators/operations/tags.js +2 -2
- package/lib/cjs/decorators/operations/tags.js.map +1 -1
- package/lib/cjs/domain/DecoratorContext.js +2 -2
- package/lib/cjs/domain/DecoratorContext.js.map +1 -1
- package/lib/cjs/domain/JsonClassStore.js +6 -6
- package/lib/cjs/domain/JsonClassStore.js.map +1 -1
- package/lib/cjs/domain/JsonEntityStore.js.map +1 -1
- package/lib/cjs/domain/JsonLazyRef.js +2 -2
- package/lib/cjs/domain/JsonLazyRef.js.map +1 -1
- package/lib/cjs/domain/JsonMap.js +2 -2
- package/lib/cjs/domain/JsonMap.js.map +1 -1
- package/lib/cjs/domain/JsonMedia.js +2 -2
- package/lib/cjs/domain/JsonMedia.js.map +1 -1
- package/lib/cjs/domain/JsonMethodStore.js +10 -10
- package/lib/cjs/domain/JsonMethodStore.js.map +1 -1
- package/lib/cjs/domain/JsonOperation.js +8 -8
- package/lib/cjs/domain/JsonOperation.js.map +1 -1
- package/lib/cjs/domain/JsonOperationRoute.js +2 -2
- package/lib/cjs/domain/JsonOperationRoute.js.map +1 -1
- package/lib/cjs/domain/JsonParameter.js +6 -6
- package/lib/cjs/domain/JsonParameter.js.map +1 -1
- package/lib/cjs/domain/JsonParameterStore.js +13 -13
- package/lib/cjs/domain/JsonParameterStore.js.map +1 -1
- package/lib/cjs/domain/JsonPropertyStore.js +8 -8
- package/lib/cjs/domain/JsonPropertyStore.js.map +1 -1
- package/lib/cjs/domain/JsonRequestBody.js +5 -5
- package/lib/cjs/domain/JsonRequestBody.js.map +1 -1
- package/lib/cjs/domain/JsonResponse.js +8 -8
- package/lib/cjs/domain/JsonResponse.js.map +1 -1
- package/lib/cjs/domain/JsonSchema.js +28 -28
- package/lib/cjs/domain/JsonSchema.js.map +1 -1
- package/lib/cjs/index.js +180 -179
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/from.js +18 -18
- package/lib/cjs/utils/from.js.map +1 -1
- package/lib/cjs/utils/generateSpec.js +12 -12
- package/lib/cjs/utils/generateSpec.js.map +1 -1
- package/lib/cjs/utils/getInheritedStores.js +3 -3
- package/lib/cjs/utils/getInheritedStores.js.map +1 -1
- package/lib/cjs/utils/getJsonEntityStore.js +10 -10
- package/lib/cjs/utils/getJsonEntityStore.js.map +1 -1
- package/lib/cjs/utils/getJsonSchema.js +7 -7
- package/lib/cjs/utils/getJsonSchema.js.map +1 -1
- package/lib/cjs/utils/getOperationsRoutes.js +8 -8
- package/lib/cjs/utils/getOperationsRoutes.js.map +1 -1
- package/lib/cjs/utils/getOperationsStores.js +8 -8
- package/lib/cjs/utils/getOperationsStores.js.map +1 -1
- package/lib/cjs/utils/getPropertiesStores.js +6 -6
- package/lib/cjs/utils/getPropertiesStores.js.map +1 -1
- package/lib/cjs/utils/getRequiredProperties.js +2 -2
- package/lib/cjs/utils/getRequiredProperties.js.map +1 -1
- package/lib/cjs/utils/getSpec.js +10 -10
- package/lib/cjs/utils/getSpec.js.map +1 -1
- package/lib/cjs/utils/getSpecType.js +3 -3
- package/lib/cjs/utils/getSpecType.js.map +1 -1
- package/lib/cjs/utils/mapNullableType.js +3 -3
- package/lib/cjs/utils/mapNullableType.js.map +1 -1
- package/lib/cjs/utils/mapOpenSpec.js +13 -13
- package/lib/cjs/utils/mapOpenSpec.js.map +1 -1
- package/lib/cjs/utils/mapOpenSpec2.js +2 -2
- package/lib/cjs/utils/mapOpenSpec2.js.map +1 -1
- package/lib/cjs/utils/mapOpenSpec3.js +2 -2
- package/lib/cjs/utils/mapOpenSpec3.js.map +1 -1
- package/lib/cjs/utils/mapOperationOptions.js +3 -3
- package/lib/cjs/utils/mapOperationOptions.js.map +1 -1
- package/lib/cjs/utils/ref.js +4 -4
- package/lib/cjs/utils/ref.js.map +1 -1
- package/lib/cjs/utils/toJsonMapCollection.js +3 -3
- package/lib/cjs/utils/toJsonMapCollection.js.map +1 -1
- package/lib/cjs/utils/withErrorMsg.js +2 -2
- package/lib/cjs/utils/withErrorMsg.js.map +1 -1
- package/lib/esm/components/async-api/channelsMapper.js.map +1 -1
- package/lib/esm/components/async-api/generate.js.map +1 -1
- package/lib/esm/components/async-api/messageMapper.js.map +1 -1
- package/lib/esm/components/async-api/payloadMapper.js.map +1 -1
- package/lib/esm/components/async-api/responseMapper.js.map +1 -1
- package/lib/esm/components/default/anyMapper.js.map +1 -1
- package/lib/esm/components/default/classMapper.js.map +1 -1
- package/lib/esm/components/default/genericsMapper.js.map +1 -1
- package/lib/esm/components/default/inheritedClassMapper.js.map +1 -1
- package/lib/esm/components/default/itemMapper.js.map +1 -1
- package/lib/esm/components/default/lazyRefMapper.js.map +1 -1
- package/lib/esm/components/default/mapMapper.js.map +1 -1
- package/lib/esm/components/default/objectMapper.js.map +1 -1
- package/lib/esm/components/default/ofMapper.js.map +1 -1
- package/lib/esm/components/default/propertiesMapper.js.map +1 -1
- package/lib/esm/components/default/schemaMapper.js.map +1 -1
- package/lib/esm/components/index.js +1 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/components/open-spec/generate.js.map +1 -1
- package/lib/esm/components/open-spec/operationInFilesMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInParameterMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInParametersMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInQueryMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationMediaMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationRequestBodyMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationResponseMapper.js.map +1 -1
- package/lib/esm/components/open-spec/pathsMapper.js.map +1 -1
- package/lib/esm/decorators/class/children.js.map +1 -1
- package/lib/esm/decorators/class/discriminatorValue.js.map +1 -1
- package/lib/esm/decorators/collections/collectionContains.js.map +1 -1
- package/lib/esm/decorators/collections/collectionOf.js.map +1 -1
- package/lib/esm/decorators/collections/maxItems.js.map +1 -1
- package/lib/esm/decorators/collections/maxProperties.js.map +1 -1
- package/lib/esm/decorators/collections/minItems.js.map +1 -1
- package/lib/esm/decorators/collections/minProperties.js.map +1 -1
- package/lib/esm/decorators/collections/uniqueItems.js.map +1 -1
- package/lib/esm/decorators/common/additionalProperties.js.map +1 -1
- package/lib/esm/decorators/common/allOf.js.map +1 -1
- package/lib/esm/decorators/common/allow.js.map +1 -1
- package/lib/esm/decorators/common/any.js.map +1 -1
- package/lib/esm/decorators/common/anyOf.js.map +1 -1
- package/lib/esm/decorators/common/const.js.map +1 -1
- package/lib/esm/decorators/common/customKey.js.map +1 -1
- package/lib/esm/decorators/common/default.js.map +1 -1
- package/lib/esm/decorators/common/defaultMsg.js.map +1 -1
- package/lib/esm/decorators/common/description.js.map +1 -1
- package/lib/esm/decorators/common/discriminatorKey.js.map +1 -1
- package/lib/esm/decorators/common/enum.js.map +1 -1
- package/lib/esm/decorators/common/errorMsg.js.map +1 -1
- package/lib/esm/decorators/common/example.js.map +1 -1
- package/lib/esm/decorators/common/examples.js.map +1 -1
- package/lib/esm/decorators/common/exclusiveMaximum.js.map +1 -1
- package/lib/esm/decorators/common/exclusiveMinimum.js.map +1 -1
- package/lib/esm/decorators/common/format.js.map +1 -1
- package/lib/esm/decorators/common/forwardGroups.js.map +1 -1
- package/lib/esm/decorators/common/groups.js.map +1 -1
- package/lib/esm/decorators/common/ignore.js +1 -1
- package/lib/esm/decorators/common/ignore.js.map +1 -1
- package/lib/esm/decorators/common/integer.js.map +1 -1
- package/lib/esm/decorators/common/jsonEntityFn.js.map +1 -1
- package/lib/esm/decorators/common/maxLength.js.map +1 -1
- package/lib/esm/decorators/common/maximum.js.map +1 -1
- package/lib/esm/decorators/common/minLength.js.map +1 -1
- package/lib/esm/decorators/common/minimum.js.map +1 -1
- package/lib/esm/decorators/common/multipleOf.js.map +1 -1
- package/lib/esm/decorators/common/name.js.map +1 -1
- package/lib/esm/decorators/common/nullable.js.map +1 -1
- package/lib/esm/decorators/common/oneOf.js.map +1 -1
- package/lib/esm/decorators/common/optional.js.map +1 -1
- package/lib/esm/decorators/common/pattern.js.map +1 -1
- package/lib/esm/decorators/common/property.js.map +1 -1
- package/lib/esm/decorators/common/readOnly.js.map +1 -1
- package/lib/esm/decorators/common/recordOf.js.map +1 -1
- package/lib/esm/decorators/common/required.js.map +1 -1
- package/lib/esm/decorators/common/requiredGroups.js.map +1 -1
- package/lib/esm/decorators/common/schema.js.map +1 -1
- package/lib/esm/decorators/common/title.js.map +1 -1
- package/lib/esm/decorators/common/typeError.js.map +1 -1
- package/lib/esm/decorators/common/writeOnly.js.map +1 -1
- package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -1
- package/lib/esm/decorators/generics/genericOf.js.map +1 -1
- package/lib/esm/decorators/generics/generics.js.map +1 -1
- package/lib/esm/decorators/operations/acceptMime.js.map +1 -1
- package/lib/esm/decorators/operations/consumes.js.map +1 -1
- package/lib/esm/decorators/operations/contentType.js.map +1 -1
- package/lib/esm/decorators/operations/deprecated.js.map +1 -1
- package/lib/esm/decorators/operations/header.js.map +1 -1
- package/lib/esm/decorators/operations/in.js +1 -1
- package/lib/esm/decorators/operations/in.js.map +1 -1
- package/lib/esm/decorators/operations/inFile.js.map +1 -1
- package/lib/esm/decorators/operations/location.js.map +1 -1
- package/lib/esm/decorators/operations/operation.js.map +1 -1
- package/lib/esm/decorators/operations/operationId.js.map +1 -1
- package/lib/esm/decorators/operations/operationPath.js.map +1 -1
- package/lib/esm/decorators/operations/partial.js.map +1 -1
- package/lib/esm/decorators/operations/path.js.map +1 -1
- package/lib/esm/decorators/operations/produces.js.map +1 -1
- package/lib/esm/decorators/operations/publish.js.map +1 -1
- package/lib/esm/decorators/operations/redirect.js.map +1 -1
- package/lib/esm/decorators/operations/returns.js.map +1 -1
- package/lib/esm/decorators/operations/route.js.map +1 -1
- package/lib/esm/decorators/operations/security.js.map +1 -1
- package/lib/esm/decorators/operations/status.js.map +1 -1
- package/lib/esm/decorators/operations/subscribe.js.map +1 -1
- package/lib/esm/decorators/operations/summary.js.map +1 -1
- package/lib/esm/decorators/operations/tags.js.map +1 -1
- package/lib/esm/domain/DecoratorContext.js.map +1 -1
- package/lib/esm/domain/JsonClassStore.js.map +1 -1
- package/lib/esm/domain/JsonEntityStore.js.map +1 -1
- package/lib/esm/domain/JsonLazyRef.js.map +1 -1
- package/lib/esm/domain/JsonMap.js.map +1 -1
- package/lib/esm/domain/JsonMedia.js.map +1 -1
- package/lib/esm/domain/JsonMethodStore.js.map +1 -1
- package/lib/esm/domain/JsonOperation.js.map +1 -1
- package/lib/esm/domain/JsonOperationRoute.js.map +1 -1
- package/lib/esm/domain/JsonParameter.js.map +1 -1
- package/lib/esm/domain/JsonParameterStore.js.map +1 -1
- package/lib/esm/domain/JsonPropertyStore.js.map +1 -1
- package/lib/esm/domain/JsonRequestBody.js.map +1 -1
- package/lib/esm/domain/JsonResponse.js.map +1 -1
- package/lib/esm/domain/JsonSchema.js.map +1 -1
- package/lib/esm/index.js +6 -5
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/utils/from.js.map +1 -1
- package/lib/esm/utils/generateSpec.js.map +1 -1
- package/lib/esm/utils/getInheritedStores.js.map +1 -1
- package/lib/esm/utils/getJsonEntityStore.js.map +1 -1
- package/lib/esm/utils/getJsonSchema.js.map +1 -1
- package/lib/esm/utils/getOperationsRoutes.js.map +1 -1
- package/lib/esm/utils/getOperationsStores.js.map +1 -1
- package/lib/esm/utils/getPropertiesStores.js.map +1 -1
- package/lib/esm/utils/getRequiredProperties.js.map +1 -1
- package/lib/esm/utils/getSpec.js.map +1 -1
- package/lib/esm/utils/getSpecType.js.map +1 -1
- package/lib/esm/utils/mapNullableType.js.map +1 -1
- package/lib/esm/utils/mapOpenSpec.js.map +1 -1
- package/lib/esm/utils/mapOpenSpec2.js.map +1 -1
- package/lib/esm/utils/mapOpenSpec3.js.map +1 -1
- package/lib/esm/utils/mapOperationOptions.js.map +1 -1
- package/lib/esm/utils/ref.js.map +1 -1
- package/lib/esm/utils/toJsonMapCollection.js.map +1 -1
- package/lib/esm/utils/withErrorMsg.js.map +1 -1
- package/lib/types/components/async-api/channelsMapper.d.ts +1 -1
- package/lib/types/components/async-api/messageMapper.d.ts +3 -3
- package/lib/types/components/async-api/payloadMapper.d.ts +3 -3
- package/lib/types/components/async-api/responseMapper.d.ts +3 -3
- package/lib/types/components/default/anyMapper.d.ts +1 -1
- package/lib/types/components/default/classMapper.d.ts +2 -2
- package/lib/types/components/default/genericsMapper.d.ts +1 -1
- package/lib/types/components/default/inheritedClassMapper.d.ts +1 -1
- package/lib/types/components/default/itemMapper.d.ts +1 -1
- package/lib/types/components/default/lazyRefMapper.d.ts +2 -2
- package/lib/types/components/default/mapMapper.d.ts +1 -1
- package/lib/types/components/default/objectMapper.d.ts +1 -1
- package/lib/types/components/default/ofMapper.d.ts +2 -2
- package/lib/types/components/default/propertiesMapper.d.ts +2 -2
- package/lib/types/components/default/schemaMapper.d.ts +2 -2
- package/lib/types/components/index.d.ts +27 -27
- package/lib/types/components/open-spec/operationInFilesMapper.d.ts +1 -1
- package/lib/types/components/open-spec/operationInParameterMapper.d.ts +2 -2
- package/lib/types/components/open-spec/operationInParametersMapper.d.ts +2 -2
- package/lib/types/components/open-spec/operationInQueryMapper.d.ts +1 -1
- package/lib/types/components/open-spec/operationMapper.d.ts +2 -2
- package/lib/types/components/open-spec/operationMediaMapper.d.ts +2 -2
- package/lib/types/components/open-spec/operationRequestBodyMapper.d.ts +2 -2
- package/lib/types/components/open-spec/operationResponseMapper.d.ts +2 -2
- package/lib/types/components/open-spec/pathsMapper.d.ts +1 -1
- package/lib/types/decorators/collections/collectionContains.d.ts +1 -1
- package/lib/types/decorators/collections/maxItems.d.ts +1 -1
- package/lib/types/decorators/collections/maxProperties.d.ts +1 -1
- package/lib/types/decorators/collections/minItems.d.ts +1 -1
- package/lib/types/decorators/collections/minProperties.d.ts +1 -1
- package/lib/types/decorators/collections/uniqueItems.d.ts +1 -1
- package/lib/types/decorators/common/additionalProperties.d.ts +1 -1
- package/lib/types/decorators/common/allOf.d.ts +1 -1
- package/lib/types/decorators/common/anyOf.d.ts +1 -1
- package/lib/types/decorators/common/enum.d.ts +1 -1
- package/lib/types/decorators/common/exclusiveMaximum.d.ts +1 -1
- package/lib/types/decorators/common/exclusiveMinimum.d.ts +1 -1
- package/lib/types/decorators/common/format.d.ts +8 -8
- package/lib/types/decorators/common/ignore.d.ts +2 -2
- package/lib/types/decorators/common/jsonEntityFn.d.ts +1 -1
- package/lib/types/decorators/common/maxLength.d.ts +1 -1
- package/lib/types/decorators/common/maximum.d.ts +2 -2
- package/lib/types/decorators/common/minLength.d.ts +1 -1
- package/lib/types/decorators/common/minimum.d.ts +2 -2
- package/lib/types/decorators/common/multipleOf.d.ts +1 -1
- package/lib/types/decorators/common/oneOf.d.ts +1 -1
- package/lib/types/decorators/common/pattern.d.ts +1 -1
- package/lib/types/decorators/common/required.d.ts +1 -1
- package/lib/types/decorators/common/schema.d.ts +2 -2
- package/lib/types/decorators/config/jsonEntityComponent.d.ts +1 -1
- package/lib/types/decorators/generics/genericOf.d.ts +1 -1
- package/lib/types/decorators/operations/contentType.d.ts +1 -1
- package/lib/types/decorators/operations/header.d.ts +1 -1
- package/lib/types/decorators/operations/in.d.ts +3 -3
- package/lib/types/decorators/operations/location.d.ts +2 -2
- package/lib/types/decorators/operations/operation.d.ts +1 -1
- package/lib/types/decorators/operations/operationPath.d.ts +1 -1
- package/lib/types/decorators/operations/publish.d.ts +1 -1
- package/lib/types/decorators/operations/redirect.d.ts +1 -1
- package/lib/types/decorators/operations/returns.d.ts +3 -3
- package/lib/types/decorators/operations/route.d.ts +9 -9
- package/lib/types/decorators/operations/status.d.ts +1 -1
- package/lib/types/decorators/operations/subscribe.d.ts +1 -1
- package/lib/types/domain/DecoratorContext.d.ts +1 -1
- package/lib/types/domain/JsonClassStore.d.ts +3 -3
- package/lib/types/domain/JsonEntityStore.d.ts +5 -5
- package/lib/types/domain/JsonLazyRef.d.ts +1 -1
- package/lib/types/domain/JsonMap.d.ts +1 -1
- package/lib/types/domain/JsonMedia.d.ts +2 -2
- package/lib/types/domain/JsonMethodStore.d.ts +5 -5
- package/lib/types/domain/JsonOperation.d.ts +5 -5
- package/lib/types/domain/JsonOperationPathsMap.d.ts +1 -1
- package/lib/types/domain/JsonOperationRoute.d.ts +3 -3
- package/lib/types/domain/JsonParameter.d.ts +4 -4
- package/lib/types/domain/JsonParameterStore.d.ts +4 -4
- package/lib/types/domain/JsonPropertyStore.d.ts +2 -2
- package/lib/types/domain/JsonRequestBody.d.ts +2 -2
- package/lib/types/domain/JsonResponse.d.ts +4 -4
- package/lib/types/domain/JsonSchema.d.ts +7 -7
- package/lib/types/hooks/alterOneOf.d.ts +2 -2
- package/lib/types/hooks/alterRequiredGroups.d.ts +2 -2
- package/lib/types/index.d.ts +178 -177
- package/lib/types/interfaces/IgnoreCallback.d.ts +1 -1
- package/lib/types/interfaces/JsonSchemaOptions.d.ts +1 -1
- package/lib/types/registries/JsonSchemaMapperContainer.d.ts +1 -1
- package/lib/types/registries/enumRegistries.d.ts +1 -1
- package/lib/types/utils/from.d.ts +1 -1
- package/lib/types/utils/generateSpec.d.ts +1 -1
- package/lib/types/utils/generics.d.ts +1 -1
- package/lib/types/utils/getInheritedStores.d.ts +1 -1
- package/lib/types/utils/getJsonEntityStore.d.ts +5 -5
- package/lib/types/utils/getJsonSchema.d.ts +1 -1
- package/lib/types/utils/getOperationsRoutes.d.ts +3 -3
- package/lib/types/utils/getOperationsStores.d.ts +1 -1
- package/lib/types/utils/getPropertiesStores.d.ts +1 -1
- package/lib/types/utils/getRequiredProperties.d.ts +2 -2
- package/lib/types/utils/getSpec.d.ts +1 -1
- package/lib/types/utils/getSpecType.d.ts +1 -1
- package/lib/types/utils/inlineEnums.d.ts +2 -2
- package/lib/types/utils/mapHeaders.d.ts +1 -1
- package/lib/types/utils/mapNullableType.d.ts +2 -2
- package/lib/types/utils/operationIdFormatter.d.ts +1 -1
- package/lib/types/utils/ref.d.ts +2 -2
- package/lib/types/utils/removeHiddenOperation.d.ts +1 -1
- package/lib/types/utils/toJsonMapCollection.d.ts +1 -1
- package/package.json +9 -9
package/.barrelsby.json
CHANGED
package/jest.config.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// For a detailed explanation regarding each configuration property, visit:
|
|
2
2
|
// https://jestjs.io/docs/en/configuration.html
|
|
3
|
+
const config = require("@tsed/jest-config");
|
|
3
4
|
|
|
4
5
|
module.exports = {
|
|
5
6
|
...require("@tsed/jest-config"),
|
|
@@ -13,6 +14,7 @@ module.exports = {
|
|
|
13
14
|
}
|
|
14
15
|
},
|
|
15
16
|
moduleNameMapper: {
|
|
17
|
+
...config.moduleNameMapper,
|
|
16
18
|
"@tsed/schema": "<rootDir>/src/index.ts"
|
|
17
19
|
},
|
|
18
20
|
setupFiles: ["./test/helpers/setup.ts"]
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see schema.umd.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("change-case"),require("@tsed/core")):"function"==typeof define&&define.amd?define(["change-case","@tsed/core"],t):"object"==typeof exports?exports["@tsed/schema"]=t(require("change-case"),require("@tsed/core")):e["@tsed/schema"]=t(e["change-case"],e["@tsed/core"])}(self,((e,t)=>(()=>{"use strict";var r={133:(e,t,r)=>{e.exports=r(555)},379:e=>{const t="\\\\/",r=`[^${t}]`,s="\\.",n="\\/",i="[^/]",o=`(?:${n}|$)`,a=`(?:^|${n})`,c=`${s}{1,2}${o}`,p={DOT_LITERAL:s,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:n,ONE_CHAR:"(?=.)",QMARK:i,END_ANCHOR:o,DOTS_SLASH:c,NO_DOT:`(?!${s})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${s}{0,1}${o})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${n}]`,STAR:`${i}*?`,START_ANCHOR:a,SEP:"/"},u={...p,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${s}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${s})`,NO_DOTS:`(?!(?:^|[${t}])${s}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${s}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${s}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?u:p}},390:(e,t,r)=>{const s=r(379),n=r(290),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:o,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:p}=s,u=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>n.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=p[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(i,r.maxLength):i;let m=e.length;if(m>l)throw new SyntaxError(`Input length: ${m}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},f=[d],g=r.capture?"":"?:",y=s.globChars(r.windows),O=s.extglobChars(y),{DOT_LITERAL:S,PLUS_LITERAL:b,SLASH_LITERAL:R,ONE_CHAR:A,DOTS_SLASH:T,NO_DOT:E,NO_DOT_SLASH:v,NO_DOTS_SLASH:P,QMARK:x,QMARK_NO_DOT:C,STAR:$,START_ANCHOR:w}=y,M=e=>`(${g}(?:(?!${w}${e.dot?T:S}).)*?)`,_=r.dot?"":E,N=r.dot?x:C;let D=!0===r.bash?M(r):$;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const I={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:f};e=n.removePrefix(e,I),m=e.length;const L=[],k=[],H=[];let j,q=d;const G=()=>I.index===m-1,U=I.peek=(t=1)=>e[I.index+t],B=I.advance=()=>e[++I.index],K=()=>e.slice(I.index+1),J=(e="",t=0)=>{I.consumed+=e,I.index+=t},F=e=>{I.output+=null!=e.output?e.output:e.value,J(e.value)},V=()=>{let e=1;for(;"!"===U()&&("("!==U(2)||"?"===U(3));)B(),I.start++,e++;return e%2!=0&&(I.negated=!0,I.start++,!0)},W=e=>{I[e]++,H.push(e)},X=e=>{I[e]--,H.pop()},z=e=>{if("globstar"===q.type){const t=I.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||L.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(I.output=I.output.slice(0,-q.output.length),q.type="star",q.value="*",q.output=D,I.output+=q.output)}if(L.length&&"paren"!==e.type&&!O[e.value]&&(L[L.length-1].inner+=e.value),(e.value||e.output)&&F(e),q&&"text"===q.type&&"text"===e.type)return q.value+=e.value,void(q.output=(q.output||"")+e.value);e.prev=q,f.push(e),q=e},Q=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=q,s.parens=I.parens,s.output=I.output;const n=(r.capture?"(":"")+s.open;W("parens"),z({type:e,value:t,output:I.output?"":A}),z({type:"paren",extglob:!0,value:B(),output:n}),L.push(s)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=M(r)),(s!==D||G()||/^\)+$/.test(K()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&G()&&(I.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:j,output:t}),X("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let s=!1,i=e.replace(c,((e,t,r,n,i,o)=>"\\"===n?(s=!0,e):"?"===n?t?t+n+(i?x.repeat(i.length):""):0===o?N+(i?x.repeat(i.length):""):x.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?D:""):D:t?e:`\\${e}`));return!0===s&&(i=!0===r.unescape?i.replace(/\\/g,""):i.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),i===e&&!0===r.contains?(I.output=e,I):(I.output=n.wrapOutput(i,I,t),I)}for(;!G();){if(j=B(),"\0"===j)continue;if("\\"===j){const e=U();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){j+="\\",z({type:"text",value:j});continue}const t=/^\\+/.exec(K());let s=0;if(t&&t[0].length>2&&(s=t[0].length,I.index+=s,s%2!=0&&(j+="\\")),!0===r.unescape?j=B()||"":j+=B()||"",0===I.brackets){z({type:"text",value:j});continue}}if(I.brackets>0&&("]"!==j||"["===q.value||"[^"===q.value)){if(!1!==r.posix&&":"===j){const e=q.value.slice(1);if(e.includes("[")&&(q.posix=!0,e.includes(":"))){const e=q.value.lastIndexOf("["),t=q.value.slice(0,e),r=q.value.slice(e+2),s=o[r];if(s){q.value=t+s,I.backtrack=!0,B(),d.output||1!==f.indexOf(q)||(d.output=A);continue}}}("["===j&&":"!==U()||"-"===j&&"]"===U())&&(j=`\\${j}`),"]"!==j||"["!==q.value&&"[^"!==q.value||(j=`\\${j}`),!0===r.posix&&"!"===j&&"["===q.value&&(j="^"),q.value+=j,F({value:j});continue}if(1===I.quotes&&'"'!==j){j=n.escapeRegex(j),q.value+=j,F({value:j});continue}if('"'===j){I.quotes=1===I.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:j});continue}if("("===j){W("parens"),z({type:"paren",value:j});continue}if(")"===j){if(0===I.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=L[L.length-1];if(e&&I.parens===e.parens+1){Y(L.pop());continue}z({type:"paren",value:j,output:I.parens?")":"\\)"}),X("parens");continue}if("["===j){if(!0!==r.nobracket&&K().includes("]"))W("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));j=`\\${j}`}z({type:"bracket",value:j});continue}if("]"===j){if(!0===r.nobracket||q&&"bracket"===q.type&&1===q.value.length){z({type:"text",value:j,output:`\\${j}`});continue}if(0===I.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:j,output:`\\${j}`});continue}X("brackets");const e=q.value.slice(1);if(!0===q.posix||"^"!==e[0]||e.includes("/")||(j=`/${j}`),q.value+=j,F({value:j}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(q.value);if(I.output=I.output.slice(0,-q.value.length),!0===r.literalBrackets){I.output+=t,q.value=t;continue}q.value=`(${g}${t}|${q.value})`,I.output+=q.value;continue}if("{"===j&&!0!==r.nobrace){W("braces");const e={type:"brace",value:j,output:"(",outputIndex:I.output.length,tokensIndex:I.tokens.length};k.push(e),z(e);continue}if("}"===j){const e=k[k.length-1];if(!0===r.nobrace||!e){z({type:"text",value:j,output:j});continue}let t=")";if(!0===e.dots){const e=f.slice(),s=[];for(let t=e.length-1;t>=0&&(f.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&s.unshift(e[t].value);t=u(s,r),I.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=I.output.slice(0,e.outputIndex),s=I.tokens.slice(e.tokensIndex);e.value=e.output="\\{",j=t="\\}",I.output=r;for(const e of s)I.output+=e.output||e.value}z({type:"brace",value:j,output:t}),X("braces"),k.pop();continue}if("|"===j){L.length>0&&L[L.length-1].conditions++,z({type:"text",value:j});continue}if(","===j){let e=j;const t=k[k.length-1];t&&"braces"===H[H.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:j,output:e});continue}if("/"===j){if("dot"===q.type&&I.index===I.start+1){I.start=I.index+1,I.consumed="",I.output="",f.pop(),q=d;continue}z({type:"slash",value:j,output:R});continue}if("."===j){if(I.braces>0&&"dot"===q.type){"."===q.value&&(q.output=S);const e=k[k.length-1];q.type="dots",q.output+=j,q.value+=j,e.dots=!0;continue}if(I.braces+I.parens===0&&"bos"!==q.type&&"slash"!==q.type){z({type:"text",value:j,output:S});continue}z({type:"dot",value:j,output:S});continue}if("?"===j){if((!q||"("!==q.value)&&!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("qmark",j);continue}if(q&&"paren"===q.type){const e=U();let t=j;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===q.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(K()))&&(t=`\\${j}`),z({type:"text",value:j,output:t});continue}if(!0!==r.dot&&("slash"===q.type||"bos"===q.type)){z({type:"qmark",value:j,output:C});continue}z({type:"qmark",value:j,output:x});continue}if("!"===j){if(!0!==r.noextglob&&"("===U()&&("?"!==U(2)||!/[!=<:]/.test(U(3)))){Q("negate",j);continue}if(!0!==r.nonegate&&0===I.index){V();continue}}if("+"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("plus",j);continue}if(q&&"("===q.value||!1===r.regex){z({type:"plus",value:j,output:b});continue}if(q&&("bracket"===q.type||"paren"===q.type||"brace"===q.type)||I.parens>0){z({type:"plus",value:j});continue}z({type:"plus",value:b});continue}if("@"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){z({type:"at",extglob:!0,value:j,output:""});continue}z({type:"text",value:j});continue}if("*"!==j){"$"!==j&&"^"!==j||(j=`\\${j}`);const e=a.exec(K());e&&(j+=e[0],I.index+=e[0].length),z({type:"text",value:j});continue}if(q&&("globstar"===q.type||!0===q.star)){q.type="star",q.star=!0,q.value+=j,q.output=D,I.backtrack=!0,I.globstar=!0,J(j);continue}let t=K();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",j);continue}if("star"===q.type){if(!0===r.noglobstar){J(j);continue}const s=q.prev,n=s.prev,i="slash"===s.type||"bos"===s.type,o=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!i||t[0]&&"/"!==t[0])){z({type:"star",value:j,output:""});continue}const a=I.braces>0&&("comma"===s.type||"brace"===s.type),c=L.length&&("pipe"===s.type||"paren"===s.type);if(!i&&"paren"!==s.type&&!a&&!c){z({type:"star",value:j,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[I.index+4];if(r&&"/"!==r)break;t=t.slice(3),J("/**",3)}if("bos"===s.type&&G()){q.type="globstar",q.value+=j,q.output=M(r),I.output=q.output,I.globstar=!0,J(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&G()){I.output=I.output.slice(0,-(s.output+q.output).length),s.output=`(?:${s.output}`,q.type="globstar",q.output=M(r)+(r.strictSlashes?")":"|$)"),q.value+=j,I.globstar=!0,I.output+=s.output+q.output,J(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";I.output=I.output.slice(0,-(s.output+q.output).length),s.output=`(?:${s.output}`,q.type="globstar",q.output=`${M(r)}${R}|${R}${e})`,q.value+=j,I.output+=s.output+q.output,I.globstar=!0,J(j+B()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){q.type="globstar",q.value+=j,q.output=`(?:^|${R}|${M(r)}${R})`,I.output=q.output,I.globstar=!0,J(j+B()),z({type:"slash",value:"/",output:""});continue}I.output=I.output.slice(0,-q.output.length),q.type="globstar",q.output=M(r),q.value+=j,I.output+=q.output,I.globstar=!0,J(j);continue}const s={type:"star",value:j,output:D};!0!==r.bash?!q||"bracket"!==q.type&&"paren"!==q.type||!0!==r.regex?(I.index!==I.start&&"slash"!==q.type&&"dot"!==q.type||("dot"===q.type?(I.output+=v,q.output+=v):!0===r.dot?(I.output+=P,q.output+=P):(I.output+=_,q.output+=_),"*"!==U()&&(I.output+=A,q.output+=A)),z(s)):(s.output=j,z(s)):(s.output=".*?","bos"!==q.type&&"slash"!==q.type||(s.output=_+s.output),z(s))}for(;I.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));I.output=n.escapeLast(I.output,"["),X("brackets")}for(;I.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));I.output=n.escapeLast(I.output,"("),X("parens")}for(;I.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));I.output=n.escapeLast(I.output,"{"),X("braces")}if(!0===r.strictSlashes||"star"!==q.type&&"bracket"!==q.type||z({type:"maybe_slash",value:"",output:`${R}?`}),!0===I.backtrack){I.output="";for(const e of I.tokens)I.output+=null!=e.output?e.output:e.value,e.suffix&&(I.output+=e.suffix)}return I};l.fastpaths=(e,t)=>{const r={...t},o="number"==typeof r.maxLength?Math.min(i,r.maxLength):i,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);e=p[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:u,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:m,NO_DOTS:d,NO_DOTS_SLASH:f,STAR:g,START_ANCHOR:y}=s.globChars(r.windows),O=r.dot?d:m,S=r.dot?f:m,b=r.capture?"":"?:";let R=!0===r.bash?".*?":g;r.capture&&(R=`(${R})`);const A=e=>!0===e.noglobstar?R:`(${b}(?:(?!${y}${e.dot?l:c}).)*?)`,T=e=>{switch(e){case"*":return`${O}${h}${R}`;case".*":return`${c}${h}${R}`;case"*.*":return`${O}${R}${c}${h}${R}`;case"*/*":return`${O}${R}${u}${h}${S}${R}`;case"**":return O+A(r);case"**/*":return`(?:${O}${A(r)}${u})?${S}${h}${R}`;case"**/*.*":return`(?:${O}${A(r)}${u})?${S}${R}${c}${h}${R}`;case"**/.*":return`(?:${O}${A(r)}${u})?${c}${h}${R}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=T(t[1]);if(!r)return;return r+c+t[2]}}},E=n.removePrefix(e,{negated:!1,prefix:""});let v=T(E);return v&&!0!==r.strictSlashes&&(v+=`${u}?`),v},e.exports=l},555:(e,t,r)=>{const s=r(270),n=r(390),i=r(290),o=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const s=e.map((e=>a(e,t,r))),n=e=>{for(const t of s){const r=t(e);if(r)return r}return!1};return n}const s=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!s)throw new TypeError("Expected pattern to be a non-empty string");const i=t||{},o=i.windows,c=s?a.compileRe(e,t):a.makeRe(e,t,!1,!0),p=c.state;delete c.state;let u=()=>!1;if(i.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};u=a(i.ignore,e,r)}const h=(r,s=!1)=>{const{isMatch:n,match:h,output:l}=a.test(r,c,t,{glob:e,posix:o}),m={glob:e,state:p,regex:c,posix:o,input:r,output:l,match:h,isMatch:n};return"function"==typeof i.onResult&&i.onResult(m),!1===n?(m.isMatch=!1,!!s&&m):u(r)?("function"==typeof i.onIgnore&&i.onIgnore(m),m.isMatch=!1,!!s&&m):("function"==typeof i.onMatch&&i.onMatch(m),!s||m)};return r&&(h.state=p),h};a.test=(e,t,r,{glob:s,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},c=o.format||(n?i.toPosixSlashes:null);let p=e===s,u=p&&c?c(e):e;return!1===p&&(u=c?c(e):e,p=u===s),!1!==p&&!0!==o.capture||(p=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(u)),{isMatch:Boolean(p),match:p,output:u}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(i.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):n(e,{...t,fastpaths:!1}),a.scan=(e,t)=>s(e,t),a.compileRe=(e,t,r=!1,s=!1)=>{if(!0===r)return e.output;const n=t||{},i=n.contains?"":"^",o=n.contains?"":"$";let c=`${i}(?:${e.output})${o}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const p=a.toRegex(c,t);return!0===s&&(p.state=e),p},a.makeRe=(e,t,r=!1,s=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const i=t||{};let o,c={negated:!1,fastpaths:!0},p="";return e.startsWith("./")&&(e=e.slice(2),p=c.prefix="./"),!1===i.fastpaths||"."!==e[0]&&"*"!==e[0]||(o=n.fastpaths(e,t)),void 0===o?(c=n(e,t),c.prefix=p+(c.prefix||"")):c.output=o,a.compileRe(c,t,r,s)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=o,e.exports=a},270:(e,t,r)=>{const s=r(290),{CHAR_ASTERISK:n,CHAR_AT:i,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:p,CHAR_FORWARD_SLASH:u,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_PLUS:d,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:g,CHAR_RIGHT_PARENTHESES:y,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),S=e=>e===u||e===o,b=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},R=e.length-1,A=!0===r.parts||!0===r.scanToEnd,T=[],E=[],v=[];let P,x,C=e,$=-1,w=0,M=0,_=!1,N=!1,D=!1,I=!1,L=!1,k=!1,H=!1,j=!1,q=!1,G=0,U={value:"",depth:0,isGlob:!1};const B=()=>$>=R,K=()=>(P=x,C.charCodeAt(++$));for(;$<R;){let e;if(x=K(),x!==o){if(!0===k||x===h){for(G++;!0!==B()&&(x=K());)if(x!==o)if(x!==h){if(!0!==k&&x===c&&(x=K())===c){if(_=U.isBrace=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}if(!0!==k&&x===a){if(_=U.isBrace=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===g&&(G--,0===G)){k=!1,_=U.isBrace=!0,q=!0;break}}else G++;else H=U.backslashes=!0,K();if(!0===A)continue;break}if(x!==u){if(!0!==r.noext&&!0==(x===d||x===i||x===n||x===f||x===p)&&C.charCodeAt($+1)===l){if(D=U.isGlob=!0,I=U.isExtglob=!0,q=!0,!0===A){for(;!0!==B()&&(x=K());)if(x!==o){if(x===y){D=U.isGlob=!0,q=!0;break}}else H=U.backslashes=!0,x=K();continue}break}if(x===n){if(P===n&&(L=U.isGlobstar=!0),D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===f){if(D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===m)for(;!0!==B()&&(e=K());)if(e!==o){if(e===O){if(N=U.isBracket=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}}else H=U.backslashes=!0,K();if(!0===r.nonegate||x!==p||$!==w){if(!0!==r.noparen&&x===l){if(D=U.isGlob=!0,!0===A){for(;!0!==B()&&(x=K());)if(x!==l){if(x===y){q=!0;break}}else H=U.backslashes=!0,x=K();continue}break}if(!0===D){if(q=!0,!0===A)continue;break}}else j=U.negated=!0,w++}else{if(T.push($),E.push(U),U={value:"",depth:0,isGlob:!1},!0===q)continue;if(P===c&&$===w+1){w+=2;continue}M=$+1}}else H=U.backslashes=!0,x=K(),x===h&&(k=!0)}!0===r.noext&&(I=!1,D=!1);let J=C,F="",V="";w>0&&(F=C.slice(0,w),C=C.slice(w),M-=w),J&&!0===D&&M>0?(J=C.slice(0,M),V=C.slice(M)):!0===D?(J="",V=C):J=C,J&&""!==J&&"/"!==J&&J!==C&&S(J.charCodeAt(J.length-1))&&(J=J.slice(0,-1)),!0===r.unescape&&(V&&(V=s.removeBackslashes(V)),J&&!0===H&&(J=s.removeBackslashes(J)));const W={prefix:F,input:e,start:w,base:J,glob:V,isBrace:_,isBracket:N,isGlob:D,isExtglob:I,isGlobstar:L,negated:j};if(!0===r.tokens&&(W.maxDepth=0,S(x)||E.push(U),W.tokens=E),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<T.length;s++){const n=t?t+1:w,i=T[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==w?(E[s].isPrefix=!0,E[s].value=F):E[s].value=o,b(E[s]),W.maxDepth+=E[s].depth),0===s&&""===o||v.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);v.push(s),r.tokens&&(E[E.length-1].value=s,b(E[E.length-1]),W.maxDepth+=E[E.length-1].depth)}W.slashes=T,W.parts=v}return W}},290:(e,t,r)=>{const{REGEX_BACKSLASH:s,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_GLOBAL:o}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>i.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(o,"\\$1"),t.toPosixSlashes=e=>e.replace(s,"/"),t.removeBackslashes=e=>e.replace(n,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,s)=>{const n=e.lastIndexOf(r,s);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let s=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(s=`(?:^(?!${s}).*$)`),s},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},203:(e,t,r)=>{var s=r(739);function n(e){if(!Object.prototype.hasOwnProperty.call(i.message,e))throw new Error("invalid status code: "+e);return i.message[e]}function i(e){if("number"==typeof e)return n(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(i.code,t))throw new Error('invalid status message: "'+e+'"');return i.code[t]}(e):n(t)}e.exports=i,i.message=s,i.code=function(e){var t={};return Object.keys(e).forEach((function(r){var s=e[r],n=Number(r);t[s.toLowerCase()]=n})),t}(s),i.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(s),i.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},i.empty={204:!0,205:!0,304:!0},i.retry={502:!0,503:!0,504:!0}},803:e=>{e.exports=t},598:t=>{t.exports=e},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},s={};function n(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{n.r(i),n.d(i,{AcceptMime:()=>Kr,AdditionalProperties:()=>yt,All:()=>gs,AllOf:()=>Ot,Allow:()=>bt,Any:()=>Rt,AnyOf:()=>At,ArrayOf:()=>ct,Children:()=>it,CollectionContains:()=>ut,CollectionOf:()=>at,Const:()=>Tt,Consumes:()=>Jr,ContentType:()=>Zr,Converter:()=>rn,CustomKey:()=>Et,CustomKeys:()=>vt,DateFormat:()=>Kt,DateTime:()=>Bt,DecoratorContext:()=>Fr,Default:()=>Pt,DefaultMsg:()=>Ct,Delete:()=>bs,Deprecated:()=>es,Description:()=>$t,Discriminator:()=>P,DiscriminatorKey:()=>wt,DiscriminatorValue:()=>ot,Email:()=>Ut,EndpointMetadata:()=>X,Enum:()=>Mt,ErrorMsg:()=>xt,Example:()=>_t,Examples:()=>Nt,ExclusiveMaximum:()=>Lt,ExclusiveMinimum:()=>jt,For:()=>mr,Format:()=>Gt,ForwardGroups:()=>Wt,GenericOf:()=>Gr,Generics:()=>Ur,Get:()=>ys,Groups:()=>Zt,HTTP_STATUS_MESSAGES:()=>Be,Head:()=>Rs,Header:()=>ts,Hidden:()=>er,Ignore:()=>tr,In:()=>rs,InFile:()=>ss,Integer:()=>rr,JSON_TYPES:()=>R,JsonClassStore:()=>M,JsonEntitiesContainer:()=>f,JsonEntityComponent:()=>w,JsonEntityFn:()=>nt,JsonEntityStore:()=>g,JsonFormatTypes:()=>qt,JsonLazyRef:()=>he,JsonMap:()=>D,JsonMedia:()=>J,JsonMethodStore:()=>W,JsonOperation:()=>V,JsonOperationPathsMap:()=>Q,JsonOperationRoute:()=>Ms,JsonParameter:()=>H,JsonParameterStore:()=>j,JsonParameterTypes:()=>I,JsonPropertyStore:()=>_,JsonRequestBody:()=>We,JsonResponse:()=>F,JsonSchema:()=>$,Location:()=>ns,MapOf:()=>pt,Max:()=>It,MaxItems:()=>lt,MaxLength:()=>sr,MaxProperties:()=>mt,Maximum:()=>Dt,Min:()=>Ht,MinItems:()=>dt,MinLength:()=>nr,MinProperties:()=>ft,Minimum:()=>kt,MultipleOf:()=>ir,Name:()=>or,Nullable:()=>ar,OPERATION_HTTP_VERBS:()=>r,OPERATION_WS_VERBS:()=>s,OneOf:()=>cr,Operation:()=>cs,OperationId:()=>ps,OperationMethods:()=>o,OperationPath:()=>us,OperationVerbs:()=>e,Optional:()=>pr,Options:()=>Ts,ParamMetadata:()=>q,Partial:()=>hs,Patch:()=>As,Path:()=>ls,Pattern:()=>ur,Post:()=>Os,Produces:()=>Br,Property:()=>St,PropertyMetadata:()=>N,Publish:()=>ms,Put:()=>Ss,ReadOnly:()=>hr,RecordOf:()=>dr,Redirect:()=>ds,Required:()=>fr,RequiredGroups:()=>gr,Returns:()=>Yr,Route:()=>fs,Schema:()=>lr,Security:()=>Es,SpecTypes:()=>se,Status:()=>vs,Subscribe:()=>Ps,Summary:()=>xs,Tags:()=>Cs,TimeFormat:()=>Jt,Title:()=>yr,TypeError:()=>Or,UniqueItems:()=>gt,Uri:()=>Ft,Url:()=>Vt,View:()=>$s,WriteOnly:()=>Sr,allOf:()=>Hr,alterIgnore:()=>Ae,alterOneOf:()=>Ce,alterRequiredGroups:()=>$e,any:()=>Ir,anyMapper:()=>fe,anyOf:()=>Lr,array:()=>Mr,boolean:()=>Er,buildPath:()=>m,channelsMapper:()=>re,classMapper:()=>ge,concatParameters:()=>Qe,concatPath:()=>ws,createRef:()=>me,createRefName:()=>le,date:()=>vr,datetime:()=>Pr,defineStatusModel:()=>Wr,email:()=>Cr,enums:()=>qr,enumsRegistry:()=>S,execMapper:()=>u,formatParameterType:()=>L,from:()=>br,generateSpec:()=>nn,genericsMapper:()=>ye,getComputedType:()=>b,getGenericsMap:()=>oe,getInheritedStores:()=>Y,getJsonEntityStore:()=>z,getJsonPathParameters:()=>Ye,getJsonSchema:()=>an,getJsonSchemaMapper:()=>p,getJsonType:()=>A,getOperationId:()=>et,getOperationsRoutes:()=>cn,getOperationsStores:()=>Z,getProperties:()=>un,getPropertiesStores:()=>pn,getRequiredProperties:()=>we,getSpec:()=>js,getSpecType:()=>qs,getSpecTypeFromSpec:()=>Gs,getStatusConstant:()=>Ke,getStatusMessage:()=>Je,getStatusModel:()=>Xr,hasMapper:()=>h,inheritedClassMapper:()=>Oe,inlineEnums:()=>Me,integer:()=>Ar,isParameterType:()=>k,isRedirectionStatus:()=>U,isSuccessStatus:()=>G,itemMapper:()=>Se,lazyRef:()=>jr,lazyRefMapper:()=>be,makeOf:()=>ne,map:()=>_r,mapAliasedProperties:()=>xe,mapGenericsOptions:()=>ae,mapHeaders:()=>B,mapMapper:()=>Re,mapNullableType:()=>Te,mapOpenSpec:()=>Js,mapOpenSpec2:()=>Bs,mapOpenSpec3:()=>Ks,mapOpenSpecInfo:()=>Us,mapOperationOptions:()=>os,matchGroups:()=>Yt,mergeSpec:()=>ks,messageMapper:()=>ie,number:()=>Rr,object:()=>Dr,objectMapper:()=>Ee,ofMapper:()=>ve,oneOf:()=>kr,oneOfMapper:()=>l,operationIdFormatter:()=>Ze,operationInFilesMapper:()=>Le,operationInParameterMapper:()=>ke,operationInParametersMapper:()=>He,operationInQueryMapper:()=>qe,operationMapper:()=>Fe,operationMediaMapper:()=>Ve,operationRequestBodyMapper:()=>Xe,operationResponseMapper:()=>ze,parameters:()=>Ns,pathsMapper:()=>st,payloadMapper:()=>pe,popGenerics:()=>ce,propertiesMapper:()=>Pe,registerJsonSchemaMapper:()=>c,removeHiddenOperation:()=>ee,responsePayloadMapper:()=>ue,schemaMapper:()=>De,schemesReducer:()=>_s,security:()=>Ds,serializeEnum:()=>T,serializeEnumValues:()=>E,set:()=>Nr,string:()=>Tr,tagsReducer:()=>Is,time:()=>xr,toJsonMapCollection:()=>K,toJsonRegex:()=>v,toRef:()=>de,transformInformation:()=>tn,transformSecurity:()=>en,transformToOS2:()=>sn,uri:()=>$r,url:()=>wr,withErrorMsg:()=>ht});var e,t=n(598);!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.TRACE="TRACE",e.PUBLISH="PUBLISH",e.SUBSCRIBE="SUBSCRIBE",e.CUSTOM="CUSTOM"}(e||(e={}));const r=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.DELETE,e.OPTIONS,e.TRACE,e.CUSTOM],s=[e.PUBLISH,e.SUBSCRIBE],o=e,a=new Map;function c(e,t,r){return a.set(r?`${r}:${e}`:e,t)}function p(e,t){const r=a.get(`${t?.specType}:${e}`)||a.get(e);if(r)return r;throw new Error(`JsonSchema ${e} mapper doesn't exists`)}function u(e,t,r,s){return p(e,r)(...t,r,s)}function h(e){return a.has(e)}function l(e,t){return e.find((e=>a.has(`${t?.specType}:${e}`)))||e.find((e=>a.has(e)))}function m(e){return e.split("/").filter(Boolean).join("/")}var d=n(803);const f=new Map;class g{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:s,index:n,decoratorType:i}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=s,this.index=n,this.decoratorType=i,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,d.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,d.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.target).find((e=>g.from(e).schema.isDiscriminator));return e&&g.from(e)}get isPrimitive(){return(0,d.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,d.isDate)(this.computedType)}get isObject(){return(0,d.isObject)(this.computedType)}get isClass(){return(0,d.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...e){if(e[0].isStore)return e[0];const t=e[0];e.length>1&&(e[0]=(0,d.prototypeOf)(e[0]));const r=d.Store.from(...e);if(!r.has("JsonEntityStore")){const s=(0,d.decoratorTypeOf)(e),n=new(f.get(s))({store:r,decoratorType:s,target:(0,d.classOf)(t),propertyKey:e[1],index:"number"==typeof e[2]?e[2]:void 0,descriptor:"object"==typeof e[2]?e[2]:void 0});n.build(),r.set("JsonEntityStore",n)}return r.get("JsonEntityStore")}static fromMethod(e,t){return this.from(e,t,(0,d.descriptorOf)(e,t))}static get(e,t,r){return g.from((0,d.prototypeOf)(e),t,r)}isGetterOnly(){return(0,d.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(e){(0,d.isCollection)(e)?this.collectionType=e:(this._type=e,this._type&&(0,d.isPlainObject)(this._type)&&(this._type=String))}getBestType(){return this.itemSchema.hasDiscriminator?this.itemSchema.discriminator().base:(0,d.isClassObject)(this.type)?this.itemSchema.getTarget():(0,d.isArrowFn)(this.type)?this.type():this.type}}function y(e,t,r,s){var n,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i<3?n(o):i>3?n(t,r,o):n(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}function O(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;const S=new Map;function b(e){return(0,d.isPromise)(e)||e===Function?Object:(0,d.isClass)(e)||(0,d.isSymbol)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(0,d.isClassObject)(e)||(0,d.isDate)(e)||(0,d.isCollection)(e)?(0,d.classOf)(e):(0,d.isArrowFn)(e)?e():e}const R=["string","number","integer","boolean","object","array","null","any"];function A(e){return null===e?"null":(0,d.isPrimitiveOrPrimitiveClass)(e)?R.indexOf(e)>-1?e:"string"==typeof e?"file"===e?"file":"generic":(0,d.primitiveOf)(e):e===Array?"array":(0,d.isArray)(e)?e.map(A):e===Set?"array":(0,d.isDate)(e)||(0,d.isBuffer)(e)?"string":"object"}const T=e=>(0,d.isObject)(e)&&null!==e?Object.entries(e).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):e;function E(e){const t=e.reduce(((e,t)=>e.concat(T(t))),[]),r=t.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,d.uniq)(t),types:r}}function v(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class P{propertyName;base;values=new Map;types=new Map;constructor({base:e,propertyName:t,types:r,values:s}={}){Object.assign(this,(0,d.cleanObject)({base:e,propertyName:t,types:r?new Map(r):void 0,values:s?new Map(s):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function x(e){return e instanceof $?e:Object.entries(e).reduce(((e,[t,r])=>(e[v(t)]=C(r),e)),{})}function C(e){return(0,d.isArray)(e)?e.map(C):e.isStore||e.$isJsonDocument||e.isLazyRef?e:(0,d.classOf)(e)!==Object&&(0,d.isClass)(e)?g.from(e).schema:(0,d.isObject)(e)?$.from(e):(0,d.isPrimitiveClass)(e)?$.from({type:e}):e}class $ extends Map{$kind="schema";$isJsonDocument=!0;$hooks=new d.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;$ignore=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#e=!1;#t=null;#r;#s=[];#n=new Map;#i;#o;#a=!1;#c=!1;#p=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#s}set nestedGenerics(e){this.#s=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,d.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#o)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.#o).find((e=>g.from(e).schema.isDiscriminator));return e&&g.from(e).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#p}get isNullable(){return this.#e||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}get hasDiscriminator(){return!!this.#t}static from(e={}){return new $(e)}nullable(e){this.#e=e}itemSchema(e={}){return this.#i=this.#i||C(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#p=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){return"boolean"!=typeof e&&this.$hooks.on("ignore",e),this.$ignore=e,this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#t=this.#t||new P({base:this.#o})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#o,e),this.isDiscriminator=!0;const r=this.get("properties"),s=r[t.propertyName]||new $({type:"string"});return 1===e.length?(s.const(e[0]),s.examples([e[0]])):(s.enum(...e),s.examples(e)),r[t.propertyName]=s,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",C(e)),this}contains(e){return super.set("contains",C(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=C(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(e=!0){if(!(0,d.isArray)(e)){const t=this.clone();return t.$selfRequired=e,t}return this.$required.clear(),e.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",x(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",x(r)),this}patternProperties(e){return super.set("patternProperties",x(e)),this}additionalProperties(e){return super.set("additionalProperties",C(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",x(e)),this}propertyNames(e){return super.set("propertyNames",C(e)),this}enum(e,...t){if(S.has(e))return this.enum(S.get(e));if(e instanceof $)e.getName()?super.set("enum",e):super.set("enum",e.get("enum")).any(...e.getJsonType());else{const{values:r,types:s}=E([e,t].flat());super.set("enum",r).any(...s)}return this}definitions(e){return super.set("definitions",x(e)),this}allOf(e){return super.set("allOf",e.map(C)),this}anyOf(e){return super.set("anyOf",e.map(C)),this}oneOf(e){let t=e.map(C);if(1===t.length&&!(e[0]instanceof $)){if(!t[0].hasDiscriminator)return this.type(e[0]);const r=t[0].discriminator().children();if(!r.length)return this.type(e[0]);t=r.map(C)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#t=e}return this}not(e){return super.set("not",C(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",v(e)),this}format(e){return super.set("format",e),this}type(e){switch(e){case Map:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",A(e)),this.#o=e,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",A(e)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",A(e)),this.#o=e,this.has("properties")||super.set("properties",{});break;default:if((0,d.isClass)(e)||(0,d.isFunction)(e))super.set("type",void 0),this.#o=e,this.has("properties")||super.set("properties",{});else{const t=A(e);"generic"===t?(this.#a=!0,super.set("$ref",e)):super.set("type",t)}}return this}any(...e){return e.filter((e=>(0,d.isClass)(e))).length>=2?this.oneOf(e.filter((e=>null!==e&&(this.nullable(!0),!0)))):(e.length?(e=(0,d.uniq)(e).map(A)).includes("null")&&(this.nullable(!0),e=e.filter((e=>"null"!==e))):(e=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===e.length?e[0]:e)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){return u("schema",[this],e)}assign(e={}){return(e instanceof $?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof $&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#t=this.#t?new P(this.#t):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#p=e.#p,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#s=e.#s.map((e=>[...e])),this.#o=e.#o,this.#a=e.#a,this.#c=e.#c,this.#p=e.#p,super.set("type",e.get("type"))),this}set(e,t){return e in this?(0,d.isFunction)(this[e])&&this[e](t):super.set(e,t),this}getComputedType(){return b(this.#o)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||A(this.getComputedType())}getTarget(){return this.#o}getName(){return this.get("name")||((0,d.isClass)(this.#o)?(0,d.nameOf)((0,d.classOf)(this.getComputedType())):"")}clone(){return new $(this)}}function w(e){return t=>{f.set(e,t)}}let M=class extends g{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=$.from({type:this.type})}};M=y([w(d.DecoratorTypes.CLASS)],M);let _=class extends g{parent=g.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(d.Metadata.getType((0,d.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let e=this.parent.schema.get("properties")[this.propertyName];e||(this.parent.children.set(this.propertyName,this),e=$.from({type:this.collectionType||this.type}),this.collectionType&&e.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,e),this._schema=e}static get(e,t){return g.from((0,d.prototypeOf)(e),t)}};_=y([w(d.DecoratorTypes.PROP)],_);const N=_;class D extends Map{$kind="map";$isJsonDocument=!0;constructor(e={}){super(),this.assign(e)}assign(e={}){return Object.entries(e).forEach((([e,t])=>{(0,d.isFunction)(this[e])?this[e](t):this.set(e,t)})),this}toJSON(e){return u("map",[this],e)}}var I;function L(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function k(e){return Object.values(I).includes(L(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(I||(I={}));class H extends D{$kind="operationInParameter";nestedGenerics=[];groups;groupsName;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",L(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(e){return u("operationInParameter",[this],e)}}let j=class extends g{paramType;expression;dataPath;pipes;parameter=new H;parent=g.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(e,t){const r=[],s=(0,d.ancestorsOf)(e).reverse().find((e=>(0,d.isMethodDescriptor)(e,t)&&g.fromMethod(e,t).children.size));return s?(g.fromMethod(s,t).children.forEach(((e,t)=>{r[+t]=e})),r):[]}static get(e,t,r){return g.from((0,d.prototypeOf)(e),t,r)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(e){return(0,d.isCollection)(e)||!(0,d.isClass)(e)?$.from({type:e}):g.from(e).schema}build(){if(!this._type){const e=d.Metadata.getParamTypes((0,d.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(e)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};j=y([w(d.DecoratorTypes.PARAM),O("design:paramtypes",[Object])],j);const q=j,G=e=>Number(e)&&200<=Number(e)&&Number(e)<300,U=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function B(e){return Object.keys(e).reduce(((t,r)=>{const s=e[r];let n=typeof s,i={example:s};return"object"===n&&(i=s,i.example=void 0===i.value?i.example:i.value,delete i.value,n=typeof i.example),i.type=i.type||n,t[r]=(0,d.cleanObject)(i),t}),{})}function K(e,t=D){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new D)}class J extends D{$kind="operationMedia";groups=[];groupsName;allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}}class F extends D{$kind="operationResponse";status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",B(e)),this}content(e){return this.set("content",K(e,J)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new J),this}}class V extends D{$kind="operation";operationPaths=new Map;#u;#h=!1;constructor(e={}){super({parameters:[],responses:new D,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#u}tags(e){return super.set("tags",e),this}addTags(e){return e=(0,d.uniqBy)([...this.get("tags")||[],...e],"name"),this.tags(e)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#u=e,this}getStatus(){return this.#u||200}setRedirection(e=302){return this.#h=!0,this.#u=e,this}isRedirection(e){return this.#h&&e?U(e):this.#h}addResponse(e,t){if((G(e)||U(e))&&!this.#u){const t=this.getResponseOf(200);this.getResponses().set(e.toString(),t).delete("200"),this.defaultStatus(Number(e))}const r="default"===e?this.getStatus().toString():e.toString(),s=this.getResponses().get(r);return s?(t.forEach(((e,t)=>{["content"].includes(t)||s.set(t,(0,d.deepMerge)(s.get(t),e))})),s.status=Number(r)):(t.status=Number(r),this.getResponses().set(r,t)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new F}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(e,t){const r=this.get("security")||{};return r[e]=(0,d.uniq)([...r[e]||[],...t]),this.security(r)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(e){const t=(0,d.uniq)([].concat(this.get("produces"),e)).filter(Boolean);this.set("produces",t)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}getAllowedOperationPath(e){return e?[...this.operationPaths.values()].filter((({method:t})=>t&&e.includes(t.toUpperCase()))):[...this.operationPaths.values()]}}let W=class extends g{parent=g.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new V;children=new Map;constructor(e){super({store:d.Store.fromMethod(e.target,e.propertyKey),descriptor:(0,d.descriptorOf)(e.target,e.propertyKey),...e});const{beforeMiddlewares:t=[],middlewares:r=[],afterMiddlewares:s=[]}=e;this.after(s),this.before(t),this.use(r)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(e,t,r){return r=r||(0,d.descriptorOf)((0,d.prototypeOf)(e),t),g.from((0,d.prototypeOf)(e),t,r)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const s=this.operation.getResponseOf(e).getMedia(t,!1);if(s&&s.has("schema")){const e=s.get("schema");let t=s.groups;return r&&s.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>s.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(e){return this.beforeMiddlewares=this.beforeMiddlewares.concat(e).filter(d.isFunction),this}after(e){return this.afterMiddlewares=this.afterMiddlewares.concat(e).filter(d.isFunction),this}use(e){return this.middlewares=this.middlewares.concat(e).filter(d.isFunction),this}get(e){const t=d.Store.from(this.target).get(e);return(0,d.deepMerge)(t,this.store.get(e))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let e=d.Metadata.getReturnType(this.target,this.propertyKey);e=(0,d.isPromise)(e)?void 0:e,this.buildType(e)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,d.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=$.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};W=y([w(d.DecoratorTypes.METHOD),O("design:paramtypes",[Object])],W);const X=W;function z(...e){return g.from(...e)}f.set(d.DecoratorTypes.CLASS,M),f.set(d.DecoratorTypes.PROP,_),f.set(d.DecoratorTypes.PARAM,j),f.set(d.DecoratorTypes.METHOD,W);class Q extends Map{$kind="operationPaths";$isJsonDocument=!0;setOperationPath(e){const t=this.getKey(e.method,e.path);this.set(t,e)}getKey=(e,t)=>`${e}-${t}`}function Y(e){const t=e.isStore?e:z(e);return t.$inherited||(t.$inherited=(0,d.ancestorsOf)(t.target).reverse().reduce(((e,t)=>e.set(t,z(t))),new Map)),t.$inherited}function Z(e){const t=e.isStore?e:z(e);if(!t.$operations){const e=new Q;t.$operations=new Map,Y(t).forEach((e=>{e.children.forEach((e=>{e instanceof W&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function ee(e){return!e.store.get("hidden")}const te=[e.PUBLISH,e.SUBSCRIBE];function re(e,{channels:r,rootPath:s,...n}){const i=m(s+z(e).path);return n={...n,ctrlRootPath:i},[...Z(e).values()].filter(ee).flatMap((e=>{const t=e.operation.getAllowedOperationPath(te);return 0===t.length?[]:t.map((t=>({operationPath:t,operationStore:e})))})).reduce(function(e){return(r,{operationPath:s,operationStore:n})=>{const i=e.ctrlRootPath||"/",o=s.method.toLowerCase(),a=(0,t.camelCase)(`${o.toLowerCase()} ${n.parent.schema.getName()}`),c=u("message",[n,s],e);return{...r,[i]:{...r[i],[o]:{...r[i]?.[o],operationId:a,message:{oneOf:[...r[i]?.[o]?.message?.oneOf||[],c]}}}}}}(n),r)}var se;function ne(e,t){return t.length?1===t.length?t[0]:{[e]:t}:null}function ie(t,r,{tags:s=[],defaultTags:n=[],...i}={}){const{path:o,method:a}=r,c=String(o);let p=(0,d.getValue)(i.components,"messages."+o,(0,d.cleanObject)({description:t.operation.get("description"),summary:t.operation.get("summary")}));if(a.toUpperCase()===e.PUBLISH){const s=u("payload",[t,r],i);s&&(p.payload=s);const n=t.operation.getAllowedOperationPath([e.SUBSCRIBE]).map((e=>u("message",[t,e],i))).filter(Boolean),o=ne("oneOf",n);o&&(p["x-response"]=o)}else{const e=u("response",[t,r],i);e&&(p["x-response"]=e)}return i.components.messages=i.components.messages||{},i.components.messages[c]=p,{$ref:`#/components/messages/${c}`}}function oe(e,t){return e.reduce(((e,r,s)=>e.set(r,t[s])),new Map)}function ae(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...s}=e;return{...s,generics:oe(t,r)}}return e}function ce(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}function pe(e,r,s){const n=e.operation.get("parameters").filter((e=>k(e.get("in")))),i=(0,t.pascalCase)([r.path,r.method,"Payload"].join(" "));(0,d.setValue)(s,`components.schemas.${i}`,{});const o=n.map((e=>{const t=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,s),r=u("item",[e.$schema],{...t,...ce(e)});switch(e.get("in")){case I.BODY:return r;case I.QUERY:case I.PATH:case I.HEADER:return{type:"object",properties:{[e.get("name")]:r}}}return r}),{}).filter(Boolean);return ne("allOf",o)}function ue(e,r,s){const n=e.operation.getResponses(),i=[],o=[],a=[],c=[];[...n.entries()].forEach((([e,t])=>{const r=u("map",[t],s);if(i.push(+e),o.push(r.description),204!=+e){const{content:e}=r,t=e[Object.keys(e)[0]];a.push(t)}}));const p=(0,t.pascalCase)([r.path,r.method,"Response"].join(" ")),h={type:"object",properties:{status:{type:"number",enum:i},statusText:{type:"string",enum:o}},required:["status"]},l=ne("oneOf",a);l&&(0,d.setValue)(h,"properties.data",l);const m=ne("oneOf",c);return c.length&&(0,d.setValue)(h,"properties.error",m),(0,d.setValue)(s,`components.schemas.${p}`,h),{$ref:`#/components/schemas/${p}`}}c("channels",re),function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3",e.ASYNCAPI="asyncapi2"}(se||(se={})),c("generate",(function(e,t){const r={channels:u("channels",[e],t)};return r.tags=(0,d.uniqBy)(t.tags,"name"),t.components?.schemas&&Object.keys(t.components.schemas).length&&(r.components={...t.components,schemas:t.components.schemas}),r}),se.ASYNCAPI),c("message",ie,se.ASYNCAPI),c("payload",pe,se.ASYNCAPI),c("response",ue,se.ASYNCAPI);class he{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return z(this.getType()).schema}get name(){return(0,d.nameOf)(this.getType())}}function le(e,r){return r.groups&&r.groups.length?(0,t.pascalCase)(`${e} ${r.groupsName||r.groups.join(" ")}`):e}function me(e,t,r){const s=function(e){const{host:t="#/"+([se.OPENAPI,se.ASYNCAPI].includes(e.specType)?"components/schemas":"definitions")}=e;return t}(r),n={$ref:`${s}/${e}`},i=t.isNullable,o=t.isReadOnly,a=t.isWriteOnly;if(i||o||a)switch(r.specType){case se.OPENAPI:return(0,d.cleanObject)({nullable:!!i||void 0,readOnly:!!o||void 0,writeOnly:!!a||void 0,oneOf:[n]});case se.JSON:return(0,d.cleanObject)({readOnly:o,writeOnly:a,oneOf:[n]})}return n}function de(e,t,r){const s=le(e.getName(),r);return(0,d.setValue)(r,`components.schemas.${s}`,t),me(s,e,r)}function fe(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof he)return u("lazyRef",[e],t);if(e instanceof $&&e.get("enum")instanceof $){const r=e.get("enum");return de(r,r.toJSON(t),t)}if(e.$kind&&e.$isJsonDocument){const r=u(l([e.$kind,"map"],t),[e],ae(t));return e.canRef?de(e,r,t):r}return u("object",[e],t)}function ge(e,t){const r=g.from(e.class),s=le(r.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:s,properties:n,additionalProperties:i,items:o,...a}=e.toJSON(t),c={...u("any",[r.schema],{...t,...ce(e),root:!1}),...a};if(c.title){const r=le(c.title,t);return(0,d.setValue)(t.components,`schemas.${r}`,c),delete c.title,me(r,e,t)}return c}return(0,d.getValue)(t,`components.schemas.${s}`)||((0,d.setValue)(t,`components.schemas.${s}`,{}),t.components.schemas[s]=u("any",[r.schema],ae({...t,root:!1}))),me(s,e,t)}function ye(e,t){const{generics:r}=t;if(r&&e.$ref&&r.has(e.$ref)){let s=r.get(e.$ref);if((0,d.isPrimitiveClass)(s))return{type:A(s)};if(s===Date)return{type:"string",format:"date-time"};if(s.toJSON)return s.toJSON({...t,generics:void 0});if(s===Object)return{type:"object"};if((0,d.isClass)(s)){const e={class:s};return 0===t.nestedGenerics.length?u("class",[e],{...t,generics:void 0}):u("schema",[g.from(e.class).schema],{...t,...ce(t),root:!1})}}return e}function Oe(e,{target:t,...r}){const s=Array.from(Y(t).entries()).filter((([e])=>(0,d.classOf)(e)!==(0,d.classOf)(t)));if(s.length){const t=s.reduce(((e,[,t])=>(0,d.deepMerge)(e,u("schema",[t.schema],r))),{});e=(0,d.deepMerge)(t,e)}return e}function Se(e,t){return e&&e.isClass?u("class",[e],t):u("any",[e],t)}function be(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return me(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const s=e.getType()&&u("schema",[e.schema],ae(t));return de(e.schema,s,t)}function Re(e,{ignore:t=[],...r}={}){return r=ae(r),Array.from(e.entries()).reduce(((e,[s,n])=>(t.includes(s)||(e[s]=u("item",[n],r)),e)),{})}function Ae(e,t){if((0,d.isBoolean)(e.$ignore)&&e.$ignore)return!0;let r=e?.$hooks?.alter("ignore",!1,[t]);return r||(!1!==t.groups?e?.$hooks?.alter("groups",!1,[t.groups]):r)}function Te(e,t,r){if(!t?.isNullable)return e;let s=[].concat(e.type).filter(Boolean);switch(r.specType){default:case se.JSON:e.discriminator||(e.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(e)||e.oneOf.unshift({type:"null"}):e.type=(0,d.uniq)(["null",...s]));break;case se.OPENAPI:e.nullable=!0,e.oneOf||(s.length>1?(e.oneOf=s.map((e=>({type:e}))),delete e.type):e.type=s[0])}return e}function Ee(e,t){const{specType:r,operationIdFormatter:s,root:n,components:i,genericTypes:o,nestedGenerics:a,useAlias:c,genericLabels:p,...h}=t;return Object.entries(e).reduce(((r,[s,n])=>{if(!1!==t.withIgnoredProps&&!Ae(n,h)){const i={...t,groups:e?.$forwardGroups||n?.$forwardGroups?t.groups:void 0};r[s]=u("item",[n],i),r[s]=Te(r[s],n,i)}return r}),(0,d.isArray)(e)?[]:{})}function ve(e,t,r){return e.map((e=>u("item",[e],{...t,genericLabels:r.genericLabels})))}function Pe(e,t,r){return e.isClass?u("class",[e],t):u("any",[e],{...t,genericLabels:r.genericLabels})}function xe(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}function Ce(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}function $e(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function we(e,t,r){if(r.groups&&r.groups.includes("partial"))return e.discriminator?{...e,required:[e.discriminator.propertyName]}:e;let s=function(e,t,r){let s=e.required||[];return s=[...s,...t.$required],t.get("properties")&&(s=Object.entries(t.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),s)),$e((0,d.uniq)(s),t,r)}(e,t,r);return s=(0,d.uniq)(s).reduce(function(e,t,r={}){const{useAlias:s}=r,n=Object.keys(e.properties||{});return(r,i)=>{const o=s&&t.alias.get(i)||i;if(n.includes(o)){const s=t.get("properties")[i],n=e.properties[o];return e.properties[o]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(n,s),r.concat(o)}return r}}(e,t,r),[]),e.discriminator&&s.push(e.discriminator.propertyName),s.length?{...e,required:s}:e}function Me(e,t,r){return r.inlineEnums&&e.enum?.$isJsonDocument&&(e.enum=e.enum.toJSON().enum),e.enum&&(e.type="object"===e.type||void 0===e.type?"string":e.type),e}c("any",fe),c("class",ge),c("generics",ye),c("inheritedClass",Oe),c("item",Se),c("lazyRef",be),c("map",Re),c("object",Ee),c("anyOf",ve),c("allOf",ve),c("oneOf",ve),c("properties",Pe),c("items",Pe),c("additionalProperties",Pe),c("propertyNames",Pe),c("contains",Pe),c("dependencies",Pe),c("patternProperties",Pe),c("additionalItems",Pe),c("not",Pe),c("definitions",Pe);const _e=["name","$required","$hooks","_nestedGenerics",se.OPENAPI,se.SWAGGER,se.JSON],Ne=["const"];function De(e,t){const{options:r,addDef:s}=function(e){let t=!1;e||(t=!0,e={components:{schemas:{}},inlineEnums:!0});const{useAlias:r=!0,components:s={schemas:{}}}=e;return{addDef:t,options:e={...e,useAlias:r,components:s}}}(t),n=function(e,t){let r=function(e,t){const{useAlias:r}=t;return[...e.keys()].filter((e=>!function(e,{specType:t=se.JSON,customKeys:r=!1}){return _e.includes(e)||e.startsWith("#")&&(!1===r||t!==se.JSON)||t!==se.JSON&&Ne.includes(e)}(e,t))).reduce(((s,n)=>{let i=e.get(n);if("type"===(n=n.replace(/^#/,"")))return{...s,[n]:e.getJsonType()};if(function(e,t,r){return"examples"===e&&(0,d.isObject)(t)&&[se.OPENAPI,se.ASYNCAPI].includes(r.specType)}(n,i,t)&&(n="example",i=Object.values(i)[0]),i&&"object"==typeof i&&h(n)){if(i=u(n,[i],t,e),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(n,i))return s;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(n,i,r)&&(i=xe(i,e.alias))}return{...s,[n]:i}}),{})}(e,t);return e.isClass&&(r=u("inheritedClass",[r],{...t,root:!1,target:e.getComputedType()})),r=u("generics",[r],{...t,root:!1}),e.has(t.specType)&&(r={...r,...e.get(t.specType).toJSON(t)}),r=we(r,e,t),r=Te(r,e,t),r=Ce(r,e,t),r=Me(r,0,t),r}(e,r);return s&&Object.keys((0,d.getValue)(r,"components.schemas",{})).length&&(n.definitions=r.components.schemas),n}function Ie(e,t){const r={paths:u("paths",[e],t={...t,specType:se.OPENAPI})};return r.tags=(0,d.uniqBy)(t.tags,"name"),Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(r.components={schemas:t.components.schemas}),r}function Le(e,{jsonSchema:t}){const r={type:"string",format:"binary",oneOf:void 0};return"array"===t.type?(t.items=(0,d.cleanObject)({...t.items,...r}),e.schema=t,e):(e.schema=(0,d.cleanObject)({...t,...r}),e)}function ke(e,r){const s=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,r),n={...s.components?.schemas||{}},{type:i,schema:o,...a}=u("map",[e],s),c=u("item",[e.$schema],{...s,...ce(e)});a.required=a.required||e.get("in")===I.PATH;const p={...s,jsonSchema:c,jsonParameter:e,oldSchemas:n},l=(0,t.camelCase)(`operationIn ${e.get("in")}`);return h(l)?u(l,[a],p):(a.schema=c,a)}function He(e,t){return e.flatMap((e=>u("operationInParameter",[e],t))).filter(Boolean)}function je(e,t){if(!t)return;let r=!1;const s=Object.entries(t).reduce(((t,[s,{value:n,description:i,...o}])=>void 0===n[e]?t:(r=!0,{...t,[s]:{...o,value:n[e],description:i}})),{});return r?s:void 0}function qe(e,{jsonSchema:t,jsonParameters:r,...s}){if(t.$ref){if(!e.name)return function(e,{jsonParameter:t,...r}){const s=le(t.$schema.getName(),r),n=r.components?.schemas?.[s];return n&&!r.oldSchemas?.[s]&&delete r.components.schemas[t.$schema.getName()],Object.entries(n?.properties||{}).reduce(((t,[r,{description:s,...i}])=>[...t,(0,d.cleanObject)({...e,name:r,required:(n?.required||[]).includes(r),description:s,schema:i,style:i.$ref?"deepObject":void 0,examples:je(r,e.examples)})]),[])}(e,s);e.style="deepObject"}return e.schema=t,e}c("schema",De),c("generate",Ie,se.OPENAPI),c("generate",Ie,se.SWAGGER),c("operationInFiles",Le),c("operationInParameter",ke),c("operationInParameters",He),c("operationInQuery",qe);var Ge=n(203),Ue=n.n(Ge);const Be=Ue().codes.reduce(((e,r)=>{const s=String(Ue()(r));return{...e,[String(r)]:{label:s,code:(0,t.constantCase)(s)}}}),{});function Ke(e){return Be[e]?.code}function Je(e){return Be[e]?.label}function Fe(e,{tags:t=[],defaultTags:r=[],...s}={}){const{consumes:n,produces:i,...o}=u("map",[e],{...s,ignore:["parameters"]});o.security&&(o.security=[].concat(o.security)),0===e.get("responses").size&&(o.responses={200:{description:Je(200)}});const a={...s,consumes:e.get("consumes")?.length?e.get("consumes"):["application/json"]},[c,p]=function(e,t){return e.get("parameters").filter((e=>k(e.get("in")))).reduce(((e,t)=>{const[r,s]=e;return[I.BODY,I.FILES].includes(t.get("in"))?[r,[...s,t]]:[[...r,t],s]}),[[],[]])}(e);o.parameters=u("operationInParameters",[c],s),p.length&&(o.requestBody=u("operationRequestBody",[p],a));const h=o.tags?.length?o.tags:r;return h.length&&(o.tags=h.map((({name:e})=>e))),t.push(...h),o}function Ve(e,t){return u("map",[e],{...t,groups:[...e.groups||[]],groupsName:e.groupsName})}Be[200].label="Success",Be[200].code="SUCCESS",c("operation",Fe),c("operationMedia",Ve);class We extends D{$kind="operationRequestBody";constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",K(e)),this}addContent(e,t,r){const s=this.get("content"),n=new D;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function Xe(e,{consumes:t,...r}){const{schema:s,examples:n,in:i,...o}=function(e,t){let r=new $;const s={},n=[];let i=0;const o=e.some((e=>"files"===e.get("in")));return e.forEach((e=>{const a=e.getName();[...e.entries()].filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===s[e]&&(s[e]=t)}));const c=u("operationInParameter",[e],t);if(a){const t={...c.schema||{type:c.type}};o&&c.description&&(t.description=c.description),r.addProperty(a,t),e.get("required")&&r.addRequired(a),i++}else n.push(c)})),i||1!==n.length?(r.type("object"),s.description&&o&&delete s.description,{schema:r.toJSON(t),required:!1,...s}):n[0]}(e,r),a=new We(o);return t.forEach((e=>{a.addContent(e,s,n)})),u("map",[a],r)}function ze(e,t={}){const r=u("map",[e],t);return 204===e.status&&delete r.content,r.headers&&Object.entries(r.headers).forEach((([e,{type:t,...s}])=>{r.headers[e]={...s,schema:{type:t}}})),r}function Qe(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function Ye(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],s=[];let n=!1,i="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const o=e.includes("?");o&&!n&&(n=!0,s.push({path:i,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:p}=function(e){const[t,r]=e.split("="),s=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:s.splice(0,1)[0],postfix:s.length?`.${s.join(".")}`:""}}(t);i+=`/${a}{${c}}${p}`,r.push({in:"path",name:c,type:"string",required:!0}),o&&n&&s.push({path:i,parameters:[].concat(r)})}else i+=`/${e}`})),s.length?s:[{path:i,parameters:[].concat(r)}]}function Ze(e=""){const r=new Map;return(s,n,i="")=>{const o=((r,s)=>{const n=(e||"%c.%m").replace(/%c/,r).replace(/%m/,s);return""===e?(0,t.camelCase)(n):n})(s,n),a=s+n;if(!r.has(a))return r.set(a,0),o;const c=i.match(/{(\w+)}/gi);if(c){const e=s+n+c[0];if(!r.has(e))return r.set(e,0),(0,t.camelCase)(`${o} By ${c}`)}const p=r.get(a)+1;return r.set(a,p),`${o}_${p}`}}function et(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}c("operationRequestBody",Xe),c("operationResponse",ze);const tt=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.OPTIONS,e.DELETE,e.TRACE];function rt(e,{path:t,method:r,operation:s}){return{...e,[t]:{...e[t],[r.toLowerCase()]:s}}}function st(e,{paths:t,rootPath:r,...s}){const n=m(r+z(e).path);return s={...s,ctrlRootPath:n},[...Z(e).values()].filter(ee).filter((e=>e.operation.getAllowedOperationPath(tt).length>0)).flatMap(function(e){return t=>{const r=t.operation.getAllowedOperationPath(tt);if(0===r.length)return[];const s=u("operation",[t.operation],e);return r.map((e=>({operationPath:e,operation:s,operationStore:t})))}}(s)).flatMap(function(e){return({operationPath:t,operation:r,operationStore:s})=>{const{path:n,method:i}=t;return Ye(e.ctrlRootPath,n).map((({path:t,parameters:n})=>(t=t||"/",n=Qe(n.map((({type:e,...t})=>({...t,schema:{type:e}}))),r),{operation:{...r,parameters:n,operationId:r.operationId||et(t,{...e,store:s})},method:i,path:t})))}}(s)).reduce(rt,t)}function nt(e){return(...t)=>{const r=e(z(...t),t);"function"==typeof r&&r(...t)}}function it(...e){return nt((t=>{t.store.set("childrenControllers",e),e.forEach((e=>{d.Store.from(e).set("parentController",t.token)}))}))}function ot(e,...r){return nt((s=>{e=e||(0,t.snakeCase)(s.targetName),s.discriminatorAncestor&&s.schema.discriminatorValue(e,...r)}))}function at(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const r={};let s=!1;const n=(...n)=>{const i=g.from(...n);t&&(i.collectionType=t,i.schema.type(t)),i.type=e,i.itemSchema.type(e),i.schema.assign(r),i.isArray&&s&&(i.schema.set("contains",i.schema.get("items")),i.schema.delete("items"))};return n.MinItems=e=>(r.minItems=e,n),n.MaxItems=e=>(r.maxItems=e,n),n.MinProperties=e=>(r.minProperties=e,n),n.MaxProperties=e=>(r.maxProperties=e,n),n.Contains=()=>(s=!0,n),n.UniqueItems=(e=!0)=>(r.uniqueItems=e,n),n}function ct(e){return at(e,Array)}function pt(e){return at(e,Map)}function ut(e){return at(e).Contains()}function ht(e,t){const r={};return(...s)=>{const n=(0,d.useDecorators)(t(...s));return n.Error=t=>(r.message=t,(0,d.useDecorators)(n,r.message&&nt((r=>{const s=r.parentSchema.get("#errorMessage")||{};"required"===e?r.parentSchema.customKey("errorMessage",(0,d.deepMerge)(s,{[e]:{[r.propertyName]:t}})):r.itemSchema.customKey("errorMessage",(0,d.deepMerge)(s,{[e]:t}))})))),n}}c("paths",st);const lt=ht("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return nt((t=>{t.schema.maxItems(e)}))})),mt=ht("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),dt=ht("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return nt((t=>{t.schema.minItems(e)}))})),ft=ht("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),gt=ht("uniqueItems",((e=!0)=>nt((t=>{t.schema.uniqueItems(e)}))));function yt(e){return nt(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Ot(...e){return nt((t=>{t.itemSchema.allOf(e)}))}function St(e){return nt((t=>{e&&(((0,d.isClass)(e)||(0,d.isArrowFn)(e))&&(t.type=e),t.itemSchema.type(e))}))}function bt(...e){const t=e.find((e=>(0,d.isClass)(e)));return(0,d.useDecorators)(t&&St(t),nt(((t,r)=>{t.schema.allow(...e),t.decoratorType===d.DecoratorTypes.PARAM&&(t.required=!0),t.decoratorType===d.DecoratorTypes.PROP&&t.parentSchema.addRequired(t.propertyName)})))}function Rt(...e){return nt((t=>{t.itemSchema.any(...e)}))}function At(...e){return nt((t=>{t.itemSchema.anyOf(e)}))}function Tt(e){return nt((t=>{t.itemSchema.const(e)}))}function Et(e,t){return nt((r=>{r.itemSchema.customKey(e,t)}))}function vt(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function Pt(e){return nt((t=>{t.itemSchema.default(e)}))}function xt(e){return nt((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function Ct(e){return(0,d.useDecorators)(xt({_:e}))}function $t(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.PROP:case d.DecoratorTypes.CLASS:t.schema.description(e);break;case d.DecoratorTypes.PARAM:t.parameter.description(e);break;case d.DecoratorTypes.METHOD:t.operation?.description(e)}}))}function wt(){return(0,d.useDecorators)(St(),nt((e=>{e.discriminatorKey()})))}const Mt=ht("enum",(function(e,...t){return nt((r=>{r.itemSchema.enum(e,...t)}))}));function _t(...e){return nt((t=>{t.schema.examples(e)}))}function Nt(e){return nt((t=>{t.parameter.examples(e)}))}const Dt=ht("maximum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),It=Dt,Lt=ht("exclusiveMaximum",((e,t=!0)=>Dt(e,t))),kt=ht("minimum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),Ht=kt,jt=ht("exclusiveMinimum",((e,t=!0)=>kt(e,t)));var qt;!function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(qt||(qt={}));const Gt=ht("format",(e=>nt((t=>{t.itemSchema.format(e)})))),Ut=ht("format",(()=>Gt(qt.EMAIL))),Bt=ht("format",(()=>Gt(qt.DATE_TIME))),Kt=ht("format",(()=>Gt(qt.DATE))),Jt=ht("format",(()=>Gt(qt.TIME))),Ft=ht("format",(()=>Gt(qt.URI))),Vt=ht("format",(()=>Gt(qt.URL)));function Wt(e=!0){return nt((t=>{t.schema.$forwardGroups=e}))}var Xt=n(133),zt=n.n(Xt);function Qt(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,s=new Set,n=new Set,i=0,o=e=>{n.add(e.output)};for(let n=0;n<t.length;n++){let a=zt()(String(t[n]),{onResult:o},!0),c=a.state.negated||a.state.negatedExtglob;c&&i++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),s.add(e.output)))}}return!!(i===t.length?[...n]:[...s]).filter((e=>!r.has(e))).length}function Yt(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&Qt(r,t))||!!s.length&&!Qt(e.filter((e=>!e.startsWith("!"))),t)}function Zt(...e){return nt((t=>{switch(t.decoratorType){case d.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{Zt(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(e,t);break;case d.DecoratorTypes.PROP:t.schema.$hooks.on("groups",((t,r)=>!(t||!Yt(e,r))||t));break;case d.DecoratorTypes.PARAM:let r="";2==e.length&&(0,d.isArray)(e[1])&&(r=e[0],e=e[1]),t.parameter.groups=e,t.parameter.groupsName=r}}))}function er(){return(0,d.StoreSet)("hidden",!0)}function tr(e=!0){return nt((t=>{t.schema.ignore(e)}))}function rr(){return nt((e=>{e.itemSchema.type("integer")}))}const sr=ht("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.maxLength(e)}))})),nr=ht("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.minLength(e)}))})),ir=ht("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return nt((t=>{t.itemSchema.multipleOf(e)}))}));function or(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.CLASS:t.schema.name(e);break;case d.DecoratorTypes.PARAM:t.parameter.name(e);break;default:t.parent.schema.addAlias(r[1],e)}}))}function ar(e,...t){return t=[e,...t],(0,d.useDecorators)(1===t.length&&St(t[0]),Rt(null,...t))}function cr(...e){return nt((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function pr(){return nt((e=>{switch(e.decoratorType){case d.DecoratorTypes.PARAM:e.required=!1;break;case d.DecoratorTypes.PROP:e.parentSchema.removeRequired(e.propertyName)}}))}const ur=ht("pattern",(e=>nt((t=>{t.itemSchema.pattern(e)}))));function hr(e=!0){return nt((t=>{t.itemSchema.readOnly(e)}))}function lr(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function mr(e,t){return nt((r=>{r.schema.set(e,t)}))}function dr(e,...t){return lr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const fr=ht("required",((e=!0,...t)=>e?bt(...t):pr()));function gr(...e){return nt((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>Yt(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function yr(e){return nt((t=>{t.schema.title(e)}))}function Or(e){return nt((()=>(0,d.useDecorators)(xt({type:e}))))}function Sr(e=!0){return nt((t=>{t.itemSchema.writeOnly(e)}))}function br(e=Object){if((0,d.isClass)(e)){const{schema:t}=z(e);return t.properties=function(t){return Object.entries(t).forEach((([t,r])=>{z(e.prototype,t).schema.assign(r)})),this},t}return $.from({type:e})}function Rr(){return br(Number)}function Ar(){return br(Number).integer()}function Tr(){return br(String)}function Er(){return br(Boolean)}function vr(){return br(Date).format(qt.DATE)}function Pr(){return br(Date).format(qt.DATE_TIME)}function xr(){return br(Date).format(qt.TIME)}function Cr(){return br(String).format(qt.EMAIL)}function $r(){return br(String).format(qt.URI)}function wr(){return br(String).format(qt.URL)}function Mr(){return br(Array)}function _r(){return br(Map).unknown(!0)}function Nr(){return br(Array).uniqueItems(!0)}function Dr(e={}){return br(Object).properties(e)}function Ir(...e){return br().any(...e)}function Lr(...e){return br().anyOf(e)}function kr(...e){return br().oneOf(e)}function Hr(...e){return br().allOf(e)}function jr(e){try{if(e())return g.from(e()).schema}catch(e){}return new he(e)}function qr(e){const t=Tr().enum(e);return S.set(e,t),t}function Gr(...e){const t=[e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Tr().enum(Object.values(e)):e))],r=(...e)=>{g.from(...e).nestedGenerics=t};return r.Nested=(...e)=>(t.push(e),r),r}function Ur(...e){return t=>{g.from(t).schema.genericLabels=e}}function Br(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.produces(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Br(...e));break;default:throw new d.UnsupportedDecoratorType(Br,r)}}))}function Kr(...e){return(0,d.useDecorators)(Br(...e),(0,d.StoreSet)("acceptMimes",e))}function Jr(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.consumes(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Jr(...e));break;default:throw new d.UnsupportedDecoratorType(Jr,r)}}))}class Fr extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),r=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((s=>{e[(0,t.pascalCase)(s)]=r(s)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(e,t){let r=this.get(e)||t;if(r)return this.decoratorType===d.DecoratorTypes.CLASS&&(r={...r,...t||{}}),{...t||{},...r}}bind(e,t){this.entity=g.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const Vr=new Map;function Wr(e,t){Vr.set(e,t)}function Xr(e){return Vr.get(e)}function zr(e){return e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Tr().enum(Object.values(e)):e))}class Qr extends Fr{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&Je(e)&&!this.get("description")&&(this.set("description",Je(e)),this.get("model")||this.model(Xr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...B(e)}),this}header(e,t){return void 0===t&&(0,d.isString)(e)?this.headers({[e]:{type:"string"}}):this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...e){return 2===e.length&&(0,d.isArray)(e[1])?(this.set("groupsName",e[0]),this.set("groups",e[1])):this.set("groups",e),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(zr(e))})),this}of(...e){const t=this.get("model");return this.checkPrimitive(t),this.addAction((()=>{const r=this.get("schema");(0,d.isCollection)(t)?r?.itemSchema({type:e[0]}):r?.nestedGenerics.push(zr(e))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(e){return this.set("examples",(0,d.isString)(e)?[e]:e),this}title(e){return this.schema({title:e})}checkPrimitive(e){if((0,d.isPrimitiveOrPrimitiveClass)(e))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(e){if((0,d.isCollection)(e))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const e=this.get("model");let t=this.get("contentType");return!e||(0,d.isPlainObject)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(t=t||"application/json"),t}getStatus(){return this.get("status")||"default"}onInit(e,t){switch((0,d.decoratorTypeOf)(e)){case d.DecoratorTypes.METHOD:this.entity=g.from(...e),this.entity.operation&&this.map();break;case d.DecoratorTypes.CLASS:this.decoratorType=d.DecoratorTypes.CLASS,(0,d.decorateMethodsOf)(e[0],t)}}map(){const e=this.get("model"),{entity:t,decoratorType:r}=this,s=this.entity.operation,n=this.getStatus(),i=s.ensureResponseOf(n),o=this.getContentType();let{description:a=i.get("description")}=this.toObject();a&&(a=r===d.DecoratorTypes.CLASS&&i.get("description")||a,i.description(a));const c=this.getMergedKey("headers",i.get("headers"));return c&&i.headers(c),this.mapMedia(i),(G(this.get("status"))||"default"===n)&&e&&(t.type=e),o&&s.addProduce(o),this.runActions()}mapMedia(e){const t=this.getContentType(),r=this.get("model"),s=e.getMedia(t||"*/*"),n=s.get("schema")||new $({type:r}),i=this.get("groups"),o=this.get("groupsName"),a=this.get("allowedGroups"),c=this.entity.operation;if(r&&((0,d.isArray)(r)?n.oneOf(r.map((e=>({type:e})))):n.type(r)),this.set("schema",n),s.schema(n),s.groups=i,s.groupsName=o,a){s.allowedGroups=a;const e=new H;e.in("query").name("includes"),e.schema($.from({type:"array",items:{type:"string",enum:[...a]}})),c.addParameter(-1,e)}const p=this.get("examples");return p&&s.examples(p),s}manyOf(e,t){const r=this.get("model");return this.addAction((()=>{const s=this.get("schema");(0,d.isCollection)(r)?(s.type(r||Object),s.itemSchema().set(e,t)):s.set(e,t)})),this}}function Yr(e,t){return new Qr({status:e,model:t}).build()}function Zr(e){return Yr().ContentType(e)}function es(e=!0){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.METHOD:t.operation.deprecated(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],es(e));break;case d.DecoratorTypes.PARAM:t.parameter.set("deprecated",e);break;case d.DecoratorTypes.PROP:t.schema.set("deprecated",e);break;default:throw new d.UnsupportedDecoratorType(es,r)}}))}function ts(e,t){return void 0!==t&&(e={[e]:t}),void 0===t&&(0,d.isString)(e)&&(e={[e]:{type:"string"}}),Yr().Headers(e)}function rs(e){const t=new H,r={},s=(n,i,o)=>{const a=g.from(n,i,o);switch(a.decoratorType){case d.DecoratorTypes.PARAM:a.parameter.in(e);break;case d.DecoratorTypes.METHOD:t.in(e),a.operation.addParameter(-1,t),t.schema($.from(r));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(n,s);break;default:throw new d.UnsupportedDecoratorType(rs,[n,i,o])}};return s.Type=e=>(r.type=e,s),s.Name=e=>(t.name(e),s),s.Description=e=>(t.description(e),s),s.Required=(e=!0)=>(t.required(e),s),s.Pattern=e=>s.Schema({pattern:e.toString()}),s.Schema=e=>(Object.assign(r,e),s),s}function ss(e){return(...t)=>{const[r,s,n]=t,i=d.Metadata.getParamTypes(r,s)[n]===Array,o=[e="object"==typeof e?void 0:e,!i&&"0"].filter(Boolean).join(".");(0,d.useDecorators)(rs(I.FILES),or(o),(0,d.useMethodDecorators)(Yr(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),Jr("multipart/form-data")))(...t)}}function ns(e,t){return Yr().Location(e,t)}const is=new Set([...Object.keys(e).filter((t=>t!==e.CUSTOM)).map((e=>e.toLowerCase()))]);function os(e){let t,r;const s=e.filter((e=>"string"==typeof e&&is.has(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:s}}class as extends Fr{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const t=this.get("path"),r=e[this.get("method")]||e.CUSTOM;t&&this.entity.operation.addOperationPath(r,t)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function cs(...e){const t=os(e);return new as(t).build()}function ps(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(ps,r);t.operation.operationId(e)}))}function us(e,t="/"){return nt(((r,s)=>{if(r.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(us,s);r.operation.addOperationPath(e.toUpperCase(),t)}))}function hs(){return Zt("partial")}function ls(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.CLASS)throw new d.UnsupportedDecoratorType(ls,r);t.path=e}))}function ms(t){return cs(e.PUBLISH,t)}function ds(...e){const{status:t,url:r,meta:s}=e.reduce(((e,t)=>(0,d.isNumber)(t)?(e.status=t,e):(0,d.isString)(t)?(e.url=t,e):(e.meta=t,e)),{status:302,url:"",meta:{}});return(0,d.useDecorators)(Yr(t).Location(r,s),nt((e=>{e.operation?.setRedirection(t)})))}const fs=cs;function gs(t="/",...r){return cs(...[e.ALL,t].concat(r))}function ys(t="/",...r){return cs(...[e.GET,t].concat(r))}function Os(t="/",...r){return cs(...[e.POST,t].concat(r))}function Ss(t="/",...r){return cs(...[e.PUT,t].concat(r))}function bs(t="/",...r){return cs(...[e.DELETE,t].concat(r))}function Rs(t="/",...r){return cs(...[e.HEAD,t].concat(r))}function As(t="/",...r){return cs(...[e.PATCH,t].concat(r))}function Ts(t="/",...r){return cs(...[e.OPTIONS,t].concat(r))}function Es(e,...t){return nt(((r,s)=>{switch(r.decoratorType){case d.DecoratorTypes.METHOD:r.operation.addSecurityScopes(e,t);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(s[0],Es(e,...t));break;default:throw new d.UnsupportedDecoratorType(Es,s)}}))}function vs(e,t){return Yr(e,t)}function Ps(t){return cs(e.SUBSCRIBE,t)}function xs(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(xs,r);t.operation.summary(e)}))}function Cs(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(e));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Cs(...e));break;default:throw new d.UnsupportedDecoratorType(Cs,r)}}))}function $s(e,t){return(0,d.StoreSet)("view",{path:e,options:t})}function ws(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),s=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+s.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class Ms{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return ws(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}const _s=(0,d.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),Ns=(0,d.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),Ds=(0,d.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),Is=(0,d.mergeReducerBuilder)(((e,t)=>e.name===t.name)),Ls={security:Ds,parameters:Ns,oneOf:_s,anyOf:_s,allOf:_s,tags:Is};function ks(e,t){return(0,d.deepMerge)(e,t,{reducers:Ls,cleanUndefinedProps:!0})}const Hs=new Map;function js(e,t={}){if(t={specType:se.OPENAPI,...t,tags:[],paths:{},channels:{},components:{},operationIdFormatter:t.operationIdFormatter||Ze(t.operationIdPattern),root:!1},(0,d.isArray)(e)){let r={};return t={...t,append(e){r=ks(r,e)}},e.forEach((({token:e,...r})=>{const s=js(e,{...t,...r});t.append(s)})),r}return function(e,t,r){Hs.has(e)||Hs.set(e,new Map);const s=Hs.get(e),n=JSON.stringify(t);return s.has(n)||s.set(n,r()),s.get(n)}(e,t,(()=>function(e,t){const r=z(e),{rootPath:s="/"}=t;return t={...t,rootPath:s,defaultTags:[(0,d.cleanObject)({name:r.schema.getName(),description:r.schema.get("description")})]},u("generate",[r],t)}(e,t)))}function qs(e){return e.startsWith("3.")?se.OPENAPI:se.SWAGGER}function Gs(e){return"openapi"in e?se.OPENAPI:se.SWAGGER}function Us(e){const{title:t,description:r,version:s,termsOfService:n,contact:i,license:o}=e;return(0,d.cleanObject)({version:s,title:t,description:r,termsOfService:n,contact:i,license:o})}function Bs(e,{version:t,specVersion:r,acceptMimes:s=["application/json"]}){const{paths:n,security:i,tags:o,host:a,basePath:c,schemes:p,consumes:u=[],produces:h=["application/json"],definitions:l,parameters:m,responses:f,securityDefinitions:g,externalDocs:y}=e;return{swagger:r,consumes:(0,d.uniq)([...s,...u]),produces:(0,d.uniq)([...h]),info:Us((0,d.getValue)(e,"info",{})),paths:n,host:a,basePath:c,schemes:p,definitions:l,parameters:m,responses:f,security:i,securityDefinitions:g,tags:o,externalDocs:y}}function Ks(e,{specVersion:t}){const{servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}=e;return{openapi:t,info:Us((0,d.getValue)(e,"info",{})),servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}}function Js(e,{fileSpec:t,acceptMimes:r,specVersion:s,version:n}){const i={specVersion:s=s||(0,d.getValue)(e,"openapi",(0,d.getValue)(e,"swagger","2.0")),acceptMimes:r};switch(qs(s)){case se.OPENAPI:e=Ks(e,i),t=t?Ks(t,i):t;break;default:case se.SWAGGER:e=Bs(e,i),t=t?Bs(t,i):t}return e=ks(e,t),(0,d.setValue)(e,"info.title",(0,d.getValue)(e,"info.title","Api documentation")),(0,d.setValue)(e,"info.version",(0,d.getValue)(e,"info.version",n)),e}const Fs=["get","put","post","delete","options","head","patch","trace"],Vs=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],Ws=["type","items"],Xs=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,zs={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Qs(e){if(Array.isArray(e))e.forEach(Qs);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Qs(e[t])}function Ys(e){return new RegExp(Xs,"i").test(e)}function Zs(e){const t=Object.keys(zs).map((e=>zs[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||Ys(e)))}function en(e){function t(e){const{scheme:t,type:r,name:s,bearerFormat:n,flows:i,...o}=e;switch(r){case"http":if("basic"===t)return{...o,type:t};if("bearer"===t)return{...o,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(i)[0],s=i[e];let n=e;return"clientCredentials"===n?n="application":"authorizationCode"===n&&(n="accessCode"),{type:r,flow:n,authorizationUrl:s.authorizationUrl,tokenUrl:s.tokenUrl,scopes:s.scopes}}}return Object.entries(e).reduce(((e,[r,s])=>({...e,[r]:t(s)})),{})}function tn(e){let t=e.url;const r=e.variables||{};for(const e in r){const s=r[e]||{};if(s.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,s.default)}}const s=new URL(t);return{host:s.host?s.host:void 0,basePath:s.pathname,schemes:null!==s.protocol?[s.protocol.substring(0,s.protocol.length-1)]:void 0}}class rn{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?tn(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const s=t.$ref;if(s.startsWith("#")){const t=s.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let n=e;return t.forEach((e=>{n=n[e]})),r?JSON.parse(JSON.stringify(n)):n}}convert(){const e={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Qs(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,d.cleanObject)({...e,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,s])=>{const n=e[r]=this.resolveReference({...t,paths:e},s,!0);return this.convertParameters(n),Object.keys(n).forEach((r=>{if(Fs.indexOf(r)>=0){const s=n[r]=this.resolveReference({...t,paths:e},n[r],!0);this.convertOperationParameters(s),this.convertResponses(s)}})),e}),e)}convertOperationParameters(e){let t,r,s,n;if(e.parameters=e.parameters||[],e.requestBody){let i=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=Zs(e.requestBody.content)[0],r={content:{}},s=e.requestBody.content[t];s&&s.schema&&s.schema.$ref&&!s.schema.$ref.startsWith("#")&&(i=this.resolveReference(this.spec,s.schema,!0),r.content[`${t}`]={schema:i},i=r)}if(i.name="body",t=i.content,t&&Object.keys(t).length){if(s=Object.keys(t).filter((e=>e.indexOf("/")>0)),n=s.filter((e=>e.indexOf("*")<0)),r=Zs(t)[0],delete i.content,[zs.APPLICATION_X_WWW_URLENCODED,zs.MULTIPART_FORM_DATA].includes(r))if(e.consumes=n,i.in="formData",i.schema=t[r].schema,i.schema=this.resolveReference(this.spec,i.schema,!0),"object"===i.schema.type&&i.schema.properties){const t=i.schema.required||[];Object.keys(i.schema.properties).forEach((r=>{const s=i.schema.properties[r];if(!s.readOnly){const n={name:r,in:"formData",schema:s};t.indexOf(r)>=0&&(n.required=!0),e.parameters?.push(n)}}))}else e.parameters.push(i);else r?(e.consumes=n,i.in="body",i.schema=t[r].schema,e.parameters.push(i)):s&&(e.consumes=n||["application/octet-stream"],i.in="body",i.name=i.name||"file",delete i.type,i.schema=t[s[0]].schema||{type:"string",format:"binary"},e.parameters.push(i));i.schema&&this.convertSchema(i.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,Vs),this.copySchemaProperties(t,Ws),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const s=r[t];"additionalProperties"===t&&"boolean"==typeof s||void 0!==s&&(e[t]=s)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,s=null;if(Object.keys(r.content).forEach((n=>{const i=n.indexOf("*")<0?n:"application/octet-stream";e.produces?e.produces.indexOf(i)<0&&e.produces.push(i):e.produces=[i];const o=r.content[n];t=t||o.schema,!s&&Ys(i)&&(s=o.schema),o.example&&(r.examples=r.examples||{},r.examples[i]=o.example)})),t){r.schema=s||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let s;if(/^[a-zA-Z0-9._-]+$/.test(r))try{s=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!s)try{s=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}s?(s["x-discriminator-value"]=t,s["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=en(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function sn(e){return new rn(e).convert()}async function nn({tokens:e,...t}){const{version:r="1.0.0",acceptMimes:s,specPath:n,specVersion:i}=t,o=Js((0,d.getValue)(t,"spec",{}),{fileSpec:{},version:r,specVersion:i,acceptMimes:s}),a=Gs(o),c=ks(o,js(e,t));return a===se.SWAGGER?sn(c):c}const on="$cache:schemes";function an(e,t={}){const r=z(e),s=t.specType||se.JSON;return t={endpoint:!0,groups:[],inlineEnums:s===se.JSON,...t,specType:s,components:{schemas:{}}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(on)||new Map,s=function(e){return JSON.stringify(e)}(t);if(!r.has(s)){const n=u("schema",[e.schema],t);Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(n.definitions=t.components.schemas),r.set(s,n)}return e.store.set(on,r),r.get(s)}(r,t)}function cn(e,t={}){const r=e.isStore?e:z(e),s=ws(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(cn(r,{...t,basePath:s}))),n)),[...Z(e).values()].reduce(((r,n)=>{const{operation:i}=n;return i&&i.getAllowedOperationPath(t.allowedVerbs).forEach((t=>{r.push(new Ms({basePath:s,token:e,endpoint:n,operationPath:t}))})),r}),n)}function pn(e){const t=e.isStore?e:z(e);if(!t.$properties){const e=Y(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function un(e,t={}){const r=pn(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&Ae(e.itemSchema,t)||s.set(r,e)})),s}})(),i})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("change-case"),require("@tsed/core")):"function"==typeof define&&define.amd?define(["change-case","@tsed/core"],t):"object"==typeof exports?exports["@tsed/schema"]=t(require("change-case"),require("@tsed/core")):e["@tsed/schema"]=t(e["change-case"],e["@tsed/core"])}(self,((e,t)=>(()=>{"use strict";var r={133:(e,t,r)=>{e.exports=r(555)},379:e=>{const t="\\\\/",r=`[^${t}]`,s="\\.",n="\\/",i="[^/]",o=`(?:${n}|$)`,a=`(?:^|${n})`,c=`${s}{1,2}${o}`,p={DOT_LITERAL:s,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:n,ONE_CHAR:"(?=.)",QMARK:i,END_ANCHOR:o,DOTS_SLASH:c,NO_DOT:`(?!${s})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${s}{0,1}${o})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${n}]`,STAR:`${i}*?`,START_ANCHOR:a,SEP:"/"},u={...p,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${s}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${s})`,NO_DOTS:`(?!(?:^|[${t}])${s}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${s}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${s}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?u:p}},390:(e,t,r)=>{const s=r(379),n=r(290),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:o,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:p}=s,u=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>n.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=p[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(i,r.maxLength):i;let m=e.length;if(m>l)throw new SyntaxError(`Input length: ${m}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},f=[d],g=r.capture?"":"?:",y=s.globChars(r.windows),O=s.extglobChars(y),{DOT_LITERAL:S,PLUS_LITERAL:b,SLASH_LITERAL:R,ONE_CHAR:A,DOTS_SLASH:T,NO_DOT:E,NO_DOT_SLASH:v,NO_DOTS_SLASH:P,QMARK:x,QMARK_NO_DOT:C,STAR:$,START_ANCHOR:w}=y,M=e=>`(${g}(?:(?!${w}${e.dot?T:S}).)*?)`,_=r.dot?"":E,N=r.dot?x:C;let D=!0===r.bash?M(r):$;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const I={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:f};e=n.removePrefix(e,I),m=e.length;const L=[],k=[],H=[];let j,q=d;const G=()=>I.index===m-1,U=I.peek=(t=1)=>e[I.index+t],B=I.advance=()=>e[++I.index],K=()=>e.slice(I.index+1),J=(e="",t=0)=>{I.consumed+=e,I.index+=t},F=e=>{I.output+=null!=e.output?e.output:e.value,J(e.value)},V=()=>{let e=1;for(;"!"===U()&&("("!==U(2)||"?"===U(3));)B(),I.start++,e++;return e%2!=0&&(I.negated=!0,I.start++,!0)},W=e=>{I[e]++,H.push(e)},X=e=>{I[e]--,H.pop()},z=e=>{if("globstar"===q.type){const t=I.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||L.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(I.output=I.output.slice(0,-q.output.length),q.type="star",q.value="*",q.output=D,I.output+=q.output)}if(L.length&&"paren"!==e.type&&!O[e.value]&&(L[L.length-1].inner+=e.value),(e.value||e.output)&&F(e),q&&"text"===q.type&&"text"===e.type)return q.value+=e.value,void(q.output=(q.output||"")+e.value);e.prev=q,f.push(e),q=e},Q=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=q,s.parens=I.parens,s.output=I.output;const n=(r.capture?"(":"")+s.open;W("parens"),z({type:e,value:t,output:I.output?"":A}),z({type:"paren",extglob:!0,value:B(),output:n}),L.push(s)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=M(r)),(s!==D||G()||/^\)+$/.test(K()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&G()&&(I.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:j,output:t}),X("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let s=!1,i=e.replace(c,((e,t,r,n,i,o)=>"\\"===n?(s=!0,e):"?"===n?t?t+n+(i?x.repeat(i.length):""):0===o?N+(i?x.repeat(i.length):""):x.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?D:""):D:t?e:`\\${e}`));return!0===s&&(i=!0===r.unescape?i.replace(/\\/g,""):i.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),i===e&&!0===r.contains?(I.output=e,I):(I.output=n.wrapOutput(i,I,t),I)}for(;!G();){if(j=B(),"\0"===j)continue;if("\\"===j){const e=U();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){j+="\\",z({type:"text",value:j});continue}const t=/^\\+/.exec(K());let s=0;if(t&&t[0].length>2&&(s=t[0].length,I.index+=s,s%2!=0&&(j+="\\")),!0===r.unescape?j=B()||"":j+=B()||"",0===I.brackets){z({type:"text",value:j});continue}}if(I.brackets>0&&("]"!==j||"["===q.value||"[^"===q.value)){if(!1!==r.posix&&":"===j){const e=q.value.slice(1);if(e.includes("[")&&(q.posix=!0,e.includes(":"))){const e=q.value.lastIndexOf("["),t=q.value.slice(0,e),r=q.value.slice(e+2),s=o[r];if(s){q.value=t+s,I.backtrack=!0,B(),d.output||1!==f.indexOf(q)||(d.output=A);continue}}}("["===j&&":"!==U()||"-"===j&&"]"===U())&&(j=`\\${j}`),"]"!==j||"["!==q.value&&"[^"!==q.value||(j=`\\${j}`),!0===r.posix&&"!"===j&&"["===q.value&&(j="^"),q.value+=j,F({value:j});continue}if(1===I.quotes&&'"'!==j){j=n.escapeRegex(j),q.value+=j,F({value:j});continue}if('"'===j){I.quotes=1===I.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:j});continue}if("("===j){W("parens"),z({type:"paren",value:j});continue}if(")"===j){if(0===I.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=L[L.length-1];if(e&&I.parens===e.parens+1){Y(L.pop());continue}z({type:"paren",value:j,output:I.parens?")":"\\)"}),X("parens");continue}if("["===j){if(!0!==r.nobracket&&K().includes("]"))W("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));j=`\\${j}`}z({type:"bracket",value:j});continue}if("]"===j){if(!0===r.nobracket||q&&"bracket"===q.type&&1===q.value.length){z({type:"text",value:j,output:`\\${j}`});continue}if(0===I.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:j,output:`\\${j}`});continue}X("brackets");const e=q.value.slice(1);if(!0===q.posix||"^"!==e[0]||e.includes("/")||(j=`/${j}`),q.value+=j,F({value:j}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(q.value);if(I.output=I.output.slice(0,-q.value.length),!0===r.literalBrackets){I.output+=t,q.value=t;continue}q.value=`(${g}${t}|${q.value})`,I.output+=q.value;continue}if("{"===j&&!0!==r.nobrace){W("braces");const e={type:"brace",value:j,output:"(",outputIndex:I.output.length,tokensIndex:I.tokens.length};k.push(e),z(e);continue}if("}"===j){const e=k[k.length-1];if(!0===r.nobrace||!e){z({type:"text",value:j,output:j});continue}let t=")";if(!0===e.dots){const e=f.slice(),s=[];for(let t=e.length-1;t>=0&&(f.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&s.unshift(e[t].value);t=u(s,r),I.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=I.output.slice(0,e.outputIndex),s=I.tokens.slice(e.tokensIndex);e.value=e.output="\\{",j=t="\\}",I.output=r;for(const e of s)I.output+=e.output||e.value}z({type:"brace",value:j,output:t}),X("braces"),k.pop();continue}if("|"===j){L.length>0&&L[L.length-1].conditions++,z({type:"text",value:j});continue}if(","===j){let e=j;const t=k[k.length-1];t&&"braces"===H[H.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:j,output:e});continue}if("/"===j){if("dot"===q.type&&I.index===I.start+1){I.start=I.index+1,I.consumed="",I.output="",f.pop(),q=d;continue}z({type:"slash",value:j,output:R});continue}if("."===j){if(I.braces>0&&"dot"===q.type){"."===q.value&&(q.output=S);const e=k[k.length-1];q.type="dots",q.output+=j,q.value+=j,e.dots=!0;continue}if(I.braces+I.parens===0&&"bos"!==q.type&&"slash"!==q.type){z({type:"text",value:j,output:S});continue}z({type:"dot",value:j,output:S});continue}if("?"===j){if((!q||"("!==q.value)&&!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("qmark",j);continue}if(q&&"paren"===q.type){const e=U();let t=j;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===q.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(K()))&&(t=`\\${j}`),z({type:"text",value:j,output:t});continue}if(!0!==r.dot&&("slash"===q.type||"bos"===q.type)){z({type:"qmark",value:j,output:C});continue}z({type:"qmark",value:j,output:x});continue}if("!"===j){if(!0!==r.noextglob&&"("===U()&&("?"!==U(2)||!/[!=<:]/.test(U(3)))){Q("negate",j);continue}if(!0!==r.nonegate&&0===I.index){V();continue}}if("+"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("plus",j);continue}if(q&&"("===q.value||!1===r.regex){z({type:"plus",value:j,output:b});continue}if(q&&("bracket"===q.type||"paren"===q.type||"brace"===q.type)||I.parens>0){z({type:"plus",value:j});continue}z({type:"plus",value:b});continue}if("@"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){z({type:"at",extglob:!0,value:j,output:""});continue}z({type:"text",value:j});continue}if("*"!==j){"$"!==j&&"^"!==j||(j=`\\${j}`);const e=a.exec(K());e&&(j+=e[0],I.index+=e[0].length),z({type:"text",value:j});continue}if(q&&("globstar"===q.type||!0===q.star)){q.type="star",q.star=!0,q.value+=j,q.output=D,I.backtrack=!0,I.globstar=!0,J(j);continue}let t=K();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",j);continue}if("star"===q.type){if(!0===r.noglobstar){J(j);continue}const s=q.prev,n=s.prev,i="slash"===s.type||"bos"===s.type,o=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!i||t[0]&&"/"!==t[0])){z({type:"star",value:j,output:""});continue}const a=I.braces>0&&("comma"===s.type||"brace"===s.type),c=L.length&&("pipe"===s.type||"paren"===s.type);if(!i&&"paren"!==s.type&&!a&&!c){z({type:"star",value:j,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[I.index+4];if(r&&"/"!==r)break;t=t.slice(3),J("/**",3)}if("bos"===s.type&&G()){q.type="globstar",q.value+=j,q.output=M(r),I.output=q.output,I.globstar=!0,J(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&G()){I.output=I.output.slice(0,-(s.output+q.output).length),s.output=`(?:${s.output}`,q.type="globstar",q.output=M(r)+(r.strictSlashes?")":"|$)"),q.value+=j,I.globstar=!0,I.output+=s.output+q.output,J(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";I.output=I.output.slice(0,-(s.output+q.output).length),s.output=`(?:${s.output}`,q.type="globstar",q.output=`${M(r)}${R}|${R}${e})`,q.value+=j,I.output+=s.output+q.output,I.globstar=!0,J(j+B()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){q.type="globstar",q.value+=j,q.output=`(?:^|${R}|${M(r)}${R})`,I.output=q.output,I.globstar=!0,J(j+B()),z({type:"slash",value:"/",output:""});continue}I.output=I.output.slice(0,-q.output.length),q.type="globstar",q.output=M(r),q.value+=j,I.output+=q.output,I.globstar=!0,J(j);continue}const s={type:"star",value:j,output:D};!0!==r.bash?!q||"bracket"!==q.type&&"paren"!==q.type||!0!==r.regex?(I.index!==I.start&&"slash"!==q.type&&"dot"!==q.type||("dot"===q.type?(I.output+=v,q.output+=v):!0===r.dot?(I.output+=P,q.output+=P):(I.output+=_,q.output+=_),"*"!==U()&&(I.output+=A,q.output+=A)),z(s)):(s.output=j,z(s)):(s.output=".*?","bos"!==q.type&&"slash"!==q.type||(s.output=_+s.output),z(s))}for(;I.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));I.output=n.escapeLast(I.output,"["),X("brackets")}for(;I.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));I.output=n.escapeLast(I.output,"("),X("parens")}for(;I.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));I.output=n.escapeLast(I.output,"{"),X("braces")}if(!0===r.strictSlashes||"star"!==q.type&&"bracket"!==q.type||z({type:"maybe_slash",value:"",output:`${R}?`}),!0===I.backtrack){I.output="";for(const e of I.tokens)I.output+=null!=e.output?e.output:e.value,e.suffix&&(I.output+=e.suffix)}return I};l.fastpaths=(e,t)=>{const r={...t},o="number"==typeof r.maxLength?Math.min(i,r.maxLength):i,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);e=p[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:u,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:m,NO_DOTS:d,NO_DOTS_SLASH:f,STAR:g,START_ANCHOR:y}=s.globChars(r.windows),O=r.dot?d:m,S=r.dot?f:m,b=r.capture?"":"?:";let R=!0===r.bash?".*?":g;r.capture&&(R=`(${R})`);const A=e=>!0===e.noglobstar?R:`(${b}(?:(?!${y}${e.dot?l:c}).)*?)`,T=e=>{switch(e){case"*":return`${O}${h}${R}`;case".*":return`${c}${h}${R}`;case"*.*":return`${O}${R}${c}${h}${R}`;case"*/*":return`${O}${R}${u}${h}${S}${R}`;case"**":return O+A(r);case"**/*":return`(?:${O}${A(r)}${u})?${S}${h}${R}`;case"**/*.*":return`(?:${O}${A(r)}${u})?${S}${R}${c}${h}${R}`;case"**/.*":return`(?:${O}${A(r)}${u})?${c}${h}${R}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=T(t[1]);if(!r)return;return r+c+t[2]}}},E=n.removePrefix(e,{negated:!1,prefix:""});let v=T(E);return v&&!0!==r.strictSlashes&&(v+=`${u}?`),v},e.exports=l},555:(e,t,r)=>{const s=r(270),n=r(390),i=r(290),o=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const s=e.map((e=>a(e,t,r))),n=e=>{for(const t of s){const r=t(e);if(r)return r}return!1};return n}const s=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!s)throw new TypeError("Expected pattern to be a non-empty string");const i=t||{},o=i.windows,c=s?a.compileRe(e,t):a.makeRe(e,t,!1,!0),p=c.state;delete c.state;let u=()=>!1;if(i.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};u=a(i.ignore,e,r)}const h=(r,s=!1)=>{const{isMatch:n,match:h,output:l}=a.test(r,c,t,{glob:e,posix:o}),m={glob:e,state:p,regex:c,posix:o,input:r,output:l,match:h,isMatch:n};return"function"==typeof i.onResult&&i.onResult(m),!1===n?(m.isMatch=!1,!!s&&m):u(r)?("function"==typeof i.onIgnore&&i.onIgnore(m),m.isMatch=!1,!!s&&m):("function"==typeof i.onMatch&&i.onMatch(m),!s||m)};return r&&(h.state=p),h};a.test=(e,t,r,{glob:s,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},c=o.format||(n?i.toPosixSlashes:null);let p=e===s,u=p&&c?c(e):e;return!1===p&&(u=c?c(e):e,p=u===s),!1!==p&&!0!==o.capture||(p=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(u)),{isMatch:Boolean(p),match:p,output:u}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(i.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):n(e,{...t,fastpaths:!1}),a.scan=(e,t)=>s(e,t),a.compileRe=(e,t,r=!1,s=!1)=>{if(!0===r)return e.output;const n=t||{},i=n.contains?"":"^",o=n.contains?"":"$";let c=`${i}(?:${e.output})${o}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const p=a.toRegex(c,t);return!0===s&&(p.state=e),p},a.makeRe=(e,t,r=!1,s=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const i=t||{};let o,c={negated:!1,fastpaths:!0},p="";return e.startsWith("./")&&(e=e.slice(2),p=c.prefix="./"),!1===i.fastpaths||"."!==e[0]&&"*"!==e[0]||(o=n.fastpaths(e,t)),void 0===o?(c=n(e,t),c.prefix=p+(c.prefix||"")):c.output=o,a.compileRe(c,t,r,s)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=o,e.exports=a},270:(e,t,r)=>{const s=r(290),{CHAR_ASTERISK:n,CHAR_AT:i,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:p,CHAR_FORWARD_SLASH:u,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_PLUS:d,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:g,CHAR_RIGHT_PARENTHESES:y,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),S=e=>e===u||e===o,b=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},R=e.length-1,A=!0===r.parts||!0===r.scanToEnd,T=[],E=[],v=[];let P,x,C=e,$=-1,w=0,M=0,_=!1,N=!1,D=!1,I=!1,L=!1,k=!1,H=!1,j=!1,q=!1,G=0,U={value:"",depth:0,isGlob:!1};const B=()=>$>=R,K=()=>(P=x,C.charCodeAt(++$));for(;$<R;){let e;if(x=K(),x!==o){if(!0===k||x===h){for(G++;!0!==B()&&(x=K());)if(x!==o)if(x!==h){if(!0!==k&&x===c&&(x=K())===c){if(_=U.isBrace=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}if(!0!==k&&x===a){if(_=U.isBrace=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===g&&(G--,0===G)){k=!1,_=U.isBrace=!0,q=!0;break}}else G++;else H=U.backslashes=!0,K();if(!0===A)continue;break}if(x!==u){if(!0!==r.noext&&!0==(x===d||x===i||x===n||x===f||x===p)&&C.charCodeAt($+1)===l){if(D=U.isGlob=!0,I=U.isExtglob=!0,q=!0,!0===A){for(;!0!==B()&&(x=K());)if(x!==o){if(x===y){D=U.isGlob=!0,q=!0;break}}else H=U.backslashes=!0,x=K();continue}break}if(x===n){if(P===n&&(L=U.isGlobstar=!0),D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===f){if(D=U.isGlob=!0,q=!0,!0===A)continue;break}if(x===m)for(;!0!==B()&&(e=K());)if(e!==o){if(e===O){if(N=U.isBracket=!0,D=U.isGlob=!0,q=!0,!0===A)continue;break}}else H=U.backslashes=!0,K();if(!0===r.nonegate||x!==p||$!==w){if(!0!==r.noparen&&x===l){if(D=U.isGlob=!0,!0===A){for(;!0!==B()&&(x=K());)if(x!==l){if(x===y){q=!0;break}}else H=U.backslashes=!0,x=K();continue}break}if(!0===D){if(q=!0,!0===A)continue;break}}else j=U.negated=!0,w++}else{if(T.push($),E.push(U),U={value:"",depth:0,isGlob:!1},!0===q)continue;if(P===c&&$===w+1){w+=2;continue}M=$+1}}else H=U.backslashes=!0,x=K(),x===h&&(k=!0)}!0===r.noext&&(I=!1,D=!1);let J=C,F="",V="";w>0&&(F=C.slice(0,w),C=C.slice(w),M-=w),J&&!0===D&&M>0?(J=C.slice(0,M),V=C.slice(M)):!0===D?(J="",V=C):J=C,J&&""!==J&&"/"!==J&&J!==C&&S(J.charCodeAt(J.length-1))&&(J=J.slice(0,-1)),!0===r.unescape&&(V&&(V=s.removeBackslashes(V)),J&&!0===H&&(J=s.removeBackslashes(J)));const W={prefix:F,input:e,start:w,base:J,glob:V,isBrace:_,isBracket:N,isGlob:D,isExtglob:I,isGlobstar:L,negated:j};if(!0===r.tokens&&(W.maxDepth=0,S(x)||E.push(U),W.tokens=E),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<T.length;s++){const n=t?t+1:w,i=T[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==w?(E[s].isPrefix=!0,E[s].value=F):E[s].value=o,b(E[s]),W.maxDepth+=E[s].depth),0===s&&""===o||v.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);v.push(s),r.tokens&&(E[E.length-1].value=s,b(E[E.length-1]),W.maxDepth+=E[E.length-1].depth)}W.slashes=T,W.parts=v}return W}},290:(e,t,r)=>{const{REGEX_BACKSLASH:s,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_GLOBAL:o}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>i.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(o,"\\$1"),t.toPosixSlashes=e=>e.replace(s,"/"),t.removeBackslashes=e=>e.replace(n,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,s)=>{const n=e.lastIndexOf(r,s);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let s=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(s=`(?:^(?!${s}).*$)`),s},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},203:(e,t,r)=>{var s=r(739);function n(e){if(!Object.prototype.hasOwnProperty.call(i.message,e))throw new Error("invalid status code: "+e);return i.message[e]}function i(e){if("number"==typeof e)return n(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(i.code,t))throw new Error('invalid status message: "'+e+'"');return i.code[t]}(e):n(t)}e.exports=i,i.message=s,i.code=function(e){var t={};return Object.keys(e).forEach((function(r){var s=e[r],n=Number(r);t[s.toLowerCase()]=n})),t}(s),i.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(s),i.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},i.empty={204:!0,205:!0,304:!0},i.retry={502:!0,503:!0,504:!0}},803:e=>{e.exports=t},598:t=>{t.exports=e},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},s={};function n(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{n.r(i),n.d(i,{AcceptMime:()=>Kr,AdditionalProperties:()=>yt,All:()=>gs,AllOf:()=>Ot,Allow:()=>bt,Any:()=>Rt,AnyOf:()=>At,ArrayOf:()=>ct,Children:()=>it,CollectionContains:()=>ut,CollectionOf:()=>at,Const:()=>Tt,Consumes:()=>Jr,ContentType:()=>Zr,Converter:()=>rn,CustomKey:()=>Et,CustomKeys:()=>vt,DateFormat:()=>Kt,DateTime:()=>Bt,DecoratorContext:()=>Fr,Default:()=>Pt,DefaultMsg:()=>Ct,Delete:()=>bs,Deprecated:()=>es,Description:()=>$t,Discriminator:()=>P,DiscriminatorKey:()=>wt,DiscriminatorValue:()=>ot,Email:()=>Ut,EndpointMetadata:()=>X,Enum:()=>Mt,ErrorMsg:()=>xt,Example:()=>_t,Examples:()=>Nt,ExclusiveMaximum:()=>Lt,ExclusiveMinimum:()=>jt,For:()=>mr,Format:()=>Gt,ForwardGroups:()=>Wt,GenericOf:()=>Gr,Generics:()=>Ur,Get:()=>ys,Groups:()=>Zt,HTTP_STATUS_MESSAGES:()=>Be,Head:()=>Rs,Header:()=>ts,Hidden:()=>er,Ignore:()=>tr,In:()=>rs,InFile:()=>ss,Integer:()=>rr,JSON_TYPES:()=>R,JsonClassStore:()=>M,JsonEntitiesContainer:()=>f,JsonEntityComponent:()=>w,JsonEntityFn:()=>nt,JsonEntityStore:()=>g,JsonFormatTypes:()=>qt,JsonLazyRef:()=>he,JsonMap:()=>D,JsonMedia:()=>J,JsonMethodStore:()=>W,JsonOperation:()=>V,JsonOperationPathsMap:()=>Q,JsonOperationRoute:()=>Ms,JsonParameter:()=>H,JsonParameterStore:()=>j,JsonParameterTypes:()=>I,JsonPropertyStore:()=>_,JsonRequestBody:()=>We,JsonResponse:()=>F,JsonSchema:()=>$,Location:()=>ns,MapOf:()=>pt,Max:()=>It,MaxItems:()=>lt,MaxLength:()=>sr,MaxProperties:()=>mt,Maximum:()=>Dt,Min:()=>Ht,MinItems:()=>dt,MinLength:()=>nr,MinProperties:()=>ft,Minimum:()=>kt,MultipleOf:()=>ir,Name:()=>or,Nullable:()=>ar,OPERATION_HTTP_VERBS:()=>r,OPERATION_WS_VERBS:()=>s,OneOf:()=>cr,Operation:()=>cs,OperationId:()=>ps,OperationMethods:()=>o,OperationPath:()=>us,OperationVerbs:()=>e,Optional:()=>pr,Options:()=>Ts,ParamMetadata:()=>q,Partial:()=>hs,Patch:()=>As,Path:()=>ls,Pattern:()=>ur,Post:()=>Os,Produces:()=>Br,Property:()=>St,PropertyMetadata:()=>N,Publish:()=>ms,Put:()=>Ss,ReadOnly:()=>hr,RecordOf:()=>dr,Redirect:()=>ds,Required:()=>fr,RequiredGroups:()=>gr,Returns:()=>Yr,Route:()=>fs,Schema:()=>lr,Security:()=>Es,SpecTypes:()=>se,Status:()=>vs,Subscribe:()=>Ps,Summary:()=>xs,Tags:()=>Cs,TimeFormat:()=>Jt,Title:()=>yr,TypeError:()=>Or,UniqueItems:()=>gt,Uri:()=>Ft,Url:()=>Vt,View:()=>$s,WriteOnly:()=>Sr,allOf:()=>Hr,alterIgnore:()=>Ae,alterOneOf:()=>Ce,alterRequiredGroups:()=>$e,any:()=>Ir,anyMapper:()=>fe,anyOf:()=>Lr,array:()=>Mr,boolean:()=>Er,buildPath:()=>m,channelsMapper:()=>re,classMapper:()=>ge,concatParameters:()=>Qe,concatPath:()=>ws,createRef:()=>me,createRefName:()=>le,date:()=>vr,datetime:()=>Pr,defineStatusModel:()=>Wr,email:()=>Cr,enums:()=>qr,enumsRegistry:()=>S,execMapper:()=>u,formatParameterType:()=>L,from:()=>br,generateSpec:()=>nn,genericsMapper:()=>ye,getComputedType:()=>b,getGenericsMap:()=>oe,getInheritedStores:()=>Y,getJsonEntityStore:()=>z,getJsonPathParameters:()=>Ye,getJsonSchema:()=>an,getJsonSchemaMapper:()=>p,getJsonType:()=>A,getOperationId:()=>et,getOperationsRoutes:()=>cn,getOperationsStores:()=>Z,getProperties:()=>un,getPropertiesStores:()=>pn,getRequiredProperties:()=>we,getSpec:()=>js,getSpecType:()=>qs,getSpecTypeFromSpec:()=>Gs,getStatusConstant:()=>Ke,getStatusMessage:()=>Je,getStatusModel:()=>Xr,hasMapper:()=>h,inheritedClassMapper:()=>Oe,inlineEnums:()=>Me,integer:()=>Ar,isParameterType:()=>k,isRedirectionStatus:()=>U,isSuccessStatus:()=>G,itemMapper:()=>Se,lazyRef:()=>jr,lazyRefMapper:()=>be,makeOf:()=>ne,map:()=>_r,mapAliasedProperties:()=>xe,mapGenericsOptions:()=>ae,mapHeaders:()=>B,mapMapper:()=>Re,mapNullableType:()=>Te,mapOpenSpec:()=>Js,mapOpenSpec2:()=>Bs,mapOpenSpec3:()=>Ks,mapOpenSpecInfo:()=>Us,mapOperationOptions:()=>os,matchGroups:()=>Yt,mergeSpec:()=>ks,messageMapper:()=>ie,number:()=>Rr,object:()=>Dr,objectMapper:()=>Ee,ofMapper:()=>ve,oneOf:()=>kr,oneOfMapper:()=>l,operationIdFormatter:()=>Ze,operationInFilesMapper:()=>Le,operationInParameterMapper:()=>ke,operationInParametersMapper:()=>He,operationInQueryMapper:()=>qe,operationMapper:()=>Fe,operationMediaMapper:()=>Ve,operationRequestBodyMapper:()=>Xe,operationResponseMapper:()=>ze,parameters:()=>Ns,pathsMapper:()=>st,payloadMapper:()=>pe,popGenerics:()=>ce,propertiesMapper:()=>Pe,registerJsonSchemaMapper:()=>c,removeHiddenOperation:()=>ee,responsePayloadMapper:()=>ue,schemaMapper:()=>De,schemesReducer:()=>_s,security:()=>Ds,serializeEnum:()=>T,serializeEnumValues:()=>E,set:()=>Nr,string:()=>Tr,tagsReducer:()=>Is,time:()=>xr,toJsonMapCollection:()=>K,toJsonRegex:()=>v,toRef:()=>de,transformInformation:()=>tn,transformSecurity:()=>en,transformToOS2:()=>sn,uri:()=>$r,url:()=>wr,withErrorMsg:()=>ht});var e,t=n(598);!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.TRACE="TRACE",e.PUBLISH="PUBLISH",e.SUBSCRIBE="SUBSCRIBE",e.CUSTOM="CUSTOM"}(e||(e={}));const r=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.DELETE,e.OPTIONS,e.TRACE,e.CUSTOM],s=[e.PUBLISH,e.SUBSCRIBE],o=e,a=new Map;function c(e,t,r){return a.set(r?`${r}:${e}`:e,t)}function p(e,t){const r=a.get(`${t?.specType}:${e}`)||a.get(e);if(r)return r;throw new Error(`JsonSchema ${e} mapper doesn't exists`)}function u(e,t,r,s){return p(e,r)(...t,r,s)}function h(e){return a.has(e)}function l(e,t){return e.find((e=>a.has(`${t?.specType}:${e}`)))||e.find((e=>a.has(e)))}function m(e){return e.split("/").filter(Boolean).join("/")}var d=n(803);const f=new Map;class g{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:s,index:n,decoratorType:i}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=s,this.index=n,this.decoratorType=i,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,d.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,d.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.target).find((e=>g.from(e).schema.isDiscriminator));return e&&g.from(e)}get isPrimitive(){return(0,d.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,d.isDate)(this.computedType)}get isObject(){return(0,d.isObject)(this.computedType)}get isClass(){return(0,d.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...e){if(e[0].isStore)return e[0];const t=e[0];e.length>1&&(e[0]=(0,d.prototypeOf)(e[0]));const r=d.Store.from(...e);if(!r.has("JsonEntityStore")){const s=(0,d.decoratorTypeOf)(e),n=new(f.get(s))({store:r,decoratorType:s,target:(0,d.classOf)(t),propertyKey:e[1],index:"number"==typeof e[2]?e[2]:void 0,descriptor:"object"==typeof e[2]?e[2]:void 0});n.build(),r.set("JsonEntityStore",n)}return r.get("JsonEntityStore")}static fromMethod(e,t){return this.from(e,t,(0,d.descriptorOf)(e,t))}static get(e,t,r){return g.from((0,d.prototypeOf)(e),t,r)}isGetterOnly(){return(0,d.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(e){(0,d.isCollection)(e)?this.collectionType=e:(this._type=e,this._type&&(0,d.isPlainObject)(this._type)&&(this._type=String))}getBestType(){return this.itemSchema.hasDiscriminator?this.itemSchema.discriminator().base:(0,d.isClassObject)(this.type)?this.itemSchema.getTarget():(0,d.isArrowFn)(this.type)?this.type():this.type}}function y(e,t,r,s){var n,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i<3?n(o):i>3?n(t,r,o):n(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}function O(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;const S=new Map;function b(e){return(0,d.isPromise)(e)||e===Function?Object:(0,d.isClass)(e)||(0,d.isSymbol)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(0,d.isClassObject)(e)||(0,d.isDate)(e)||(0,d.isCollection)(e)?(0,d.classOf)(e):(0,d.isArrowFn)(e)?e():e}const R=["string","number","integer","boolean","object","array","null","any"];function A(e){return null===e?"null":(0,d.isPrimitiveOrPrimitiveClass)(e)?R.indexOf(e)>-1?e:"string"==typeof e?"file"===e?"file":"generic":(0,d.primitiveOf)(e):e===Array?"array":(0,d.isArray)(e)?e.map(A):e===Set?"array":(0,d.isDate)(e)||(0,d.isBuffer)(e)?"string":"object"}const T=e=>(0,d.isObject)(e)&&null!==e?Object.entries(e).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):e;function E(e){const t=e.reduce(((e,t)=>e.concat(T(t))),[]),r=t.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,d.uniq)(t),types:r}}function v(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class P{propertyName;base;values=new Map;types=new Map;constructor({base:e,propertyName:t,types:r,values:s}={}){Object.assign(this,(0,d.cleanObject)({base:e,propertyName:t,types:r?new Map(r):void 0,values:s?new Map(s):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function x(e){return e instanceof $?e:Object.entries(e).reduce(((e,[t,r])=>(e[v(t)]=C(r),e)),{})}function C(e){return(0,d.isArray)(e)?e.map(C):e.isStore||e.$isJsonDocument||e.isLazyRef?e:(0,d.classOf)(e)!==Object&&(0,d.isClass)(e)?g.from(e).schema:(0,d.isObject)(e)?$.from(e):(0,d.isPrimitiveClass)(e)?$.from({type:e}):e}class $ extends Map{$kind="schema";$isJsonDocument=!0;$hooks=new d.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;$ignore=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#e=!1;#t=null;#r;#s=[];#n=new Map;#i;#o;#a=!1;#c=!1;#p=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#s}set nestedGenerics(e){this.#s=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,d.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#o)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.#o).find((e=>g.from(e).schema.isDiscriminator));return e&&g.from(e).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#p}get isNullable(){return this.#e||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}get hasDiscriminator(){return!!this.#t}static from(e={}){return new $(e)}nullable(e){this.#e=e}itemSchema(e={}){return this.#i=this.#i||C(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#p=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){return"boolean"!=typeof e&&this.$hooks.on("ignore",e),this.$ignore=e,this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#t=this.#t||new P({base:this.#o})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#o,e),this.isDiscriminator=!0;const r=this.get("properties"),s=r[t.propertyName]||new $({type:"string"});return 1===e.length?(s.const(e[0]),s.examples([e[0]])):(s.enum(...e),s.examples(e)),r[t.propertyName]=s,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",C(e)),this}contains(e){return super.set("contains",C(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=C(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(e=!0){if(!(0,d.isArray)(e)){const t=this.clone();return t.$selfRequired=e,t}return this.$required.clear(),e.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",x(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",x(r)),this}patternProperties(e){return super.set("patternProperties",x(e)),this}additionalProperties(e){return super.set("additionalProperties",C(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",x(e)),this}propertyNames(e){return super.set("propertyNames",C(e)),this}enum(e,...t){if(S.has(e))return this.enum(S.get(e));if(e instanceof $)e.getName()?super.set("enum",e):super.set("enum",e.get("enum")).any(...e.getJsonType());else{const{values:r,types:s}=E([e,t].flat());super.set("enum",r).any(...s)}return this}definitions(e){return super.set("definitions",x(e)),this}allOf(e){return super.set("allOf",e.map(C)),this}anyOf(e){return super.set("anyOf",e.map(C)),this}oneOf(e){let t=e.map(C);if(1===t.length&&!(e[0]instanceof $)){if(!t[0].hasDiscriminator)return this.type(e[0]);const r=t[0].discriminator().children();if(!r.length)return this.type(e[0]);t=r.map(C)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#t=e}return this}not(e){return super.set("not",C(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",v(e)),this}format(e){return super.set("format",e),this}type(e){switch(e){case Map:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",A(e)),this.#o=e,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",A(e)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",A(e)),this.#o=e,this.has("properties")||super.set("properties",{});break;default:if((0,d.isClass)(e)||(0,d.isFunction)(e))super.set("type",void 0),this.#o=e,this.has("properties")||super.set("properties",{});else{const t=A(e);"generic"===t?(this.#a=!0,super.set("$ref",e)):super.set("type",t)}}return this}any(...e){return e.filter((e=>(0,d.isClass)(e))).length>=2?this.oneOf(e.filter((e=>null!==e&&(this.nullable(!0),!0)))):(e.length?(e=(0,d.uniq)(e).map(A)).includes("null")&&(this.nullable(!0),e=e.filter((e=>"null"!==e))):(e=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===e.length?e[0]:e)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){return u("schema",[this],e)}assign(e={}){return(e instanceof $?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof $&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#t=this.#t?new P(this.#t):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#p=e.#p,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#s=e.#s.map((e=>[...e])),this.#o=e.#o,this.#a=e.#a,this.#c=e.#c,this.#p=e.#p,super.set("type",e.get("type"))),this}set(e,t){return e in this?(0,d.isFunction)(this[e])&&this[e](t):super.set(e,t),this}getComputedType(){return b(this.#o)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||A(this.getComputedType())}getTarget(){return this.#o}getName(){return this.get("name")||((0,d.isClass)(this.#o)?(0,d.nameOf)((0,d.classOf)(this.getComputedType())):"")}clone(){return new $(this)}}function w(e){return t=>{f.set(e,t)}}let M=class extends g{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=$.from({type:this.type})}};M=y([w(d.DecoratorTypes.CLASS)],M);let _=class extends g{parent=g.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(d.Metadata.getType((0,d.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let e=this.parent.schema.get("properties")[this.propertyName];e||(this.parent.children.set(this.propertyName,this),e=$.from({type:this.collectionType||this.type}),this.collectionType&&e.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,e),this._schema=e}static get(e,t){return g.from((0,d.prototypeOf)(e),t)}};_=y([w(d.DecoratorTypes.PROP)],_);const N=_;class D extends Map{$kind="map";$isJsonDocument=!0;constructor(e={}){super(),this.assign(e)}assign(e={}){return Object.entries(e).forEach((([e,t])=>{(0,d.isFunction)(this[e])?this[e](t):this.set(e,t)})),this}toJSON(e){return u("map",[this],e)}}var I;function L(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function k(e){return Object.values(I).includes(L(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(I||(I={}));class H extends D{$kind="operationInParameter";nestedGenerics=[];groups;groupsName;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",L(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(e){return u("operationInParameter",[this],e)}}let j=class extends g{paramType;expression;dataPath;pipes;parameter=new H;parent=g.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(e,t){const r=[],s=(0,d.ancestorsOf)(e).reverse().find((e=>(0,d.isMethodDescriptor)(e,t)&&g.fromMethod(e,t).children.size));return s?(g.fromMethod(s,t).children.forEach(((e,t)=>{r[+t]=e})),r):[]}static get(e,t,r){return g.from((0,d.prototypeOf)(e),t,r)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(e){return(0,d.isCollection)(e)||!(0,d.isClass)(e)?$.from({type:e}):g.from(e).schema}build(){if(!this._type){const e=d.Metadata.getParamTypes((0,d.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(e)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};j=y([w(d.DecoratorTypes.PARAM),O("design:paramtypes",[Object])],j);const q=j,G=e=>Number(e)&&200<=Number(e)&&Number(e)<300,U=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function B(e){return Object.keys(e).reduce(((t,r)=>{const s=e[r];let n=typeof s,i={example:s};return"object"===n&&(i=s,i.example=void 0===i.value?i.example:i.value,delete i.value,n=typeof i.example),i.type=i.type||n,t[r]=(0,d.cleanObject)(i),t}),{})}function K(e,t=D){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new D)}class J extends D{$kind="operationMedia";groups=[];groupsName;allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}}class F extends D{$kind="operationResponse";status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",B(e)),this}content(e){return this.set("content",K(e,J)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new J),this}}class V extends D{$kind="operation";operationPaths=new Map;#u;#h=!1;constructor(e={}){super({parameters:[],responses:new D,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#u}tags(e){return super.set("tags",e),this}addTags(e){return e=(0,d.uniqBy)([...this.get("tags")||[],...e],"name"),this.tags(e)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#u=e,this}getStatus(){return this.#u||200}setRedirection(e=302){return this.#h=!0,this.#u=e,this}isRedirection(e){return this.#h&&e?U(e):this.#h}addResponse(e,t){if((G(e)||U(e))&&!this.#u){const t=this.getResponseOf(200);this.getResponses().set(e.toString(),t).delete("200"),this.defaultStatus(Number(e))}const r="default"===e?this.getStatus().toString():e.toString(),s=this.getResponses().get(r);return s?(t.forEach(((e,t)=>{["content"].includes(t)||s.set(t,(0,d.deepMerge)(s.get(t),e))})),s.status=Number(r)):(t.status=Number(r),this.getResponses().set(r,t)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new F}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(e,t){const r=this.get("security")||{};return r[e]=(0,d.uniq)([...r[e]||[],...t]),this.security(r)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(e){const t=(0,d.uniq)([].concat(this.get("produces"),e)).filter(Boolean);this.set("produces",t)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}getAllowedOperationPath(e){return e?[...this.operationPaths.values()].filter((({method:t})=>t&&e.includes(t.toUpperCase()))):[...this.operationPaths.values()]}}let W=class extends g{parent=g.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new V;children=new Map;constructor(e){super({store:d.Store.fromMethod(e.target,e.propertyKey),descriptor:(0,d.descriptorOf)(e.target,e.propertyKey),...e});const{beforeMiddlewares:t=[],middlewares:r=[],afterMiddlewares:s=[]}=e;this.after(s),this.before(t),this.use(r)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(e,t,r){return r=r||(0,d.descriptorOf)((0,d.prototypeOf)(e),t),g.from((0,d.prototypeOf)(e),t,r)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const s=this.operation.getResponseOf(e).getMedia(t,!1);if(s&&s.has("schema")){const e=s.get("schema");let t=s.groups;return r&&s.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>s.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(e){return this.beforeMiddlewares=this.beforeMiddlewares.concat(e).filter(d.isFunction),this}after(e){return this.afterMiddlewares=this.afterMiddlewares.concat(e).filter(d.isFunction),this}use(e){return this.middlewares=this.middlewares.concat(e).filter(d.isFunction),this}get(e){const t=d.Store.from(this.target).get(e);return(0,d.deepMerge)(t,this.store.get(e))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let e=d.Metadata.getReturnType(this.target,this.propertyKey);e=(0,d.isPromise)(e)?void 0:e,this.buildType(e)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,d.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=$.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};W=y([w(d.DecoratorTypes.METHOD),O("design:paramtypes",[Object])],W);const X=W;function z(...e){return g.from(...e)}f.set(d.DecoratorTypes.CLASS,M),f.set(d.DecoratorTypes.PROP,_),f.set(d.DecoratorTypes.PARAM,j),f.set(d.DecoratorTypes.METHOD,W);class Q extends Map{$kind="operationPaths";$isJsonDocument=!0;setOperationPath(e){const t=this.getKey(e.method,e.path);this.set(t,e)}getKey=(e,t)=>`${e}-${t}`}function Y(e){const t=e.isStore?e:z(e);return t.$inherited||(t.$inherited=(0,d.ancestorsOf)(t.target).reverse().reduce(((e,t)=>e.set(t,z(t))),new Map)),t.$inherited}function Z(e){const t=e.isStore?e:z(e);if(!t.$operations){const e=new Q;t.$operations=new Map,Y(t).forEach((e=>{e.children.forEach((e=>{e instanceof W&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function ee(e){return!e.store.get("hidden")}const te=[e.PUBLISH,e.SUBSCRIBE];function re(e,{channels:r,rootPath:s,...n}){const i=m(s+z(e).path);return n={...n,ctrlRootPath:i},[...Z(e).values()].filter(ee).flatMap((e=>{const t=e.operation.getAllowedOperationPath(te);return 0===t.length?[]:t.map((t=>({operationPath:t,operationStore:e})))})).reduce(function(e){return(r,{operationPath:s,operationStore:n})=>{const i=e.ctrlRootPath||"/",o=s.method.toLowerCase(),a=(0,t.camelCase)(`${o.toLowerCase()} ${n.parent.schema.getName()}`),c=u("message",[n,s],e);return{...r,[i]:{...r[i],[o]:{...r[i]?.[o],operationId:a,message:{oneOf:[...r[i]?.[o]?.message?.oneOf||[],c]}}}}}}(n),r)}var se;function ne(e,t){return t.length?1===t.length?t[0]:{[e]:t}:null}function ie(t,r,{tags:s=[],defaultTags:n=[],...i}={}){const{path:o,method:a}=r,c=String(o);let p=(0,d.getValue)(i.components,"messages."+o,(0,d.cleanObject)({description:t.operation.get("description"),summary:t.operation.get("summary")}));if(a.toUpperCase()===e.PUBLISH){const s=u("payload",[t,r],i);s&&(p.payload=s);const n=t.operation.getAllowedOperationPath([e.SUBSCRIBE]).map((e=>u("message",[t,e],i))).filter(Boolean),o=ne("oneOf",n);o&&(p["x-response"]=o)}else{const e=u("response",[t,r],i);e&&(p["x-response"]=e)}return i.components.messages=i.components.messages||{},i.components.messages[c]=p,{$ref:`#/components/messages/${c}`}}function oe(e,t){return e.reduce(((e,r,s)=>e.set(r,t[s])),new Map)}function ae(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...s}=e;return{...s,generics:oe(t,r)}}return e}function ce(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}function pe(e,r,s){const n=e.operation.get("parameters").filter((e=>k(e.get("in")))),i=(0,t.pascalCase)([r.path,r.method,"Payload"].join(" "));(0,d.setValue)(s,`components.schemas.${i}`,{});const o=n.map((e=>{const t=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,s),r=u("item",[e.$schema],{...t,...ce(e)});switch(e.get("in")){case I.BODY:return r;case I.QUERY:case I.PATH:case I.HEADER:return{type:"object",properties:{[e.get("name")]:r}}}return r}),{}).filter(Boolean);return ne("allOf",o)}function ue(e,r,s){const n=e.operation.getResponses(),i=[],o=[],a=[],c=[];[...n.entries()].forEach((([e,t])=>{const r=u("map",[t],s);if(i.push(+e),o.push(r.description),204!=+e){const{content:e}=r,t=e[Object.keys(e)[0]];a.push(t)}}));const p=(0,t.pascalCase)([r.path,r.method,"Response"].join(" ")),h={type:"object",properties:{status:{type:"number",enum:i},statusText:{type:"string",enum:o}},required:["status"]},l=ne("oneOf",a);l&&(0,d.setValue)(h,"properties.data",l);const m=ne("oneOf",c);return c.length&&(0,d.setValue)(h,"properties.error",m),(0,d.setValue)(s,`components.schemas.${p}`,h),{$ref:`#/components/schemas/${p}`}}c("channels",re),function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3",e.ASYNCAPI="asyncapi2"}(se||(se={})),c("generate",(function(e,t){const r={channels:u("channels",[e],t)};return r.tags=(0,d.uniqBy)(t.tags,"name"),t.components?.schemas&&Object.keys(t.components.schemas).length&&(r.components={...t.components,schemas:t.components.schemas}),r}),se.ASYNCAPI),c("message",ie,se.ASYNCAPI),c("payload",pe,se.ASYNCAPI),c("response",ue,se.ASYNCAPI);class he{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return z(this.getType()).schema}get name(){return(0,d.nameOf)(this.getType())}}function le(e,r){return r.groups&&r.groups.length?(0,t.pascalCase)(`${e} ${r.groupsName||r.groups.join(" ")}`):e}function me(e,t,r){const s=function(e){const{host:t="#/"+([se.OPENAPI,se.ASYNCAPI].includes(e.specType)?"components/schemas":"definitions")}=e;return t}(r),n={$ref:`${s}/${e}`},i=t.isNullable,o=t.isReadOnly,a=t.isWriteOnly;if(i||o||a)switch(r.specType){case se.OPENAPI:return(0,d.cleanObject)({nullable:!!i||void 0,readOnly:!!o||void 0,writeOnly:!!a||void 0,oneOf:[n]});case se.JSON:return(0,d.cleanObject)({readOnly:o,writeOnly:a,oneOf:[n]})}return n}function de(e,t,r){const s=le(e.getName(),r);return(0,d.setValue)(r,`components.schemas.${s}`,t),me(s,e,r)}function fe(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof he)return u("lazyRef",[e],t);if(e instanceof $&&e.get("enum")instanceof $){const r=e.get("enum");return de(r,r.toJSON(t),t)}if(e.$kind&&e.$isJsonDocument){const r=u(l([e.$kind,"map"],t),[e],ae(t));return e.canRef?de(e,r,t):r}return u("object",[e],t)}function ge(e,t){const r=g.from(e.class),s=le(r.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:s,properties:n,additionalProperties:i,items:o,...a}=e.toJSON(t),c={...u("any",[r.schema],{...t,...ce(e),root:!1}),...a};if(c.title){const r=le(c.title,t);return(0,d.setValue)(t.components,`schemas.${r}`,c),delete c.title,me(r,e,t)}return c}return(0,d.getValue)(t,`components.schemas.${s}`)||((0,d.setValue)(t,`components.schemas.${s}`,{}),t.components.schemas[s]=u("any",[r.schema],ae({...t,root:!1}))),me(s,e,t)}function ye(e,t){const{generics:r}=t;if(r&&e.$ref&&r.has(e.$ref)){let s=r.get(e.$ref);if((0,d.isPrimitiveClass)(s))return{type:A(s)};if(s===Date)return{type:"string",format:"date-time"};if(s.toJSON)return s.toJSON({...t,generics:void 0});if(s===Object)return{type:"object"};if((0,d.isClass)(s)){const e={class:s};return 0===t.nestedGenerics.length?u("class",[e],{...t,generics:void 0}):u("schema",[g.from(e.class).schema],{...t,...ce(t),root:!1})}}return e}function Oe(e,{target:t,...r}){const s=Array.from(Y(t).entries()).filter((([e])=>(0,d.classOf)(e)!==(0,d.classOf)(t)));if(s.length){const t=s.reduce(((e,[,t])=>(0,d.deepMerge)(e,u("schema",[t.schema],r))),{});e=(0,d.deepMerge)(t,e)}return e}function Se(e,t){return e&&e.isClass?u("class",[e],t):u("any",[e],t)}function be(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return me(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const s=e.getType()&&u("schema",[e.schema],ae(t));return de(e.schema,s,t)}function Re(e,{ignore:t=[],...r}={}){return r=ae(r),Array.from(e.entries()).reduce(((e,[s,n])=>(t.includes(s)||(e[s]=u("item",[n],r)),e)),{})}function Ae(e,t){if((0,d.isBoolean)(e.$ignore)&&e.$ignore)return!0;let r=e?.$hooks?.alter("ignore",!1,[t]);return r||(!1!==t.groups?e?.$hooks?.alter("groups",!1,[t.groups]):r)}function Te(e,t,r){if(!t?.isNullable)return e;let s=[].concat(e.type).filter(Boolean);switch(r.specType){default:case se.JSON:e.discriminator||(e.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(e)||e.oneOf.unshift({type:"null"}):e.type=(0,d.uniq)(["null",...s]));break;case se.OPENAPI:e.nullable=!0,e.oneOf||(s.length>1?(e.oneOf=s.map((e=>({type:e}))),delete e.type):e.type=s[0])}return e}function Ee(e,t){const{specType:r,operationIdFormatter:s,root:n,components:i,genericTypes:o,nestedGenerics:a,useAlias:c,genericLabels:p,...h}=t;return Object.entries(e).reduce(((r,[s,n])=>{if(!1!==t.withIgnoredProps&&!Ae(n,h)){const i={...t,groups:e?.$forwardGroups||n?.$forwardGroups?t.groups:void 0};r[s]=u("item",[n],i),r[s]=Te(r[s],n,i)}return r}),(0,d.isArray)(e)?[]:{})}function ve(e,t,r){return e.map((e=>u("item",[e],{...t,genericLabels:r.genericLabels})))}function Pe(e,t,r){return e.isClass?u("class",[e],t):u("any",[e],{...t,genericLabels:r.genericLabels})}function xe(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}function Ce(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}function $e(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function we(e,t,r){if(r.groups&&r.groups.includes("partial"))return e.discriminator?{...e,required:[e.discriminator.propertyName]}:e;let s=function(e,t,r){let s=e.required||[];return s=[...s,...t.$required],t.get("properties")&&(s=Object.entries(t.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),s)),$e((0,d.uniq)(s),t,r)}(e,t,r);return s=(0,d.uniq)(s).reduce(function(e,t,r={}){const{useAlias:s}=r,n=Object.keys(e.properties||{});return(r,i)=>{const o=s&&t.alias.get(i)||i;if(n.includes(o)){const s=t.get("properties")[i],n=e.properties[o];return e.properties[o]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(n,s),r.concat(o)}return r}}(e,t,r),[]),e.discriminator&&s.push(e.discriminator.propertyName),s.length?{...e,required:s}:e}function Me(e,t,r){return r.inlineEnums&&e.enum?.$isJsonDocument&&(e.enum=e.enum.toJSON().enum),e.enum&&(e.type="object"===e.type||void 0===e.type?"string":e.type),e}c("any",fe),c("class",ge),c("generics",ye),c("inheritedClass",Oe),c("item",Se),c("lazyRef",be),c("map",Re),c("object",Ee),c("anyOf",ve),c("allOf",ve),c("oneOf",ve),c("properties",Pe),c("items",Pe),c("additionalProperties",Pe),c("propertyNames",Pe),c("contains",Pe),c("dependencies",Pe),c("patternProperties",Pe),c("additionalItems",Pe),c("not",Pe),c("definitions",Pe);const _e=["name","$required","$hooks","_nestedGenerics",se.OPENAPI,se.SWAGGER,se.JSON],Ne=["const"];function De(e,t){const{options:r,addDef:s}=function(e){let t=!1;e||(t=!0,e={components:{schemas:{}},inlineEnums:!0});const{useAlias:r=!0,components:s={schemas:{}}}=e;return{addDef:t,options:e={...e,useAlias:r,components:s}}}(t),n=function(e,t){let r=function(e,t){const{useAlias:r}=t;return[...e.keys()].filter((e=>!function(e,{specType:t=se.JSON,customKeys:r=!1}){return _e.includes(e)||e.startsWith("#")&&(!1===r||t!==se.JSON)||t!==se.JSON&&Ne.includes(e)}(e,t))).reduce(((s,n)=>{let i=e.get(n);if("type"===(n=n.replace(/^#/,"")))return{...s,[n]:e.getJsonType()};if(function(e,t,r){return"examples"===e&&(0,d.isObject)(t)&&[se.OPENAPI,se.ASYNCAPI].includes(r.specType)}(n,i,t)&&(n="example",i=Object.values(i)[0]),i&&"object"==typeof i&&h(n)){if(i=u(n,[i],t,e),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(n,i))return s;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(n,i,r)&&(i=xe(i,e.alias))}return{...s,[n]:i}}),{})}(e,t);return e.isClass&&(r=u("inheritedClass",[r],{...t,root:!1,target:e.getComputedType()})),r=u("generics",[r],{...t,root:!1}),e.has(t.specType)&&(r={...r,...e.get(t.specType).toJSON(t)}),r=we(r,e,t),r=Te(r,e,t),r=Ce(r,e,t),r=Me(r,0,t),r}(e,r);return s&&Object.keys((0,d.getValue)(r,"components.schemas",{})).length&&(n.definitions=r.components.schemas),n}function Ie(e,t){const r={paths:u("paths",[e],t={...t,specType:se.OPENAPI})};return r.tags=(0,d.uniqBy)(t.tags,"name"),Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(r.components={schemas:t.components.schemas}),r}function Le(e,{jsonSchema:t}){const r={type:"string",format:"binary",oneOf:void 0};return"array"===t.type?(t.items=(0,d.cleanObject)({...t.items,...r}),e.schema=t,e):(e.schema=(0,d.cleanObject)({...t,...r}),e)}function ke(e,r){const s=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,r),n={...s.components?.schemas||{}},{type:i,schema:o,...a}=u("map",[e],s),c=u("item",[e.$schema],{...s,...ce(e)});a.required=a.required||e.get("in")===I.PATH;const p={...s,jsonSchema:c,jsonParameter:e,oldSchemas:n},l=(0,t.camelCase)(`operationIn ${e.get("in")}`);return h(l)?u(l,[a],p):(a.schema=c,a)}function He(e,t){return e.flatMap((e=>u("operationInParameter",[e],t))).filter(Boolean)}function je(e,t){if(!t)return;let r=!1;const s=Object.entries(t).reduce(((t,[s,{value:n,description:i,...o}])=>void 0===n[e]?t:(r=!0,{...t,[s]:{...o,value:n[e],description:i}})),{});return r?s:void 0}function qe(e,{jsonSchema:t,jsonParameters:r,...s}){if(t.$ref){if(!e.name)return function(e,{jsonParameter:t,...r}){const s=le(t.$schema.getName(),r),n=r.components?.schemas?.[s];return n&&!r.oldSchemas?.[s]&&delete r.components.schemas[t.$schema.getName()],Object.entries(n?.properties||{}).reduce(((t,[r,{description:s,...i}])=>[...t,(0,d.cleanObject)({...e,name:r,required:(n?.required||[]).includes(r),description:s,schema:i,style:i.$ref?"deepObject":void 0,examples:je(r,e.examples)})]),[])}(e,s);e.style="deepObject"}return e.schema=t,e}c("schema",De),c("generate",Ie,se.OPENAPI),c("generate",Ie,se.SWAGGER),c("operationInFiles",Le),c("operationInParameter",ke),c("operationInParameters",He),c("operationInQuery",qe);var Ge=n(203),Ue=n.n(Ge);const Be=Ue().codes.reduce(((e,r)=>{const s=String(Ue()(r));return{...e,[String(r)]:{label:s,code:(0,t.constantCase)(s)}}}),{});function Ke(e){return Be[e]?.code}function Je(e){return Be[e]?.label}function Fe(e,{tags:t=[],defaultTags:r=[],...s}={}){const{consumes:n,produces:i,...o}=u("map",[e],{...s,ignore:["parameters"]});o.security&&(o.security=[].concat(o.security)),0===e.get("responses").size&&(o.responses={200:{description:Je(200)}});const a={...s,consumes:e.get("consumes")?.length?e.get("consumes"):["application/json"]},[c,p]=function(e,t){return e.get("parameters").filter((e=>k(e.get("in")))).reduce(((e,t)=>{const[r,s]=e;return[I.BODY,I.FILES].includes(t.get("in"))?[r,[...s,t]]:[[...r,t],s]}),[[],[]])}(e);o.parameters=u("operationInParameters",[c],s),p.length&&(o.requestBody=u("operationRequestBody",[p],a));const h=o.tags?.length?o.tags:r;return h.length&&(o.tags=h.map((({name:e})=>e))),t.push(...h),o}function Ve(e,t){return u("map",[e],{...t,groups:[...e.groups||[]],groupsName:e.groupsName})}Be[200].label="Success",Be[200].code="SUCCESS",c("operation",Fe),c("operationMedia",Ve);class We extends D{$kind="operationRequestBody";constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",K(e)),this}addContent(e,t,r){const s=this.get("content"),n=new D;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function Xe(e,{consumes:t,...r}){const{schema:s,examples:n,in:i,...o}=function(e,t){let r=new $;const s={},n=[];let i=0;const o=e.some((e=>"files"===e.get("in")));return e.forEach((e=>{const a=e.getName();[...e.entries()].filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===s[e]&&(s[e]=t)}));const c=u("operationInParameter",[e],t);if(a){const t={...c.schema||{type:c.type}};o&&c.description&&(t.description=c.description),r.addProperty(a,t),e.get("required")&&r.addRequired(a),i++}else n.push(c)})),i||1!==n.length?(r.type("object"),s.description&&o&&delete s.description,{schema:r.toJSON(t),required:!1,...s}):n[0]}(e,r),a=new We(o);return t.forEach((e=>{a.addContent(e,s,n)})),u("map",[a],r)}function ze(e,t={}){const r=u("map",[e],t);return 204===e.status&&delete r.content,r.headers&&Object.entries(r.headers).forEach((([e,{type:t,...s}])=>{r.headers[e]={...s,schema:{type:t}}})),r}function Qe(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function Ye(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],s=[];let n=!1,i="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const o=e.includes("?");o&&!n&&(n=!0,s.push({path:i,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:p}=function(e){const[t,r]=e.split("="),s=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:s.splice(0,1)[0],postfix:s.length?`.${s.join(".")}`:""}}(t);i+=`/${a}{${c}}${p}`,r.push({in:"path",name:c,type:"string",required:!0}),o&&n&&s.push({path:i,parameters:[].concat(r)})}else i+=`/${e}`})),s.length?s:[{path:i,parameters:[].concat(r)}]}function Ze(e=""){const r=new Map;return(s,n,i="")=>{const o=((r,s)=>{const n=(e||"%c.%m").replace(/%c/,r).replace(/%m/,s);return""===e?(0,t.camelCase)(n):n})(s,n),a=s+n;if(!r.has(a))return r.set(a,0),o;const c=i.match(/{(\w+)}/gi);if(c){const e=s+n+c[0];if(!r.has(e))return r.set(e,0),(0,t.camelCase)(`${o} By ${c}`)}const p=r.get(a)+1;return r.set(a,p),`${o}_${p}`}}function et(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}c("operationRequestBody",Xe),c("operationResponse",ze);const tt=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.OPTIONS,e.DELETE,e.TRACE];function rt(e,{path:t,method:r,operation:s}){return{...e,[t]:{...e[t],[r.toLowerCase()]:s}}}function st(e,{paths:t,rootPath:r,...s}){const n=m(r+z(e).path);return s={...s,ctrlRootPath:n},[...Z(e).values()].filter(ee).filter((e=>e.operation.getAllowedOperationPath(tt).length>0)).flatMap(function(e){return t=>{const r=t.operation.getAllowedOperationPath(tt);if(0===r.length)return[];const s=u("operation",[t.operation],e);return r.map((e=>({operationPath:e,operation:s,operationStore:t})))}}(s)).flatMap(function(e){return({operationPath:t,operation:r,operationStore:s})=>{const{path:n,method:i}=t;return Ye(e.ctrlRootPath,n).map((({path:t,parameters:n})=>(t=t||"/",n=Qe(n.map((({type:e,...t})=>({...t,schema:{type:e}}))),r),{operation:{...r,parameters:n,operationId:r.operationId||et(t,{...e,store:s})},method:i,path:t})))}}(s)).reduce(rt,t)}function nt(e){return(...t)=>{const r=e(z(...t),t);"function"==typeof r&&r(...t)}}function it(...e){return nt((t=>{t.store.set("childrenControllers",e),e.forEach((e=>{d.Store.from(e).set("parentController",t.token)}))}))}function ot(e,...r){return nt((s=>{e=e||(0,t.snakeCase)(s.targetName),s.discriminatorAncestor&&s.schema.discriminatorValue(e,...r)}))}function at(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const r={};let s=!1;const n=(...n)=>{const i=g.from(...n);t&&(i.collectionType=t,i.schema.type(t)),i.type=e,i.itemSchema.type(e),i.schema.assign(r),i.isArray&&s&&(i.schema.set("contains",i.schema.get("items")),i.schema.delete("items"))};return n.MinItems=e=>(r.minItems=e,n),n.MaxItems=e=>(r.maxItems=e,n),n.MinProperties=e=>(r.minProperties=e,n),n.MaxProperties=e=>(r.maxProperties=e,n),n.Contains=()=>(s=!0,n),n.UniqueItems=(e=!0)=>(r.uniqueItems=e,n),n}function ct(e){return at(e,Array)}function pt(e){return at(e,Map)}function ut(e){return at(e).Contains()}function ht(e,t){const r={};return(...s)=>{const n=(0,d.useDecorators)(t(...s));return n.Error=t=>(r.message=t,(0,d.useDecorators)(n,r.message&&nt((r=>{const s=r.parentSchema.get("#errorMessage")||{};"required"===e?r.parentSchema.customKey("errorMessage",(0,d.deepMerge)(s,{[e]:{[r.propertyName]:t}})):r.itemSchema.customKey("errorMessage",(0,d.deepMerge)(s,{[e]:t}))})))),n}}c("paths",st);const lt=ht("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return nt((t=>{t.schema.maxItems(e)}))})),mt=ht("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),dt=ht("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return nt((t=>{t.schema.minItems(e)}))})),ft=ht("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),gt=ht("uniqueItems",((e=!0)=>nt((t=>{t.schema.uniqueItems(e)}))));function yt(e){return nt(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Ot(...e){return nt((t=>{t.itemSchema.allOf(e)}))}function St(e){return nt((t=>{e&&(((0,d.isClass)(e)||(0,d.isArrowFn)(e))&&(t.type=e),t.itemSchema.type(e))}))}function bt(...e){const t=e.find((e=>(0,d.isClass)(e)));return(0,d.useDecorators)(t&&St(t),nt(((t,r)=>{t.schema.allow(...e),t.decoratorType===d.DecoratorTypes.PARAM&&(t.required=!0),t.decoratorType===d.DecoratorTypes.PROP&&t.parentSchema.addRequired(t.propertyName)})))}function Rt(...e){return nt((t=>{t.itemSchema.any(...e)}))}function At(...e){return nt((t=>{t.itemSchema.anyOf(e)}))}function Tt(e){return nt((t=>{t.itemSchema.const(e)}))}function Et(e,t){return nt((r=>{r.itemSchema.customKey(e,t)}))}function vt(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function Pt(e){return nt((t=>{t.itemSchema.default(e)}))}function xt(e){return nt((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function Ct(e){return(0,d.useDecorators)(xt({_:e}))}function $t(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.PROP:case d.DecoratorTypes.CLASS:t.schema.description(e);break;case d.DecoratorTypes.PARAM:t.parameter.description(e);break;case d.DecoratorTypes.METHOD:t.operation?.description(e)}}))}function wt(){return(0,d.useDecorators)(St(),nt((e=>{e.discriminatorKey()})))}const Mt=ht("enum",(function(e,...t){return nt((r=>{r.itemSchema.enum(e,...t)}))}));function _t(...e){return nt((t=>{t.schema.examples(e)}))}function Nt(e){return nt((t=>{t.parameter.examples(e)}))}const Dt=ht("maximum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),It=Dt,Lt=ht("exclusiveMaximum",((e,t=!0)=>Dt(e,t))),kt=ht("minimum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),Ht=kt,jt=ht("exclusiveMinimum",((e,t=!0)=>kt(e,t)));var qt;!function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(qt||(qt={}));const Gt=ht("format",(e=>nt((t=>{t.itemSchema.format(e)})))),Ut=ht("format",(()=>Gt(qt.EMAIL))),Bt=ht("format",(()=>Gt(qt.DATE_TIME))),Kt=ht("format",(()=>Gt(qt.DATE))),Jt=ht("format",(()=>Gt(qt.TIME))),Ft=ht("format",(()=>Gt(qt.URI))),Vt=ht("format",(()=>Gt(qt.URL)));function Wt(e=!0){return nt((t=>{t.schema.$forwardGroups=e}))}var Xt=n(133),zt=n.n(Xt);function Qt(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,s=new Set,n=new Set,i=0,o=e=>{n.add(e.output)};for(let n=0;n<t.length;n++){let a=zt()(String(t[n]),{onResult:o},!0),c=a.state.negated||a.state.negatedExtglob;c&&i++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),s.add(e.output)))}}return!!(i===t.length?[...n]:[...s]).filter((e=>!r.has(e))).length}function Yt(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&Qt(r,t))||!!s.length&&!Qt(e.filter((e=>!e.startsWith("!"))),t)}function Zt(...e){return nt((t=>{switch(t.decoratorType){case d.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{Zt(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(e,t);break;case d.DecoratorTypes.PROP:t.schema.$hooks.on("groups",((t,r)=>!(t||!Yt(e,r))||t));break;case d.DecoratorTypes.PARAM:let r="";2==e.length&&(0,d.isArray)(e[1])&&(r=e[0],e=e[1]),t.parameter.groups=e,t.parameter.groupsName=r}}))}function er(){return(0,d.StoreSet)("hidden",!0)}function tr(e=!0){return nt((t=>{t.schema.ignore(e)}))}function rr(){return nt((e=>{e.itemSchema.type("integer")}))}const sr=ht("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.maxLength(e)}))})),nr=ht("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.minLength(e)}))})),ir=ht("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return nt((t=>{t.itemSchema.multipleOf(e)}))}));function or(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.CLASS:t.schema.name(e);break;case d.DecoratorTypes.PARAM:t.parameter.name(e);break;default:t.parent.schema.addAlias(r[1],e)}}))}function ar(e,...t){return t=[e,...t],(0,d.useDecorators)(1===t.length&&St(t[0]),Rt(null,...t))}function cr(...e){return nt((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function pr(){return nt((e=>{switch(e.decoratorType){case d.DecoratorTypes.PARAM:e.required=!1;break;case d.DecoratorTypes.PROP:e.parentSchema.removeRequired(e.propertyName)}}))}const ur=ht("pattern",(e=>nt((t=>{t.itemSchema.pattern(e)}))));function hr(e=!0){return nt((t=>{t.itemSchema.readOnly(e)}))}function lr(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function mr(e,t){return nt((r=>{r.schema.set(e,t)}))}function dr(e,...t){return lr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const fr=ht("required",((e=!0,...t)=>e?bt(...t):pr()));function gr(...e){return nt((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>Yt(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function yr(e){return nt((t=>{t.schema.title(e)}))}function Or(e){return nt((()=>(0,d.useDecorators)(xt({type:e}))))}function Sr(e=!0){return nt((t=>{t.itemSchema.writeOnly(e)}))}function br(e=Object){if((0,d.isClass)(e)){const{schema:t}=z(e);return t.properties=function(t){return Object.entries(t).forEach((([t,r])=>{z(e.prototype,t).schema.assign(r)})),this},t}return $.from({type:e})}function Rr(){return br(Number)}function Ar(){return br(Number).integer()}function Tr(){return br(String)}function Er(){return br(Boolean)}function vr(){return br(Date).format(qt.DATE)}function Pr(){return br(Date).format(qt.DATE_TIME)}function xr(){return br(Date).format(qt.TIME)}function Cr(){return br(String).format(qt.EMAIL)}function $r(){return br(String).format(qt.URI)}function wr(){return br(String).format(qt.URL)}function Mr(){return br(Array)}function _r(){return br(Map).unknown(!0)}function Nr(){return br(Array).uniqueItems(!0)}function Dr(e={}){return br(Object).properties(e)}function Ir(...e){return br().any(...e)}function Lr(...e){return br().anyOf(e)}function kr(...e){return br().oneOf(e)}function Hr(...e){return br().allOf(e)}function jr(e){try{if(e())return g.from(e()).schema}catch(e){}return new he(e)}function qr(e){const t=Tr().enum(e);return S.set(e,t),t}function Gr(...e){const t=[e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Tr().enum(Object.values(e)):e))],r=(...e)=>{g.from(...e).nestedGenerics=t};return r.Nested=(...e)=>(t.push(e),r),r}function Ur(...e){return t=>{g.from(t).schema.genericLabels=e}}function Br(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.produces(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Br(...e));break;default:throw new d.UnsupportedDecoratorType(Br,r)}}))}function Kr(...e){return(0,d.useDecorators)(Br(...e),(0,d.StoreSet)("acceptMimes",e))}function Jr(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.consumes(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Jr(...e));break;default:throw new d.UnsupportedDecoratorType(Jr,r)}}))}class Fr extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),r=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((s=>{e[(0,t.pascalCase)(s)]=r(s)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(e,t){let r=this.get(e)||t;if(r)return this.decoratorType===d.DecoratorTypes.CLASS&&(r={...r,...t||{}}),{...t||{},...r}}bind(e,t){this.entity=g.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const Vr=new Map;function Wr(e,t){Vr.set(e,t)}function Xr(e){return Vr.get(e)}function zr(e){return e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Tr().enum(Object.values(e)):e))}class Qr extends Fr{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&Je(e)&&!this.get("description")&&(this.set("description",Je(e)),this.get("model")||this.model(Xr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...B(e)}),this}header(e,t){return void 0===t&&(0,d.isString)(e)?this.headers({[e]:{type:"string"}}):this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...e){return 2===e.length&&(0,d.isArray)(e[1])?(this.set("groupsName",e[0]),this.set("groups",e[1])):this.set("groups",e),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(zr(e))})),this}of(...e){const t=this.get("model");return this.checkPrimitive(t),this.addAction((()=>{const r=this.get("schema");(0,d.isCollection)(t)?r?.itemSchema({type:e[0]}):r?.nestedGenerics.push(zr(e))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(e){return this.set("examples",(0,d.isString)(e)?[e]:e),this}title(e){return this.schema({title:e})}checkPrimitive(e){if((0,d.isPrimitiveOrPrimitiveClass)(e))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(e){if((0,d.isCollection)(e))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const e=this.get("model");let t=this.get("contentType");return!e||(0,d.isPlainObject)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(t=t||"application/json"),t}getStatus(){return this.get("status")||"default"}onInit(e,t){switch((0,d.decoratorTypeOf)(e)){case d.DecoratorTypes.METHOD:this.entity=g.from(...e),this.entity.operation&&this.map();break;case d.DecoratorTypes.CLASS:this.decoratorType=d.DecoratorTypes.CLASS,(0,d.decorateMethodsOf)(e[0],t)}}map(){const e=this.get("model"),{entity:t,decoratorType:r}=this,s=this.entity.operation,n=this.getStatus(),i=s.ensureResponseOf(n),o=this.getContentType();let{description:a=i.get("description")}=this.toObject();a&&(a=r===d.DecoratorTypes.CLASS&&i.get("description")||a,i.description(a));const c=this.getMergedKey("headers",i.get("headers"));return c&&i.headers(c),this.mapMedia(i),(G(this.get("status"))||"default"===n)&&e&&(t.type=e),o&&s.addProduce(o),this.runActions()}mapMedia(e){const t=this.getContentType(),r=this.get("model"),s=e.getMedia(t||"*/*"),n=s.get("schema")||new $({type:r}),i=this.get("groups"),o=this.get("groupsName"),a=this.get("allowedGroups"),c=this.entity.operation;if(r&&((0,d.isArray)(r)?n.oneOf(r.map((e=>({type:e})))):n.type(r)),this.set("schema",n),s.schema(n),s.groups=i,s.groupsName=o,a){s.allowedGroups=a;const e=new H;e.in("query").name("includes"),e.schema($.from({type:"array",items:{type:"string",enum:[...a]}})),c.addParameter(-1,e)}const p=this.get("examples");return p&&s.examples(p),s}manyOf(e,t){const r=this.get("model");return this.addAction((()=>{const s=this.get("schema");(0,d.isCollection)(r)?(s.type(r||Object),s.itemSchema().set(e,t)):s.set(e,t)})),this}}function Yr(e,t){return new Qr({status:e,model:t}).build()}function Zr(e){return Yr().ContentType(e)}function es(e=!0){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.METHOD:t.operation.deprecated(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],es(e));break;case d.DecoratorTypes.PARAM:t.parameter.set("deprecated",e);break;case d.DecoratorTypes.PROP:t.schema.set("deprecated",e);break;default:throw new d.UnsupportedDecoratorType(es,r)}}))}function ts(e,t){return void 0!==t&&(e={[e]:t}),void 0===t&&(0,d.isString)(e)&&(e={[e]:{type:"string"}}),Yr().Headers(e)}function rs(e){const t=new H,r={},s=(n,i,o)=>{const a=g.from(n,i,o);switch(a.decoratorType){case d.DecoratorTypes.PARAM:a.parameter.in(e);break;case d.DecoratorTypes.METHOD:t.in(e),a.operation.addParameter(-1,t),t.schema($.from(r));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(n,s);break;default:throw new d.UnsupportedDecoratorType(rs,[n,i,o])}};return s.Type=e=>(r.type=e,s),s.Name=e=>(t.name(e),s),s.Description=e=>(t.description(e),s),s.Required=(e=!0)=>(t.required(e),s),s.Pattern=e=>s.Schema({pattern:e.toString()}),s.Schema=e=>(Object.assign(r,e.toJSON?e.toJSON():e),s),s}function ss(e){return(...t)=>{const[r,s,n]=t,i=d.Metadata.getParamTypes(r,s)[n]===Array,o=[e="object"==typeof e?void 0:e,!i&&"0"].filter(Boolean).join(".");(0,d.useDecorators)(rs(I.FILES),or(o),(0,d.useMethodDecorators)(Yr(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),Jr("multipart/form-data")))(...t)}}function ns(e,t){return Yr().Location(e,t)}const is=new Set([...Object.keys(e).filter((t=>t!==e.CUSTOM)).map((e=>e.toLowerCase()))]);function os(e){let t,r;const s=e.filter((e=>"string"==typeof e&&is.has(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:s}}class as extends Fr{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const t=this.get("path"),r=e[this.get("method")]||e.CUSTOM;t&&this.entity.operation.addOperationPath(r,t)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function cs(...e){const t=os(e);return new as(t).build()}function ps(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(ps,r);t.operation.operationId(e)}))}function us(e,t="/"){return nt(((r,s)=>{if(r.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(us,s);r.operation.addOperationPath(e.toUpperCase(),t)}))}function hs(){return Zt("partial")}function ls(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.CLASS)throw new d.UnsupportedDecoratorType(ls,r);t.path=e}))}function ms(t){return cs(e.PUBLISH,t)}function ds(...e){const{status:t,url:r,meta:s}=e.reduce(((e,t)=>(0,d.isNumber)(t)?(e.status=t,e):(0,d.isString)(t)?(e.url=t,e):(e.meta=t,e)),{status:302,url:"",meta:{}});return(0,d.useDecorators)(Yr(t).Location(r,s),nt((e=>{e.operation?.setRedirection(t)})))}const fs=cs;function gs(t="/",...r){return cs(...[e.ALL,t].concat(r))}function ys(t="/",...r){return cs(...[e.GET,t].concat(r))}function Os(t="/",...r){return cs(...[e.POST,t].concat(r))}function Ss(t="/",...r){return cs(...[e.PUT,t].concat(r))}function bs(t="/",...r){return cs(...[e.DELETE,t].concat(r))}function Rs(t="/",...r){return cs(...[e.HEAD,t].concat(r))}function As(t="/",...r){return cs(...[e.PATCH,t].concat(r))}function Ts(t="/",...r){return cs(...[e.OPTIONS,t].concat(r))}function Es(e,...t){return nt(((r,s)=>{switch(r.decoratorType){case d.DecoratorTypes.METHOD:r.operation.addSecurityScopes(e,t);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(s[0],Es(e,...t));break;default:throw new d.UnsupportedDecoratorType(Es,s)}}))}function vs(e,t){return Yr(e,t)}function Ps(t){return cs(e.SUBSCRIBE,t)}function xs(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(xs,r);t.operation.summary(e)}))}function Cs(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(e));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Cs(...e));break;default:throw new d.UnsupportedDecoratorType(Cs,r)}}))}function $s(e,t){return(0,d.StoreSet)("view",{path:e,options:t})}function ws(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),s=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+s.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class Ms{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return ws(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}const _s=(0,d.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),Ns=(0,d.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),Ds=(0,d.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),Is=(0,d.mergeReducerBuilder)(((e,t)=>e.name===t.name)),Ls={security:Ds,parameters:Ns,oneOf:_s,anyOf:_s,allOf:_s,tags:Is};function ks(e,t){return(0,d.deepMerge)(e,t,{reducers:Ls,cleanUndefinedProps:!0})}const Hs=new Map;function js(e,t={}){if(t={specType:se.OPENAPI,...t,tags:[],paths:{},channels:{},components:{},operationIdFormatter:t.operationIdFormatter||Ze(t.operationIdPattern),root:!1},(0,d.isArray)(e)){let r={};return t={...t,append(e){r=ks(r,e)}},e.forEach((({token:e,...r})=>{const s=js(e,{...t,...r});t.append(s)})),r}return function(e,t,r){Hs.has(e)||Hs.set(e,new Map);const s=Hs.get(e),n=JSON.stringify(t);return s.has(n)||s.set(n,r()),s.get(n)}(e,t,(()=>function(e,t){const r=z(e),{rootPath:s="/"}=t;return t={...t,rootPath:s,defaultTags:[(0,d.cleanObject)({name:r.schema.getName(),description:r.schema.get("description")})]},u("generate",[r],t)}(e,t)))}function qs(e){return e.startsWith("3.")?se.OPENAPI:se.SWAGGER}function Gs(e){return"openapi"in e?se.OPENAPI:se.SWAGGER}function Us(e){const{title:t,description:r,version:s,termsOfService:n,contact:i,license:o}=e;return(0,d.cleanObject)({version:s,title:t,description:r,termsOfService:n,contact:i,license:o})}function Bs(e,{version:t,specVersion:r,acceptMimes:s=["application/json"]}){const{paths:n,security:i,tags:o,host:a,basePath:c,schemes:p,consumes:u=[],produces:h=["application/json"],definitions:l,parameters:m,responses:f,securityDefinitions:g,externalDocs:y}=e;return{swagger:r,consumes:(0,d.uniq)([...s,...u]),produces:(0,d.uniq)([...h]),info:Us((0,d.getValue)(e,"info",{})),paths:n,host:a,basePath:c,schemes:p,definitions:l,parameters:m,responses:f,security:i,securityDefinitions:g,tags:o,externalDocs:y}}function Ks(e,{specVersion:t}){const{servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}=e;return{openapi:t,info:Us((0,d.getValue)(e,"info",{})),servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}}function Js(e,{fileSpec:t,acceptMimes:r,specVersion:s,version:n}){const i={specVersion:s=s||(0,d.getValue)(e,"openapi",(0,d.getValue)(e,"swagger","2.0")),acceptMimes:r};switch(qs(s)){case se.OPENAPI:e=Ks(e,i),t=t?Ks(t,i):t;break;default:case se.SWAGGER:e=Bs(e,i),t=t?Bs(t,i):t}return e=ks(e,t),(0,d.setValue)(e,"info.title",(0,d.getValue)(e,"info.title","Api documentation")),(0,d.setValue)(e,"info.version",(0,d.getValue)(e,"info.version",n)),e}const Fs=["get","put","post","delete","options","head","patch","trace"],Vs=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],Ws=["type","items"],Xs=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,zs={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Qs(e){if(Array.isArray(e))e.forEach(Qs);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Qs(e[t])}function Ys(e){return new RegExp(Xs,"i").test(e)}function Zs(e){const t=Object.keys(zs).map((e=>zs[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||Ys(e)))}function en(e){function t(e){const{scheme:t,type:r,name:s,bearerFormat:n,flows:i,...o}=e;switch(r){case"http":if("basic"===t)return{...o,type:t};if("bearer"===t)return{...o,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(i)[0],s=i[e];let n=e;return"clientCredentials"===n?n="application":"authorizationCode"===n&&(n="accessCode"),{type:r,flow:n,authorizationUrl:s.authorizationUrl,tokenUrl:s.tokenUrl,scopes:s.scopes}}}return Object.entries(e).reduce(((e,[r,s])=>({...e,[r]:t(s)})),{})}function tn(e){let t=e.url;const r=e.variables||{};for(const e in r){const s=r[e]||{};if(s.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,s.default)}}const s=new URL(t);return{host:s.host?s.host:void 0,basePath:s.pathname,schemes:null!==s.protocol?[s.protocol.substring(0,s.protocol.length-1)]:void 0}}class rn{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?tn(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const s=t.$ref;if(s.startsWith("#")){const t=s.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let n=e;return t.forEach((e=>{n=n[e]})),r?JSON.parse(JSON.stringify(n)):n}}convert(){const e={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Qs(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,d.cleanObject)({...e,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,s])=>{const n=e[r]=this.resolveReference({...t,paths:e},s,!0);return this.convertParameters(n),Object.keys(n).forEach((r=>{if(Fs.indexOf(r)>=0){const s=n[r]=this.resolveReference({...t,paths:e},n[r],!0);this.convertOperationParameters(s),this.convertResponses(s)}})),e}),e)}convertOperationParameters(e){let t,r,s,n;if(e.parameters=e.parameters||[],e.requestBody){let i=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=Zs(e.requestBody.content)[0],r={content:{}},s=e.requestBody.content[t];s&&s.schema&&s.schema.$ref&&!s.schema.$ref.startsWith("#")&&(i=this.resolveReference(this.spec,s.schema,!0),r.content[`${t}`]={schema:i},i=r)}if(i.name="body",t=i.content,t&&Object.keys(t).length){if(s=Object.keys(t).filter((e=>e.indexOf("/")>0)),n=s.filter((e=>e.indexOf("*")<0)),r=Zs(t)[0],delete i.content,[zs.APPLICATION_X_WWW_URLENCODED,zs.MULTIPART_FORM_DATA].includes(r))if(e.consumes=n,i.in="formData",i.schema=t[r].schema,i.schema=this.resolveReference(this.spec,i.schema,!0),"object"===i.schema.type&&i.schema.properties){const t=i.schema.required||[];Object.keys(i.schema.properties).forEach((r=>{const s=i.schema.properties[r];if(!s.readOnly){const n={name:r,in:"formData",schema:s};t.indexOf(r)>=0&&(n.required=!0),e.parameters?.push(n)}}))}else e.parameters.push(i);else r?(e.consumes=n,i.in="body",i.schema=t[r].schema,e.parameters.push(i)):s&&(e.consumes=n||["application/octet-stream"],i.in="body",i.name=i.name||"file",delete i.type,i.schema=t[s[0]].schema||{type:"string",format:"binary"},e.parameters.push(i));i.schema&&this.convertSchema(i.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,Vs),this.copySchemaProperties(t,Ws),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const s=r[t];"additionalProperties"===t&&"boolean"==typeof s||void 0!==s&&(e[t]=s)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,s=null;if(Object.keys(r.content).forEach((n=>{const i=n.indexOf("*")<0?n:"application/octet-stream";e.produces?e.produces.indexOf(i)<0&&e.produces.push(i):e.produces=[i];const o=r.content[n];t=t||o.schema,!s&&Ys(i)&&(s=o.schema),o.example&&(r.examples=r.examples||{},r.examples[i]=o.example)})),t){r.schema=s||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let s;if(/^[a-zA-Z0-9._-]+$/.test(r))try{s=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!s)try{s=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}s?(s["x-discriminator-value"]=t,s["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=en(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function sn(e){return new rn(e).convert()}async function nn({tokens:e,...t}){const{version:r="1.0.0",acceptMimes:s,specPath:n,specVersion:i}=t,o=Js((0,d.getValue)(t,"spec",{}),{fileSpec:{},version:r,specVersion:i,acceptMimes:s}),a=Gs(o),c=ks(o,js(e,t));return a===se.SWAGGER?sn(c):c}const on="$cache:schemes";function an(e,t={}){const r=z(e),s=t.specType||se.JSON;return t={endpoint:!0,groups:[],inlineEnums:s===se.JSON,...t,specType:s,components:{schemas:{}}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(on)||new Map,s=function(e){return JSON.stringify(e)}(t);if(!r.has(s)){const n=u("schema",[e.schema],t);Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(n.definitions=t.components.schemas),r.set(s,n)}return e.store.set(on,r),r.get(s)}(r,t)}function cn(e,t={}){const r=e.isStore?e:z(e),s=ws(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(cn(r,{...t,basePath:s}))),n)),[...Z(e).values()].reduce(((r,n)=>{const{operation:i}=n;return i&&i.getAllowedOperationPath(t.allowedVerbs).forEach((t=>{r.push(new Ms({basePath:s,token:e,endpoint:n,operationPath:t}))})),r}),n)}function pn(e){const t=e.isStore?e:z(e);if(!t.$properties){const e=Y(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function un(e,t={}){const r=pn(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&Ae(e.itemSchema,t)||s.set(r,e)})),s}})(),i})()));
|
|
3
3
|
//# sourceMappingURL=schema.umd.min.js.map
|