@tsed/schema 7.86.3 → 7.87.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/schema.umd.min.js +1 -1
- package/lib/browser/schema.umd.min.js.map +1 -1
- package/lib/cjs/components/default/anyMapper.js +1 -2
- package/lib/cjs/components/default/anyMapper.js.map +1 -1
- package/lib/cjs/components/default/classMapper.js +2 -22
- package/lib/cjs/components/default/classMapper.js.map +1 -1
- package/lib/cjs/components/default/discriminatorMappingMapper.js.map +1 -1
- package/lib/cjs/components/default/genericsMapper.js +61 -47
- package/lib/cjs/components/default/genericsMapper.js.map +1 -1
- package/lib/cjs/components/default/inheritedClassMapper.js.map +1 -1
- package/lib/cjs/components/default/lazyRefMapper.js +1 -2
- package/lib/cjs/components/default/lazyRefMapper.js.map +1 -1
- package/lib/cjs/components/default/mapMapper.js +0 -2
- package/lib/cjs/components/default/mapMapper.js.map +1 -1
- package/lib/cjs/components/default/nextMapper.js +80 -0
- package/lib/cjs/components/default/nextMapper.js.map +1 -0
- package/lib/cjs/components/default/nullableMapper.js.map +1 -1
- package/lib/cjs/components/default/objectMapper.js +8 -3
- package/lib/cjs/components/default/objectMapper.js.map +1 -1
- package/lib/cjs/components/default/ofMapper.js +2 -5
- package/lib/cjs/components/default/ofMapper.js.map +1 -1
- package/lib/cjs/components/default/requiredMapper.js +2 -2
- package/lib/cjs/components/default/requiredMapper.js.map +1 -1
- package/lib/cjs/components/default/schemaMapper.js +9 -7
- package/lib/cjs/components/default/schemaMapper.js.map +1 -1
- package/lib/cjs/components/index.js +1 -7
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/open-spec/enumsMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/generate.js.map +1 -1
- package/lib/cjs/components/open-spec/nullableMapper.js +5 -1
- package/lib/cjs/components/open-spec/nullableMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInFilesMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInParameterMapper.js +3 -7
- package/lib/cjs/components/open-spec/operationInParameterMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationInQueryMapper.js +21 -16
- package/lib/cjs/components/open-spec/operationInQueryMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationMediaMapper.js +5 -2
- package/lib/cjs/components/open-spec/operationMediaMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/operationRequestBodyMapper.js +4 -3
- package/lib/cjs/components/open-spec/operationRequestBodyMapper.js.map +1 -1
- package/lib/cjs/components/open-spec/pathsMapper.js +1 -0
- package/lib/cjs/components/open-spec/pathsMapper.js.map +1 -1
- package/lib/cjs/constants/VendorKeys.js +15 -0
- package/lib/cjs/constants/VendorKeys.js.map +1 -0
- package/lib/cjs/constants/httpStatusMessages.js +1 -1
- package/lib/cjs/constants/httpStatusMessages.js.map +1 -1
- package/lib/cjs/decorators/class/children.js.map +1 -1
- package/lib/cjs/decorators/collections/collectionOf.js +29 -0
- package/lib/cjs/decorators/collections/collectionOf.js.map +1 -1
- package/lib/cjs/decorators/common/allow.js.map +1 -1
- package/lib/cjs/decorators/common/any.js.map +1 -1
- package/lib/cjs/decorators/common/defaultMsg.js.map +1 -1
- package/lib/cjs/decorators/common/description.js +8 -11
- package/lib/cjs/decorators/common/description.js.map +1 -1
- package/lib/cjs/decorators/common/discriminatorKey.js +1 -1
- package/lib/cjs/decorators/common/discriminatorKey.js.map +1 -1
- package/lib/cjs/decorators/common/enum.js.map +1 -1
- package/lib/cjs/decorators/common/examples.js.map +1 -1
- package/lib/cjs/decorators/common/format.js.map +1 -1
- package/lib/cjs/decorators/common/forwardGroups.js +1 -1
- package/lib/cjs/decorators/common/forwardGroups.js.map +1 -1
- package/lib/cjs/decorators/common/groups.js +15 -26
- package/lib/cjs/decorators/common/groups.js.map +1 -1
- package/lib/cjs/decorators/common/integer.js.map +1 -1
- package/lib/cjs/decorators/common/oneOf.js +1 -2
- package/lib/cjs/decorators/common/oneOf.js.map +1 -1
- package/lib/cjs/decorators/common/optional.js.map +1 -1
- package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -1
- package/lib/cjs/decorators/generics/genericOf.js +7 -16
- package/lib/cjs/decorators/generics/genericOf.js.map +1 -1
- package/lib/cjs/decorators/generics/generics.js +3 -3
- package/lib/cjs/decorators/generics/generics.js.map +1 -1
- package/lib/cjs/decorators/operations/acceptMime.js.map +1 -1
- package/lib/cjs/decorators/operations/consumes.js.map +1 -1
- package/lib/cjs/decorators/operations/deprecated.js.map +1 -1
- package/lib/cjs/decorators/operations/header.js.map +1 -1
- package/lib/cjs/decorators/operations/in.js.map +1 -1
- package/lib/cjs/decorators/operations/inFile.js +2 -2
- package/lib/cjs/decorators/operations/inFile.js.map +1 -1
- package/lib/cjs/decorators/operations/operation.js +5 -1
- package/lib/cjs/decorators/operations/operation.js.map +1 -1
- package/lib/cjs/decorators/operations/operationId.js.map +1 -1
- package/lib/cjs/decorators/operations/operationPath.js +1 -1
- package/lib/cjs/decorators/operations/operationPath.js.map +1 -1
- package/lib/cjs/decorators/operations/path.js.map +1 -1
- package/lib/cjs/decorators/operations/produces.js.map +1 -1
- package/lib/cjs/decorators/operations/redirect.js +1 -1
- package/lib/cjs/decorators/operations/redirect.js.map +1 -1
- package/lib/cjs/decorators/operations/returns.js +39 -62
- package/lib/cjs/decorators/operations/returns.js.map +1 -1
- package/lib/cjs/decorators/operations/security.js.map +1 -1
- package/lib/cjs/decorators/operations/status.js.map +1 -1
- package/lib/cjs/decorators/operations/summary.js.map +1 -1
- package/lib/cjs/decorators/operations/tags.js +10 -1
- package/lib/cjs/decorators/operations/tags.js.map +1 -1
- package/lib/cjs/domain/DecoratorContext.js.map +1 -1
- package/lib/cjs/domain/JsonClassStore.js +1 -1
- package/lib/cjs/domain/JsonClassStore.js.map +1 -1
- package/lib/cjs/domain/JsonEntityStore.js +40 -35
- package/lib/cjs/domain/JsonEntityStore.js.map +1 -1
- package/lib/cjs/domain/JsonLazyRef.js.map +1 -1
- package/lib/cjs/domain/JsonMap.js.map +1 -1
- package/lib/cjs/domain/JsonMedia.js +27 -6
- package/lib/cjs/domain/JsonMedia.js.map +1 -1
- package/lib/cjs/domain/JsonMethodStore.js +27 -8
- package/lib/cjs/domain/JsonMethodStore.js.map +1 -1
- package/lib/cjs/domain/JsonOperation.js +36 -8
- package/lib/cjs/domain/JsonOperation.js.map +1 -1
- package/lib/cjs/domain/JsonParameter.js +20 -5
- package/lib/cjs/domain/JsonParameter.js.map +1 -1
- package/lib/cjs/domain/JsonParameterStore.js +15 -25
- package/lib/cjs/domain/JsonParameterStore.js.map +1 -1
- package/lib/cjs/domain/JsonPropertyStore.js +14 -45
- package/lib/cjs/domain/JsonPropertyStore.js.map +1 -1
- package/lib/cjs/domain/JsonSchema.js +286 -79
- package/lib/cjs/domain/JsonSchema.js.map +1 -1
- package/lib/cjs/domain/__fixtures__/inspectOperationsPaths.js +11 -0
- package/lib/cjs/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
- package/lib/cjs/fn/email.js +2 -2
- package/lib/cjs/fn/email.js.map +1 -1
- package/lib/cjs/fn/uri.js +2 -2
- package/lib/cjs/fn/uri.js.map +1 -1
- package/lib/cjs/fn/url.js +2 -2
- package/lib/cjs/fn/url.js.map +1 -1
- package/lib/cjs/index.js +4 -8
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/generics.js +5 -36
- package/lib/cjs/utils/generics.js.map +1 -1
- package/lib/cjs/utils/getJsonEntityStore.js +3 -3
- package/lib/cjs/utils/getJsonEntityStore.js.map +1 -1
- package/lib/cjs/utils/getJsonSchema.js +24 -17
- package/lib/cjs/utils/getJsonSchema.js.map +1 -1
- package/lib/cjs/utils/getOperationsStores.js.map +1 -1
- package/lib/cjs/utils/getPropertiesStores.js.map +1 -1
- package/lib/cjs/utils/getSpec.js.map +1 -1
- package/lib/cjs/utils/mergeSchema.js +103 -0
- package/lib/cjs/utils/mergeSchema.js.map +1 -0
- package/lib/cjs/utils/ref.js +15 -13
- package/lib/cjs/utils/ref.js.map +1 -1
- package/lib/esm/components/default/anyMapper.js +1 -2
- package/lib/esm/components/default/anyMapper.js.map +1 -1
- package/lib/esm/components/default/classMapper.js +2 -22
- package/lib/esm/components/default/classMapper.js.map +1 -1
- package/lib/esm/components/default/discriminatorMappingMapper.js.map +1 -1
- package/lib/esm/components/default/genericsMapper.js +62 -48
- 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/lazyRefMapper.js +1 -2
- package/lib/esm/components/default/lazyRefMapper.js.map +1 -1
- package/lib/esm/components/default/mapMapper.js +0 -2
- package/lib/esm/components/default/mapMapper.js.map +1 -1
- package/lib/esm/components/default/nextMapper.js +75 -0
- package/lib/esm/components/default/nextMapper.js.map +1 -0
- package/lib/esm/components/default/nullableMapper.js.map +1 -1
- package/lib/esm/components/default/objectMapper.js +8 -3
- package/lib/esm/components/default/objectMapper.js.map +1 -1
- package/lib/esm/components/default/ofMapper.js +2 -5
- package/lib/esm/components/default/ofMapper.js.map +1 -1
- package/lib/esm/components/default/requiredMapper.js +2 -2
- package/lib/esm/components/default/requiredMapper.js.map +1 -1
- package/lib/esm/components/default/schemaMapper.js +10 -8
- package/lib/esm/components/default/schemaMapper.js.map +1 -1
- package/lib/esm/components/index.js +1 -7
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/components/open-spec/enumsMapper.js.map +1 -1
- package/lib/esm/components/open-spec/generate.js.map +1 -1
- package/lib/esm/components/open-spec/nullableMapper.js +5 -1
- package/lib/esm/components/open-spec/nullableMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInFilesMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInParameterMapper.js +3 -7
- package/lib/esm/components/open-spec/operationInParameterMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationInQueryMapper.js +22 -17
- package/lib/esm/components/open-spec/operationInQueryMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationMediaMapper.js +5 -2
- package/lib/esm/components/open-spec/operationMediaMapper.js.map +1 -1
- package/lib/esm/components/open-spec/operationRequestBodyMapper.js +4 -3
- package/lib/esm/components/open-spec/operationRequestBodyMapper.js.map +1 -1
- package/lib/esm/components/open-spec/pathsMapper.js +1 -0
- package/lib/esm/components/open-spec/pathsMapper.js.map +1 -1
- package/lib/esm/constants/VendorKeys.js +12 -0
- package/lib/esm/constants/VendorKeys.js.map +1 -0
- package/lib/esm/constants/httpStatusMessages.js +1 -1
- package/lib/esm/constants/httpStatusMessages.js.map +1 -1
- package/lib/esm/decorators/class/children.js.map +1 -1
- package/lib/esm/decorators/collections/collectionOf.js +29 -0
- package/lib/esm/decorators/collections/collectionOf.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/defaultMsg.js.map +1 -1
- package/lib/esm/decorators/common/description.js +9 -12
- package/lib/esm/decorators/common/description.js.map +1 -1
- package/lib/esm/decorators/common/discriminatorKey.js +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/examples.js.map +1 -1
- package/lib/esm/decorators/common/format.js.map +1 -1
- package/lib/esm/decorators/common/forwardGroups.js +1 -1
- package/lib/esm/decorators/common/forwardGroups.js.map +1 -1
- package/lib/esm/decorators/common/groups.js +15 -26
- package/lib/esm/decorators/common/groups.js.map +1 -1
- package/lib/esm/decorators/common/integer.js.map +1 -1
- package/lib/esm/decorators/common/oneOf.js +1 -2
- package/lib/esm/decorators/common/oneOf.js.map +1 -1
- package/lib/esm/decorators/common/optional.js.map +1 -1
- package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -1
- package/lib/esm/decorators/generics/genericOf.js +8 -17
- package/lib/esm/decorators/generics/genericOf.js.map +1 -1
- package/lib/esm/decorators/generics/generics.js +3 -3
- 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/deprecated.js.map +1 -1
- package/lib/esm/decorators/operations/header.js.map +1 -1
- package/lib/esm/decorators/operations/in.js.map +1 -1
- package/lib/esm/decorators/operations/inFile.js +2 -2
- package/lib/esm/decorators/operations/inFile.js.map +1 -1
- package/lib/esm/decorators/operations/operation.js +5 -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 +1 -1
- package/lib/esm/decorators/operations/operationPath.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/redirect.js +1 -1
- package/lib/esm/decorators/operations/redirect.js.map +1 -1
- package/lib/esm/decorators/operations/returns.js +40 -63
- package/lib/esm/decorators/operations/returns.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/summary.js.map +1 -1
- package/lib/esm/decorators/operations/tags.js +10 -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 +1 -1
- package/lib/esm/domain/JsonClassStore.js.map +1 -1
- package/lib/esm/domain/JsonEntityStore.js +40 -35
- 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 +27 -6
- package/lib/esm/domain/JsonMedia.js.map +1 -1
- package/lib/esm/domain/JsonMethodStore.js +28 -9
- package/lib/esm/domain/JsonMethodStore.js.map +1 -1
- package/lib/esm/domain/JsonOperation.js +34 -7
- package/lib/esm/domain/JsonOperation.js.map +1 -1
- package/lib/esm/domain/JsonParameter.js +20 -5
- package/lib/esm/domain/JsonParameter.js.map +1 -1
- package/lib/esm/domain/JsonParameterStore.js +16 -26
- package/lib/esm/domain/JsonParameterStore.js.map +1 -1
- package/lib/esm/domain/JsonPropertyStore.js +15 -46
- package/lib/esm/domain/JsonPropertyStore.js.map +1 -1
- package/lib/esm/domain/JsonSchema.js +287 -80
- package/lib/esm/domain/JsonSchema.js.map +1 -1
- package/lib/esm/domain/__fixtures__/inspectOperationsPaths.js +7 -0
- package/lib/esm/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
- package/lib/esm/fn/email.js +2 -2
- package/lib/esm/fn/email.js.map +1 -1
- package/lib/esm/fn/uri.js +2 -2
- package/lib/esm/fn/uri.js.map +1 -1
- package/lib/esm/fn/url.js +2 -2
- package/lib/esm/fn/url.js.map +1 -1
- package/lib/esm/index.js +4 -8
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/utils/generics.js +3 -32
- package/lib/esm/utils/generics.js.map +1 -1
- package/lib/esm/utils/getJsonEntityStore.js +3 -3
- package/lib/esm/utils/getJsonEntityStore.js.map +1 -1
- package/lib/esm/utils/getJsonSchema.js +24 -17
- package/lib/esm/utils/getJsonSchema.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/getSpec.js.map +1 -1
- package/lib/esm/utils/mergeSchema.js +99 -0
- package/lib/esm/utils/mergeSchema.js.map +1 -0
- package/lib/esm/utils/ref.js +14 -13
- package/lib/esm/utils/ref.js.map +1 -1
- package/lib/types/components/default/classMapper.d.ts +1 -1
- package/lib/types/components/default/genericsMapper.d.ts +9 -2
- package/lib/types/components/default/lazyRefMapper.d.ts +1 -1
- package/lib/types/components/default/nextMapper.d.ts +5 -0
- package/lib/types/components/default/ofMapper.d.ts +1 -1
- package/lib/types/components/index.d.ts +1 -7
- package/lib/types/components/open-spec/nullableMapper.d.ts +2 -1
- package/lib/types/components/open-spec/operationInQueryMapper.d.ts +1 -1
- package/lib/types/constants/VendorKeys.d.ts +10 -0
- package/lib/types/decorators/collections/collectionOf.d.ts +6 -0
- package/lib/types/decorators/generics/genericOf.d.ts +3 -0
- package/lib/types/decorators/generics/generics.d.ts +2 -2
- package/lib/types/decorators/operations/acceptMime.d.ts +1 -1
- package/lib/types/decorators/operations/consumes.d.ts +1 -1
- package/lib/types/decorators/operations/header.d.ts +1 -1
- package/lib/types/decorators/operations/operationId.d.ts +1 -1
- package/lib/types/decorators/operations/operationPath.d.ts +1 -1
- package/lib/types/decorators/operations/path.d.ts +1 -1
- package/lib/types/decorators/operations/returns.d.ts +11 -9
- package/lib/types/decorators/operations/tags.d.ts +11 -2
- package/lib/types/domain/JsonClassStore.d.ts +1 -1
- package/lib/types/domain/JsonEntityStore.d.ts +20 -16
- package/lib/types/domain/JsonMedia.d.ts +4 -5
- package/lib/types/domain/JsonMethodStore.d.ts +9 -2
- package/lib/types/domain/JsonOperation.d.ts +7 -4
- package/lib/types/domain/JsonParameter.d.ts +4 -7
- package/lib/types/domain/JsonParameterStore.d.ts +1 -4
- package/lib/types/domain/JsonPropertyStore.d.ts +2 -21
- package/lib/types/domain/JsonSchema.d.ts +83 -40
- package/lib/types/domain/__fixtures__/inspectOperationsPaths.d.ts +5 -0
- package/lib/types/index.d.ts +4 -8
- package/lib/types/interfaces/JsonSchemaOptions.d.ts +16 -2
- package/lib/types/utils/generics.d.ts +7 -48
- package/lib/types/utils/getJsonEntityStore.d.ts +3 -3
- package/lib/types/utils/getJsonSchema.d.ts +3 -2
- package/lib/types/utils/mergeSchema.d.ts +2 -0
- package/lib/types/utils/ref.d.ts +4 -2
- package/lib/types-esm/components/default/classMapper.d.ts +1 -1
- package/lib/types-esm/components/default/genericsMapper.d.ts +9 -2
- package/lib/types-esm/components/default/lazyRefMapper.d.ts +1 -1
- package/lib/types-esm/components/default/nextMapper.d.ts +5 -0
- package/lib/types-esm/components/default/ofMapper.d.ts +1 -1
- package/lib/types-esm/components/index.d.ts +1 -7
- package/lib/types-esm/components/open-spec/nullableMapper.d.ts +2 -1
- package/lib/types-esm/components/open-spec/operationInQueryMapper.d.ts +1 -1
- package/lib/types-esm/constants/VendorKeys.d.ts +10 -0
- package/lib/types-esm/decorators/collections/collectionOf.d.ts +6 -0
- package/lib/types-esm/decorators/generics/genericOf.d.ts +3 -0
- package/lib/types-esm/decorators/generics/generics.d.ts +2 -2
- package/lib/types-esm/decorators/operations/acceptMime.d.ts +1 -1
- package/lib/types-esm/decorators/operations/consumes.d.ts +1 -1
- package/lib/types-esm/decorators/operations/header.d.ts +1 -1
- package/lib/types-esm/decorators/operations/operationId.d.ts +1 -1
- package/lib/types-esm/decorators/operations/operationPath.d.ts +1 -1
- package/lib/types-esm/decorators/operations/path.d.ts +1 -1
- package/lib/types-esm/decorators/operations/returns.d.ts +11 -9
- package/lib/types-esm/decorators/operations/tags.d.ts +11 -2
- package/lib/types-esm/domain/JsonClassStore.d.ts +1 -1
- package/lib/types-esm/domain/JsonEntityStore.d.ts +20 -16
- package/lib/types-esm/domain/JsonMedia.d.ts +4 -5
- package/lib/types-esm/domain/JsonMethodStore.d.ts +9 -2
- package/lib/types-esm/domain/JsonOperation.d.ts +7 -4
- package/lib/types-esm/domain/JsonParameter.d.ts +4 -7
- package/lib/types-esm/domain/JsonParameterStore.d.ts +1 -4
- package/lib/types-esm/domain/JsonPropertyStore.d.ts +2 -21
- package/lib/types-esm/domain/JsonSchema.d.ts +83 -40
- package/lib/types-esm/domain/__fixtures__/inspectOperationsPaths.d.ts +5 -0
- package/lib/types-esm/index.d.ts +4 -8
- package/lib/types-esm/interfaces/JsonSchemaOptions.d.ts +16 -2
- package/lib/types-esm/utils/generics.d.ts +7 -48
- package/lib/types-esm/utils/getJsonEntityStore.d.ts +3 -3
- package/lib/types-esm/utils/getJsonSchema.d.ts +3 -2
- package/lib/types-esm/utils/mergeSchema.d.ts +2 -0
- package/lib/types-esm/utils/ref.d.ts +4 -2
- package/package.json +6 -6
- package/lib/cjs/components/async-api/channelsMapper.js +0 -62
- package/lib/cjs/components/async-api/channelsMapper.js.map +0 -1
- package/lib/cjs/components/async-api/generate.js +0 -20
- package/lib/cjs/components/async-api/generate.js.map +0 -1
- package/lib/cjs/components/async-api/messageMapper.js +0 -44
- package/lib/cjs/components/async-api/messageMapper.js.map +0 -1
- package/lib/cjs/components/async-api/payloadMapper.js +0 -52
- package/lib/cjs/components/async-api/payloadMapper.js.map +0 -1
- package/lib/cjs/components/async-api/responseMapper.js +0 -58
- package/lib/cjs/components/async-api/responseMapper.js.map +0 -1
- package/lib/cjs/components/default/itemMapper.js +0 -10
- package/lib/cjs/components/default/itemMapper.js.map +0 -1
- package/lib/cjs/components/default/propertiesMapper.js +0 -25
- package/lib/cjs/components/default/propertiesMapper.js.map +0 -1
- package/lib/cjs/utils/somethingOf.js +0 -16
- package/lib/cjs/utils/somethingOf.js.map +0 -1
- package/lib/esm/components/async-api/channelsMapper.js +0 -58
- package/lib/esm/components/async-api/channelsMapper.js.map +0 -1
- package/lib/esm/components/async-api/generate.js +0 -18
- package/lib/esm/components/async-api/generate.js.map +0 -1
- package/lib/esm/components/async-api/messageMapper.js +0 -40
- package/lib/esm/components/async-api/messageMapper.js.map +0 -1
- package/lib/esm/components/async-api/payloadMapper.js +0 -48
- package/lib/esm/components/async-api/payloadMapper.js.map +0 -1
- package/lib/esm/components/async-api/responseMapper.js +0 -54
- package/lib/esm/components/async-api/responseMapper.js.map +0 -1
- package/lib/esm/components/default/itemMapper.js +0 -6
- package/lib/esm/components/default/itemMapper.js.map +0 -1
- package/lib/esm/components/default/propertiesMapper.js +0 -21
- package/lib/esm/components/default/propertiesMapper.js.map +0 -1
- package/lib/esm/utils/somethingOf.js +0 -12
- package/lib/esm/utils/somethingOf.js.map +0 -1
- package/lib/types/components/async-api/channelsMapper.d.ts +0 -2
- package/lib/types/components/async-api/generate.d.ts +0 -1
- package/lib/types/components/async-api/messageMapper.d.ts +0 -6
- package/lib/types/components/async-api/payloadMapper.d.ts +0 -4
- package/lib/types/components/async-api/responseMapper.d.ts +0 -6
- package/lib/types/components/default/itemMapper.d.ts +0 -2
- package/lib/types/components/default/propertiesMapper.d.ts +0 -3
- package/lib/types/utils/somethingOf.d.ts +0 -1
- package/lib/types-esm/components/async-api/channelsMapper.d.ts +0 -2
- package/lib/types-esm/components/async-api/generate.d.ts +0 -1
- package/lib/types-esm/components/async-api/messageMapper.d.ts +0 -6
- package/lib/types-esm/components/async-api/payloadMapper.d.ts +0 -4
- package/lib/types-esm/components/async-api/responseMapper.d.ts +0 -6
- package/lib/types-esm/components/default/itemMapper.d.ts +0 -2
- package/lib/types-esm/components/default/propertiesMapper.d.ts +0 -3
- package/lib/types-esm/utils/somethingOf.d.ts +0 -1
|
@@ -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:E,NO_DOT:T,NO_DOT_SLASH:P,NO_DOTS_SLASH:v,QMARK:C,QMARK_NO_DOT:x,STAR:$,START_ANCHOR:M}=y,w=e=>`(${g}(?:(?!${M}${e.dot?E:S}).)*?)`,_=r.dot?"":T,N=r.dot?C:x;let I=!0===r.bash?w(r):$;r.capture&&(I=`(${I})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const D={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,D),m=e.length;const L=[],k=[],j=[];let H,G=d;const q=()=>D.index===m-1,B=D.peek=(t=1)=>e[D.index+t],U=D.advance=()=>e[++D.index],K=()=>e.slice(D.index+1),J=(e="",t=0)=>{D.consumed+=e,D.index+=t},F=e=>{D.output+=null!=e.output?e.output:e.value,J(e.value)},V=()=>{let e=1;for(;"!"===B()&&("("!==B(2)||"?"===B(3));)U(),D.start++,e++;return e%2!=0&&(D.negated=!0,D.start++,!0)},W=e=>{D[e]++,j.push(e)},X=e=>{D[e]--,j.pop()},z=e=>{if("globstar"===G.type){const t=D.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||(D.output=D.output.slice(0,-G.output.length),G.type="star",G.value="*",G.output=I,D.output+=G.output)}if(L.length&&"paren"!==e.type&&!O[e.value]&&(L[L.length-1].inner+=e.value),(e.value||e.output)&&F(e),G&&"text"===G.type&&"text"===e.type)return G.value+=e.value,void(G.output=(G.output||"")+e.value);e.prev=G,f.push(e),G=e},Y=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=G,s.parens=D.parens,s.output=D.output;const n=(r.capture?"(":"")+s.open;W("parens"),z({type:e,value:t,output:D.output?"":A}),z({type:"paren",extglob:!0,value:U(),output:n}),L.push(s)},Q=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=I;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=w(r)),(s!==I||q()||/^\)+$/.test(K()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&q()&&(D.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:H,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?C.repeat(i.length):""):0===o?N+(i?C.repeat(i.length):""):C.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?I:""):I: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?(D.output=e,D):(D.output=n.wrapOutput(i,D,t),D)}for(;!q();){if(H=U(),"\0"===H)continue;if("\\"===H){const e=B();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){H+="\\",z({type:"text",value:H});continue}const t=/^\\+/.exec(K());let s=0;if(t&&t[0].length>2&&(s=t[0].length,D.index+=s,s%2!=0&&(H+="\\")),!0===r.unescape?H=U()||"":H+=U()||"",0===D.brackets){z({type:"text",value:H});continue}}if(D.brackets>0&&("]"!==H||"["===G.value||"[^"===G.value)){if(!1!==r.posix&&":"===H){const e=G.value.slice(1);if(e.includes("[")&&(G.posix=!0,e.includes(":"))){const e=G.value.lastIndexOf("["),t=G.value.slice(0,e),r=G.value.slice(e+2),s=o[r];if(s){G.value=t+s,D.backtrack=!0,U(),d.output||1!==f.indexOf(G)||(d.output=A);continue}}}("["===H&&":"!==B()||"-"===H&&"]"===B())&&(H=`\\${H}`),"]"!==H||"["!==G.value&&"[^"!==G.value||(H=`\\${H}`),!0===r.posix&&"!"===H&&"["===G.value&&(H="^"),G.value+=H,F({value:H});continue}if(1===D.quotes&&'"'!==H){H=n.escapeRegex(H),G.value+=H,F({value:H});continue}if('"'===H){D.quotes=1===D.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:H});continue}if("("===H){W("parens"),z({type:"paren",value:H});continue}if(")"===H){if(0===D.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=L[L.length-1];if(e&&D.parens===e.parens+1){Q(L.pop());continue}z({type:"paren",value:H,output:D.parens?")":"\\)"}),X("parens");continue}if("["===H){if(!0!==r.nobracket&&K().includes("]"))W("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));H=`\\${H}`}z({type:"bracket",value:H});continue}if("]"===H){if(!0===r.nobracket||G&&"bracket"===G.type&&1===G.value.length){z({type:"text",value:H,output:`\\${H}`});continue}if(0===D.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:H,output:`\\${H}`});continue}X("brackets");const e=G.value.slice(1);if(!0===G.posix||"^"!==e[0]||e.includes("/")||(H=`/${H}`),G.value+=H,F({value:H}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(G.value);if(D.output=D.output.slice(0,-G.value.length),!0===r.literalBrackets){D.output+=t,G.value=t;continue}G.value=`(${g}${t}|${G.value})`,D.output+=G.value;continue}if("{"===H&&!0!==r.nobrace){W("braces");const e={type:"brace",value:H,output:"(",outputIndex:D.output.length,tokensIndex:D.tokens.length};k.push(e),z(e);continue}if("}"===H){const e=k[k.length-1];if(!0===r.nobrace||!e){z({type:"text",value:H,output:H});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),D.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=D.output.slice(0,e.outputIndex),s=D.tokens.slice(e.tokensIndex);e.value=e.output="\\{",H=t="\\}",D.output=r;for(const e of s)D.output+=e.output||e.value}z({type:"brace",value:H,output:t}),X("braces"),k.pop();continue}if("|"===H){L.length>0&&L[L.length-1].conditions++,z({type:"text",value:H});continue}if(","===H){let e=H;const t=k[k.length-1];t&&"braces"===j[j.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:H,output:e});continue}if("/"===H){if("dot"===G.type&&D.index===D.start+1){D.start=D.index+1,D.consumed="",D.output="",f.pop(),G=d;continue}z({type:"slash",value:H,output:R});continue}if("."===H){if(D.braces>0&&"dot"===G.type){"."===G.value&&(G.output=S);const e=k[k.length-1];G.type="dots",G.output+=H,G.value+=H,e.dots=!0;continue}if(D.braces+D.parens===0&&"bos"!==G.type&&"slash"!==G.type){z({type:"text",value:H,output:S});continue}z({type:"dot",value:H,output:S});continue}if("?"===H){if((!G||"("!==G.value)&&!0!==r.noextglob&&"("===B()&&"?"!==B(2)){Y("qmark",H);continue}if(G&&"paren"===G.type){const e=B();let t=H;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===G.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(K()))&&(t=`\\${H}`),z({type:"text",value:H,output:t});continue}if(!0!==r.dot&&("slash"===G.type||"bos"===G.type)){z({type:"qmark",value:H,output:x});continue}z({type:"qmark",value:H,output:C});continue}if("!"===H){if(!0!==r.noextglob&&"("===B()&&("?"!==B(2)||!/[!=<:]/.test(B(3)))){Y("negate",H);continue}if(!0!==r.nonegate&&0===D.index){V();continue}}if("+"===H){if(!0!==r.noextglob&&"("===B()&&"?"!==B(2)){Y("plus",H);continue}if(G&&"("===G.value||!1===r.regex){z({type:"plus",value:H,output:b});continue}if(G&&("bracket"===G.type||"paren"===G.type||"brace"===G.type)||D.parens>0){z({type:"plus",value:H});continue}z({type:"plus",value:b});continue}if("@"===H){if(!0!==r.noextglob&&"("===B()&&"?"!==B(2)){z({type:"at",extglob:!0,value:H,output:""});continue}z({type:"text",value:H});continue}if("*"!==H){"$"!==H&&"^"!==H||(H=`\\${H}`);const e=a.exec(K());e&&(H+=e[0],D.index+=e[0].length),z({type:"text",value:H});continue}if(G&&("globstar"===G.type||!0===G.star)){G.type="star",G.star=!0,G.value+=H,G.output=I,D.backtrack=!0,D.globstar=!0,J(H);continue}let t=K();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Y("star",H);continue}if("star"===G.type){if(!0===r.noglobstar){J(H);continue}const s=G.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:H,output:""});continue}const a=D.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:H,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[D.index+4];if(r&&"/"!==r)break;t=t.slice(3),J("/**",3)}if("bos"===s.type&&q()){G.type="globstar",G.value+=H,G.output=w(r),D.output=G.output,D.globstar=!0,J(H);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&q()){D.output=D.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=w(r)+(r.strictSlashes?")":"|$)"),G.value+=H,D.globstar=!0,D.output+=s.output+G.output,J(H);continue}if("slash"===s.type&&"bos"!==s.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";D.output=D.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=`${w(r)}${R}|${R}${e})`,G.value+=H,D.output+=s.output+G.output,D.globstar=!0,J(H+U()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){G.type="globstar",G.value+=H,G.output=`(?:^|${R}|${w(r)}${R})`,D.output=G.output,D.globstar=!0,J(H+U()),z({type:"slash",value:"/",output:""});continue}D.output=D.output.slice(0,-G.output.length),G.type="globstar",G.output=w(r),G.value+=H,D.output+=G.output,D.globstar=!0,J(H);continue}const s={type:"star",value:H,output:I};!0!==r.bash?!G||"bracket"!==G.type&&"paren"!==G.type||!0!==r.regex?(D.index!==D.start&&"slash"!==G.type&&"dot"!==G.type||("dot"===G.type?(D.output+=P,G.output+=P):!0===r.dot?(D.output+=v,G.output+=v):(D.output+=_,G.output+=_),"*"!==B()&&(D.output+=A,G.output+=A)),z(s)):(s.output=H,z(s)):(s.output=".*?","bos"!==G.type&&"slash"!==G.type||(s.output=_+s.output),z(s))}for(;D.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));D.output=n.escapeLast(D.output,"["),X("brackets")}for(;D.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));D.output=n.escapeLast(D.output,"("),X("parens")}for(;D.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));D.output=n.escapeLast(D.output,"{"),X("braces")}if(!0===r.strictSlashes||"star"!==G.type&&"bracket"!==G.type||z({type:"maybe_slash",value:"",output:`${R}?`}),!0===D.backtrack){D.output="";for(const e of D.tokens)D.output+=null!=e.output?e.output:e.value,e.suffix&&(D.output+=e.suffix)}return D};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}).)*?)`,E=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=E(t[1]);if(!r)return;return r+c+t[2]}}},T=n.removePrefix(e,{negated:!1,prefix:""});let P=E(T);return P&&!0!==r.strictSlashes&&(P+=`${u}?`),P},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,E=[],T=[],P=[];let v,C,x=e,$=-1,M=0,w=0,_=!1,N=!1,I=!1,D=!1,L=!1,k=!1,j=!1,H=!1,G=!1,q=0,B={value:"",depth:0,isGlob:!1};const U=()=>$>=R,K=()=>(v=C,x.charCodeAt(++$));for(;$<R;){let e;if(C=K(),C!==o){if(!0===k||C===h){for(q++;!0!==U()&&(C=K());)if(C!==o)if(C!==h){if(!0!==k&&C===c&&(C=K())===c){if(_=B.isBrace=!0,I=B.isGlob=!0,G=!0,!0===A)continue;break}if(!0!==k&&C===a){if(_=B.isBrace=!0,I=B.isGlob=!0,G=!0,!0===A)continue;break}if(C===g&&(q--,0===q)){k=!1,_=B.isBrace=!0,G=!0;break}}else q++;else j=B.backslashes=!0,K();if(!0===A)continue;break}if(C!==u){if(!0!==r.noext&&!0==(C===d||C===i||C===n||C===f||C===p)&&x.charCodeAt($+1)===l){if(I=B.isGlob=!0,D=B.isExtglob=!0,G=!0,!0===A){for(;!0!==U()&&(C=K());)if(C!==o){if(C===y){I=B.isGlob=!0,G=!0;break}}else j=B.backslashes=!0,C=K();continue}break}if(C===n){if(v===n&&(L=B.isGlobstar=!0),I=B.isGlob=!0,G=!0,!0===A)continue;break}if(C===f){if(I=B.isGlob=!0,G=!0,!0===A)continue;break}if(C===m)for(;!0!==U()&&(e=K());)if(e!==o){if(e===O){if(N=B.isBracket=!0,I=B.isGlob=!0,G=!0,!0===A)continue;break}}else j=B.backslashes=!0,K();if(!0===r.nonegate||C!==p||$!==M){if(!0!==r.noparen&&C===l){if(I=B.isGlob=!0,!0===A){for(;!0!==U()&&(C=K());)if(C!==l){if(C===y){G=!0;break}}else j=B.backslashes=!0,C=K();continue}break}if(!0===I){if(G=!0,!0===A)continue;break}}else H=B.negated=!0,M++}else{if(E.push($),T.push(B),B={value:"",depth:0,isGlob:!1},!0===G)continue;if(v===c&&$===M+1){M+=2;continue}w=$+1}}else j=B.backslashes=!0,C=K(),C===h&&(k=!0)}!0===r.noext&&(D=!1,I=!1);let J=x,F="",V="";M>0&&(F=x.slice(0,M),x=x.slice(M),w-=M),J&&!0===I&&w>0?(J=x.slice(0,w),V=x.slice(w)):!0===I?(J="",V=x):J=x,J&&""!==J&&"/"!==J&&J!==x&&S(J.charCodeAt(J.length-1))&&(J=J.slice(0,-1)),!0===r.unescape&&(V&&(V=s.removeBackslashes(V)),J&&!0===j&&(J=s.removeBackslashes(J)));const W={prefix:F,input:e,start:M,base:J,glob:V,isBrace:_,isBracket:N,isGlob:I,isExtglob:D,isGlobstar:L,negated:H};if(!0===r.tokens&&(W.maxDepth=0,S(C)||T.push(B),W.tokens=T),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<E.length;s++){const n=t?t+1:M,i=E[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==M?(T[s].isPrefix=!0,T[s].value=F):T[s].value=o,b(T[s]),W.maxDepth+=T[s].depth),0===s&&""===o||P.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);P.push(s),r.tokens&&(T[T.length-1].value=s,b(T[T.length-1]),W.maxDepth+=T[T.length-1].depth)}W.slashes=E,W.parts=P}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,{ARRAY_PROPERTIES:()=>$e,AcceptMime:()=>jr,AdditionalProperties:()=>$t,All:()=>us,AllOf:()=>Mt,Allow:()=>_t,Any:()=>Nt,AnyOf:()=>It,ArrayOf:()=>bt,BOOLEAN_PROPERTIES:()=>Ce,COMMON_PROPERTIES:()=>we,Children:()=>yt,CollectionContains:()=>At,CollectionOf:()=>St,Const:()=>Dt,Consumes:()=>kr,ContentType:()=>Fr,Converter:()=>gn,CustomKey:()=>Lt,CustomKeys:()=>kt,DateFormat:()=>rr,DateTime:()=>tr,DecoratorContext:()=>Hr,Default:()=>jt,DefaultMsg:()=>Gt,Delete:()=>ds,Deprecated:()=>Vr,Description:()=>qt,Discriminator:()=>v,DiscriminatorKey:()=>Bt,DiscriminatorValue:()=>Ot,Email:()=>er,EndpointMetadata:()=>X,Enum:()=>Ut,ErrorMsg:()=>Ht,Example:()=>Kt,Examples:()=>Jt,ExclusiveMaximum:()=>Wt,ExclusiveMinimum:()=>Yt,For:()=>vr,Format:()=>Zt,ForwardGroups:()=>or,GenericOf:()=>Dr,Generics:()=>Lr,Get:()=>hs,Groups:()=>hr,HTTP_STATUS_MESSAGES:()=>tt,Head:()=>fs,Header:()=>Wr,Hidden:()=>lr,Ignore:()=>mr,In:()=>Xr,InFile:()=>zr,Integer:()=>dr,JSON_TYPES:()=>R,JsonClassStore:()=>w,JsonEntitiesContainer:()=>f,JsonEntityComponent:()=>M,JsonEntityFn:()=>gt,JsonEntityStore:()=>g,JsonFormatTypes:()=>Qt,JsonLazyRef:()=>he,JsonMap:()=>I,JsonMedia:()=>J,JsonMethodStore:()=>W,JsonOperation:()=>V,JsonOperationPathsMap:()=>Y,JsonOperationRoute:()=>Ps,JsonParameter:()=>j,JsonParameterStore:()=>H,JsonParameterTypes:()=>D,JsonPropertyStore:()=>_,JsonRequestBody:()=>ot,JsonResponse:()=>F,JsonSchema:()=>$,LabelledAs:()=>fr,Location:()=>Yr,MANY_OF_PROPERTIES:()=>Pe,MapOf:()=>Rt,Max:()=>Vt,MaxItems:()=>Tt,MaxLength:()=>gr,MaxProperties:()=>Pt,Maximum:()=>Ft,Min:()=>zt,MinItems:()=>vt,MinLength:()=>yr,MinProperties:()=>Ct,Minimum:()=>Xt,MultipleOf:()=>Or,NUMBER_PROPERTIES:()=>xe,Name:()=>Sr,Nullable:()=>br,OBJECT_PROPERTIES:()=>Me,OPERATION_HTTP_VERBS:()=>r,OPERATION_WS_VERBS:()=>s,OneOf:()=>Rr,Operation:()=>ts,OperationId:()=>rs,OperationMethods:()=>o,OperationPath:()=>ss,OperationVerbs:()=>e,Optional:()=>Ar,Options:()=>ys,ParamMetadata:()=>G,Partial:()=>ns,Patch:()=>gs,Path:()=>is,Pattern:()=>Er,Post:()=>ls,Produces:()=>os,Property:()=>wt,PropertyMetadata:()=>N,Publish:()=>as,Put:()=>ms,ReadOnly:()=>Tr,RecordOf:()=>Cr,Redirect:()=>cs,Required:()=>xr,RequiredGroups:()=>$r,Returns:()=>Jr,Route:()=>ps,STRING_PROPERTIES:()=>ve,Schema:()=>Pr,Security:()=>Os,SpecTypes:()=>se,Status:()=>Ss,Subscribe:()=>bs,Summary:()=>Rs,Tags:()=>As,TimeFormat:()=>sr,Title:()=>Mr,TypeError:()=>wr,UniqueItems:()=>xt,Uri:()=>nr,Url:()=>ir,View:()=>Es,WriteOnly:()=>_r,allOf:()=>vs,alterIgnore:()=>Ne,alterOneOf:()=>qe,alterRequiredGroups:()=>ke,any:()=>Cs,anyMapper:()=>fe,anyOf:()=>xs,array:()=>Ms,boolean:()=>$s,buildPath:()=>m,channelsMapper:()=>re,classMapper:()=>ge,concatParameters:()=>pt,concatPath:()=>Ts,createRef:()=>me,createRefName:()=>le,date:()=>Ns,datetime:()=>Is,defineStatusModel:()=>qr,discriminatorMappingMapper:()=>ye,email:()=>Ls,enums:()=>ks,enumsMapper:()=>Oe,enumsRegistry:()=>S,execMapper:()=>u,execOneOfMapper:()=>l,formatParameterType:()=>L,from:()=>Nr,generateSpec:()=>On,genericsMapper:()=>Se,getComputedType:()=>b,getGenericsMap:()=>oe,getInheritedStores:()=>Q,getJsonEntityStore:()=>z,getJsonPathParameters:()=>ut,getJsonSchema:()=>bn,getJsonSchemaMapper:()=>p,getJsonType:()=>A,getOperationId:()=>lt,getOperationsRoutes:()=>Rn,getOperationsStores:()=>Z,getProperties:()=>En,getPropertiesStores:()=>An,getSpec:()=>Qs,getSpecType:()=>Zs,getSpecTypeFromSpec:()=>en,getStatusConstant:()=>rt,getStatusMessage:()=>st,getStatusModel:()=>Br,hasMapper:()=>h,inheritedClassMapper:()=>Re,integer:()=>js,isParameterType:()=>k,isRedirectionStatus:()=>B,isSuccessStatus:()=>q,itemMapper:()=>Ae,lazyRef:()=>Hs,lazyRefMapper:()=>Ee,makeOf:()=>ne,map:()=>ws,mapAliasedProperties:()=>He,mapGenericsOptions:()=>ae,mapHeaders:()=>U,mapMapper:()=>Te,mapOpenSpec:()=>nn,mapOpenSpec2:()=>rn,mapOpenSpec3:()=>sn,mapOpenSpecInfo:()=>tn,mapOperationOptions:()=>Zr,matchGroups:()=>ur,mergeSpec:()=>zs,messageMapper:()=>ie,nullableMapper:()=>_e,nullableMapperOpenApi:()=>Ve,number:()=>Gs,object:()=>qs,objectMapper:()=>Ie,ofMapper:()=>De,oneOf:()=>Bs,operationIdFormatter:()=>ht,operationInFilesMapper:()=>We,operationInParameterMapper:()=>Xe,operationInParametersMapper:()=>ze,operationInQueryMapper:()=>Qe,operationMapper:()=>nt,operationMediaMapper:()=>it,operationRequestBodyMapper:()=>at,operationResponseMapper:()=>ct,parameters:()=>Fs,pathsMapper:()=>ft,payloadMapper:()=>pe,popGenerics:()=>ce,propertiesMapper:()=>Le,registerJsonSchemaMapper:()=>c,removeHiddenOperation:()=>ee,requiredMapper:()=>je,responsePayloadMapper:()=>ue,schemaMapper:()=>Ke,schemesReducer:()=>Js,security:()=>Vs,serializeEnum:()=>E,serializeEnumValues:()=>T,set:()=>_s,string:()=>Ir,tagsReducer:()=>Ws,time:()=>Ds,toJsonMapCollection:()=>K,toJsonRegex:()=>P,toRef:()=>de,transformInformation:()=>fn,transformSecurity:()=>dn,transformToOS2:()=>yn,uri:()=>Us,url:()=>Ks,withErrorMsg:()=>Et,wrapEnumsMapper:()=>Je});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{constructor(e){this.isStore=!0;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 E=e=>(0,d.isObject)(e)&&null!==e?Object.entries(e).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):e;function T(e){const t=e.reduce(((e,t)=>e.concat(E(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 P(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class v{constructor({base:e,propertyName:t,types:r,values:s}={}){this.values=new Map,this.types=new Map,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 C(e){return e instanceof $?e:Object.entries(e).reduce(((e,[t,r])=>(e[P(t)]=x(r),e)),{})}function x(e){return(0,d.isArray)(e)?e.map(x):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{#e;#t;#r;#s;#n;#i;#o;#a;#c;#p;constructor(e={}){super(),this.$kind="schema",this.$isJsonDocument=!0,this.$hooks=new d.Hooks,this.$required=new Set,this.$allow=[],this.$forwardGroups=!1,this.$ignore=!1,this.isDiscriminatorKey=!1,this.isDiscriminator=!1,this.#e=!1,this.#t=null,this.#s=[],this.#n=new Map,this.#a=!1,this.#c=!1,this.#p=!1,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}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||x(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 v({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",x(e)),this}contains(e){return super.set("contains",x(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=x(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[].concat(this.getJsonType()).includes("string")&&!this.has("minLength")&&this.minLength(1),e.forEach((e=>{switch(e){case"":this.set("minLength",void 0);break;case null:this.any(...["null"].concat(this.getJsonType(),this.$allow.map((e=>typeof e))))}})),this.$allow.push(...e),this}required(e=!0){if(!(0,d.isArray)(e)){const t=this.clone();return t.$selfRequired=e,[].concat(t.getJsonType()).includes("string")&&t.minLength(1),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",C(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",C(r)),this}patternProperties(e){return super.set("patternProperties",C(e)),this}additionalProperties(e){return super.set("additionalProperties",x(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",C(e)),this}propertyNames(e){return super.set("propertyNames",x(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.get("enum").map((e=>typeof e)));else{const{values:r,types:s}=T([e,t].flat());super.set("enum",r).any(...s)}return this}definitions(e){return super.set("definitions",C(e)),this}allOf(e){return this.setManyOf("allOf",e),this}anyOf(e){return this.setManyOf("anyOf",e),this}oneOf(e){return this.setManyOf("oneOf",e),this}not(e){return super.set("not",x(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",P(e)),this}format(e){return super.set("format",e),this}type(e){switch(e){case"map":case Map:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case"array":case Array:super.set("type",A(e)),this.#o=e,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case"set":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":this.integer();break;case"number":case"string":case"boolean":case"object":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=e.length?e:["integer","number","string","boolean","array","object","null"],(e=(0,d.uniq)(e).map((e=>(0,d.isClass)(e)?e:{type:A(e)}))).length>1?this.anyOf(e):this.type(e[0]?.type||e[0]),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 v(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,this.#e=e.#e,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("anyOf")?this.get("anyOf").map((e=>e.getJsonType())):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)}setManyOf(e,t){let r=t.filter((e=>"null"!==e?.type||(this.nullable(!0),!1))).map(x);if(!(1!==r.length||t[0]instanceof $||this.isNullable)){if(!r[0].hasDiscriminator)return this.type(t[0]);const e=r[0].discriminator().children();if(!e.length)return this.type(t[0]);r=e.map(x)}super.set(e,r);const s=r[0];if(s.isDiscriminator){const e=s.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t,mapping:r.reduce(((t,r)=>(e.types.get(r.getTarget())?.forEach((e=>{t[e]=r})),t)),{})}),this.isDiscriminator=!0,this.#t=e}}}function M(e){return t=>{f.set(e,t)}}let w=class extends g{constructor(){super(...arguments),this.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})}};w=y([M(d.DecoratorTypes.CLASS)],w);let _=class extends g{constructor(){super(...arguments),this.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([M(d.DecoratorTypes.PROP)],_);const N=_;class I extends Map{constructor(e={}){super(),this.$kind="map",this.$isJsonDocument=!0,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 D;function L(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function k(e){return Object.values(D).includes(L(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(D||(D={}));class j extends I{constructor(){super(...arguments),this.$kind="operationInParameter",this.nestedGenerics=[]}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 H=class extends g{constructor(e){super(e),this.parameter=new j,this.parent=g.fromMethod(this.target,this.propertyKey),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))}};H=y([M(d.DecoratorTypes.PARAM),O("design:paramtypes",[Object])],H);const G=H,q=e=>Number(e)&&200<=Number(e)&&Number(e)<300,B=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function U(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=I){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new I)}class J extends I{constructor(){super(...arguments),this.$kind="operationMedia",this.groups=[]}schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}}class F extends I{constructor(e={}){super(e),this.$kind="operationResponse",this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",U(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}isBinary(){return this.getContent().has("application/octet-stream")}}class V extends I{#u;#h;constructor(e={}){super({parameters:[],responses:new I,...e}),this.$kind="operation",this.operationPaths=new Map,this.#h=!1}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?B(e):this.#h}addResponse(e,t){if((q(e)||B(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{constructor(e){super({store:d.Store.fromMethod(e.target,e.propertyKey),descriptor:(0,d.descriptorOf)(e.target,e.propertyKey),...e}),this.parent=g.from(this.target),this.middlewares=[],this.beforeMiddlewares=[],this.afterMiddlewares=[],this.operation=new V,this.children=new Map;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([M(d.DecoratorTypes.METHOD),O("design:paramtypes",[Object])],W);const X=W;function z(...e){return g.from(...e)}f.set(d.DecoratorTypes.CLASS,w),f.set(d.DecoratorTypes.PROP,_),f.set(d.DecoratorTypes.PARAM,H),f.set(d.DecoratorTypes.METHOD,W);class Y extends Map{constructor(){super(...arguments),this.$kind="operationPaths",this.$isJsonDocument=!0,this.getKey=(e,t)=>`${e}-${t}`}setOperationPath(e){const t=this.getKey(e.method,e.path);this.set(t,e)}}function Q(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 Y;t.$operations=new Map,Q(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 D.BODY:return r;case D.QUERY:case D.PATH:case D.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{constructor(e){this.getType=e,this.isLazyRef=!0}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.isReadOnly,o=t.isWriteOnly;return(0,d.cleanObject)({readOnly:!!i||void 0,writeOnly:!!o||void 0,...i||o?{anyOf:[n]}:n})}function de(e,t,r){const s=le(e.getName(),r);return t&&(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,r){if(e.discriminator?.mapping){const t=Object.entries(e.discriminator.mapping),s={};for(const[e,n]of t)s[e]=(0,d.isString)(n)?n:de(n,null,r).$ref;e.discriminator.mapping=s}return e}function Oe(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}function Se(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 be(e,t){if(t?.type&&t?.$ref){const{$ref:e,...r}=t;t={allOf:[{$ref:e},r]}}return t}function Re(e,{target:t,...r}){const s=Array.from(Q(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),{alter:be})),{});return(0,d.deepMerge)(t,e,{alter:be})}return e}function Ae(e,t){return e&&e.isClass?u("class",[e],t):u("any",[e],t)}function Ee(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 Te(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)),{})}c("any",fe),c("class",ge),c("discriminatorMapping",(function(e){return e.discriminator?.mapping&&delete e.discriminator.mapping,e})),c("enums",Oe),c("generics",Se),c("inheritedClass",Re),c("item",Ae),c("lazyRef",Ee),c("map",Te);const Pe=["oneOf","allOf","anyOf"],ve=["minLength","maxLength","pattern","format"],Ce=[],xe=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"],$e=["maxItems","minItems","uniqueItems","items","contains","maxContains","minContains"],Me=["maxItems","minItems","uniqueItems","items","contains","maxContains","minContains","patternProperties","dependencies"],we=["const","enum"];function _e(e,t){return t?.isNullable?(e.discriminator||(e.$ref?e=(0,d.cleanObject)({...e,$ref:void 0,anyOf:[{type:"null"},{$ref:e.$ref}]}):Pe.some((t=>{if(e[t])if(e[t]=e[t].filter((e=>"null"!==e.type)),1===e[t].length){const r=e[t];e=(0,d.cleanObject)({...e,...r[0],[t]:void 0,type:["null",Number.isInteger(e.multipleOf)?"integer":r[0].type]})}else e[t]=[{type:"null"}].concat(e[t]).map((e=>(Number.isInteger(e.multipleOf)&&(e.type="integer"),e))),delete e.type}))),e):e}function Ne(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 Ie(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&&!Ne(n,h)){const i={...t,groups:e?.$forwardGroups||n?.$forwardGroups?t.groups:void 0};r[s]=u("item",[n],i),r[s]=u("nullable",[r[s],n],i)}return r}),(0,d.isArray)(e)?[]:{})}function De(e,t,r){return e.map((e=>u("item",[e],{...t,genericLabels:r.genericLabels})))}function Le(e,t,r){return e.isClass?u("class",[e],t):u("any",[e],{...t,genericLabels:r.genericLabels})}function ke(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function je(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)),ke((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(e,r)=>{const i=s&&t.alias.get(r)||r;return n.includes(i)?e.concat(i):e}}(e,t,r),[]),e.discriminator&&s.push(e.discriminator.propertyName),s.length&&(e.required=s),e}function He(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}c("nullable",_e),c("object",Ie),c("anyOf",De),c("allOf",De),c("oneOf",De),c("properties",Le),c("items",Le),c("additionalProperties",Le),c("propertyNames",Le),c("contains",Le),c("dependencies",Le),c("patternProperties",Le),c("additionalItems",Le),c("not",Le),c("definitions",Le),c("required",je);const Ge={string:{properties:ve,is:d.isString},number:{properties:xe,is:d.isNumber},boolean:{properties:Ce,is:d.isBoolean},array:{properties:$e,is:()=>!1},object:{properties:Me,is:()=>!1}};function qe(e,t,r){const s=function(e){return Pe.find((t=>e[t]))}(e);return s&&(e[s].forEach((t=>{!function(e,t,r){const s=Ge[e];s?.properties.concat(we).forEach((e=>{void 0!==t[e]&&(we.includes(e)?r[e]=t[e].filter(s.is):(r[e]=t[e],delete t[e]))}))}(t.type,e,t)})),Pe.forEach((s=>{e[s]&&!1!==r.groups&&t.$hooks.has(s)&&(e={...e,[s]:t.$hooks.alter(s,e[s],[r.groups])})})),delete e.const,delete e.enum,e.items||e.properties||delete e.type),e}const Be=["name","$required","$hooks","_nestedGenerics",se.OPENAPI,se.SWAGGER,se.JSON],Ue=[];function Ke(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 Be.includes(e)||e.startsWith("#")&&(!1===r||t!==se.JSON)||t!==se.JSON&&Ue.includes(e)}(e,t))).reduce(((s,n)=>{let i=e.get(n);if("type"===(n=n.replace(/^#/,"")))return s[n]=e.getJsonType(),s;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=He(i,e.alias))}return s[n]=i,s}),{})}(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)}),(0,d.isFunction)(r.default)&&(r.default=r.default()),r=u("required",[r,e],t),r=u("nullable",[r,e],t),r=qe(r,e,t),r=u("enums",[r,e],t),r=u("discriminatorMapping",[r,e],t),r}(e,r);return s&&Object.keys((0,d.getValue)(r,"components.schemas",{})).length&&(n.definitions=r.components.schemas),n}function Je(e,t,r){return(e=Oe(e,0,r)).const&&(e.enum=[e.const],delete e.const),e}function Fe(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 Ve(e,t){return t?.isNullable?e.$ref?(0,d.cleanObject)({...e,...e.$ref&&{anyOf:[{$ref:e.$ref}],type:void 0},nullable:!0,$ref:void 0}):(0,d.cleanObject)({...e,...1===e.anyOf?.length?{...e.anyOf[0],anyOf:void 0,type:Number.isInteger(e.multipleOf)?"integer":e.anyOf[0]?.type}:{type:e.anyOf?.length>1?void 0:e.type,anyOf:e.anyOf?.map((e=>(Number.isInteger(e.multipleOf)&&(e.type="integer"),e)))},nullable:!0}):e}function We(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 Xe(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")===D.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 ze(e,t){return e.flatMap((e=>u("operationInParameter",[e],t))).filter(Boolean)}function Ye(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:Ye(r,e.examples)})]),[])}(e,s);e.style="deepObject"}return e.schema=t,e}c("schema",Ke),c("discriminatorMapping",ye,se.OPENAPI),c("discriminatorMapping",ye,se.SWAGGER),c("discriminatorMapping",ye,se.ASYNCAPI),c("enums",Je,se.OPENAPI),c("enums",Je,se.SWAGGER),c("enums",Je,se.ASYNCAPI),c("generate",Fe,se.OPENAPI),c("generate",Fe,se.SWAGGER),c("nullable",Ve,se.OPENAPI),c("nullable",Ve,se.SWAGGER),c("operationInFiles",We),c("operationInParameter",Xe),c("operationInParameters",ze),c("operationInQuery",Qe);var Ze=n(203),et=n.n(Ze);const tt=et().codes.reduce(((e,r)=>{const s=String(et()(r));return{...e,[String(r)]:{label:s,code:(0,t.constantCase)(s)}}}),{});function rt(e){return tt[e]?.code}function st(e){return tt[e]?.label}function nt(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:st(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[D.BODY,D.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 it(e,t){return u("map",[e],{...t,groups:[...e.groups||[]],groupsName:e.groupsName})}tt[200].label="Success",tt[200].code="SUCCESS",c("operation",nt),c("operationMedia",it);class ot extends I{constructor(e={}){super(e),this.$kind="operationRequestBody",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 I;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function at(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 ot(o);return t.forEach((e=>{a.addContent(e,s,n)})),u("map",[a],r)}function ct(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 pt(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 ut(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 ht(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 lt(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}c("operationRequestBody",at),c("operationResponse",ct);const mt=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.OPTIONS,e.DELETE,e.TRACE];function dt(e,{path:t,method:r,operation:s}){return{...e,[t]:{...e[t],[r.toLowerCase()]:s}}}function ft(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(mt).length>0)).flatMap(function(e){return t=>{const r=t.operation.getAllowedOperationPath(mt);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 ut(e.ctrlRootPath,n).map((({path:t,parameters:n})=>(t=t||"/",n=pt(n.map((({type:e,...t})=>({...t,schema:{type:e}}))),r),{operation:{...r,parameters:n,operationId:r.operationId||lt(t,{...e,store:s})},method:i,path:t})))}}(s)).reduce(dt,t)}function gt(e){return(...t)=>{const r=e(z(...t),t);"function"==typeof r&&r(...t)}}function yt(...e){return gt((t=>{t.store.set("childrenControllers",e),e.forEach((e=>{d.Store.from(e).set("parentController",t.token)}))}))}function Ot(e,...r){return gt((s=>{e=e||(0,t.snakeCase)(s.targetName),s.discriminatorAncestor&&s.schema.discriminatorValue(e,...r)}))}function St(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 bt(e){return St(e,Array)}function Rt(e){return St(e,Map)}function At(e){return St(e).Contains()}function Et(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&>((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",ft);const Tt=Et("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return gt((t=>{t.schema.maxItems(e)}))})),Pt=Et("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return gt((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),vt=Et("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return gt((t=>{t.schema.minItems(e)}))})),Ct=Et("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return gt((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),xt=Et("uniqueItems",((e=!0)=>gt((t=>{t.schema.uniqueItems(e)}))));function $t(e){return gt(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Mt(...e){return gt((t=>{t.itemSchema.allOf(e)}))}function wt(e){return gt((t=>{e&&(((0,d.isClass)(e)||(0,d.isArrowFn)(e))&&(t.type=e),t.itemSchema.type(e))}))}function _t(...e){const t=e.find((e=>(0,d.isClass)(e)));return(0,d.useDecorators)(t&&wt(t),gt(((t,r)=>{t.decoratorType===d.DecoratorTypes.PARAM&&(t.required=!0),t.decoratorType===d.DecoratorTypes.PROP&&t.parentSchema.addRequired(t.propertyName),t.schema.allow(...e)})))}function Nt(...e){return gt((t=>{t.itemSchema.any(...e)}))}function It(...e){return gt((t=>{t.itemSchema.anyOf(e)}))}function Dt(e){return gt((t=>{t.itemSchema.const(e)}))}function Lt(e,t){return gt((r=>{r.itemSchema.customKey(e,t)}))}function kt(e){return gt((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function jt(e){return gt((t=>{t.itemSchema.default(e)}))}function Ht(e){return gt((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function Gt(e){return(0,d.useDecorators)(Ht({_:e}))}function qt(e){return gt(((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 Bt(){return(0,d.useDecorators)(wt(),gt((e=>{e.discriminatorKey()})))}const Ut=Et("enum",(function(e,...t){return gt((r=>{r.itemSchema.enum(e,...t)}))}));function Kt(...e){return gt((t=>{t.schema.examples(e)}))}function Jt(e){return gt((t=>{t.parameter.examples(e)}))}const Ft=Et("maximum",((e,t=!1)=>gt((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),Vt=Ft,Wt=Et("exclusiveMaximum",((e,t=!0)=>Ft(e,t))),Xt=Et("minimum",((e,t=!1)=>gt((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),zt=Xt,Yt=Et("exclusiveMinimum",((e,t=!0)=>Xt(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 Zt=Et("format",(e=>gt((t=>{t.itemSchema.format(e)})))),er=Et("format",(()=>Zt(Qt.EMAIL))),tr=Et("format",(()=>Zt(Qt.DATE_TIME))),rr=Et("format",(()=>Zt(Qt.DATE))),sr=Et("format",(()=>Zt(Qt.TIME))),nr=Et("format",(()=>Zt(Qt.URI))),ir=Et("format",(()=>Zt(Qt.URL)));function or(e=!0){return gt((t=>{t.schema.$forwardGroups=e}))}var ar=n(133),cr=n.n(ar);function pr(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=cr()(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 ur(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&pr(r,t))||!!s.length&&!pr(e.filter((e=>!e.startsWith("!"))),t)}function hr(...e){return gt((t=>{switch(t.decoratorType){case d.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{hr(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(e,t);break;case d.DecoratorTypes.PROP:Lt("x-groups",e)(t.target,t.propertyKey),t.schema.$hooks.on("groups",((t,r)=>!(t||!ur(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 lr(){return(0,d.StoreSet)("hidden",!0)}function mr(e=!0){return gt((t=>{t.schema.ignore(e)}))}function dr(){return gt((e=>{e.itemSchema.type("integer")}))}function fr(e,t=!1){return gt((r=>{t?r.schema.label(e):r.itemSchema.label(e)}))}const gr=Et("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return gt((t=>{t.itemSchema.maxLength(e)}))})),yr=Et("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return gt((t=>{t.itemSchema.minLength(e)}))})),Or=Et("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return gt((t=>{t.itemSchema.multipleOf(e)}))}));function Sr(e){return gt(((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 br(e,...t){return t=[e,...t],(0,d.useDecorators)(1===t.length&&wt(t[0]),Nt(null,...t))}function Rr(...e){return gt((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function Ar(){return gt((e=>{switch(e.decoratorType){case d.DecoratorTypes.PARAM:e.required=!1;break;case d.DecoratorTypes.PROP:e.parentSchema.removeRequired(e.propertyName)}}))}const Er=Et("pattern",(e=>gt((t=>{t.itemSchema.pattern(e)}))));function Tr(e=!0){return gt((t=>{t.itemSchema.readOnly(e)}))}function Pr(e){return gt((t=>{t.schema.assign(e)}))}function vr(e,t){return gt((r=>{r.schema.set(e,t)}))}function Cr(e,...t){return Pr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const xr=Et("required",((e=!0,...t)=>e?_t(...t):Ar()));function $r(...e){return gt((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>ur(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function Mr(e){return gt((t=>{t.schema.title(e)}))}function wr(e){return gt((()=>(0,d.useDecorators)(Ht({type:e}))))}function _r(e=!0){return gt((t=>{t.itemSchema.writeOnly(e)}))}function Nr(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 Ir(){return Nr(String)}function Dr(...e){const t=[e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Ir().enum(Object.values(e)):e))],r=(...e)=>{g.from(...e).nestedGenerics=t};return r.Nested=(...e)=>(t.push(e),r),r}function Lr(...e){return t=>{g.from(t).schema.genericLabels=e}}function kr(...e){return gt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.consumes(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],kr(...e));break;default:throw new d.UnsupportedDecoratorType(kr,r)}}))}function jr(...e){return(0,d.useDecorators)(kr(...e),(0,d.StoreSet)("acceptMimes",e))}class Hr extends Map{constructor(e={}){super(),this.actions=[],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 Gr=new Map;function qr(e,t){Gr.set(e,t)}function Br(e){return Gr.get(e)}function Ur(e){return e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Ir().enum(Object.values(e)):e))}class Kr extends Hr{constructor({status:e,model:t}){super(),this.methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location","binary"],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&&st(e)&&!this.get("description")&&(this.set("description",st(e)),this.get("model")||this.model(Br(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...U(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(Ur(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(Ur(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})}binary(){return this.type(String),this.set("contentType","application/octet-stream"),this.schema({format:"binary"}),this}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)||this.hasOfTypes)&&(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),(q(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 j;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.hasOfTypes=!0,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 Jr(e,t){return new Kr({status:e,model:t}).build()}function Fr(e){return Jr().ContentType(e)}function Vr(e=!0){return gt(((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],Vr(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(Vr,r)}}))}function Wr(e,t){return void 0!==t&&(e={[e]:t}),void 0===t&&(0,d.isString)(e)&&(e={[e]:{type:"string"}}),Jr().Headers(e)}function Xr(e){const t=new j,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(Xr,[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 zr(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)(Xr(D.FILES),Sr(o),(0,d.useMethodDecorators)(Jr(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"),kr("multipart/form-data")))(...t)}}function Yr(e,t){return Jr().Location(e,t)}const Qr=new Set([...Object.keys(e).filter((t=>t!==e.CUSTOM)).map((e=>e.toLowerCase()))]);function Zr(e){let t,r;const s=e.filter((e=>"string"==typeof e&&Qr.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 es extends Hr{constructor(){super(...arguments),this.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 ts(...e){const t=Zr(e);return new es(t).build()}function rs(e){return gt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(rs,r);t.operation.operationId(e)}))}function ss(e,t="/"){return gt(((r,s)=>{if(r.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(ss,s);r.operation.addOperationPath(e.toUpperCase(),t)}))}function ns(){return hr("partial")}function is(e){return gt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.CLASS)throw new d.UnsupportedDecoratorType(is,r);t.path=e}))}function os(...e){return gt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.produces(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],os(...e));break;default:throw new d.UnsupportedDecoratorType(os,r)}}))}function as(t){return ts(e.PUBLISH,t)}function cs(...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)(Jr(t).Location(r,s),gt((e=>{e.operation?.setRedirection(t)})))}const ps=ts;function us(t="/",...r){return ts(...[e.ALL,t].concat(r))}function hs(t="/",...r){return ts(...[e.GET,t].concat(r))}function ls(t="/",...r){return ts(...[e.POST,t].concat(r))}function ms(t="/",...r){return ts(...[e.PUT,t].concat(r))}function ds(t="/",...r){return ts(...[e.DELETE,t].concat(r))}function fs(t="/",...r){return ts(...[e.HEAD,t].concat(r))}function gs(t="/",...r){return ts(...[e.PATCH,t].concat(r))}function ys(t="/",...r){return ts(...[e.OPTIONS,t].concat(r))}function Os(e,...t){return gt(((r,s)=>{switch(r.decoratorType){case d.DecoratorTypes.METHOD:Array.isArray(e)?r.operation.security(e):r.operation.addSecurityScopes(e,t);break;case d.DecoratorTypes.CLASS:Array.isArray(e)?(0,d.decorateMethodsOf)(s[0],Os(e)):(0,d.decorateMethodsOf)(s[0],Os(e,...t));break;default:throw new d.UnsupportedDecoratorType(Os,s)}}))}function Ss(e,t){return Jr(e,t)}function bs(t){return ts(e.SUBSCRIBE,t)}function Rs(e){return gt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(Rs,r);t.operation.summary(e)}))}function As(...e){return gt(((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],As(...e));break;default:throw new d.UnsupportedDecoratorType(As,r)}}))}function Es(e,t){return(0,d.StoreSet)("view",{path:e,options:t})}function Ts(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 Ps{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 Ts(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]}}function vs(...e){return Nr().allOf(e)}function Cs(...e){return Nr().any(...e)}function xs(...e){return Nr().anyOf(e)}function $s(){return Nr(Boolean)}function Ms(){return Nr(Array)}function ws(){return Nr(Map).unknown(!0)}function _s(){return Nr(Array).uniqueItems(!0)}function Ns(){return Nr(Date).format(Qt.DATE)}function Is(){return Nr(Date).format(Qt.DATE_TIME)}function Ds(){return Nr(Date).format(Qt.TIME)}function Ls(){return Nr(String).format(Qt.EMAIL)}function ks(e){const t=Ir().enum(e);return S.set(e,t),t}function js(){return Nr(Number).integer()}function Hs(e){try{if(e())return g.from(e()).schema}catch(e){}return new he(e)}function Gs(){return Nr(Number)}function qs(e={}){return Nr(Object).properties(e)}function Bs(...e){return Nr().oneOf(e)}function Us(){return Nr(String).format(Qt.URI)}function Ks(){return Nr(String).format(Qt.URL)}const Js=(0,d.mergeReducerBuilder)(((e,t)=>e.type&&e.type&&e.type===t.type&&"array"===t.type?JSON.stringify(e.items)===JSON.stringify(t.items):e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),Fs=(0,d.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),Vs=(0,d.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),Ws=(0,d.mergeReducerBuilder)(((e,t)=>e.name===t.name)),Xs={security:Vs,parameters:Fs,oneOf:Js,anyOf:Js,allOf:Js,tags:Ws};function zs(e,t){return(0,d.deepMerge)(e,t,{reducers:Xs,cleanUndefinedProps:!0})}const Ys=new Map;function Qs(e,t={}){if(t={specType:se.OPENAPI,...t,tags:[],paths:{},channels:{},components:{},operationIdFormatter:t.operationIdFormatter||ht(t.operationIdPattern),root:!1},(0,d.isArray)(e)){let r={};return t={...t,append(e){r=zs(r,e)}},e.forEach((({token:e,...r})=>{const s=Qs(e,{...t,...r});t.append(s)})),r}return function(e,t,r){Ys.has(e)||Ys.set(e,new Map);const s=Ys.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 Zs(e){return e.startsWith("3.")?se.OPENAPI:se.SWAGGER}function en(e){return"openapi"in e?se.OPENAPI:se.SWAGGER}function tn(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 rn(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:tn((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 sn(e,{specVersion:t}){const{servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}=e;return{openapi:t,info:tn((0,d.getValue)(e,"info",{})),servers:r,paths:s,components:n,security:i,tags:o,externalDocs:a}}function nn(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(Zs(s)){case se.OPENAPI:e=sn(e,i),t=t?sn(t,i):t;break;default:case se.SWAGGER:e=rn(e,i),t=t?rn(t,i):t}return e=zs(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 on=["get","put","post","delete","options","head","patch","trace"],an=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],cn=["type","items"],pn=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,un={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function hn(e){if(Array.isArray(e))e.forEach(hn);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):hn(e[t])}function ln(e){return new RegExp(pn,"i").test(e)}function mn(e){const t=Object.keys(un).map((e=>un[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||ln(e)))}function dn(e){return Object.entries(e).reduce(((e,[t,r])=>{const s=function(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}}}(r);return s&&(e[t]=s),e}),{})}function fn(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 gn{constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?fn(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,hn(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(on.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=mn(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=mn(t)[0],delete i.content,[un.APPLICATION_X_WWW_URLENCODED,un.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,an),this.copySchemaProperties(t,cn),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&&ln(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=dn(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function yn(e){return new gn(e).convert()}function On({tokens:e,...t}){const{version:r="1.0.0",acceptMimes:s,fileSpec:n={},specVersion:i}=t,o=nn((0,d.getValue)(t,"spec",{}),{fileSpec:n,version:r,specVersion:i,acceptMimes:s}),a=en(o),c=zs(o,Qs(e,t));return t.sortPaths&&(c.paths=Object.fromEntries(Object.entries(c.paths).sort((([e],[t])=>e.localeCompare(t))))),a===se.SWAGGER?yn(c):c}const Sn="$cache:schemes";function bn(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(Sn)||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(Sn,r),r.get(s)}(r,t)}function Rn(e,t={}){const r=e.isStore?e:z(e),s=Ts(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(Rn(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 Ps({basePath:s,token:e,endpoint:n,operationPath:t}))})),r}),n)}function An(e){const t=e.isStore?e:z(e);if(!t.$properties){const e=Q(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 En(e,t={}){const r=An(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&Ne(e.itemSchema,t)||s.set(r,e)})),s}})(),i})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@tsed/core"),require("change-case")):"function"==typeof define&&define.amd?define(["@tsed/core","change-case"],t):"object"==typeof exports?exports["@tsed/schema"]=t(require("@tsed/core"),require("change-case")):e["@tsed/schema"]=t(e["@tsed/core"],e["change-case"])}(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],y=r.capture?"":"?:",g=s.globChars(r.windows),O=s.extglobChars(g),{DOT_LITERAL:S,PLUS_LITERAL:b,SLASH_LITERAL:R,ONE_CHAR:E,DOTS_SLASH:A,NO_DOT:T,NO_DOT_SLASH:P,NO_DOTS_SLASH:v,QMARK:C,QMARK_NO_DOT:x,STAR:$,START_ANCHOR:M}=g,_=e=>`(${y}(?:(?!${M}${e.dot?A:S}).)*?)`,w=r.dot?"":T,N=r.dot?C:x;let L=!0===r.bash?_(r):$;r.capture&&(L=`(${L})`),"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 D=[],k=[],j=[];let H,G=d;const q=()=>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),F=(e="",t=0)=>{I.consumed+=e,I.index+=t},J=e=>{I.output+=null!=e.output?e.output:e.value,F(e.value)},W=()=>{let e=1;for(;"!"===U()&&("("!==U(2)||"?"===U(3));)B(),I.start++,e++;return e%2!=0&&(I.negated=!0,I.start++,!0)},V=e=>{I[e]++,j.push(e)},X=e=>{I[e]--,j.pop()},z=e=>{if("globstar"===G.type){const t=I.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||D.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(I.output=I.output.slice(0,-G.output.length),G.type="star",G.value="*",G.output=L,I.output+=G.output)}if(D.length&&"paren"!==e.type&&!O[e.value]&&(D[D.length-1].inner+=e.value),(e.value||e.output)&&J(e),G&&"text"===G.type&&"text"===e.type)return G.value+=e.value,void(G.output=(G.output||"")+e.value);e.prev=G,f.push(e),G=e},Q=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=G,s.parens=I.parens,s.output=I.output;const n=(r.capture?"(":"")+s.open;V("parens"),z({type:e,value:t,output:I.output?"":E}),z({type:"paren",extglob:!0,value:B(),output:n}),D.push(s)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=L;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=_(r)),(s!==L||q()||/^\)+$/.test(K()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&q()&&(I.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:H,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?C.repeat(i.length):""):0===o?N+(i?C.repeat(i.length):""):C.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?L:""):L: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(;!q();){if(H=B(),"\0"===H)continue;if("\\"===H){const e=U();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){H+="\\",z({type:"text",value:H});continue}const t=/^\\+/.exec(K());let s=0;if(t&&t[0].length>2&&(s=t[0].length,I.index+=s,s%2!=0&&(H+="\\")),!0===r.unescape?H=B()||"":H+=B()||"",0===I.brackets){z({type:"text",value:H});continue}}if(I.brackets>0&&("]"!==H||"["===G.value||"[^"===G.value)){if(!1!==r.posix&&":"===H){const e=G.value.slice(1);if(e.includes("[")&&(G.posix=!0,e.includes(":"))){const e=G.value.lastIndexOf("["),t=G.value.slice(0,e),r=G.value.slice(e+2),s=o[r];if(s){G.value=t+s,I.backtrack=!0,B(),d.output||1!==f.indexOf(G)||(d.output=E);continue}}}("["===H&&":"!==U()||"-"===H&&"]"===U())&&(H=`\\${H}`),"]"!==H||"["!==G.value&&"[^"!==G.value||(H=`\\${H}`),!0===r.posix&&"!"===H&&"["===G.value&&(H="^"),G.value+=H,J({value:H});continue}if(1===I.quotes&&'"'!==H){H=n.escapeRegex(H),G.value+=H,J({value:H});continue}if('"'===H){I.quotes=1===I.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:H});continue}if("("===H){V("parens"),z({type:"paren",value:H});continue}if(")"===H){if(0===I.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=D[D.length-1];if(e&&I.parens===e.parens+1){Y(D.pop());continue}z({type:"paren",value:H,output:I.parens?")":"\\)"}),X("parens");continue}if("["===H){if(!0!==r.nobracket&&K().includes("]"))V("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));H=`\\${H}`}z({type:"bracket",value:H});continue}if("]"===H){if(!0===r.nobracket||G&&"bracket"===G.type&&1===G.value.length){z({type:"text",value:H,output:`\\${H}`});continue}if(0===I.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:H,output:`\\${H}`});continue}X("brackets");const e=G.value.slice(1);if(!0===G.posix||"^"!==e[0]||e.includes("/")||(H=`/${H}`),G.value+=H,J({value:H}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(G.value);if(I.output=I.output.slice(0,-G.value.length),!0===r.literalBrackets){I.output+=t,G.value=t;continue}G.value=`(${y}${t}|${G.value})`,I.output+=G.value;continue}if("{"===H&&!0!==r.nobrace){V("braces");const e={type:"brace",value:H,output:"(",outputIndex:I.output.length,tokensIndex:I.tokens.length};k.push(e),z(e);continue}if("}"===H){const e=k[k.length-1];if(!0===r.nobrace||!e){z({type:"text",value:H,output:H});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="\\{",H=t="\\}",I.output=r;for(const e of s)I.output+=e.output||e.value}z({type:"brace",value:H,output:t}),X("braces"),k.pop();continue}if("|"===H){D.length>0&&D[D.length-1].conditions++,z({type:"text",value:H});continue}if(","===H){let e=H;const t=k[k.length-1];t&&"braces"===j[j.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:H,output:e});continue}if("/"===H){if("dot"===G.type&&I.index===I.start+1){I.start=I.index+1,I.consumed="",I.output="",f.pop(),G=d;continue}z({type:"slash",value:H,output:R});continue}if("."===H){if(I.braces>0&&"dot"===G.type){"."===G.value&&(G.output=S);const e=k[k.length-1];G.type="dots",G.output+=H,G.value+=H,e.dots=!0;continue}if(I.braces+I.parens===0&&"bos"!==G.type&&"slash"!==G.type){z({type:"text",value:H,output:S});continue}z({type:"dot",value:H,output:S});continue}if("?"===H){if((!G||"("!==G.value)&&!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("qmark",H);continue}if(G&&"paren"===G.type){const e=U();let t=H;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===G.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(K()))&&(t=`\\${H}`),z({type:"text",value:H,output:t});continue}if(!0!==r.dot&&("slash"===G.type||"bos"===G.type)){z({type:"qmark",value:H,output:x});continue}z({type:"qmark",value:H,output:C});continue}if("!"===H){if(!0!==r.noextglob&&"("===U()&&("?"!==U(2)||!/[!=<:]/.test(U(3)))){Q("negate",H);continue}if(!0!==r.nonegate&&0===I.index){W();continue}}if("+"===H){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("plus",H);continue}if(G&&"("===G.value||!1===r.regex){z({type:"plus",value:H,output:b});continue}if(G&&("bracket"===G.type||"paren"===G.type||"brace"===G.type)||I.parens>0){z({type:"plus",value:H});continue}z({type:"plus",value:b});continue}if("@"===H){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){z({type:"at",extglob:!0,value:H,output:""});continue}z({type:"text",value:H});continue}if("*"!==H){"$"!==H&&"^"!==H||(H=`\\${H}`);const e=a.exec(K());e&&(H+=e[0],I.index+=e[0].length),z({type:"text",value:H});continue}if(G&&("globstar"===G.type||!0===G.star)){G.type="star",G.star=!0,G.value+=H,G.output=L,I.backtrack=!0,I.globstar=!0,F(H);continue}let t=K();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",H);continue}if("star"===G.type){if(!0===r.noglobstar){F(H);continue}const s=G.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:H,output:""});continue}const a=I.braces>0&&("comma"===s.type||"brace"===s.type),c=D.length&&("pipe"===s.type||"paren"===s.type);if(!i&&"paren"!==s.type&&!a&&!c){z({type:"star",value:H,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[I.index+4];if(r&&"/"!==r)break;t=t.slice(3),F("/**",3)}if("bos"===s.type&&q()){G.type="globstar",G.value+=H,G.output=_(r),I.output=G.output,I.globstar=!0,F(H);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&q()){I.output=I.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=_(r)+(r.strictSlashes?")":"|$)"),G.value+=H,I.globstar=!0,I.output+=s.output+G.output,F(H);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+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=`${_(r)}${R}|${R}${e})`,G.value+=H,I.output+=s.output+G.output,I.globstar=!0,F(H+B()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){G.type="globstar",G.value+=H,G.output=`(?:^|${R}|${_(r)}${R})`,I.output=G.output,I.globstar=!0,F(H+B()),z({type:"slash",value:"/",output:""});continue}I.output=I.output.slice(0,-G.output.length),G.type="globstar",G.output=_(r),G.value+=H,I.output+=G.output,I.globstar=!0,F(H);continue}const s={type:"star",value:H,output:L};!0!==r.bash?!G||"bracket"!==G.type&&"paren"!==G.type||!0!==r.regex?(I.index!==I.start&&"slash"!==G.type&&"dot"!==G.type||("dot"===G.type?(I.output+=P,G.output+=P):!0===r.dot?(I.output+=v,G.output+=v):(I.output+=w,G.output+=w),"*"!==U()&&(I.output+=E,G.output+=E)),z(s)):(s.output=H,z(s)):(s.output=".*?","bos"!==G.type&&"slash"!==G.type||(s.output=w+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"!==G.type&&"bracket"!==G.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:y,START_ANCHOR:g}=s.globChars(r.windows),O=r.dot?d:m,S=r.dot?f:m,b=r.capture?"":"?:";let R=!0===r.bash?".*?":y;r.capture&&(R=`(${R})`);const E=e=>!0===e.noglobstar?R:`(${b}(?:(?!${g}${e.dot?l:c}).)*?)`,A=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+E(r);case"**/*":return`(?:${O}${E(r)}${u})?${S}${h}${R}`;case"**/*.*":return`(?:${O}${E(r)}${u})?${S}${R}${c}${h}${R}`;case"**/.*":return`(?:${O}${E(r)}${u})?${c}${h}${R}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=A(t[1]);if(!r)return;return r+c+t[2]}}},T=n.removePrefix(e,{negated:!1,prefix:""});let P=A(T);return P&&!0!==r.strictSlashes&&(P+=`${u}?`),P},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:y,CHAR_RIGHT_PARENTHESES:g,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,E=!0===r.parts||!0===r.scanToEnd,A=[],T=[],P=[];let v,C,x=e,$=-1,M=0,_=0,w=!1,N=!1,L=!1,I=!1,D=!1,k=!1,j=!1,H=!1,G=!1,q=0,U={value:"",depth:0,isGlob:!1};const B=()=>$>=R,K=()=>(v=C,x.charCodeAt(++$));for(;$<R;){let e;if(C=K(),C!==o){if(!0===k||C===h){for(q++;!0!==B()&&(C=K());)if(C!==o)if(C!==h){if(!0!==k&&C===c&&(C=K())===c){if(w=U.isBrace=!0,L=U.isGlob=!0,G=!0,!0===E)continue;break}if(!0!==k&&C===a){if(w=U.isBrace=!0,L=U.isGlob=!0,G=!0,!0===E)continue;break}if(C===y&&(q--,0===q)){k=!1,w=U.isBrace=!0,G=!0;break}}else q++;else j=U.backslashes=!0,K();if(!0===E)continue;break}if(C!==u){if(!0!==r.noext&&!0==(C===d||C===i||C===n||C===f||C===p)&&x.charCodeAt($+1)===l){if(L=U.isGlob=!0,I=U.isExtglob=!0,G=!0,!0===E){for(;!0!==B()&&(C=K());)if(C!==o){if(C===g){L=U.isGlob=!0,G=!0;break}}else j=U.backslashes=!0,C=K();continue}break}if(C===n){if(v===n&&(D=U.isGlobstar=!0),L=U.isGlob=!0,G=!0,!0===E)continue;break}if(C===f){if(L=U.isGlob=!0,G=!0,!0===E)continue;break}if(C===m)for(;!0!==B()&&(e=K());)if(e!==o){if(e===O){if(N=U.isBracket=!0,L=U.isGlob=!0,G=!0,!0===E)continue;break}}else j=U.backslashes=!0,K();if(!0===r.nonegate||C!==p||$!==M){if(!0!==r.noparen&&C===l){if(L=U.isGlob=!0,!0===E){for(;!0!==B()&&(C=K());)if(C!==l){if(C===g){G=!0;break}}else j=U.backslashes=!0,C=K();continue}break}if(!0===L){if(G=!0,!0===E)continue;break}}else H=U.negated=!0,M++}else{if(A.push($),T.push(U),U={value:"",depth:0,isGlob:!1},!0===G)continue;if(v===c&&$===M+1){M+=2;continue}_=$+1}}else j=U.backslashes=!0,C=K(),C===h&&(k=!0)}!0===r.noext&&(I=!1,L=!1);let F=x,J="",W="";M>0&&(J=x.slice(0,M),x=x.slice(M),_-=M),F&&!0===L&&_>0?(F=x.slice(0,_),W=x.slice(_)):!0===L?(F="",W=x):F=x,F&&""!==F&&"/"!==F&&F!==x&&S(F.charCodeAt(F.length-1))&&(F=F.slice(0,-1)),!0===r.unescape&&(W&&(W=s.removeBackslashes(W)),F&&!0===j&&(F=s.removeBackslashes(F)));const V={prefix:J,input:e,start:M,base:F,glob:W,isBrace:w,isBracket:N,isGlob:L,isExtglob:I,isGlobstar:D,negated:H};if(!0===r.tokens&&(V.maxDepth=0,S(C)||T.push(U),V.tokens=T),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<A.length;s++){const n=t?t+1:M,i=A[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==M?(T[s].isPrefix=!0,T[s].value=J):T[s].value=o,b(T[s]),V.maxDepth+=T[s].depth),0===s&&""===o||P.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);P.push(s),r.tokens&&(T[T.length-1].value=s,b(T[T.length-1]),V.maxDepth+=T[T.length-1].depth)}V.slashes=A,V.parts=P}return V}},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:t=>{t.exports=e},598:e=>{e.exports=t},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,{ARRAY_PROPERTIES:()=>xe,AcceptMime:()=>jr,AdditionalProperties:()=>It,All:()=>ps,AllOf:()=>Dt,Allow:()=>jt,Any:()=>Ht,AnyOf:()=>Gt,ArrayOf:()=>vt,BOOLEAN_PROPERTIES:()=>ve,COMMON_PROPERTIES:()=>Me,Children:()=>At,CollectionContains:()=>xt,CollectionOf:()=>Pt,Const:()=>qt,Consumes:()=>kr,ContentType:()=>Fr,Converter:()=>On,CustomKey:()=>Ut,CustomKeys:()=>Bt,DateFormat:()=>cr,DateTime:()=>ar,DecoratorContext:()=>Hr,Default:()=>Kt,DefaultMsg:()=>Jt,Delete:()=>ms,Deprecated:()=>Jr,Description:()=>Wt,Discriminator:()=>v,DiscriminatorKey:()=>Vt,DiscriminatorValue:()=>Tt,Email:()=>or,EndpointMetadata:()=>J,Enum:()=>Xt,ErrorMsg:()=>Ft,Example:()=>zt,Examples:()=>Qt,ExclusiveMaximum:()=>er,ExclusiveMinimum:()=>sr,For:()=>xr,Format:()=>ir,ForwardGroups:()=>lr,GenericOf:()=>Ir,Generics:()=>Dr,Get:()=>us,Groups:()=>mr,HTTP_STATUS_MESSAGES:()=>Ze,Head:()=>ds,Header:()=>Wr,Hidden:()=>dr,Ignore:()=>fr,In:()=>Vr,InFile:()=>Xr,Integer:()=>yr,JSON_TYPES:()=>g,JsonClassStore:()=>_,JsonEntitiesContainer:()=>s,JsonEntityComponent:()=>a,JsonEntityFn:()=>Et,JsonEntityStore:()=>o,JsonFormatTypes:()=>nr,JsonLazyRef:()=>Y,JsonMap:()=>L,JsonMedia:()=>q,JsonMethodPath:()=>B,JsonMethodStore:()=>F,JsonOperation:()=>K,JsonOperationPathsMap:()=>dt,JsonOperationRoute:()=>Ps,JsonParameter:()=>j,JsonParameterStore:()=>W,JsonParameterTypes:()=>I,JsonPropertyStore:()=>X,JsonRequestBody:()=>nt,JsonResponse:()=>U,JsonSchema:()=>M,LabelledAs:()=>gr,Location:()=>zr,MANY_OF_PROPERTIES:()=>Te,MapOf:()=>Ct,Max:()=>Zt,MaxItems:()=>Mt,MaxLength:()=>Or,MaxProperties:()=>_t,Maximum:()=>Yt,Min:()=>rr,MinItems:()=>wt,MinLength:()=>Sr,MinProperties:()=>Nt,Minimum:()=>tr,MultipleOf:()=>br,NUMBER_PROPERTIES:()=>Ce,Name:()=>Rr,Nullable:()=>Er,OBJECT_PROPERTIES:()=>$e,OPERATION_HTTP_VERBS:()=>ct,OPERATION_WS_VERBS:()=>pt,OneOf:()=>Ar,Operation:()=>es,OperationId:()=>ts,OperationMethods:()=>ut,OperationPath:()=>rs,OperationVerbs:()=>at,Optional:()=>Tr,Options:()=>ys,ParamMetadata:()=>V,Partial:()=>ss,Patch:()=>fs,Path:()=>ns,Pattern:()=>Pr,Post:()=>hs,Produces:()=>is,Property:()=>kt,PropertyMetadata:()=>z,Publish:()=>os,Put:()=>ls,ReadOnly:()=>vr,RecordOf:()=>$r,Redirect:()=>as,Required:()=>Mr,RequiredGroups:()=>_r,Returns:()=>Kr,Route:()=>cs,STRING_PROPERTIES:()=>Pe,Schema:()=>Cr,Security:()=>gs,SpecTypes:()=>Z,Status:()=>Os,Subscribe:()=>Ss,Summary:()=>bs,Tags:()=>Rs,TimeFormat:()=>pr,Title:()=>wr,TypeError:()=>Nr,UniqueItems:()=>Lt,Uri:()=>ur,Url:()=>hr,VendorKeys:()=>c,View:()=>Es,WriteOnly:()=>Lr,allOf:()=>Cs,alterIgnore:()=>we,alterOneOf:()=>He,alterRequiredGroups:()=>Ie,any:()=>xs,anyMapper:()=>ce,anyOf:()=>$s,array:()=>_s,boolean:()=>Ms,buildPath:()=>ht,classMapper:()=>pe,concatParameters:()=>lt,concatPath:()=>Ts,createRef:()=>oe,createRefName:()=>ie,date:()=>Ls,datetime:()=>Is,defineStatusModel:()=>qr,discriminatorMappingMapper:()=>ue,email:()=>js,enums:()=>Hs,enumsMapper:()=>he,enumsRegistry:()=>p,execMapper:()=>m,execOneOfMapper:()=>f,formatParameterType:()=>D,from:()=>vs,generateSpec:()=>bn,genericsMapper:()=>me,getComputedType:()=>y,getGenericsOptions:()=>Se,getInheritedStores:()=>de,getJsonEntityStore:()=>Q,getJsonPathParameters:()=>mt,getJsonSchema:()=>En,getJsonSchemaMapper:()=>l,getJsonType:()=>O,getOperationId:()=>gt,getOperationsRoutes:()=>An,getOperationsStores:()=>ft,getProperties:()=>Pn,getPropertiesStores:()=>Tn,getSchemaFromRef:()=>se,getSpec:()=>en,getSpecType:()=>tn,getSpecTypeFromSpec:()=>rn,getStatusConstant:()=>et,getStatusMessage:()=>tt,getStatusModel:()=>Ur,hasMapper:()=>d,inheritedClassMapper:()=>ye,inspectOperationsPaths:()=>As,integer:()=>Gs,isParameterType:()=>k,isRedirectionStatus:()=>N,isSuccessStatus:()=>w,itemMapper:()=>Ee,lazyRef:()=>qs,lazyRefMapper:()=>ge,map:()=>ws,mapAliasedProperties:()=>ke,mapHeaders:()=>H,mapMapper:()=>Oe,mapOpenSpec:()=>an,mapOpenSpec2:()=>nn,mapOpenSpec3:()=>on,mapOpenSpecInfo:()=>sn,mapOperationOptions:()=>Yr,matchGroups:()=>E,mergeSchema:()=>re,mergeSpec:()=>Ys,nextMapper:()=>Ae,nullableMapper:()=>_e,nullableMapperOpenApi:()=>Fe,number:()=>Us,object:()=>Bs,objectMapper:()=>Ne,ofMapper:()=>Le,oneOf:()=>Ks,operationIdFormatter:()=>yt,operationInFilesMapper:()=>Je,operationInParameterMapper:()=>We,operationInParametersMapper:()=>Ve,operationInQueryMapper:()=>ze,operationMapper:()=>rt,operationMediaMapper:()=>st,operationRequestBodyMapper:()=>it,operationResponseMapper:()=>ot,parameters:()=>Vs,pathsMapper:()=>Rt,registerJsonSchemaMapper:()=>h,removeHiddenOperation:()=>Ot,requiredMapper:()=>De,schemaMapper:()=>Ue,schemesReducer:()=>Ws,security:()=>Xs,serializeEnum:()=>A,serializeEnumValues:()=>T,set:()=>Ns,string:()=>ks,tagsReducer:()=>zs,time:()=>Ds,toJsonMapCollection:()=>G,toJsonRegex:()=>P,toRef:()=>ae,transformInformation:()=>gn,transformSecurity:()=>yn,transformToOS2:()=>Sn,uri:()=>Fs,url:()=>Js,withErrorMsg:()=>$t,wrapEnumsMapper:()=>Be});var e=n(803);function t(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 r(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;class o{constructor(e){this.isStore=!0;const{target:t,propertyKey:r,descriptor:s,index:n,decoratorType:i}=e;this.target=t,this.propertyKey=r,this.propertyName=r?String(r):r||"",this.descriptor=s,this.index=n,this.decoratorType=i,this.token=t,this.store=e.store,this.parent=this}get type(){return this._type}set type(e){e?.$schema?.skip||(this._type=e),this.build()}get schema(){return this._schema}get targetName(){return(0,e.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,e.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.target).find((e=>o.from(e).schema.isDiscriminator));return t&&o.from(t)}get isPrimitive(){return(0,e.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,e.isDate)(this.computedType)}get isObject(){return(0,e.isObject)(this.computedType)}get isClass(){return(0,e.isClass)(this.computedType)}get computedType(){return this.itemSchema.class}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}get path(){return this.store.get("path")}set path(e){this.store.set("path",e)}static from(...t){if(t[0].isStore)return t[0];const r=t[0];t.length>1&&(t[0]=(0,e.prototypeOf)(t[0]));const n=e.Store.from(...t);if(!n.has("JsonEntityStore")){const i=(0,e.decoratorTypeOf)(t),o=new(s.get(i))({store:n,decoratorType:i,target:(0,e.classOf)(r),propertyKey:t[1],index:"number"==typeof t[2]?t[2]:void 0,descriptor:"object"==typeof t[2]?t[2]:void 0});o.build(),n.set("JsonEntityStore",o)}return n.get("JsonEntityStore")}static fromMethod(t,r){return this.from(t,r,(0,e.descriptorOf)(t,r))}static get(t,r,s){return o.from((0,e.prototypeOf)(t),r,s)}isGetterOnly(){return(0,e.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(":")}getBestType(){return this.itemSchema.hasDiscriminator?this.itemSchema.discriminator().base:(0,e.isClassObject)(this.type)?this.itemSchema.getTarget():(0,e.isArrowFn)(this.type)?this.type():this.type}is(e){return this.decoratorType===e}buildType(t){(0,e.isCollection)(t)?this.collectionType=t:t&&"$schema"in t&&t.$schema.skip||(this._type=t,this._type&&(0,e.isPlainObject)(this._type)&&(this._type=String))}}function a(e){return t=>{s.set(e,t)}}var c;!function(e){e.GENERIC_LABELS="genericLabels",e.GENERIC_LABEL="genericLabel",e.GENERIC_OF="genericOf",e.NULLABLE="nullable",e.FORWARD_GROUPS="forwardGroups",e.GROUPS="groups",e.GROUPS_NAME="groupsName",e.ALLOWED_GROUPS="allowedGroups"}(c||(c={}));const p=new Map,u=new Map;function h(e,t,r){return u.set(r?`${r}:${e}`:e,t)}function l(e,t){const r=u.get(`${t?.specType}:${e}`)||u.get(e);if(r)return r;throw new Error(`JsonSchema ${e} mapper doesn't exists`)}function m(e,t,r,s){return l(e,r)(...t,r,s)}function d(e){return u.has(e)}function f(e,t){return e.find((e=>u.has(`${t?.specType}:${e}`)))||e.find((e=>u.has(e)))}function y(t){return(0,e.isPromise)(t)||t===Function?Object:(0,e.isClass)(t)||(0,e.isSymbol)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(0,e.isClassObject)(t)||(0,e.isDate)(t)||(0,e.isCollection)(t)?(0,e.classOf)(t):(0,e.isArrowFn)(t)?t():t}const g=["string","number","integer","boolean","object","array","null","any"];function O(t){return null===t?"null":(0,e.isPrimitiveOrPrimitiveClass)(t)?g.indexOf(t)>-1?t:"string"==typeof t?"file"===t?"file":"generic":(0,e.primitiveOf)(t):t===Array?"array":(0,e.isArray)(t)?t.map(O):t===Set?"array":(0,e.isDate)(t)||(0,e.isBuffer)(t)?"string":"object"}var S=n(133),b=n.n(S);function R(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=b()(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 E(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&R(r,t))||!!s.length&&!R(e.filter((e=>!e.startsWith("!"))),t)}const A=t=>(0,e.isObject)(t)&&null!==t?Object.entries(t).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):t;function T(t){const r=t.reduce(((e,t)=>e.concat(A(t))),[]),s=r.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,e.uniq)(r),types:s}}function P(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class v{constructor({base:t,propertyName:r,types:s,values:n}={}){this.values=new Map,this.types=new Map,Object.assign(this,(0,e.cleanObject)({base:t,propertyName:r,types:s?new Map(s):void 0,values:n?new Map(n):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 C(e){return e instanceof M?e:Object.entries(e).reduce(((e,[t,r])=>(e[P(t)]=x(r),r instanceof M&&r.propertyKey(P(t)),e)),{})}function x(t){return(0,e.isArray)(t)?t.map(x):t.isStore||t.$isJsonDocument||t.isLazyRef?t:(0,e.classOf)(t)!==Object&&(0,e.isClass)(t)?o.from(t).schema:(0,e.isObject)(t)?M.from(t):(0,e.isPrimitiveClass)(t)?M.from({type:t}):t}function $(t,r){const s=t.getGenericLabels();if(!s)return{};const[n,...i]=r;return n.reduce(((t,r,n)=>{const o=s[n];if(o)if(function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(r))t[o]=[M.from({type:"string",enum:Object.values(r)})];else if(i.length){const e=x(r);t[o]=[e,$(e,i)]}else t[o]=[x(r)];return t}),{})}class M extends Map{#e;#t;#r;#s;#n;#i;#o;#a;#c;#p;constructor(t={}){super(),this.$kind="schema",this.$isJsonDocument=!0,this.$hooks=new e.Hooks,this.$allow=[],this.$ignore=!1,this.isDiscriminatorKey=!1,this.isDiscriminator=!1,this.#e=new Set,this.#t=new Map,this.#r=null,this.#s=new Map,this.#i=!1,this.#a=!1,this.#c=!1,t&&this.assign(t)}get alias(){return this.#s}get isClass(){return(0,e.isClass)(this.class)&&!this.isCollection}get isCollection(){return this.#a}get isLocalSchema(){return this.#i}get isGeneric(){return this.has(c.GENERIC_LABEL)}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.#o).find((e=>o.from(e).schema.isDiscriminator));return t&&o.from(t).schema}get class(){return this.#i?this.#n?.getTarget():y(this.#o)}get collectionClass(){return this.isCollection&&this.#n?this.#n.class:this.class}get canRef(){return this.#c}get isNullable(){return!!this.get("nullable")}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}get hasDiscriminator(){return!!this.#r}static from(t={}){return t instanceof M?t:(0,e.classOf)(t)!==Object&&(0,e.isClass)(t)?o.from(t).schema:(0,e.isPrimitiveClass)(t)?new M({type:t}):new M(t)}has(e){return!!super.has(e)||!!super.has(`#${e}`)||this.#t.has(e)}get(e,t){return this.#t.has(e)?this.#t.get(e):super.has(e)?super.get(e):super.has(`#${e}`)?super.get(`#${e}`):t}forwardGroups(e=!0){return this.vendorKey(c.FORWARD_GROUPS,e),this}groups(e,t){return e&&(this.vendorKey(c.GROUPS,e),t&&this.$hooks.on("groups",((t,r)=>!(t||!E(e,r))||t))),this}groupsName(e){return e&&this.vendorKey(c.GROUPS_NAME,e),this}allowedGroups(e){return e&&this.vendorKey(c.ALLOWED_GROUPS,e),this}genericLabels(e){return this.vendorKey(c.GENERIC_LABELS,e),this}genericLabel(e){return this.vendorKey(c.GENERIC_LABEL,e),this}genericOf(...e){const t=$(this.#n||x(this.getTarget()),e);return this.vendorKey(c.GENERIC_OF,t),this}nullable(e){return this.vendorKey(c.NULLABLE,e),this}itemSchema(t={}){return this.#n=this.#n||x(t),(0,e.isPlainObject)(t)&&this.#n.assign(t),!this.isCollection&&this.#n?.isClass&&(this.#i=!0),this.#n}getAliasOf(e){return this.#s.get(e)}addAlias(e,t){return this.#s.set(e,t),this.#s.set(t,e),this}removeAlias(e){const t=this.#s.get(e);return t&&this.#s.delete(t),this.#s.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.#c=!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.#r=this.#r||new v({base:this.#o})}discriminatorKey(e){this.discriminator().propertyName=e,this.isDiscriminator=!0;const t=this.get("properties")[e];return t&&(t.isCollection?t.itemSchema().isDiscriminatorKey=!0:t.isDiscriminatorKey=!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 M({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",x(e)),this}contains(e){return super.set("contains",x(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#n=x(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[].concat(this.getJsonType()).includes("string")&&!this.has("minLength")&&this.minLength(1),e.forEach((e=>{switch(e){case"":this.set("minLength",void 0);break;case null:this.any(...["null"].concat(this.getJsonType(),this.$allow.map((e=>typeof e))))}})),this.$allow.push(...e),this}required(t=!0){if(!(0,e.isArray)(t)){const e=this.clone();return e.$selfRequired=t,[].concat(e.getJsonType()).includes("string")&&e.minLength(1),e}return this.#e.clear(),t.forEach((e=>this.#e.add(e))),this}addRequired(e){return this.#e.add(e),this}removeRequired(e){return this.#e.delete(e),this}isRequired(e){return this.#e.has(e)}getRequiredFields(){return[...this.#e]}properties(e){return super.set("properties",C(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",C(r)),this}patternProperties(e){return super.set("patternProperties",C(e)),this}additionalProperties(e){return super.set("additionalProperties",x(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",C(e)),this}propertyNames(e){return super.set("propertyNames",x(e)),this}enum(e,...t){if(p.has(e))return this.enum(p.get(e));if(e instanceof M)e.getName()?super.set("enum",e):super.set("enum",e.get("enum")).any(...e.get("enum").map((e=>typeof e)));else{const{values:r,types:s}=T([e,t].flat());super.set("enum",r).any(...s)}return this}definitions(e){return super.set("definitions",C(e)),this}allOf(e){return this.setManyOf("allOf",e),this}anyOf(e){return this.setManyOf("anyOf",e),this}oneOf(e){return this.isCollection?this.itemSchema().oneOf(e):this.setManyOf("oneOf",e),this}not(e){return super.set("not",x(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",P(e)),this}format(e){return super.set("format",e),this}type(t){switch(t){case"map":case Map:super.set("type",O(t)),this.target(t),this.#a=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case"array":case Array:super.set("type",O(t)),this.target(t),this.#a=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case"set":case Set:super.set("type",O(t)),this.target(t),this.#a=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":this.integer();break;case"number":case"string":case"boolean":case"object":case Object:case Date:case Boolean:case Number:case String:super.set("type",O(t)),this.target(t),this.has("properties")||super.set("properties",{});break;default:if((0,e.isClass)(t)||(0,e.isFunction)(t))super.set("type",void 0),this.target(t),this.has("properties")||super.set("properties",{});else{const e=O(t);"generic"===e?this.genericLabel(t):super.set("type",e)}}return this}any(...t){return t=t.length?t:["integer","number","string","boolean","array","object","null"],(t=(0,e.uniq)(t).map((t=>(0,e.isClass)(t)?t:{type:O(t)}))).length>1?this.anyOf(t):this.type(t[0]?.type||t[0]),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}vendorKey(e,t){return this.#t.set(e,t),this}toObject(e){return this.toJSON(e)}toJSON(e){return m("schema",[this],e)}assign(e={}){return(e instanceof M?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof M&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),this.#e=new Set(e.#e.keys()),this.#s=new Map(this.#s.entries()),this.#t=new Map(e.#t.entries()),this.#r=this.#r?new v(this.#r):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#c=e.#c,this.#o=e.#o,this.#a=e.#a,this.#i=e.#i,super.set("type",e.get("type"))),this}set(t,r){return t in this?(0,e.isFunction)(this[t])&&this[t](r):super.set(t,r),this}getJsonType(){return this.get("anyOf")?this.get("anyOf").map((e=>e.getJsonType())):this.get("type")||O(this.class)}getTarget(){return this.#o}getAllowedGroups(){return this.get(c.ALLOWED_GROUPS)}getAllowedRequiredValues(){return this.$allow}getGroups(){return this.get(c.GROUPS)}getGroupsName(){return this.get(c.GROUPS_NAME)}getName(){return this.get("name")||((0,e.isClass)(this.#o)?(0,e.nameOf)((0,e.classOf)(this.class)):"")}clone(){return new M(this)}getGenericLabels(){const t=this.get(c.GENERIC_LABELS);if(this.isClass&&!t){const t=(0,e.ancestorOf)(this.class);return t===Object?void 0:M.from(t).getGenericLabels()}return this.get(c.GENERIC_LABELS)}getGenericOf(){return this.get(c.GENERIC_OF)}getRefSchema(){if(!this.isLocalSchema&&this.isClass){const e=M.from(this.class);if(e!==this)return e}}propertyKey(e){return this.#p=e,this}getPropertyKey(){return this.#p}target(e){this.#o="object"===e?Object:e}isRequiredValue(e,t){if(this.isRequired(e)&&[void 0,null,""].includes(t)){const r=this.get("properties")?.[e];if(r)return!r.getAllowedRequiredValues().includes(t)}return!1}setManyOf(e,t){let r=t.filter((e=>!e||!("type"in e)||"null"!==e.type||(this.nullable(!0),!1))).map(x);if(!(1!==r.length||t[0]instanceof M||this.isNullable)){if(!r[0].hasDiscriminator)return this.type(t[0]);const e=r[0].discriminator().children();if(!e.length)return this.type(t[0]);r=e.map(x)}super.set(e,r);const s=r[0];if(s?.isDiscriminator){const e=s.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t,mapping:r.reduce(((t,r)=>(e.types.get(r.getTarget())?.forEach((e=>{t[e]=r})),t)),{})}),this.isDiscriminator=!0,this.#r=e}}}let _=class extends o{constructor(){super(...arguments),this.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=M.from({type:this.type})}};_=t([a(e.DecoratorTypes.CLASS)],_);const w=e=>Number(e)&&200<=Number(e)&&Number(e)<300,N=e=>Number(e)&&300<=Number(e)&&Number(e)<400;class L extends Map{constructor(e={}){super(),this.$kind="map",this.$isJsonDocument=!0,this.assign(e)}assign(t={}){return Object.entries(t).forEach((([t,r])=>{(0,e.isFunction)(this[t])?this[t](r):this.set(t,r)})),this}toJSON(e){return m("map",[this],e)}}var I;function D(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function k(e){return Object.values(I).includes(D(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(I||(I={}));class j extends L{constructor(e={}){super(e),this.$kind="operationInParameter",this.has("schema")||this.set("schema",new M)}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",D(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return e?(this.set("schema",e),this):this.get("schema")}itemSchema(e){return this.schema().isCollection?(e&&this.schema().itemSchema(e),this.schema().itemSchema()):(e&&this.schema(e),this.schema())}toJSON(e){return m("operationInParameter",[this],e)}}function H(t){return Object.keys(t).reduce(((r,s)=>{const n=t[s];let i=typeof n,o={example:n};return"object"===i&&(o=n,o.example=void 0===o.value?o.example:o.value,delete o.value,i=typeof o.example),o.type=o.type||i,r[s]=(0,e.cleanObject)(o),r}),{})}function G(e,t=L){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new L)}class q extends L{constructor(e={}){super(e),this.$kind="operationMedia",this.has("schema")||this.set("schema",new M)}schema(e){return e&&this.set("schema",e),this.get("schema")}examples(e){return e&&this.set("examples",e),this}type(t){return t&&((0,e.isArray)(t)?this.schema().oneOf(t.map((e=>({type:e})))):(0,e.isClass)(t)?(this.schema().type("object"),this.schema().itemSchema(t)):this.schema().type(t)),this}}class U extends L{constructor(e={}){super(e),this.$kind="operationResponse",this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",H(e)),this}content(e){return this.set("content",G(e,q)),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 q),this}isBinary(){return this.getContent().has("application/octet-stream")}}class B extends L{constructor(e,t){super(),this.method=e,this.path=t}summary(e){return super.set("summary",e),this}description(e){return super.set("description",e),this}}class K extends L{#u;#h;constructor(e={}){super({parameters:[],responses:new L,...e}),this.$kind="operation",this.operationPaths=new Map,this.#h=!1}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#u}tags(e){return super.set("tags",e),this}addTags(t){return t=(0,e.uniqBy)([...this.get("tags")||[],...t],"name"),this.tags(t)}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?N(e):this.#h}addResponse(t,r){if((w(t)||N(t))&&!this.#u){const e=this.getResponseOf(200);this.getResponses().set(t.toString(),e).delete("200"),this.defaultStatus(Number(t))}const s="default"===t?this.getStatus().toString():t.toString(),n=this.getResponses().get(s);return n?(r.forEach(((t,r)=>{["content"].includes(r)||n.set(r,(0,e.deepMerge)(n.get(r),t))})),n.status=Number(s)):(r.status=Number(s),this.getResponses().set(s,r)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new U}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(t,r){const s=this.get("security")||{};return s[t]=(0,e.uniq)([...s[t]||[],...r]),this.security(s)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}addAllowedGroupsParameter(e){const t=new j;return t.in("query").name("includes"),t.schema(M.from({type:"array",items:{type:"string",enum:[...e]}})),this.addParameter(-1,t),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(t){const r=(0,e.uniq)([].concat(this.get("produces"),t)).filter(Boolean);this.set("produces",r)}addOperationPath(e,t){const r=new B(e,t);return this.operationPaths.set(String(e)+String(t),r),r}getAllowedOperationPath(e){return e?[...this.operationPaths.values()].filter((({method:t})=>t&&e.includes(t.toUpperCase()))):[...this.operationPaths.values()]}}let F=class extends o{constructor(t){super({store:e.Store.fromMethod(t.target,t.propertyKey),descriptor:(0,e.descriptorOf)(t.target,t.propertyKey),...t}),this.parent=o.from(this.target),this.middlewares=[],this.beforeMiddlewares=[],this.afterMiddlewares=[],this.operation=new K,this.children=new Map;const{beforeMiddlewares:r=[],middlewares:s=[],afterMiddlewares:n=[]}=t;this.after(n),this.before(r),this.use(s)}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(t,r,s){return s=s||(0,e.descriptorOf)((0,e.prototypeOf)(t),r),o.from((0,e.prototypeOf)(t),r,s)}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.schema().getAllowedGroups();let t=s.schema().getGroups();return r&&e?.size&&(t=[...t||[],...r.filter((t=>e.has(t)))]),{type:s.schema().collectionClass,groups:t}}return{type:this.type}}before(t){return this.beforeMiddlewares=this.beforeMiddlewares.concat(t).filter(e.isFunction),this}after(t){return this.afterMiddlewares=this.afterMiddlewares.concat(t).filter(e.isFunction),this}use(t){return this.middlewares=this.middlewares.concat(t).filter(e.isFunction),this}get(t){const r=e.Store.from(this.target).get(t);return(0,e.deepMerge)(r,this.store.get(t))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let t=e.Metadata.getReturnType(this.target,this.propertyKey);t=(0,e.isPromise)(t)?void 0:t,this.buildType(t)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,e.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this.collectionType?(this._schema=M.from({type:this.collectionType}),this._schema.itemSchema(this.type)):(0,e.isClass)(this.type)?(this._schema=M.from({type:"object"}),this._schema.itemSchema(this.type)):this._schema=M.from({type:this.type}),this.parent.schema.addProperty(this.propertyName,this.schema)}};F=t([a(e.DecoratorTypes.METHOD),r("design:paramtypes",[Object])],F);const J=F;let W=class extends o{constructor(e){super(e),this.parameter=new j,this.parent=o.fromMethod(this.target,this.propertyKey),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.getAllowedRequiredValues()}get schema(){return this.parameter.schema()}static getParams(t,r){const s=[],n=(0,e.ancestorsOf)(t).reverse().find((t=>(0,e.isMethodDescriptor)(t,r)&&o.fromMethod(t,r).children.size));return n?(o.fromMethod(n,r).children.forEach(((e,t)=>{s[+t]=e})),s):[]}static get(t,r,s){return o.from((0,e.prototypeOf)(t),r,s)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){if(!this._type){const t=e.Metadata.getParamTypes((0,e.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(t)}this._type=this._type||Object,this.parent.children.set(this.index,this),this.parent.operation.addParameter(this.index,this.parameter),this.collectionType&&this.parameter.schema().type(this.collectionType),(0,e.isClass)(this._type)?this.parameter.schema().itemSchema(this._type):this.parameter.itemSchema().type(this._type)}};W=t([a(e.DecoratorTypes.PARAM),r("design:paramtypes",[Object])],W);const V=W;let X=class extends o{constructor(){super(...arguments),this.parent=o.from(this.target)}static get(t,r){return o.from((0,e.prototypeOf)(t),r)}build(){this._type||this.buildType(e.Metadata.getType((0,e.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let t=this.parent.schema.get("properties")[this.propertyName];t||(this.parent.children.set(this.propertyName,this),this.isCollection?(t=M.from({type:this.collectionType}),t.itemSchema(this.type)):(0,e.isClass)(this.type)?(t=M.from({type:"object"}),t.itemSchema(this.type)):t=M.from({type:this.type})),this.parent.schema.addProperty(this.propertyName,t),this._schema=t}};X=t([a(e.DecoratorTypes.PROP)],X);const z=X;function Q(...e){return o.from(...e)}s.set(e.DecoratorTypes.CLASS,_),s.set(e.DecoratorTypes.PROP,X),s.set(e.DecoratorTypes.PARAM,W),s.set(e.DecoratorTypes.METHOD,F);class Y{constructor(e){this.getType=e,this.isLazyRef=!0}get target(){return this.getType()}get schema(){return Q(this.getType()).schema}get name(){return(0,e.nameOf)(this.getType())}}var Z,ee=n(598);function te(e,t,r){const s=new Set;if(t.$ref&&r.type&&(r.readOnly||r.writeOnly)&&"allOf"===e){const{type:e,...t}=r;r=t}let n=[...t[e]||[t],...r[e]||[r]].filter((e=>"$ref"in e?!s.has(e.$ref)&&(s.add(e.$ref),!0):Object.keys(e).length>0));return n.length>2&&(n=n.reduce(((e,t,r)=>t.$ref?e.concat(t):e.at(-1)?.type===t.type&&"array"!==t.type?(e[e.length-1]=re(e.at(-1),t),e):e.concat(t)),[])),n.length>1?{[e]:n,...t.nullable||r.nullable?{nullable:!0}:{}}:n[0]}function re(t,r){if(t.$ref&&r.$ref&&t.$ref===r.$ref)return t;if(t.allOf||r.allOf)return te("allOf",t,r);if(t.oneOf||r.oneOf){const s=te("oneOf",t,r);return"discriminator"in t||"discriminator"in r?{...s,discriminator:t.discriminator||r.discriminator,required:(0,e.uniq)([...t.required||[],...r.required||[]])}:s}if(t.anyOf||r.anyOf)return te("anyOf",t,r);if(t.$ref||r.$ref)return te("allOf",t,r);const s={...t,...r};var n,i;return(t.properties||r.properties)&&(s.properties=(n=t.properties,i=r.properties,n&&i?[...new Set(Object.keys(n||[]).concat(Object.keys(i||[])))].reduce(((e,t)=>(n?.[t]&&i?.[t]?e[t]=re(n[t],i[t]):n?.[t]?e[t]=n[t]:i?.[t]&&(e[t]=i[t]),e)),{}):n||i||{})),(0,e.isObject)(t.additionalProperties)&&(0,e.isObject)(r.additionalProperties)&&(s.additionalProperties={...t.additionalProperties,...r.additionalProperties}),(t.required||r.required)&&(s.required=(0,e.uniq)([...t.required||[],...r.required||[]])),s}function se(e,t){const{components:r}=t;if(r?.schemas&&e){const s=ne(t),n=e.replace(`${s}/`,"");return r.schemas[n]}}function ne(e){const{host:t="#/"+([Z.OPENAPI,Z.ASYNCAPI].includes(e.specType)?"components/schemas":"definitions")}=e;return t}function ie(e,t){return t.groups&&t.groups.length?(0,ee.pascalCase)(`${e} ${t.groupsName||t.groups.join(" ")}`):e}function oe(e,t,r){return re({$ref:`${ne(r)}/${e}`},{...t.isReadOnly?{readOnly:!0}:{},...t.isWriteOnly?{writeOnly:!0}:{}})}function ae(t,r,s){const n=ie(t.getName(),s);return r&&(0,e.setValue)(s,`components.schemas.${n}`,r),oe(n,t,s)}function ce(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof Y)return m("lazyRef",[e],t);if(e instanceof M&&e.get("enum")instanceof M){const r=e.get("enum");return ae(r,r.toJSON(t),t)}if(e.$kind&&e.$isJsonDocument){const r=m(f([e.$kind,"map"],t),[e],t);return e.canRef?ae(e,r,t):r}return m("object",[e],t)}function pe(t,r){const s=o.from(t.class),n=ie(s.schema.getName()||t.getName(),r);return(0,e.getValue)(r,`components.schemas.${n}`)||((0,e.setValue)(r,`components.schemas.${n}`,{}),r.components.schemas[n]=m("any",[s.schema],{...r,root:!1})),oe(n,t,r)}function ue(t,r,s){if(t.discriminator?.mapping){const r=Object.entries(t.discriminator.mapping),n={};for(const[t,i]of r)n[t]=(0,e.isString)(i)?i:ae(i,null,s).$ref;t.discriminator.mapping=n}return t}function he(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}function le(t,r,s){if("isLazyRef"in r)return null;if(r.isGeneric){const e=r.get(c.GENERIC_LABEL),t=s.generics?.[e];if(!t)return null;const[n,i]=t,o=M.from(n),a=m("schema",[o],{...s,generics:i});return i||!o.isClass?a:ae(o,a,s)}if(r?.has("items")){const e=le(t,r.get("items"),s);if(e)return{type:"array",items:e}}if(r.has("additionalProperties")&&(0,e.isObject)(r.get("additionalProperties"))){const e=le(t,r.get("additionalProperties"),s);if(e)return{type:"object",additionalProperties:e}}return null}function me(e,t,r){if(t.genericLabels?.length&&t.has("properties")){const s=t.get("properties");let n=!1;const i=Object.entries(s||{}).reduce(((e,[t,s])=>{const i=le(t,s,r);return i&&(e[t]=i,n=!0),e}),{});return n?{allOf:[ae(t,e,r),{properties:i,type:"object"}]}:e}return e}function de(t){const r=t.isStore?t:Q(t);return r.$inherited||(r.$inherited=(0,e.ancestorsOf)(r.target).reverse().reduce(((e,t)=>e.set(t,Q(t))),new Map)),r.$inherited}function fe(e,t){if(t?.type&&t?.$ref){const{$ref:e,...r}=t;t={allOf:[{$ref:e},r]}}return t}function ye(t,{target:r,...s}){const n=Array.from(de(r).entries()).filter((([t])=>(0,e.classOf)(t)!==(0,e.classOf)(r)));if(n.length){const r=n.reduce(((t,[,r])=>(0,e.deepMerge)(t,m("schema",[r.schema],s),{alter:fe})),{});return(0,e.deepMerge)(r,t,{alter:fe})}return t}function ge(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return oe(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const s=e.getType()&&m("schema",[e.schema],t);return ae(e.schema,s,t)}function Oe(e,{ignore:t=[],...r}={}){return Array.from(e.entries()).reduce(((e,[s,n])=>(t.includes(s)||(e[s]=m("item",[n],r)),e)),{})}function Se(e,t){const r=e.getGenericOf();return{generics:r||t.generics,mapper:r?"schema":"class"}}function be(e,t,r){return!e.isClass||e.isLocalSchema||r?"any":t||"class"}function Re(e,t,r,s){const n=m(be(r,e,s.root),[r],{...s,root:!1,mapper:"next"===e?s.mapper:void 0});let i=m(s.root?"any":e,[t],{...s,root:!1,generics:void 0,mapper:"next"===e?s.mapper:void 0});if((n.$ref||n.allOf)&&i.type&&1===Object.keys(i).length&&(i={}),t.canRef){const e=i.$ref.split("/").pop(),t=s.components.schemas[e];return s.components.schemas[e]=re(n,t),i}return re(n,i)}function Ee(e,t){if(e&&e instanceof M&&!e.isCollection&&e?.itemSchema?.()){const{generics:r,mapper:s}=Se(e,t);return Re("next",e,e.itemSchema(),{...t,generics:r,mapper:s})}return m("next",[e],t)}function Ae(e,t){if(e&&e instanceof M&&!e.isLocalSchema){const r=e.getRefSchema();if(r){let{generics:s,mapper:n}=Se(e,t);return n=be(e,n),Re(n,e,r,{...t,generics:s})}}return m(be(e,t.mapper),[e],{...t,root:!1,mapper:void 0})}!function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3",e.ASYNCAPI="asyncapi2"}(Z||(Z={})),h("any",ce),h("class",pe),h("discriminatorMapping",(function(e){return e.discriminator?.mapping&&delete e.discriminator.mapping,e})),h("enums",he),h("generics",me),h("inheritedClass",ye),h("lazyRef",ge),h("map",Oe),h("item",Ee),h("next",Ae),h("properties",Ae),h("items",Ae),h("additionalProperties",Ae),h("propertyNames",Ae),h("contains",Ae),h("dependencies",Ae),h("patternProperties",Ae),h("additionalItems",Ae),h("not",Ae),h("definitions",Ae);const Te=["oneOf","allOf","anyOf"],Pe=["minLength","maxLength","pattern","format"],ve=[],Ce=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"],xe=["maxItems","minItems","uniqueItems","items","contains","maxContains","minContains"],$e=["maxItems","minItems","uniqueItems","items","contains","maxContains","minContains","patternProperties","dependencies"],Me=["const","enum"];function _e(t,r){return r?.isNullable?(t.discriminator||(t.$ref?t=(0,e.cleanObject)({...t,$ref:void 0,anyOf:[{type:"null"},{$ref:t.$ref}]}):Te.some((r=>{if(t[r])if(t[r]=t[r].filter((e=>"null"!==e.type)),1===t[r].length){const s=t[r];t=(0,e.cleanObject)({...t,...s[0],[r]:void 0,type:["null",Number.isInteger(t.multipleOf)?"integer":s[0].type]})}else t[r]=[{type:"null"}].concat(t[r]).map((e=>(Number.isInteger(e.multipleOf)&&(e.type="integer"),e))),delete t.type}))),t):t}function we(t,r){if((0,e.isBoolean)(t.$ignore)&&t.$ignore)return!0;let s=t?.$hooks?.alter("ignore",!1,[r]);return s||(!1!==r.groups?t?.$hooks?.alter("groups",!1,[r.groups]):s)}function Ne(t,r){const{specType:s,operationIdFormatter:n,root:i,components:o,useAlias:a,...p}=r;return Object.entries(t).reduce(((e,[s,n])=>{if(!1!==r.withIgnoredProps&&!we(n,p)){const i={...r,parent:n,groups:t?.get?.(c.FORWARD_GROUPS)||n?.get?.(c.FORWARD_GROUPS)?r.groups:void 0};if(e[s]=m("item",[n],i),e[s]=m("nullable",[e[s],n],i),n.isGeneric&&e[s]?.type){const{type:t,...r}=e[s];e[s]=r}}return e}),(0,e.isArray)(t)?[]:{})}function Le(e,t){return e.map((e=>m("item",[e],t)))}function Ie(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function De(t,r,s){if(s.groups&&s.groups?.includes("partial"))return t.discriminator?{...t,required:[t.discriminator.propertyName]}:t;let n=function(t,r,s){let n=t.required||[];return n=[...n,...r.getRequiredFields()],r.get("properties")&&(n=Object.entries(r.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),n)),Ie((0,e.uniq)(n),r,s)}(t,r,s);return n=(0,e.uniq)(n).reduce(function(e,t,r={}){const{useAlias:s}=r,n=Object.keys(e.properties||{});return(e,r)=>{const i=s&&t.alias.get(r)||r;return n.includes(i)?e.concat(i):e}}(t,r,s),[]),t.discriminator&&n.push(t.discriminator.propertyName),n.length&&(t.required=n),t}function ke(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}h("nullable",_e),h("object",Ne),h("anyOf",Le),h("allOf",Le),h("oneOf",Le),h("required",De);const je={string:{properties:Pe,is:e.isString},number:{properties:Ce,is:e.isNumber},boolean:{properties:ve,is:e.isBoolean},array:{properties:xe,is:()=>!1},object:{properties:$e,is:()=>!1}};function He(e,t,r){const s=function(e){return Te.find((t=>e[t]))}(e);return s&&(e[s].forEach((t=>{!function(e,t,r){const s=je[e];s?.properties.concat(Me).forEach((e=>{void 0!==t[e]&&(Me.includes(e)?r[e]=t[e].filter(s.is):(r[e]=t[e],delete t[e]))}))}(t.type,e,t)})),Te.forEach((s=>{e[s]&&!1!==r.groups&&t.$hooks.has(s)&&(e={...e,[s]:t.$hooks.alter(s,e[s],[r.groups])})})),delete e.const,delete e.enum,e.items||e.properties||delete e.type),e}const Ge=["name","$required","$hooks","_nestedGenerics",Z.OPENAPI,Z.SWAGGER,Z.JSON],qe=[];function Ue(t,r){const{options:s,addDef:n}=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}}}(r),i=function(t,r){let s=function(t,r){const{useAlias:s}=r;return[...t.keys()].filter((e=>!function(e,{specType:t=Z.JSON,customKeys:r=!1}){return Ge.includes(e)||e.startsWith("x-")||e.startsWith("#")&&(!r||t!==Z.JSON)||t!==Z.JSON&&qe.includes(e)}(e,r))).reduce(((n,i)=>{let o=t.get(i);if("type"===(i=i.replace(/^#/,"")))return n[i]=t.getJsonType(),n;if(function(t,r,s){return"examples"===t&&(0,e.isObject)(r)&&[Z.OPENAPI,Z.ASYNCAPI].includes(s.specType)}(i,o,r)&&(i="example",o=Object.values(o)[0]),o&&"object"==typeof o&&d(i)){if(o=m(i,[o],r,t),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(i,o))return n;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(i,o,s)&&(o=ke(o,t.alias))}return n[i]=o,n}),{})}(t,r);return t.isClass&&!t.isLocalSchema&&(s=m("inheritedClass",[s],{...r,root:!1,target:t.class})),t.has(r.specType)&&(s={...s,...t.get(r.specType).toJSON(r)}),(0,e.isFunction)(s.default)&&(s.default=s.default()),s=m("required",[s,t],r),s=m("nullable",[s,t],r),s=He(s,t,r),s=m("enums",[s,t],r),s=m("discriminatorMapping",[s,t],r),s=m("generics",[s,t],r),"array"!==s.type||s.items||s.contains||(s.items={}),s}(t,s);return n&&Object.keys((0,e.getValue)(s,"components.schemas",{})).length&&(i.definitions=s.components.schemas),i}function Be(e,t,r){return(e=he(e,0,r)).const&&(e.enum=[e.const],delete e.const),e}function Ke(t,r){const s={paths:m("paths",[t],r={...r,specType:Z.OPENAPI})};return s.tags=(0,e.uniqBy)(r.tags,"name"),Object.keys((0,e.getValue)(r,"components.schemas",{})).length&&(s.components={schemas:r.components.schemas}),s}function Fe(t,r,s){return r?.isNullable?"3.1.0"===s.specVersion?_e(t,r):t.$ref?(0,e.cleanObject)({...t,...t.$ref&&{anyOf:[{$ref:t.$ref}],type:void 0},nullable:!0,$ref:void 0}):(0,e.cleanObject)({...t,...1===t.anyOf?.length?{...t.anyOf[0],anyOf:void 0,type:Number.isInteger(t.multipleOf)?"integer":t.anyOf[0]?.type}:{type:t.anyOf?.length>1?void 0:t.type,anyOf:t.anyOf?.map((e=>(Number.isInteger(e.multipleOf)&&(e.type="integer"),e)))},nullable:!0}):t}function Je(t,{jsonSchema:r}){const s={type:"string",format:"binary",oneOf:void 0};return"array"===r.type?(r.items=(0,e.cleanObject)({...r.items,...s}),t.schema=r,t):(t.schema=(0,e.cleanObject)({...r,...s}),t)}function We(e,t){const r=function(e,t={}){return{...t,groups:e.schema().getGroups(),groupsName:e.schema().getGroupsName()}}(e,t),s={...r.components?.schemas||{}},{type:n,schema:i,...o}=m("map",[e],r),a=m("item",[e.schema()],r);o.required=o.required||e.get("in")===I.PATH;const c={...r,jsonSchema:a,jsonParameter:e,oldSchemas:s},p=(0,ee.camelCase)(`operationIn ${e.get("in")}`);return d(p)?m(p,[o],c):(o.schema=a,o)}function Ve(e,t){return e.flatMap((e=>m("operationInParameter",[e],t))).filter(Boolean)}function Xe(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 ze(t,{jsonSchema:r,...s}){if(r.$ref){if(!t.name)return function(t,{jsonParameter:r,...s}){const n=ie(r.schema().itemSchema().getName(),s),i=s.components?.schemas?.[n];return i&&!s.oldSchemas?.[n]&&delete s.components?.schemas?.[r.schema().itemSchema().getName()],Object.entries(i?.properties||{}).reduce(((r,[n,{description:o,...a}])=>{const c=t.style||a.$ref&&!se(a.$ref,s)?.enum?"deepObject":void 0;return r.push((0,e.cleanObject)({...t,style:c,explode:"deepObject"===c||t.explode,name:n,required:(i?.required||[]).includes(n),description:o,schema:a,examples:Xe(n,t.examples)})),r}),[])}(t,s);se(r.$ref,s)?.enum||(t.style="deepObject",t.explode=!0)}return t.schema=r,t}h("schema",Ue),h("discriminatorMapping",ue,Z.OPENAPI),h("discriminatorMapping",ue,Z.SWAGGER),h("discriminatorMapping",ue,Z.ASYNCAPI),h("enums",Be,Z.OPENAPI),h("enums",Be,Z.SWAGGER),h("enums",Be,Z.ASYNCAPI),h("generate",Ke,Z.OPENAPI),h("generate",Ke,Z.SWAGGER),h("nullable",Fe,Z.OPENAPI),h("nullable",Fe,Z.SWAGGER),h("operationInFiles",Je),h("operationInParameter",We),h("operationInParameters",Ve),h("operationInQuery",ze);var Qe=n(203),Ye=n.n(Qe);const Ze=Ye().codes.reduce(((e,t)=>{const r=String(Ye()(t));return{...e,[String(t)]:{label:r,code:(0,ee.constantCase)(r)}}}),{});function et(e){return Ze[e]?.code}function tt(e){return Ze[e]?.label}function rt(e,{tags:t=[],defaultTags:r=[],...s}={}){const{consumes:n,produces:i,...o}=m("map",[e],{...s,ignore:["parameters"]});o.security&&(o.security=[].concat(o.security)),0===e.get("responses").size&&(o.responses={200:{description:tt(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=m("operationInParameters",[c],s),p.length&&(o.requestBody=m("operationRequestBody",[p],a));const u=o.tags?.length?o.tags:r;return u.length&&(o.tags=u.map((({name:e})=>e))),t.push(...u),o}function st(e,t){return m("map",[e],{...t,groups:[...e.schema().getGroups()||[]],groupsName:e.schema().getGroupsName()})}Ze[200].label="Success",Ze[200].code="SUCCESS",h("operation",rt),h("operationMedia",st);class nt extends L{constructor(e={}){super(e),this.$kind="operationRequestBody",this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",G(e)),this}addContent(e,t,r){const s=this.get("content"),n=new L;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function it(e,{consumes:t,...r}){const{schema:s,description:n,examples:i,in:o,...a}=function(e,t){let r=new M;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=m("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,{required:!1,...s,schema:r.toJSON(t)}):n[0]}(e,r),c=new nt(a);return n&&c.description(n),t.forEach((e=>{c.addContent(e,s,i)})),m("map",[c],r)}function ot(e,t={}){const r=m("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}var at;h("operationRequestBody",it),h("operationResponse",ot),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"}(at||(at={}));const ct=[at.ALL,at.GET,at.POST,at.PUT,at.PATCH,at.HEAD,at.DELETE,at.OPTIONS,at.TRACE,at.CUSTOM],pt=[at.PUBLISH,at.SUBSCRIBE],ut=at;function ht(e){return e.split("/").filter(Boolean).join("/")}function lt(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 mt(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)}]}class dt extends Map{constructor(){super(...arguments),this.$kind="operationPaths",this.$isJsonDocument=!0,this.getKey=(e,t)=>`${e}-${t}`}setOperationPath(e){const t=this.getKey(e.method,e.path);this.set(t,e)}}function ft(e){const t=e.isStore?e:Q(e);if(!t.$operations){const e=new dt;t.$operations=new Map,de(t).forEach((e=>{e.children.forEach((e=>{e instanceof F&&!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 yt(e=""){const t=new Map;return(r,s,n="")=>{const i=((t,r)=>{const s=(e||"%c.%m").replace(/%c/,t).replace(/%m/,r);return""===e?(0,ee.camelCase)(s):s})(r,s),o=r+s;if(!t.has(o))return t.set(o,0),i;const a=n.match(/{(\w+)}/gi);if(a){const e=r+s+a[0];if(!t.has(e))return t.set(e,0),(0,ee.camelCase)(`${i} By ${a}`)}const c=t.get(o)+1;return t.set(o,c),`${i}_${c}`}}function gt(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}function Ot(e){return!e.store.get("hidden")}const St=[at.ALL,at.GET,at.POST,at.PUT,at.PATCH,at.HEAD,at.OPTIONS,at.DELETE,at.TRACE];function bt(e,{path:t,method:r,operation:s}){return{...e,[t]:{...e[t],[r.toLowerCase()]:s}}}function Rt(e,{paths:t,rootPath:r,...s}){const n=ht(r+Q(e).path);return s={...s,ctrlRootPath:n},[...ft(e).values()].filter(Ot).filter((e=>e.operation.getAllowedOperationPath(St).length>0)).flatMap(function(e){return t=>{const r=t.operation.getAllowedOperationPath(St);if(0===r.length)return[];const s=m("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 mt(e.ctrlRootPath,n).map((({path:n,parameters:o})=>(n=n||"/",o=lt(o.map((({type:e,...t})=>({...t,schema:{type:e}}))),r),{operation:{...r,...t.toJSON(e),parameters:o,operationId:r.operationId||gt(n,{...e,store:s})},method:i,path:n})))}}(s)).reduce(bt,t)}function Et(e){return(...t)=>{const r=e(Q(...t),t);"function"==typeof r&&r(...t)}}function At(...t){return Et((r=>{r.store.set("childrenControllers",t),t.forEach((t=>{e.Store.from(t).set("parentController",r.token)}))}))}function Tt(e,...t){return Et((r=>{e=e||(0,ee.snakeCase)(r.targetName),r.discriminatorAncestor&&r.schema.discriminatorValue(e,...t)}))}function Pt(t,r){if(!t)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 s={};let n=!1;const i=[],a=(...a)=>{const c=o.from(...a);r&&(c.collectionType=r,c.schema.type(r)),c.type=t,c.itemSchema.type(t),c.schema.assign(s),i.length&&(c.is(e.DecoratorTypes.PARAM)?c.parameter.itemSchema().genericOf(...i):c.itemSchema.genericOf(...i)),c.isArray&&n&&(c.schema.set("contains",c.schema.get("items")),c.schema.delete("items"))};return a.MinItems=e=>(s.minItems=e,a),a.MaxItems=e=>(s.maxItems=e,a),a.MinProperties=e=>(s.minProperties=e,a),a.MaxProperties=e=>(s.maxProperties=e,a),a.Contains=()=>(n=!0,a),a.UniqueItems=(e=!0)=>(s.uniqueItems=e,a),a.Nested=(...e)=>(i.push(e),a),a}function vt(e){return Pt(e,Array)}function Ct(e){return Pt(e,Map)}function xt(e){return Pt(e).Contains()}function $t(t,r){const s={};return(...n)=>{const i=(0,e.useDecorators)(r(...n));return i.Error=r=>(s.message=r,(0,e.useDecorators)(i,s.message&&Et((s=>{const n=s.parentSchema.get("#errorMessage")||{};"required"===t?s.parentSchema.customKey("errorMessage",(0,e.deepMerge)(n,{[t]:{[s.propertyName]:r}})):s.itemSchema.customKey("errorMessage",(0,e.deepMerge)(n,{[t]:r}))})))),i}}h("paths",Rt);const Mt=$t("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return Et((t=>{t.schema.maxItems(e)}))})),_t=$t("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return Et((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),wt=$t("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return Et((t=>{t.schema.minItems(e)}))})),Nt=$t("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return Et((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),Lt=$t("uniqueItems",((e=!0)=>Et((t=>{t.schema.uniqueItems(e)}))));function It(e){return Et(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Dt(...e){return Et((t=>{t.itemSchema.allOf(e)}))}function kt(t){return Et((r=>{t&&(((0,e.isClass)(t)||(0,e.isArrowFn)(t))&&(r.type=t),r.itemSchema.type(t))}))}function jt(...t){const r=t.find((t=>(0,e.isClass)(t)));return(0,e.useDecorators)(r&&kt(r),Et(((r,s)=>{r.decoratorType===e.DecoratorTypes.PARAM&&(r.required=!0),r.decoratorType===e.DecoratorTypes.PROP&&r.parentSchema.addRequired(r.propertyName),r.schema.allow(...t)})))}function Ht(...e){return Et((t=>{t.itemSchema.any(...e)}))}function Gt(...e){return Et((t=>{t.itemSchema.anyOf(e)}))}function qt(e){return Et((t=>{t.itemSchema.const(e)}))}function Ut(e,t){return Et((r=>{r.itemSchema.customKey(e,t)}))}function Bt(e){return Et((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function Kt(e){return Et((t=>{t.itemSchema.default(e)}))}function Ft(e){return Et((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function Jt(t){return(0,e.useDecorators)(Ft({_:t}))}function Wt(t){return Et(((r,s)=>{r.is(e.DecoratorTypes.PROP)||r.is(e.DecoratorTypes.CLASS)?r.schema.description(t):r.is(e.DecoratorTypes.PARAM)?r.parameter.description(t):r.is(e.DecoratorTypes.METHOD)&&r.operation?.description(t)}))}function Vt(){return(0,e.useDecorators)(kt(),Et((e=>{e.parent.schema.discriminatorKey(String(e.propertyKey))})))}const Xt=$t("enum",(function(e,...t){return Et((r=>{r.itemSchema.enum(e,...t)}))}));function zt(...e){return Et((t=>{t.schema.examples(e)}))}function Qt(e){return Et((t=>{t.parameter.examples(e)}))}const Yt=$t("maximum",((e,t=!1)=>Et((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),Zt=Yt,er=$t("exclusiveMaximum",((e,t=!0)=>Yt(e,t))),tr=$t("minimum",((e,t=!1)=>Et((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),rr=tr,sr=$t("exclusiveMinimum",((e,t=!0)=>tr(e,t)));var nr;!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"}(nr||(nr={}));const ir=$t("format",(e=>Et((t=>{t.itemSchema.format(e)})))),or=$t("format",(()=>ir(nr.EMAIL))),ar=$t("format",(()=>ir(nr.DATE_TIME))),cr=$t("format",(()=>ir(nr.DATE))),pr=$t("format",(()=>ir(nr.TIME))),ur=$t("format",(()=>ir(nr.URI))),hr=$t("format",(()=>ir(nr.URL)));function lr(e=!0){return Et((t=>{t.schema.forwardGroups(e)}))}function mr(...t){return Et((r=>{if(r.is(e.DecoratorTypes.CLASS))!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{mr(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(t,r);else if(r.is(e.DecoratorTypes.PROP))r.schema.groups(t,!0);else if(r.is(e.DecoratorTypes.PARAM)){let s="";2==t.length&&(0,e.isArray)(t[1])&&(s=t[0],t=t[1]),r.parameter.schema().groups(t).groupsName(s)}}))}function dr(){return(0,e.StoreSet)("hidden",!0)}function fr(e=!0){return Et((t=>{t.schema.ignore(e)}))}function yr(){return Et((e=>{e.itemSchema.type("integer")}))}function gr(e,t=!1){return Et((r=>{t?r.schema.label(e):r.itemSchema.label(e)}))}const Or=$t("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return Et((t=>{t.itemSchema.maxLength(e)}))})),Sr=$t("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return Et((t=>{t.itemSchema.minLength(e)}))})),br=$t("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return Et((t=>{t.itemSchema.multipleOf(e)}))}));function Rr(t){return Et(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.CLASS:r.schema.name(t);break;case e.DecoratorTypes.PARAM:r.parameter.name(t);break;default:r.parent.schema.addAlias(s[1],t)}}))}function Er(t,...r){return r=[t,...r],(0,e.useDecorators)(1===r.length&&kt(r[0]),Ht(null,...r))}function Ar(...e){return Et((t=>{t.schema.oneOf(e)}))}function Tr(){return Et((t=>{switch(t.decoratorType){case e.DecoratorTypes.PARAM:t.required=!1;break;case e.DecoratorTypes.PROP:t.parentSchema.removeRequired(t.propertyName)}}))}const Pr=$t("pattern",(e=>Et((t=>{t.itemSchema.pattern(e)}))));function vr(e=!0){return Et((t=>{t.itemSchema.readOnly(e)}))}function Cr(e){return Et((t=>{t.schema.assign(e)}))}function xr(e,t){return Et((r=>{r.schema.set(e,t)}))}function $r(e,...t){return Cr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const Mr=$t("required",((e=!0,...t)=>e?jt(...t):Tr()));function _r(...e){return Et((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>E(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function wr(e){return Et((t=>{t.schema.title(e)}))}function Nr(t){return Et((()=>(0,e.useDecorators)(Ft({type:t}))))}function Lr(e=!0){return Et((t=>{t.itemSchema.writeOnly(e)}))}function Ir(...t){const r=[t],s=(...t)=>{const s=o.from(...t);s.is(e.DecoratorTypes.PARAM)?s.parameter.schema().genericOf(...r):s.schema.genericOf(...r)};return s.Nested=(...e)=>(r.push(e),s),s}function Dr(...e){return t=>{o.from(t).schema.genericLabels(e)}}function kr(...t){return Et(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.consumes(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],kr(...t));break;default:throw new e.UnsupportedDecoratorType(kr,s)}}))}function jr(...t){return(0,e.useDecorators)(kr(...t),(0,e.StoreSet)("acceptMimes",t))}class Hr extends Map{constructor(e={}){super(),this.actions=[],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),t=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((r=>{e[(0,ee.pascalCase)(r)]=t(r)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(t,r){let s=this.get(t)||r;if(s)return this.decoratorType===e.DecoratorTypes.CLASS&&(s={...s,...r||{}}),{...r||{},...s}}bind(e,t){this.entity=o.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 Gr=new Map;function qr(e,t){Gr.set(e,t)}function Ur(e){return Gr.get(e)}class Br extends Hr{constructor({status:e,model:t}){super(),this.methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","label","groups","allowedGroups","location","binary"],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&&tt(e)&&!this.get("description")&&(this.set("description",tt(e)),this.get("model")||this.model(Ur(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...H(e)}),this}header(t,r){return void 0===r&&(0,e.isString)(t)?this.headers({[t]:{type:"string"}}):this.headers({[t]:r})}location(e,t={}){return this.get("model")||this.model(String),this.headers({Location:{...t,value:e}}),this}groups(...t){return 2===t.length&&(0,e.isArray)(t[1])?(this.set("groupsName",t[0]),this.set("groups",t[1])):this.set("groups",t),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=>{const r=t.get("generics")||[];r.push(e),t.get("schema").genericOf(...r)})),this}of(...t){const r=this.get("model");return this.checkPrimitive(r),this.addAction((()=>{const s=this.get("schema");s&&((0,e.isCollection)(r)?s.itemSchema({type:t[0]}):(this.set("generics",[t]),s.genericOf(t)))})),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(t){return this.set("examples",(0,e.isString)(t)?[t]:t),this}title(e){return this.schema({label:e})}label(e){return this.schema({label:e})}binary(){return this.type(String),this.set("contentType","application/octet-stream"),this.schema({format:"binary"}),this}checkPrimitive(t){if((0,e.isPrimitiveOrPrimitiveClass)(t))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(t){if((0,e.isCollection)(t))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const t=this.get("model");let r=this.get("contentType");return(t&&!(0,e.isPlainObject)(t)&&!(0,e.isPrimitiveOrPrimitiveClass)(t)||this.hasOfTypes)&&(r=r||"application/json"),r}getStatus(){return this.get("status")||"default"}onInit(t,r){switch((0,e.decoratorTypeOf)(t)){case e.DecoratorTypes.METHOD:this.entity=o.from(...t),this.entity.operation&&this.map();break;case e.DecoratorTypes.CLASS:this.decoratorType=e.DecoratorTypes.CLASS,(0,e.decorateMethodsOf)(t[0],r)}}map(){this.get("model");const{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===e.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),o&&s.addProduce(o),this.runActions()}mapMedia(e){const t=this.getContentType(),r=this.get("allowedGroups"),{operation:s}=this.entity,n=e.getMedia(t||"*/*"),i=n.type(this.get("model")).examples(this.get("examples")).schema().groups(this.get("groups")).groupsName(this.get("groupsName")).allowedGroups(r);return this.set("schema",i),r&&s.addAllowedGroupsParameter(r),n}manyOf(t,r){const s=this.get("model");return this.hasOfTypes=!0,this.addAction((()=>{const n=this.get("schema");(0,e.isCollection)(s)?(n.type(s||Object),n.itemSchema().set(t,r)):n.set(t,r)})),this}}function Kr(e,t){return new Br({status:e,model:t}).build()}function Fr(e){return Kr().ContentType(e)}function Jr(t=!0){return Et(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.METHOD:r.operation.deprecated(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],Jr(t));break;case e.DecoratorTypes.PARAM:r.parameter.set("deprecated",t);break;case e.DecoratorTypes.PROP:r.schema.set("deprecated",t);break;default:throw new e.UnsupportedDecoratorType(Jr,s)}}))}function Wr(t,r){return void 0!==r&&(t={[t]:r}),void 0===r&&(0,e.isString)(t)&&(t={[t]:{type:"string"}}),Kr().Headers(t)}function Vr(t){const r=new j,s={},n=(i,a,c)=>{const p=o.from(i,a,c);switch(p.decoratorType){case e.DecoratorTypes.PARAM:p.parameter.in(t);break;case e.DecoratorTypes.METHOD:r.in(t),p.operation.addParameter(-1,r),r.schema(M.from(s));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(i,n);break;default:throw new e.UnsupportedDecoratorType(Vr,[i,a,c])}};return n.Type=e=>(s.type=e,n),n.Name=e=>(r.name(e),n),n.Description=e=>(r.description(e),n),n.Required=(e=!0)=>(r.required(e),n),n.Pattern=e=>n.Schema({pattern:e.toString()}),n.Schema=e=>(Object.assign(s,e.toJSON?e.toJSON():e),n),n}function Xr(t){return(...r)=>{const[s,n,i]=r,o=e.Metadata.getParamTypes(s,n)[i]===Array,a=[t="object"==typeof t?void 0:t,!o&&"0"].filter(Boolean).join(".");(0,e.useDecorators)(Vr(I.FILES),Rr(a),(0,e.useMethodDecorators)(Kr(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"),kr("multipart/form-data")))(...r)}}function zr(e,t){return Kr().Location(e,t)}const Qr=new Set([...Object.keys(at).filter((e=>e!==at.CUSTOM)).map((e=>e.toLowerCase()))]);function Yr(e){let t,r;const s=e.filter((e=>"string"==typeof e&&Qr.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 Zr extends Hr{constructor(){super(...arguments),this.methods=["name","description","summary","method","id","use","useAfter","useBefore"]}beforeInit(){const e=this.get("path"),t=at[this.get("method")]||at.CUSTOM;e&&(this.operationPath=this.entity.operation.addOperationPath(t,e))}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return this.operationPath?.summary(t),void this.entity.operation.summary(t);case"description":return this.operationPath?.description(t),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 es(...e){const t=Yr(e);return new Zr(t).build()}function ts(t){return Et(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(ts,s);r.operation.operationId(t)}))}function rs(t,r="/"){return Et(((s,n)=>{if(s.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(rs,n);s.operation.addOperationPath(t.toUpperCase(),r)}))}function ss(){return mr("partial")}function ns(t){return Et(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.CLASS)throw new e.UnsupportedDecoratorType(ns,s);r.path=t}))}function is(...t){return Et(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.produces(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],is(...t));break;default:throw new e.UnsupportedDecoratorType(is,s)}}))}function os(e){return es(at.PUBLISH,e)}function as(...t){const{status:r,url:s,meta:n}=t.reduce(((t,r)=>(0,e.isNumber)(r)?(t.status=r,t):(0,e.isString)(r)?(t.url=r,t):(t.meta=r,t)),{status:302,url:"",meta:{}});return(0,e.useDecorators)(Kr(r,String).Location(s,n),Et((e=>{e.operation?.setRedirection(r)})))}const cs=es;function ps(e="/",...t){return es(...[at.ALL,e].concat(t))}function us(e="/",...t){return es(...[at.GET,e].concat(t))}function hs(e="/",...t){return es(...[at.POST,e].concat(t))}function ls(e="/",...t){return es(...[at.PUT,e].concat(t))}function ms(e="/",...t){return es(...[at.DELETE,e].concat(t))}function ds(e="/",...t){return es(...[at.HEAD,e].concat(t))}function fs(e="/",...t){return es(...[at.PATCH,e].concat(t))}function ys(e="/",...t){return es(...[at.OPTIONS,e].concat(t))}function gs(t,...r){return Et(((s,n)=>{switch(s.decoratorType){case e.DecoratorTypes.METHOD:Array.isArray(t)?s.operation.security(t):s.operation.addSecurityScopes(t,r);break;case e.DecoratorTypes.CLASS:Array.isArray(t)?(0,e.decorateMethodsOf)(n[0],gs(t)):(0,e.decorateMethodsOf)(n[0],gs(t,...r));break;default:throw new e.UnsupportedDecoratorType(gs,n)}}))}function Os(e,t){return Kr(e,t)}function Ss(e){return es(at.SUBSCRIBE,e)}function bs(t){return Et(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(bs,s);r.operation.summary(t)}))}function Rs(...t){return Et(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(t));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],Rs(...t));break;default:throw new e.UnsupportedDecoratorType(Rs,s)}}))}function Es(t,r){return(0,e.StoreSet)("view",{path:t,options:r})}function As(e){return[...e.operationPaths.values()].map((({method:e,path:t})=>({method:e,path:t})))}function Ts(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 Ps{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 Ts(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]}}function vs(t=Object){if((0,e.isClass)(t)){const{schema:e}=Q(t);return e.properties=function(e){return Object.entries(e).forEach((([e,r])=>{Q(t.prototype,e).schema.assign(r)})),this},e}return M.from({type:t})}function Cs(...e){return vs().allOf(e)}function xs(...e){return vs().any(...e)}function $s(...e){return vs().anyOf(e)}function Ms(){return vs(Boolean)}function _s(){return vs(Array)}function ws(){return vs(Map).unknown(!0)}function Ns(){return vs(Array).uniqueItems(!0)}function Ls(){return vs(Date).format(nr.DATE)}function Is(){return vs(Date).format(nr.DATE_TIME)}function Ds(){return vs(Date).format(nr.TIME)}function ks(){return vs(String)}function js(){return ks().format(nr.EMAIL)}function Hs(e){const t=ks().enum(e);return p.set(e,t),t}function Gs(){return vs(Number).integer()}function qs(e){try{if(e())return o.from(e()).schema}catch(e){}return new Y(e)}function Us(){return vs(Number)}function Bs(e={}){return vs(Object).properties(e)}function Ks(...e){return vs().oneOf(e)}function Fs(){return ks().format(nr.URI)}function Js(){return ks().format(nr.URL)}const Ws=(0,e.mergeReducerBuilder)(((e,t)=>e.type&&e.type&&e.type===t.type&&"array"===t.type?JSON.stringify(e.items)===JSON.stringify(t.items):e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),Vs=(0,e.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),Xs=(0,e.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),zs=(0,e.mergeReducerBuilder)(((e,t)=>e.name===t.name)),Qs={security:Xs,parameters:Vs,oneOf:Ws,anyOf:Ws,allOf:Ws,tags:zs};function Ys(t,r){return(0,e.deepMerge)(t,r,{reducers:Qs,cleanUndefinedProps:!0})}const Zs=new Map;function en(t,r={}){if(r={specType:Z.OPENAPI,...r,tags:[],paths:{},channels:{},components:{},operationIdFormatter:r.operationIdFormatter||yt(r.operationIdPattern),root:!1},(0,e.isArray)(t)){let e={};return r={...r,append(t){e=Ys(e,t)}},t.forEach((({token:e,...t})=>{const s=en(e,{...r,...t});r.append(s)})),e}return function(e,t,r){Zs.has(e)||Zs.set(e,new Map);const s=Zs.get(e),n=JSON.stringify(t);return s.has(n)||s.set(n,r()),s.get(n)}(t,r,(()=>function(t,r){const s=Q(t),{rootPath:n="/"}=r;return r={...r,rootPath:n,defaultTags:[(0,e.cleanObject)({name:s.schema.getName(),description:s.schema.get("description")})]},m("generate",[s],r)}(t,r)))}function tn(e){return e.startsWith("3.")?Z.OPENAPI:Z.SWAGGER}function rn(e){return"openapi"in e?Z.OPENAPI:Z.SWAGGER}function sn(t){const{title:r,description:s,version:n,termsOfService:i,contact:o,license:a}=t;return(0,e.cleanObject)({version:n,title:r,description:s,termsOfService:i,contact:o,license:a})}function nn(t,{version:r,specVersion:s,acceptMimes:n=["application/json"]}){const{paths:i,security:o,tags:a,host:c,basePath:p,schemes:u,consumes:h=[],produces:l=["application/json"],definitions:m,parameters:d,responses:f,securityDefinitions:y,externalDocs:g}=t;return{swagger:s,consumes:(0,e.uniq)([...n,...h]),produces:(0,e.uniq)([...l]),info:sn((0,e.getValue)(t,"info",{})),paths:i,host:c,basePath:p,schemes:u,definitions:m,parameters:d,responses:f,security:o,securityDefinitions:y,tags:a,externalDocs:g}}function on(t,{specVersion:r}){const{servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}=t;return{openapi:r,info:sn((0,e.getValue)(t,"info",{})),servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}}function an(t,{fileSpec:r,acceptMimes:s,specVersion:n,version:i}){const o={specVersion:n=n||(0,e.getValue)(t,"openapi",(0,e.getValue)(t,"swagger","2.0")),acceptMimes:s};switch(tn(n)){case Z.OPENAPI:t=on(t,o),r=r?on(r,o):r;break;default:case Z.SWAGGER:t=nn(t,o),r=r?nn(r,o):r}return t=Ys(t,r),(0,e.setValue)(t,"info.title",(0,e.getValue)(t,"info.title","Api documentation")),(0,e.setValue)(t,"info.version",(0,e.getValue)(t,"info.version",i)),t}const cn=["get","put","post","delete","options","head","patch","trace"],pn=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],un=["type","items"],hn=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,ln={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function mn(e){if(Array.isArray(e))e.forEach(mn);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):mn(e[t])}function dn(e){return new RegExp(hn,"i").test(e)}function fn(e){const t=Object.keys(ln).map((e=>ln[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||dn(e)))}function yn(e){return Object.entries(e).reduce(((e,[t,r])=>{const s=function(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}}}(r);return s&&(e[t]=s),e}),{})}function gn(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 On{constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?gn(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 t={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,mn(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,e.cleanObject)({...t,...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(cn.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=fn(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=fn(t)[0],delete i.content,[ln.APPLICATION_X_WWW_URLENCODED,ln.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,pn),this.copySchemaProperties(t,un),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&&dn(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=yn(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function Sn(e){return new On(e).convert()}function bn({tokens:t,...r}){const{version:s="1.0.0",acceptMimes:n,fileSpec:i={},specVersion:o}=r,a=an((0,e.getValue)(r,"spec",{}),{fileSpec:i,version:s,specVersion:o,acceptMimes:n}),c=rn(a),p=Ys(a,en(t,r));return r.sortPaths&&(p.paths=Object.fromEntries(Object.entries(p.paths).sort((([e],[t])=>e.localeCompare(t))))),c===Z.SWAGGER?Sn(p):p}const Rn=new Map;function En(t,r={}){const s=r.specType||Z.JSON;return function(t,r){const s=Rn.get(t)||new Map;Rn.set(t,s);const n=function(t){return JSON.stringify(t,((t,r)=>r&&!(0,e.isPlainObject)(r)&&(0,e.isClass)(r)?(0,e.nameOf)(r):r))}(r);if(!s.has(n)){const i=Q(t);let o="schema";i instanceof W&&(r={...r,root:!0,groups:i.schema.getGroups()},o="item");const a=m(o,[i.schema],r);Object.keys((0,e.getValue)(r,"components.schemas",{})).length&&(a.definitions=r.components.schemas),s.set(n,a)}return s.get(n)}(t,r={endpoint:!0,groups:[],inlineEnums:s===Z.JSON,...r,specType:s,components:{schemas:{}}})}function An(e,t={}){const r=e.isStore?e:Q(e),s=Ts(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(An(r,{...t,basePath:s}))),n)),[...ft(e).values()].reduce(((r,n)=>{const{operation:i}=n;return i&&i.getAllowedOperationPath(t.allowedVerbs).forEach((t=>{r.push(new Ps({basePath:s,token:e,endpoint:n,operationPath:t}))})),r}),n)}function Tn(e){const t=e.isStore?e:Q(e);if(!t.$properties){const e=de(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 Pn(e,t={}){const r=Tn(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&we(e.itemSchema,t)||s.set(r,e)})),s}})(),i})()));
|
|
3
3
|
//# sourceMappingURL=schema.umd.min.js.map
|