@tsed/schema 8.10.0-rc.1 → 8.10.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/components/async-api/channelsMapper.js +51 -0
- package/lib/browser/components/async-api/channelsMapper.js.map +1 -0
- package/lib/browser/components/async-api/generate.js +15 -0
- package/lib/browser/components/async-api/generate.js.map +1 -0
- package/lib/browser/components/async-api/messageMapper.js +31 -0
- package/lib/browser/components/async-api/messageMapper.js.map +1 -0
- package/lib/browser/components/async-api/payloadMapper.js +47 -0
- package/lib/browser/components/async-api/payloadMapper.js.map +1 -0
- package/lib/browser/components/async-api/responseMapper.js +37 -0
- package/lib/browser/components/async-api/responseMapper.js.map +1 -0
- package/lib/browser/components/default/anyMapper.js +25 -0
- package/lib/browser/components/default/anyMapper.js.map +1 -0
- package/lib/browser/components/default/classMapper.js +36 -0
- package/lib/browser/components/default/classMapper.js.map +1 -0
- package/lib/browser/components/default/discriminatorMappingMapper.js +22 -0
- package/lib/browser/components/default/discriminatorMappingMapper.js.map +1 -0
- package/lib/browser/components/default/enumsMapper.js +10 -0
- package/lib/browser/components/default/enumsMapper.js.map +1 -0
- package/lib/browser/components/default/genericsMapper.js +51 -0
- package/lib/browser/components/default/genericsMapper.js.map +1 -0
- package/lib/browser/components/default/inheritedClassMapper.js +30 -0
- package/lib/browser/components/default/inheritedClassMapper.js.map +1 -0
- package/lib/browser/components/default/itemMapper.js +9 -0
- package/lib/browser/components/default/itemMapper.js.map +1 -0
- package/lib/browser/components/default/lazyRefMapper.js +17 -0
- package/lib/browser/components/default/lazyRefMapper.js.map +1 -0
- package/lib/browser/components/default/mapMapper.js +10 -0
- package/lib/browser/components/default/mapMapper.js.map +1 -0
- package/lib/browser/components/default/nullableMapper.js +32 -0
- package/lib/browser/components/default/nullableMapper.js.map +1 -0
- package/lib/browser/components/default/objectMapper.js +24 -0
- package/lib/browser/components/default/objectMapper.js.map +1 -0
- package/lib/browser/components/default/ofMapper.js +14 -0
- package/lib/browser/components/default/ofMapper.js.map +1 -0
- package/lib/browser/components/default/propertiesMapper.js +21 -0
- package/lib/browser/components/default/propertiesMapper.js.map +1 -0
- package/lib/browser/components/default/requiredMapper.js +28 -0
- package/lib/browser/components/default/requiredMapper.js.map +1 -0
- package/lib/browser/components/default/schemaMapper.js +68 -0
- package/lib/browser/components/default/schemaMapper.js.map +1 -0
- package/lib/browser/components/index.js +66 -0
- package/lib/browser/components/index.js.map +1 -0
- package/lib/browser/components/open-spec/discriminatorMappingMapper.js +7 -0
- package/lib/browser/components/open-spec/discriminatorMappingMapper.js.map +1 -0
- package/lib/browser/components/open-spec/enumsMapper.js +13 -0
- package/lib/browser/components/open-spec/enumsMapper.js.map +1 -0
- package/lib/browser/components/open-spec/generate.js +18 -0
- package/lib/browser/components/open-spec/generate.js.map +1 -0
- package/lib/browser/components/open-spec/nullableMapper.js +36 -0
- package/lib/browser/components/open-spec/nullableMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInFilesMapper.js +21 -0
- package/lib/browser/components/open-spec/operationInFilesMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInParameterMapper.js +31 -0
- package/lib/browser/components/open-spec/operationInParameterMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInParametersMapper.js +9 -0
- package/lib/browser/components/open-spec/operationInParametersMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationInQueryMapper.js +46 -0
- package/lib/browser/components/open-spec/operationInQueryMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationMapper.js +33 -0
- package/lib/browser/components/open-spec/operationMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationMediaMapper.js +10 -0
- package/lib/browser/components/open-spec/operationMediaMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationRequestBodyMapper.js +40 -0
- package/lib/browser/components/open-spec/operationRequestBodyMapper.js.map +1 -0
- package/lib/browser/components/open-spec/operationResponseMapper.js +17 -0
- package/lib/browser/components/open-spec/operationResponseMapper.js.map +1 -0
- package/lib/browser/components/open-spec/pathsMapper.js +88 -0
- package/lib/browser/components/open-spec/pathsMapper.js.map +1 -0
- package/lib/browser/constants/OperationVerbs.js +24 -0
- package/lib/browser/constants/OperationVerbs.js.map +1 -0
- package/lib/browser/constants/httpStatusMessages.js +25 -0
- package/lib/browser/constants/httpStatusMessages.js.map +1 -0
- package/lib/browser/constants/jsonSchemaProperties.js +21 -0
- package/lib/browser/constants/jsonSchemaProperties.js.map +1 -0
- package/lib/browser/decorators/class/children.js +13 -0
- package/lib/browser/decorators/class/children.js.map +1 -0
- package/lib/browser/decorators/class/discriminatorValue.js +11 -0
- package/lib/browser/decorators/class/discriminatorValue.js.map +1 -0
- package/lib/browser/decorators/collections/collectionContains.js +8 -0
- package/lib/browser/decorators/collections/collectionContains.js.map +1 -0
- package/lib/browser/decorators/collections/collectionOf.js +26 -0
- package/lib/browser/decorators/collections/collectionOf.js.map +1 -0
- package/lib/browser/decorators/collections/maxItems.js +13 -0
- package/lib/browser/decorators/collections/maxItems.js.map +1 -0
- package/lib/browser/decorators/collections/maxProperties.js +13 -0
- package/lib/browser/decorators/collections/maxProperties.js.map +1 -0
- package/lib/browser/decorators/collections/minItems.js +13 -0
- package/lib/browser/decorators/collections/minItems.js.map +1 -0
- package/lib/browser/decorators/collections/minProperties.js +13 -0
- package/lib/browser/decorators/collections/minProperties.js.map +1 -0
- package/lib/browser/decorators/collections/uniqueItems.js +9 -0
- package/lib/browser/decorators/collections/uniqueItems.js.map +1 -0
- package/lib/browser/decorators/common/additionalProperties.js +10 -0
- package/lib/browser/decorators/common/additionalProperties.js.map +1 -0
- package/lib/browser/decorators/common/allOf.js +10 -0
- package/lib/browser/decorators/common/allOf.js.map +1 -0
- package/lib/browser/decorators/common/allow.js +16 -0
- package/lib/browser/decorators/common/allow.js.map +1 -0
- package/lib/browser/decorators/common/any.js +10 -0
- package/lib/browser/decorators/common/any.js.map +1 -0
- package/lib/browser/decorators/common/anyOf.js +10 -0
- package/lib/browser/decorators/common/anyOf.js.map +1 -0
- package/lib/browser/decorators/common/const.js +10 -0
- package/lib/browser/decorators/common/const.js.map +1 -0
- package/lib/browser/decorators/common/customKey.js +18 -0
- package/lib/browser/decorators/common/customKey.js.map +1 -0
- package/lib/browser/decorators/common/default.js +10 -0
- package/lib/browser/decorators/common/default.js.map +1 -0
- package/lib/browser/decorators/common/defaultMsg.js +9 -0
- package/lib/browser/decorators/common/defaultMsg.js.map +1 -0
- package/lib/browser/decorators/common/description.js +23 -0
- package/lib/browser/decorators/common/description.js.map +1 -0
- package/lib/browser/decorators/common/discriminatorKey.js +15 -0
- package/lib/browser/decorators/common/discriminatorKey.js.map +1 -0
- package/lib/browser/decorators/common/enum.js +12 -0
- package/lib/browser/decorators/common/enum.js.map +1 -0
- package/lib/browser/decorators/common/errorMsg.js +11 -0
- package/lib/browser/decorators/common/errorMsg.js.map +1 -0
- package/lib/browser/decorators/common/example.js +10 -0
- package/lib/browser/decorators/common/example.js.map +1 -0
- package/lib/browser/decorators/common/examples.js +10 -0
- package/lib/browser/decorators/common/examples.js.map +1 -0
- package/lib/browser/decorators/common/exclusiveMaximum.js +7 -0
- package/lib/browser/decorators/common/exclusiveMaximum.js.map +1 -0
- package/lib/browser/decorators/common/exclusiveMinimum.js +7 -0
- package/lib/browser/decorators/common/exclusiveMinimum.js.map +1 -0
- package/lib/browser/decorators/common/format.js +16 -0
- package/lib/browser/decorators/common/format.js.map +1 -0
- package/lib/browser/decorators/common/forwardGroups.js +10 -0
- package/lib/browser/decorators/common/forwardGroups.js.map +1 -0
- package/lib/browser/decorators/common/groups.js +31 -0
- package/lib/browser/decorators/common/groups.js.map +1 -0
- package/lib/browser/decorators/common/hidden.js +8 -0
- package/lib/browser/decorators/common/hidden.js.map +1 -0
- package/lib/browser/decorators/common/ignore.js +10 -0
- package/lib/browser/decorators/common/ignore.js.map +1 -0
- package/lib/browser/decorators/common/integer.js +10 -0
- package/lib/browser/decorators/common/integer.js.map +1 -0
- package/lib/browser/decorators/common/jsonEntityFn.js +11 -0
- package/lib/browser/decorators/common/jsonEntityFn.js.map +1 -0
- package/lib/browser/decorators/common/labelledAs.js +10 -0
- package/lib/browser/decorators/common/labelledAs.js.map +1 -0
- package/lib/browser/decorators/common/maxLength.js +13 -0
- package/lib/browser/decorators/common/maxLength.js.map +1 -0
- package/lib/browser/decorators/common/maximum.js +10 -0
- package/lib/browser/decorators/common/maximum.js.map +1 -0
- package/lib/browser/decorators/common/minLength.js +13 -0
- package/lib/browser/decorators/common/minLength.js.map +1 -0
- package/lib/browser/decorators/common/minimum.js +10 -0
- package/lib/browser/decorators/common/minimum.js.map +1 -0
- package/lib/browser/decorators/common/multipleOf.js +13 -0
- package/lib/browser/decorators/common/multipleOf.js.map +1 -0
- package/lib/browser/decorators/common/name.js +20 -0
- package/lib/browser/decorators/common/name.js.map +1 -0
- package/lib/browser/decorators/common/nullable.js +10 -0
- package/lib/browser/decorators/common/nullable.js.map +1 -0
- package/lib/browser/decorators/common/oneOf.js +10 -0
- package/lib/browser/decorators/common/oneOf.js.map +1 -0
- package/lib/browser/decorators/common/optional.js +18 -0
- package/lib/browser/decorators/common/optional.js.map +1 -0
- package/lib/browser/decorators/common/pattern.js +9 -0
- package/lib/browser/decorators/common/pattern.js.map +1 -0
- package/lib/browser/decorators/common/property.js +11 -0
- package/lib/browser/decorators/common/property.js.map +1 -0
- package/lib/browser/decorators/common/readOnly.js +10 -0
- package/lib/browser/decorators/common/readOnly.js.map +1 -0
- package/lib/browser/decorators/common/recordOf.js +15 -0
- package/lib/browser/decorators/common/recordOf.js.map +1 -0
- package/lib/browser/decorators/common/required.js +8 -0
- package/lib/browser/decorators/common/required.js.map +1 -0
- package/lib/browser/decorators/common/requiredGroups.js +11 -0
- package/lib/browser/decorators/common/requiredGroups.js.map +1 -0
- package/lib/browser/decorators/common/schema.js +16 -0
- package/lib/browser/decorators/common/schema.js.map +1 -0
- package/lib/browser/decorators/common/title.js +10 -0
- package/lib/browser/decorators/common/title.js.map +1 -0
- package/lib/browser/decorators/common/typeError.js +10 -0
- package/lib/browser/decorators/common/typeError.js.map +1 -0
- package/lib/browser/decorators/common/writeOnly.js +10 -0
- package/lib/browser/decorators/common/writeOnly.js.map +1 -0
- package/lib/browser/decorators/config/jsonEntityComponent.js +10 -0
- package/lib/browser/decorators/config/jsonEntityComponent.js.map +1 -0
- package/lib/browser/decorators/generics/genericOf.js +19 -0
- package/lib/browser/decorators/generics/genericOf.js.map +1 -0
- package/lib/browser/decorators/generics/generics.js +11 -0
- package/lib/browser/decorators/generics/generics.js.map +1 -0
- package/lib/browser/decorators/operations/acceptMime.js +9 -0
- package/lib/browser/decorators/operations/acceptMime.js.map +1 -0
- package/lib/browser/decorators/operations/consumes.js +20 -0
- package/lib/browser/decorators/operations/consumes.js.map +1 -0
- package/lib/browser/decorators/operations/contentType.js +8 -0
- package/lib/browser/decorators/operations/contentType.js.map +1 -0
- package/lib/browser/decorators/operations/deprecated.js +26 -0
- package/lib/browser/decorators/operations/deprecated.js.map +1 -0
- package/lib/browser/decorators/operations/header.js +9 -0
- package/lib/browser/decorators/operations/header.js.map +1 -0
- package/lib/browser/decorators/operations/in.js +27 -0
- package/lib/browser/decorators/operations/in.js.map +1 -0
- package/lib/browser/decorators/operations/inFile.js +27 -0
- package/lib/browser/decorators/operations/inFile.js.map +1 -0
- package/lib/browser/decorators/operations/location.js +8 -0
- package/lib/browser/decorators/operations/location.js.map +1 -0
- package/lib/browser/decorators/operations/operation.js +45 -0
- package/lib/browser/decorators/operations/operation.js.map +1 -0
- package/lib/browser/decorators/operations/operationId.js +13 -0
- package/lib/browser/decorators/operations/operationId.js.map +1 -0
- package/lib/browser/decorators/operations/operationPath.js +13 -0
- package/lib/browser/decorators/operations/operationPath.js.map +1 -0
- package/lib/browser/decorators/operations/partial.js +8 -0
- package/lib/browser/decorators/operations/partial.js.map +1 -0
- package/lib/browser/decorators/operations/path.js +13 -0
- package/lib/browser/decorators/operations/path.js.map +1 -0
- package/lib/browser/decorators/operations/produces.js +20 -0
- package/lib/browser/decorators/operations/produces.js.map +1 -0
- package/lib/browser/decorators/operations/publish.js +9 -0
- package/lib/browser/decorators/operations/publish.js.map +1 -0
- package/lib/browser/decorators/operations/redirect.js +20 -0
- package/lib/browser/decorators/operations/redirect.js.map +1 -0
- package/lib/browser/decorators/operations/returns.js +180 -0
- package/lib/browser/decorators/operations/returns.js.map +1 -0
- package/lib/browser/decorators/operations/route.js +37 -0
- package/lib/browser/decorators/operations/route.js.map +1 -0
- package/lib/browser/decorators/operations/security.js +20 -0
- package/lib/browser/decorators/operations/security.js.map +1 -0
- package/lib/browser/decorators/operations/status.js +8 -0
- package/lib/browser/decorators/operations/status.js.map +1 -0
- package/lib/browser/decorators/operations/subscribe.js +9 -0
- package/lib/browser/decorators/operations/subscribe.js.map +1 -0
- package/lib/browser/decorators/operations/summary.js +13 -0
- package/lib/browser/decorators/operations/summary.js.map +1 -0
- package/lib/browser/decorators/operations/tags.js +25 -0
- package/lib/browser/decorators/operations/tags.js.map +1 -0
- package/lib/browser/decorators/operations/view.js +8 -0
- package/lib/browser/decorators/operations/view.js.map +1 -0
- package/lib/browser/domain/DecoratorContext.js +62 -0
- package/lib/browser/domain/DecoratorContext.js.map +1 -0
- package/lib/browser/domain/JsonAliasMap.js +7 -0
- package/lib/browser/domain/JsonAliasMap.js.map +1 -0
- package/lib/browser/domain/JsonClassStore.js +32 -0
- package/lib/browser/domain/JsonClassStore.js.map +1 -0
- package/lib/browser/domain/JsonDiscriminator.js +41 -0
- package/lib/browser/domain/JsonDiscriminator.js.map +1 -0
- package/lib/browser/domain/JsonEntityStore.js +131 -0
- package/lib/browser/domain/JsonEntityStore.js.map +1 -0
- package/lib/browser/domain/JsonFormatTypes.js +5 -0
- package/lib/browser/domain/JsonFormatTypes.js.map +1 -0
- package/lib/browser/domain/JsonLazyRef.js +20 -0
- package/lib/browser/domain/JsonLazyRef.js.map +1 -0
- package/lib/browser/domain/JsonMap.js +19 -0
- package/lib/browser/domain/JsonMap.js.map +1 -0
- package/lib/browser/domain/JsonMedia.js +16 -0
- package/lib/browser/domain/JsonMedia.js.map +1 -0
- package/lib/browser/domain/JsonMethodStore.js +121 -0
- package/lib/browser/domain/JsonMethodStore.js.map +1 -0
- package/lib/browser/domain/JsonOperation.js +129 -0
- package/lib/browser/domain/JsonOperation.js.map +1 -0
- package/lib/browser/domain/JsonOperationPathsMap.js +13 -0
- package/lib/browser/domain/JsonOperationPathsMap.js.map +1 -0
- package/lib/browser/domain/JsonOperationRoute.js +54 -0
- package/lib/browser/domain/JsonOperationRoute.js.map +1 -0
- package/lib/browser/domain/JsonParameter.js +41 -0
- package/lib/browser/domain/JsonParameter.js.map +1 -0
- package/lib/browser/domain/JsonParameterStore.js +69 -0
- package/lib/browser/domain/JsonParameterStore.js.map +1 -0
- package/lib/browser/domain/JsonParameterTypes.js +13 -0
- package/lib/browser/domain/JsonParameterTypes.js.map +1 -0
- package/lib/browser/domain/JsonPropertyStore.js +64 -0
- package/lib/browser/domain/JsonPropertyStore.js.map +1 -0
- package/lib/browser/domain/JsonRequestBody.js +24 -0
- package/lib/browser/domain/JsonRequestBody.js.map +1 -0
- package/lib/browser/domain/JsonResponse.js +36 -0
- package/lib/browser/domain/JsonResponse.js.map +1 -0
- package/lib/browser/domain/JsonSchema.js +625 -0
- package/lib/browser/domain/JsonSchema.js.map +1 -0
- package/lib/browser/domain/SpecTypes.js +5 -0
- package/lib/browser/domain/SpecTypes.js.map +1 -0
- package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js +10 -0
- package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
- package/lib/browser/fn/allOf.js +8 -0
- package/lib/browser/fn/allOf.js.map +1 -0
- package/lib/browser/fn/any.js +8 -0
- package/lib/browser/fn/any.js.map +1 -0
- package/lib/browser/fn/anyOf.js +8 -0
- package/lib/browser/fn/anyOf.js.map +1 -0
- package/lib/browser/fn/boolean.js +8 -0
- package/lib/browser/fn/boolean.js.map +1 -0
- package/lib/browser/fn/collection.js +16 -0
- package/lib/browser/fn/collection.js.map +1 -0
- package/lib/browser/fn/date.js +17 -0
- package/lib/browser/fn/date.js.map +1 -0
- package/lib/browser/fn/email.js +9 -0
- package/lib/browser/fn/email.js.map +1 -0
- package/lib/browser/fn/enums.js +10 -0
- package/lib/browser/fn/enums.js.map +1 -0
- package/lib/browser/fn/from.js +18 -0
- package/lib/browser/fn/from.js.map +1 -0
- package/lib/browser/fn/integer.js +8 -0
- package/lib/browser/fn/integer.js.map +1 -0
- package/lib/browser/fn/lazyRef.js +14 -0
- package/lib/browser/fn/lazyRef.js.map +1 -0
- package/lib/browser/fn/number.js +8 -0
- package/lib/browser/fn/number.js.map +1 -0
- package/lib/browser/fn/object.js +8 -0
- package/lib/browser/fn/object.js.map +1 -0
- package/lib/browser/fn/oneOf.js +8 -0
- package/lib/browser/fn/oneOf.js.map +1 -0
- package/lib/browser/fn/string.js +8 -0
- package/lib/browser/fn/string.js.map +1 -0
- package/lib/browser/fn/uri.js +9 -0
- package/lib/browser/fn/uri.js.map +1 -0
- package/lib/browser/fn/url.js +9 -0
- package/lib/browser/fn/url.js.map +1 -0
- package/lib/browser/hooks/alterIgnore.js +12 -0
- package/lib/browser/hooks/alterIgnore.js.map +1 -0
- package/lib/browser/hooks/alterOneOf.js +30 -0
- package/lib/browser/hooks/alterOneOf.js.map +1 -0
- package/lib/browser/hooks/alterRequiredGroups.js +8 -0
- package/lib/browser/hooks/alterRequiredGroups.js.map +1 -0
- package/lib/browser/index.js +450 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/registries/JsonSchemaMapperContainer.js +27 -0
- package/lib/browser/registries/JsonSchemaMapperContainer.js.map +1 -0
- package/lib/browser/registries/enumRegistries.js +5 -0
- package/lib/browser/registries/enumRegistries.js.map +1 -0
- package/lib/browser/utils/buildPath.js +7 -0
- package/lib/browser/utils/buildPath.js.map +1 -0
- package/lib/browser/utils/concatParameters.js +7 -0
- package/lib/browser/utils/concatParameters.js.map +1 -0
- package/lib/browser/utils/concatPath.js +17 -0
- package/lib/browser/utils/concatPath.js.map +1 -0
- package/lib/browser/utils/defineStatusModel.js +12 -0
- package/lib/browser/utils/defineStatusModel.js.map +1 -0
- package/lib/browser/utils/generateSpec.js +24 -0
- package/lib/browser/utils/generateSpec.js.map +1 -0
- package/lib/browser/utils/generics.js +26 -0
- package/lib/browser/utils/generics.js.map +1 -0
- package/lib/browser/utils/getComputedType.js +8 -0
- package/lib/browser/utils/getComputedType.js.map +1 -0
- package/lib/browser/utils/getInheritedStores.js +10 -0
- package/lib/browser/utils/getInheritedStores.js.map +1 -0
- package/lib/browser/utils/getJsonEntityStore.js +17 -0
- package/lib/browser/utils/getJsonEntityStore.js.map +1 -0
- package/lib/browser/utils/getJsonPathParameters.js +51 -0
- package/lib/browser/utils/getJsonPathParameters.js.map +1 -0
- package/lib/browser/utils/getJsonSchema.js +72 -0
- package/lib/browser/utils/getJsonSchema.js.map +1 -0
- package/lib/browser/utils/getJsonType.js +10 -0
- package/lib/browser/utils/getJsonType.js.map +1 -0
- package/lib/browser/utils/getOperationsRoutes.js +30 -0
- package/lib/browser/utils/getOperationsRoutes.js.map +1 -0
- package/lib/browser/utils/getOperationsStores.js +24 -0
- package/lib/browser/utils/getOperationsStores.js.map +1 -0
- package/lib/browser/utils/getPropertiesStores.js +26 -0
- package/lib/browser/utils/getPropertiesStores.js.map +1 -0
- package/lib/browser/utils/getSpec.js +56 -0
- package/lib/browser/utils/getSpec.js.map +1 -0
- package/lib/browser/utils/getSpecType.js +12 -0
- package/lib/browser/utils/getSpecType.js.map +1 -0
- package/lib/browser/utils/isSuccessStatus.js +6 -0
- package/lib/browser/utils/isSuccessStatus.js.map +1 -0
- package/lib/browser/utils/mapHeaders.js +14 -0
- package/lib/browser/utils/mapHeaders.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec.js +27 -0
- package/lib/browser/utils/mapOpenSpec.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec2.js +40 -0
- package/lib/browser/utils/mapOpenSpec2.js.map +1 -0
- package/lib/browser/utils/mapOpenSpec3.js +19 -0
- package/lib/browser/utils/mapOpenSpec3.js.map +1 -0
- package/lib/browser/utils/mapOpenSpecInfo.js +16 -0
- package/lib/browser/utils/mapOpenSpecInfo.js.map +1 -0
- package/lib/browser/utils/mapOperationOptions.js +17 -0
- package/lib/browser/utils/mapOperationOptions.js.map +1 -0
- package/lib/browser/utils/matchGroups.js +27 -0
- package/lib/browser/utils/matchGroups.js.map +1 -0
- package/lib/browser/utils/mergeSpec.js +23 -0
- package/lib/browser/utils/mergeSpec.js.map +1 -0
- package/lib/browser/utils/operationIdFormatter.js +29 -0
- package/lib/browser/utils/operationIdFormatter.js.map +1 -0
- package/lib/browser/utils/ref.js +32 -0
- package/lib/browser/utils/ref.js.map +1 -0
- package/lib/browser/utils/removeHiddenOperation.js +7 -0
- package/lib/browser/utils/removeHiddenOperation.js.map +1 -0
- package/lib/browser/utils/serializeEnumValues.js +11 -0
- package/lib/browser/utils/serializeEnumValues.js.map +1 -0
- package/lib/browser/utils/somethingOf.js +7 -0
- package/lib/browser/utils/somethingOf.js.map +1 -0
- package/lib/browser/utils/toJsonMapCollection.js +8 -0
- package/lib/browser/utils/toJsonMapCollection.js.map +1 -0
- package/lib/browser/utils/toJsonRegex.js +7 -0
- package/lib/browser/utils/toJsonRegex.js.map +1 -0
- package/lib/browser/utils/transformToOS2.js +302 -0
- package/lib/browser/utils/transformToOS2.js.map +1 -0
- package/lib/browser/utils/withErrorMsg.js +31 -0
- package/lib/browser/utils/withErrorMsg.js.map +1 -0
- package/package.json +9 -9
- package/vite.config.mts +30 -4
- package/lib/browser/schema.umd.cjs +0 -15
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useDecorators as o } from "@tsed/core";
|
|
2
|
+
import { JsonEntityFn as t } from "./jsonEntityFn.js";
|
|
3
|
+
import { Property as i } from "./property.js";
|
|
4
|
+
function p() {
|
|
5
|
+
return o(
|
|
6
|
+
i(),
|
|
7
|
+
t((r) => {
|
|
8
|
+
r.discriminatorKey();
|
|
9
|
+
})
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
p as DiscriminatorKey
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=discriminatorKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discriminatorKey.js","sources":["../../../../src/decorators/common/discriminatorKey.ts"],"sourcesContent":["import {useDecorators} from \"@tsed/core\";\n\nimport {JsonPropertyStore} from \"../../domain/JsonPropertyStore.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\nimport {Property} from \"./property.js\";\n\nexport function DiscriminatorKey(): PropertyDecorator {\n return useDecorators(\n Property(),\n JsonEntityFn((store: JsonPropertyStore) => {\n store.discriminatorKey();\n })\n );\n}\n"],"names":["DiscriminatorKey","useDecorators","Property","JsonEntityFn","store"],"mappings":";;;AAMO,SAASA,IAAsC;AAC7C,SAAAC;AAAA,IACLC,EAAS;AAAA,IACTC,EAAa,CAACC,MAA6B;AACzC,MAAAA,EAAM,iBAAiB;AAAA,IACxB,CAAA;AAAA,EACH;AACF;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { withErrorMsg as t } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as o } from "./jsonEntityFn.js";
|
|
3
|
+
function e(n, ...m) {
|
|
4
|
+
return o((r) => {
|
|
5
|
+
r.itemSchema.enum(n, ...m);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
const E = t("enum", e);
|
|
9
|
+
export {
|
|
10
|
+
E as Enum
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.js","sources":["../../../../src/decorators/common/enum.ts"],"sourcesContent":["import type {JSONSchema6Type} from \"json-schema\";\n\nimport {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\nfunction EnumFn(...enumValues: (JSONSchema6Type | any)[]): Function;\nfunction EnumFn(enumValue: JSONSchema6Type | any, ...enumValues: JSONSchema6Type[]) {\n return JsonEntityFn((store) => {\n store.itemSchema.enum(enumValue, ...enumValues);\n });\n}\n\n/**\n * The enum keyword is used to restrict a value to a fixed set of values.\n * It must be an array with at least one element, where each element is unique.\n *\n * Elements in the array might be of any value, including null.\n *\n * ::: warning\n * For v6 user, use @@Enum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Enum(\"value1\", \"value2\")\n * property: \"value1\" | \"value2\";\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"enum\": [\"value1\", \"value2\"]\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Enum(\"value1\", \"value2\")\n * property: (\"value1\" | \"value2\")[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"enum\": [\"value1\", \"value2\"]\n * }\n * }\n * }\n * }\n * ```\n *\n * ### With Typescript Enum\n *\n * ```typescript\n * enum SomeEnum {\n * ENUM_1 = \"enum1\",\n * ENUM_2 = \"enum2\"\n * }\n *\n * class Model {\n * @Enum(SomeEnum)\n * property: SomeEnum;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"enum\": [\"enum1\", \"enum2\"]\n * }\n * }\n * }\n * ```\n *\n * @param {string | number | boolean | {}} enumValue\n * @param enumValues\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\n\nexport const Enum = withErrorMsg(\"enum\", EnumFn);\n"],"names":["EnumFn","enumValue","enumValues","JsonEntityFn","store","Enum","withErrorMsg"],"mappings":";;AAMA,SAASA,EAAOC,MAAqCC,GAA+B;AAC3E,SAAAC,EAAa,CAACC,MAAU;AAC7B,IAAAA,EAAM,WAAW,KAAKH,GAAW,GAAGC,CAAU;AAAA,EAAA,CAC/C;AACH;AAoGa,MAAAG,IAAOC,EAAa,QAAQN,CAAM;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { JsonEntityFn as t } from "./jsonEntityFn.js";
|
|
2
|
+
function s(e) {
|
|
3
|
+
return t((r) => {
|
|
4
|
+
const o = r.parentSchema.get("#errorMessage") || {};
|
|
5
|
+
r.parentSchema.customKey("errorMessage", { ...o, ...e });
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
s as ErrorMsg
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=errorMsg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMsg.js","sources":["../../../../src/decorators/common/errorMsg.ts"],"sourcesContent":["import {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Add an error message to the property.\n * @decorator\n * @ajv\n */\nexport function ErrorMsg(obj: Record<string, string>) {\n return JsonEntityFn((store) => {\n // since errorMessage is a custom key, it is prefixed with a # to avoid conflict with JSON Schema keywords\n const errorMessage = store.parentSchema.get(\"#errorMessage\") || {};\n store.parentSchema.customKey(\"errorMessage\", {...errorMessage, ...obj});\n });\n}\n"],"names":["ErrorMsg","obj","JsonEntityFn","store","errorMessage"],"mappings":";AAOO,SAASA,EAASC,GAA6B;AAC7C,SAAAC,EAAa,CAACC,MAAU;AAE7B,UAAMC,IAAeD,EAAM,aAAa,IAAI,eAAe,KAAK,CAAC;AAC3D,IAAAA,EAAA,aAAa,UAAU,gBAAgB,EAAC,GAAGC,GAAc,GAAGH,GAAI;AAAA,EAAA,CACvE;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","sources":["../../../../src/decorators/common/example.ts"],"sourcesContent":["import {JsonEntityStore} from \"../../domain/JsonEntityStore.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Add an example metadata on the decorated element.\n *\n * @decorator\n * @swagger\n * @schema\n * @input\n * @methodDecorator\n * @classDecorator\n */\nexport function Example(...examples: any[]): Function {\n return JsonEntityFn((store: JsonEntityStore) => {\n store.schema.examples(examples);\n });\n}\n"],"names":["Example","examples","JsonEntityFn","store"],"mappings":";AAaO,SAASA,KAAWC,GAA2B;AAC7C,SAAAC,EAAa,CAACC,MAA2B;AACxC,IAAAA,EAAA,OAAO,SAASF,CAAQ;AAAA,EAAA,CAC/B;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"examples.js","sources":["../../../../src/decorators/common/examples.ts"],"sourcesContent":["import {OpenSpecHash, OpenSpecRef, OS3Example} from \"@tsed/openspec\";\n\nimport {JsonParameterStore} from \"../../domain/JsonParameterStore.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Add a examples metadata on the decorated element.\n *\n * @decorator\n * @swagger\n * @schema\n * @input\n * @methodDecorator\n * @classDecorator\n */\nexport function Examples(examples: OpenSpecHash<OS3Example | OpenSpecRef>): ParameterDecorator {\n return JsonEntityFn((store: JsonParameterStore) => {\n store.parameter!.examples(examples);\n });\n}\n"],"names":["Examples","examples","JsonEntityFn","store"],"mappings":";AAeO,SAASA,EAASC,GAAsE;AACtF,SAAAC,EAAa,CAACC,MAA8B;AAC3C,IAAAA,EAAA,UAAW,SAASF,CAAQ;AAAA,EAAA,CACnC;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exclusiveMaximum.js","sources":["../../../../src/decorators/common/exclusiveMaximum.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {Maximum} from \"./maximum.js\";\n\n/**\n * The value of `exclusiveMaximum` MUST be number, representing an exclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then the instance is valid only if it has a value strictly less than (not equal to) `exclusiveMaximum`.\n *\n * ::: warning\n * For v6 user, use @@ExclusiveMaximum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @ExclusiveMaximum(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"exclusiveMaximum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @ExclusiveMaximum(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"exclusiveMaximum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param maximum\n * @param {boolean} exclusiveMaximum\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const ExclusiveMaximum = withErrorMsg(\"exclusiveMaximum\", (maximum: number, exclusiveMaximum: boolean = true) => {\n return Maximum(maximum, exclusiveMaximum);\n});\n"],"names":["ExclusiveMaximum","withErrorMsg","maximum","exclusiveMaximum","Maximum"],"mappings":";;AAwEO,MAAMA,IAAmBC,EAAa,oBAAoB,CAACC,GAAiBC,IAA4B,OACtGC,EAAQF,GAASC,CAAgB,CACzC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exclusiveMinimum.js","sources":["../../../../src/decorators/common/exclusiveMinimum.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {Minimum} from \"./minimum.js\";\n\n/**\n * The value of `exclusiveMinimum` MUST be number, representing an exclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then the instance is valid only if it has a value strictly greater than (not equal to) `exclusiveMinimum`.\n *\n * ::: warning\n * For v6 user, use @@ExclusiveMinimum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @ExclusiveMinimum(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"exclusiveMinimum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @ExclusiveMinimum(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"exclusiveMinimum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param minimum\n * @param {boolean} exclusiveMinimum\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const ExclusiveMinimum = withErrorMsg(\"exclusiveMinimum\", (minimum: number, exclusiveMinimum: boolean = true) => {\n return Minimum(minimum, exclusiveMinimum);\n});\n"],"names":["ExclusiveMinimum","withErrorMsg","minimum","exclusiveMinimum","Minimum"],"mappings":";;AAwEO,MAAMA,IAAmBC,EAAa,oBAAoB,CAACC,GAAiBC,IAA4B,OACtGC,EAAQF,GAASC,CAAgB,CACzC;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JsonFormatTypes as t } from "../../domain/JsonFormatTypes.js";
|
|
2
|
+
import { withErrorMsg as r } from "../../utils/withErrorMsg.js";
|
|
3
|
+
import { JsonEntityFn as a } from "./jsonEntityFn.js";
|
|
4
|
+
const o = r("format", (m) => a((n) => {
|
|
5
|
+
n.itemSchema.format(m);
|
|
6
|
+
})), i = r("format", () => o(t.EMAIL)), c = r("format", () => o(t.DATE_TIME)), E = r("format", () => o(t.DATE)), u = r("format", () => o(t.TIME)), T = r("format", () => o(t.URI)), p = r("format", () => o(t.URL));
|
|
7
|
+
export {
|
|
8
|
+
E as DateFormat,
|
|
9
|
+
c as DateTime,
|
|
10
|
+
i as Email,
|
|
11
|
+
o as Format,
|
|
12
|
+
u as TimeFormat,
|
|
13
|
+
T as Uri,
|
|
14
|
+
p as Url
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sources":["../../../../src/decorators/common/format.ts"],"sourcesContent":["import {ValueOf} from \"@tsed/core\";\n\nimport {JsonFormatTypes} from \"../../domain/JsonFormatTypes.js\";\nimport {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * The following formats are supported for string validation with `format` keyword:\n *\n * - **date**: full-date according to [RFC3339](https://json-schema.org/latest/json-schema-validation.html#RFC3339).\n * - **time**: time with optional time-zone.\n * - **date-time**: date-time from the same source (time-zone is mandatory).\n * - **uri**: full uri with optional protocol.\n * - **email**: email address.\n * - **hostname**: host name according to [RFC1034](https://tools.ietf.org/html/rfc1034#section-3.1).\n * - **ipv4**: IP address v4.\n * - **ipv6**: IP address v6.\n * - **regex**: tests whether a string is a valid regular expression by passing it to RegExp constructor.\n *\n * ::: warning\n * For v6 user, use @@Format@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Format(\"email\")\n * property: string;\n * }\n * ```\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"email\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Format(\"email\")\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"email\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {string} format\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const Format = withErrorMsg(\"format\", (format: JsonFormatTypes | ValueOf<JsonFormatTypes>) => {\n return JsonEntityFn((store) => {\n store.itemSchema.format(format);\n });\n});\n\n/**\n * Apply an email validation on property.\n *\n * ::: warning\n * For v6 user, use @@Email@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Email()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"email\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Email()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"email\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @schema\n * @swagger\n * @input\n * @ajv-errors\n */\nexport const Email = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.EMAIL);\n});\n\n/**\n * Apply a date-time validation on property.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @DateTime()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"date-time\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @DateTime()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"date-time\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n * @auto-map The data will be stored on the right place according to the type and collectionType (primitive or collection).\n * @ajv-errors\n */\nexport const DateTime = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.DATE_TIME);\n});\n\n/**\n * Apply a time validation on property.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Time()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"time\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Time()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"time\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n * @ajv-errors\n */\nexport const DateFormat = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.DATE);\n});\n\n/**\n * Apply a time validation on property.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @TimeFormat()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"time\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @TimeFormat()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"time\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n * @ajv-errors\n */\nexport const TimeFormat = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.TIME);\n});\n\n/**\n * Apply a uri validation on property.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Uri()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"uri\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Uri()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"uri\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n * @ajv-errors\n */\nexport const Uri = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.URI);\n});\n\n/**\n * Apply a url validation on property.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Url()\n * property: string;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"format\": \"url\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Url()\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"format\": \"url\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n * @ajv-errors\n */\nexport const Url = withErrorMsg(\"format\", () => {\n return Format(JsonFormatTypes.URL);\n});\n"],"names":["Format","withErrorMsg","format","JsonEntityFn","store","Email","JsonFormatTypes","DateTime","DateFormat","TimeFormat","Uri","Url"],"mappings":";;;AAgFO,MAAMA,IAASC,EAAa,UAAU,CAACC,MACrCC,EAAa,CAACC,MAAU;AACvB,EAAAA,EAAA,WAAW,OAAOF,CAAM;AAAA,CAC/B,CACF,GAoEYG,IAAQJ,EAAa,UAAU,MACnCD,EAAOM,EAAgB,KAAK,CACpC,GAiEYC,IAAWN,EAAa,UAAU,MACtCD,EAAOM,EAAgB,SAAS,CACxC,GAgEYE,IAAaP,EAAa,UAAU,MACxCD,EAAOM,EAAgB,IAAI,CACnC,GAgEYG,IAAaR,EAAa,UAAU,MACxCD,EAAOM,EAAgB,IAAI,CACnC,GAgEYI,IAAMT,EAAa,UAAU,MACjCD,EAAOM,EAAgB,GAAG,CAClC,GAgEYK,IAAMV,EAAa,UAAU,MACjCD,EAAOM,EAAgB,GAAG,CAClC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forwardGroups.js","sources":["../../../../src/decorators/common/forwardGroups.ts"],"sourcesContent":["import {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Allow to forward group on specific property.\n *\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function ForwardGroups(bool = true): PropertyDecorator {\n return JsonEntityFn((entity) => {\n entity.schema.$forwardGroups = bool;\n });\n}\n"],"names":["ForwardGroups","bool","JsonEntityFn","entity"],"mappings":";AAWgB,SAAAA,EAAcC,IAAO,IAAyB;AACrD,SAAAC,EAAa,CAACC,MAAW;AAC9B,IAAAA,EAAO,OAAO,iBAAiBF;AAAA,EAAA,CAChC;AACH;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DecoratorTypes as s, isArray as m } from "@tsed/core";
|
|
2
|
+
import { matchGroups as p } from "../../utils/matchGroups.js";
|
|
3
|
+
import { CustomKey as f } from "./customKey.js";
|
|
4
|
+
import { JsonEntityFn as n } from "./jsonEntityFn.js";
|
|
5
|
+
function i(r, e) {
|
|
6
|
+
const a = Object.entries(r[0]);
|
|
7
|
+
e.children.forEach((o) => {
|
|
8
|
+
const t = a.filter(([, c]) => c.includes(o.propertyName)).map(([c]) => c);
|
|
9
|
+
u(...t)(o.target, o.propertyKey);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function u(...r) {
|
|
13
|
+
return n((e) => {
|
|
14
|
+
switch (e.decoratorType) {
|
|
15
|
+
case s.CLASS:
|
|
16
|
+
i(r, e);
|
|
17
|
+
break;
|
|
18
|
+
case s.PROP:
|
|
19
|
+
f("x-groups", r)(e.target, e.propertyKey), e.schema.$hooks.on("groups", (o, t) => !o && p(r, t) ? !0 : o);
|
|
20
|
+
break;
|
|
21
|
+
case s.PARAM:
|
|
22
|
+
let a = "";
|
|
23
|
+
r.length == 2 && m(r[1]) && (a = r[0], r = r[1]), e.parameter.groups = r, e.parameter.groupsName = a;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
u as Groups
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.js","sources":["../../../../src/decorators/common/groups.ts"],"sourcesContent":["import {DecoratorTypes, isArray} from \"@tsed/core\";\n\nimport type {JsonClassStore} from \"../../domain/JsonClassStore.js\";\nimport type {JsonParameterStore} from \"../../domain/JsonParameterStore.js\";\nimport {matchGroups} from \"../../utils/matchGroups.js\";\nimport {CustomKey} from \"./customKey.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * @ignore\n */\nfunction groupsClass(groups: any, entity: JsonClassStore) {\n const entries: [string, string[]][] = Object.entries(groups[0]);\n\n entity.children.forEach((propEntity) => {\n const groups = entries.filter(([, props]) => props.includes(propEntity.propertyName)).map(([key]) => key);\n const decorator: any = Groups(...groups);\n\n decorator(propEntity.target, propEntity.propertyKey);\n });\n}\n\n/**\n * Apply groups validation strategy\n *\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function Groups<T>(groupsDefinition: Record<string, (keyof T)[]>): ClassDecorator;\nexport function Groups<T>(groupName: string, groups: string[]): ParameterDecorator;\nexport function Groups(...groups: string[]): Function;\nexport function Groups(...groups: any): any {\n return JsonEntityFn((entity) => {\n switch (entity.decoratorType) {\n case DecoratorTypes.CLASS:\n groupsClass(groups, entity as JsonClassStore);\n break;\n case DecoratorTypes.PROP:\n CustomKey(\"x-groups\", groups)(entity.target, entity.propertyKey);\n entity.schema.$hooks.on(\"groups\", (prev: boolean, givenGroups: string[]) => {\n if (!prev) {\n if (matchGroups(groups, givenGroups)) {\n return true;\n }\n }\n\n return prev;\n });\n break;\n case DecoratorTypes.PARAM:\n let groupsName = \"\";\n\n if (groups.length == 2 && isArray(groups[1])) {\n groupsName = groups[0];\n groups = groups[1];\n }\n\n (entity as JsonParameterStore).parameter.groups = groups;\n (entity as JsonParameterStore).parameter.groupsName = groupsName;\n break;\n }\n });\n}\n"],"names":["groupsClass","groups","entity","entries","propEntity","props","key","Groups","JsonEntityFn","DecoratorTypes","CustomKey","prev","givenGroups","matchGroups","groupsName","isArray"],"mappings":";;;;AAWA,SAASA,EAAYC,GAAaC,GAAwB;AACxD,QAAMC,IAAgC,OAAO,QAAQF,EAAO,CAAC,CAAC;AAEvD,EAAAC,EAAA,SAAS,QAAQ,CAACE,MAAe;AACtC,UAAMH,IAASE,EAAQ,OAAO,CAAC,CAAG,EAAAE,CAAK,MAAMA,EAAM,SAASD,EAAW,YAAY,CAAC,EAAE,IAAI,CAAC,CAACE,CAAG,MAAMA,CAAG;AAG9F,IAFaC,EAAO,GAAGN,CAAM,EAE7BG,EAAW,QAAQA,EAAW,WAAW;AAAA,EAAA,CACpD;AACH;AAcO,SAASG,KAAUN,GAAkB;AACnC,SAAAO,EAAa,CAACN,MAAW;AAC9B,YAAQA,EAAO,eAAe;AAAA,MAC5B,KAAKO,EAAe;AAClB,QAAAT,EAAYC,GAAQC,CAAwB;AAC5C;AAAA,MACF,KAAKO,EAAe;AAClB,QAAAC,EAAU,YAAYT,CAAM,EAAEC,EAAO,QAAQA,EAAO,WAAW,GAC/DA,EAAO,OAAO,OAAO,GAAG,UAAU,CAACS,GAAeC,MAC5C,CAACD,KACCE,EAAYZ,GAAQW,CAAW,IAC1B,KAIJD,CACR;AACD;AAAA,MACF,KAAKF,EAAe;AAClB,YAAIK,IAAa;AAEjB,QAAIb,EAAO,UAAU,KAAKc,EAAQd,EAAO,CAAC,CAAC,MACzCa,IAAab,EAAO,CAAC,GACrBA,IAASA,EAAO,CAAC,IAGlBC,EAA8B,UAAU,SAASD,GACjDC,EAA8B,UAAU,aAAaY;AACtD;AAAA,IAAA;AAAA,EACJ,CACD;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hidden.js","sources":["../../../../src/decorators/common/hidden.ts"],"sourcesContent":["import {StoreSet} from \"@tsed/core\";\n\n/**\n * Disable documentation for the class and his endpoint.\n *\n * ````typescript\n * @Controller('/')\n * export class Ctrl {\n *\n * @Get('/')\n * @Hidden()\n * hiddenRoute(){\n *\n * }\n * }\n *\n * @Controller('/')\n * @Hidden()\n * export class Ctrl {\n * @Get('/')\n * hiddenRoute() {\n *\n * }\n * @Get('/2')\n * hiddenRoute2() {\n *\n * }\n * }\n * ```\n *\n * @decorator\n * @ignore\n */\nexport function Hidden() {\n return StoreSet(\"hidden\", true);\n}\n"],"names":["Hidden","StoreSet"],"mappings":";AAiCO,SAASA,IAAS;AAChB,SAAAC,EAAS,UAAU,EAAI;AAChC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore.js","sources":["../../../../src/decorators/common/ignore.ts"],"sourcesContent":["import {IgnoreCallback} from \"../../interfaces/IgnoreCallback.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Ignore the property when JsonMapper serialize the class to a Plain Object JavaScript.\n *\n * ::: warning\n * Swagger will not generate documentation for the ignored property.\n * :::\n *\n * ```typescript\n * class User {\n * @Ignore()\n * _id: string;\n *\n * @Property()\n * firstName: string;\n *\n * @Property()\n * lastName: string;\n *\n * @Ignore((value, ctx) => !ctx.endpoint)\n * password: string;\n * }\n * ```\n *\n * The controller:\n * ```typescript\n * import {Controller, BodyParams} from \"@tsed/platform-http\";\n * import {Post} from \"@tsed/schema\";\n * import {Person} from \"../models/Person.js\";\n *\n * @Controller(\"/\")\n * export class UsersCtrl {\n * @Get(\"/\")\n * get(): User {\n * const user = new User();\n * user._id = \"12345\";\n * user.firstName = \"John\";\n * user.lastName = \"Doe\";\n * user.password = \"secretpassword\";\n * return\n * }\n * }\n * ```\n *\n * The expected json object:\n *\n * ```json\n * {\n * \"firstName\": \"John\",\n * \"lastName\": \"Doe\"\n * }\n * ```\n * @param cb Callback to know if the property must be ignored\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @deprecated Since v7. Use @Groups decorator instead of and enable `jsonMapper.strictGroups` in your configuration.\n */\nexport function Ignore(cb: boolean | IgnoreCallback = true) {\n return JsonEntityFn((store) => {\n store.schema.ignore(cb);\n });\n}\n"],"names":["Ignore","cb","JsonEntityFn","store"],"mappings":";AA6DgB,SAAAA,EAAOC,IAA+B,IAAM;AACnD,SAAAC,EAAa,CAACC,MAAU;AACvB,IAAAA,EAAA,OAAO,OAAOF,CAAE;AAAA,EAAA,CACvB;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integer.js","sources":["../../../../src/decorators/common/integer.ts"],"sourcesContent":["import type {JSONSchema6} from \"json-schema\";\n\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Set integer type.\n *\n * ::: warning\n * For v6 user, use @@Integer@@ from @tsed/schema instead of @@Integer@@ from @tsed/platform-http.\n * :::\n *\n * ## Example\n *\n * ```typescript\n * class Model {\n * @Integer()\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"integer\"\n * }\n * }\n * }\n * ```\n *\n * ### With array of multiple types\n *\n * ```typescript\n * class Model {\n * @Integer()\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"integer\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function Integer() {\n return JsonEntityFn((store) => {\n store.itemSchema.type(\"integer\");\n });\n}\n"],"names":["Integer","JsonEntityFn","store"],"mappings":";AAgEO,SAASA,IAAU;AACjB,SAAAC,EAAa,CAACC,MAAU;AACvB,IAAAA,EAAA,WAAW,KAAK,SAAS;AAAA,EAAA,CAChC;AACH;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getJsonEntityStore as i } from "../../utils/getJsonEntityStore.js";
|
|
2
|
+
function u(o) {
|
|
3
|
+
return (...t) => {
|
|
4
|
+
const n = o(i(...t), t);
|
|
5
|
+
typeof n == "function" && n(...t);
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
u as JsonEntityFn
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=jsonEntityFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonEntityFn.js","sources":["../../../../src/decorators/common/jsonEntityFn.ts"],"sourcesContent":["import {DecoratorParameters} from \"@tsed/core\";\n\nimport type {JsonEntityStore} from \"../../domain/JsonEntityStore.js\";\nimport {getJsonEntityStore} from \"../../utils/getJsonEntityStore.js\";\n\n/**\n * Decorator util to compose another decorator. See @@Description@@ decorator implementation for more details.\n *\n * ## Usage\n *\n * ```typescript\n * export function Description(description: any) {\n * return JsonEntityFn((entity: JsonEntityStore, args: DecoratorParameters) => {\n * entity.itemSchema.description(description)\n * });\n * }\n * ```\n *\n * @param fn\n * @decorator\n * @utils\n * @model\n */\nexport function JsonEntityFn<T extends JsonEntityStore = JsonEntityStore>(\n fn: (entity: T, parameters: DecoratorParameters) => any\n): (...args: any[]) => any {\n return (...parameters: DecoratorParameters) => {\n const result: any = fn(getJsonEntityStore<T>(...parameters) as T, parameters);\n if (typeof result === \"function\") {\n result(...parameters);\n }\n };\n}\n"],"names":["JsonEntityFn","fn","parameters","result","getJsonEntityStore"],"mappings":";AAuBO,SAASA,EACdC,GACyB;AACzB,SAAO,IAAIC,MAAoC;AAC7C,UAAMC,IAAcF,EAAGG,EAAsB,GAAGF,CAAU,GAAQA,CAAU;AACxE,IAAA,OAAOC,KAAW,cACpBA,EAAO,GAAGD,CAAU;AAAA,EAExB;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labelledAs.js","sources":["../../../../src/decorators/common/labelledAs.ts"],"sourcesContent":["import {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Use label to create ref on the current decorated property.\n *\n * ### Example\n *\n * ```ts\n * class Model {\n * // For single property\n * @LabelledAs(\"UserSchema\")\n * name: string;\n *\n * // For collection\n * @LabelledAs(\"UserCollectionSchema\", \"collection\")\n * users: User[];\n * }\n * ```\n *\n * @param label The name of the label\n * @param includeCollection Add the label to the collection. By default, the label is added to the item of the collection it the property is a collection.\n * @returns PropertyDecorator\n *\n * @decorator\n */\nexport function LabelledAs(label: string, includeCollection: false | \"collection\" = false): PropertyDecorator {\n return JsonEntityFn((entity) => {\n if (includeCollection) {\n entity.schema.label(label);\n } else {\n entity.itemSchema.label(label);\n }\n });\n}\n"],"names":["LabelledAs","label","includeCollection","JsonEntityFn","entity"],"mappings":";AAyBgB,SAAAA,EAAWC,GAAeC,IAA0C,IAA0B;AACrG,SAAAC,EAAa,CAACC,MAAW;AAC9B,IAAIF,IACKE,EAAA,OAAO,MAAMH,CAAK,IAElBG,EAAA,WAAW,MAAMH,CAAK;AAAA,EAC/B,CACD;AACH;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { withErrorMsg as t } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as n } from "./jsonEntityFn.js";
|
|
3
|
+
const m = t("maxLength", (e) => {
|
|
4
|
+
if (e < 0)
|
|
5
|
+
throw new Error("The value of maxLength MUST be a non-negative integer.");
|
|
6
|
+
return n((r) => {
|
|
7
|
+
r.itemSchema.maxLength(e);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
m as MaxLength
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=maxLength.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maxLength.js","sources":["../../../../src/decorators/common/maxLength.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.\n *\n * The length of a string instance is defined as the number of its characters as defined by [RFC 7159](http://json-schema.org/latest/json-schema-validation.html#RFC7159).\n *\n * ::: warning\n * The value of maxLength MUST be a non-negative integer.\n * :::\n *\n * ::: tip\n * Omitting this keyword has the same behavior as a value of 0.\n * :::\n *\n * ::: warning\n * For v6 user, use @@MaxLength@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @MaxLength(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"maxLength\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @MaxLength(10)\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"maxLength\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} maxLength The maximum length allowed\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const MaxLength = withErrorMsg(\"maxLength\", (maxLength: number) => {\n if (maxLength < 0) {\n throw new Error(\"The value of maxLength MUST be a non-negative integer.\");\n }\n\n return JsonEntityFn((store) => {\n store.itemSchema.maxLength(maxLength);\n });\n});\n"],"names":["MaxLength","withErrorMsg","maxLength","JsonEntityFn","store"],"mappings":";;AA+EO,MAAMA,IAAYC,EAAa,aAAa,CAACC,MAAsB;AACxE,MAAIA,IAAY;AACR,UAAA,IAAI,MAAM,wDAAwD;AAGnE,SAAAC,EAAa,CAACC,MAAU;AACvB,IAAAA,EAAA,WAAW,UAAUF,CAAS;AAAA,EAAA,CACrC;AACH,CAAC;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { withErrorMsg as r } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as e } from "./jsonEntityFn.js";
|
|
3
|
+
const o = r("maximum", (m, t = !1) => e((i) => {
|
|
4
|
+
t ? i.itemSchema.exclusiveMaximum(m) : i.itemSchema.maximum(m);
|
|
5
|
+
})), x = o;
|
|
6
|
+
export {
|
|
7
|
+
x as Max,
|
|
8
|
+
o as Maximum
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=maximum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maximum.js","sources":["../../../../src/decorators/common/maximum.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * The value of `maximum` MUST be a number, representing an inclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then this keyword validates only if the instance is less than or exactly equal to `maximum`.\n *\n * ::: warning\n * For v6 user, use @@Maximum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Maximum(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"maximum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Maximum(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"maximum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} maximum The maximum value allowed\n * @param {boolean} exclusive Same effect as ExclusiveMaximum decorator.\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const Maximum = withErrorMsg(\"maximum\", (maximum: number, exclusive: boolean = false) => {\n return JsonEntityFn((store) => {\n exclusive ? store.itemSchema.exclusiveMaximum(maximum) : store.itemSchema.maximum(maximum);\n });\n});\n/**\n * The value of `maximum` MUST be a number, representing an inclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then this keyword validates only if the instance is less than or exactly equal to `maximum`.\n *\n * ::: warning\n * For v6 user, use @@Maximum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Max(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"maximum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Max(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"maximum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} maximum The maximum value allowed\n * @param {boolean} exclusive Same effect as ExclusiveMaximum decorator.\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport const Max = Maximum;\n"],"names":["Maximum","withErrorMsg","maximum","exclusive","JsonEntityFn","store","Max"],"mappings":";;AAwEO,MAAMA,IAAUC,EAAa,WAAW,CAACC,GAAiBC,IAAqB,OAC7EC,EAAa,CAACC,MAAU;AACjB,EAAAF,IAAAE,EAAM,WAAW,iBAAiBH,CAAO,IAAIG,EAAM,WAAW,QAAQH,CAAO;AAAA,CAC1F,CACF,GAqEYI,IAAMN;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { withErrorMsg as r } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as t } from "./jsonEntityFn.js";
|
|
3
|
+
const m = r("minLength", (n) => {
|
|
4
|
+
if (n < 0)
|
|
5
|
+
throw new Error("The value of minLength MUST be a non-negative integer.");
|
|
6
|
+
return t((e) => {
|
|
7
|
+
e.itemSchema.minLength(n);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
m as MinLength
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=minLength.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minLength.js","sources":["../../../../src/decorators/common/minLength.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n *\n * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.\n *\n * The length of a string instance is defined as the number of its characters as defined by [RFC 7159](http://json-schema.org/latest/json-schema-validation.html#RFC7159).\n *\n * ::: warning\n * The value of minLength MUST be a non-negative integer.\n * :::\n *\n * ::: tip\n * Omitting this keyword has the same behavior as a value of 0.\n * :::\n *\n * ::: warning\n * For v6 user, use @@MinLength@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @MinLength(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"maxLength\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @MinLength(10)\n * @CollectionOf(String)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"minLength\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} minLength\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const MinLength = withErrorMsg(\"minLength\", (minLength: number) => {\n if (minLength < 0) {\n throw new Error(\"The value of minLength MUST be a non-negative integer.\");\n }\n\n return JsonEntityFn((store) => {\n store.itemSchema.minLength(minLength);\n });\n});\n"],"names":["MinLength","withErrorMsg","minLength","JsonEntityFn","store"],"mappings":";;AAgFO,MAAMA,IAAYC,EAAa,aAAa,CAACC,MAAsB;AACxE,MAAIA,IAAY;AACR,UAAA,IAAI,MAAM,wDAAwD;AAGnE,SAAAC,EAAa,CAACC,MAAU;AACvB,IAAAA,EAAA,WAAW,UAAUF,CAAS;AAAA,EAAA,CACrC;AACH,CAAC;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { withErrorMsg as t } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as r } from "./jsonEntityFn.js";
|
|
3
|
+
const e = t("minimum", (m, n = !1) => r((i) => {
|
|
4
|
+
n ? i.itemSchema.exclusiveMinimum(m) : i.itemSchema.minimum(m);
|
|
5
|
+
})), s = e;
|
|
6
|
+
export {
|
|
7
|
+
s as Min,
|
|
8
|
+
e as Minimum
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=minimum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimum.js","sources":["../../../../src/decorators/common/minimum.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * The value of `minimum` MUST be a number, representing an inclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then this keyword validates only if the instance is greater than or exactly equal to `minimum`.\n *\n * ::: warning\n * This decorator will be removed in v7.\n * For v6 user, use @@Minimum@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Minimum(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"minimum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Minimum(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"minimum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} minimum The minimum value allowed\n * @param {boolean} exclusive\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const Minimum = withErrorMsg(\"minimum\", (minimum: number, exclusive: boolean = false) => {\n return JsonEntityFn((store) => {\n exclusive ? store.itemSchema.exclusiveMinimum(minimum) : store.itemSchema.minimum(minimum);\n });\n});\n\n/**\n * The value of `minimum` MUST be a number, representing an inclusive upper limit for a numeric instance.\n *\n * If the instance is a number, then this keyword validates only if the instance is greater than or exactly equal to `minimum`.\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Min(10)\n * property: number;\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"minimum\": 10\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @Min(10)\n * @CollectionOf(Number)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"minimum\": 10\n * }\n * }\n * }\n * }\n * ```\n *\n * @alias Minimum\n * @param minimum The minimum value allowed\n * @param exclusive\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport const Min = Minimum;\n"],"names":["Minimum","withErrorMsg","minimum","exclusive","JsonEntityFn","store","Min"],"mappings":";;AAyEO,MAAMA,IAAUC,EAAa,WAAW,CAACC,GAAiBC,IAAqB,OAC7EC,EAAa,CAACC,MAAU;AACjB,EAAAF,IAAAE,EAAM,WAAW,iBAAiBH,CAAO,IAAIG,EAAM,WAAW,QAAQH,CAAO;AAAA,CAC1F,CACF,GAmEYI,IAAMN;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { withErrorMsg as e } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as o } from "./jsonEntityFn.js";
|
|
3
|
+
const l = e("multipleOf", (r) => {
|
|
4
|
+
if (r <= 0)
|
|
5
|
+
throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");
|
|
6
|
+
return o((t) => {
|
|
7
|
+
t.itemSchema.multipleOf(r);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
l as MultipleOf
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=multipleOf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multipleOf.js","sources":["../../../../src/decorators/common/multipleOf.ts"],"sourcesContent":["import {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * A numeric instance is valid only if division by this keyword's value results in an integer.\n *\n * ::: warning\n * The value of `multipleOf` MUST be a number, strictly greater than 0.\n * :::\n *\n * ::: warning\n * For v6 user, use @@MultipleOf@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * ## Example\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @MultipleOf(2)\n * property: Number;\n * }\n * ```\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"number\",\n * \"multipleOf\": 2\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @CollectionOf(number)\n * @MultipleOf(2)\n * property: number[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"number\",\n * \"multipleOf\": 2\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {number} multipleOf The multiple value allowed\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const MultipleOf = withErrorMsg(\"multipleOf\", (multipleOf: number) => {\n if (multipleOf <= 0) {\n throw new Error(\"The value of multipleOf MUST be a number, strictly greater than 0.\");\n }\n\n return JsonEntityFn((store) => {\n store.itemSchema.multipleOf(multipleOf);\n });\n});\n"],"names":["MultipleOf","withErrorMsg","multipleOf","JsonEntityFn","store"],"mappings":";;AAuEO,MAAMA,IAAaC,EAAa,cAAc,CAACC,MAAuB;AAC3E,MAAIA,KAAc;AACV,UAAA,IAAI,MAAM,oEAAoE;AAG/E,SAAAC,EAAa,CAACC,MAAU;AACvB,IAAAA,EAAA,WAAW,WAAWF,CAAU;AAAA,EAAA,CACvC;AACH,CAAC;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { decoratorTypeOf as o, DecoratorTypes as t } from "@tsed/core";
|
|
2
|
+
import { JsonEntityFn as c } from "./jsonEntityFn.js";
|
|
3
|
+
function p(e) {
|
|
4
|
+
return c((a, r) => {
|
|
5
|
+
switch (o(r)) {
|
|
6
|
+
case t.CLASS:
|
|
7
|
+
a.schema.name(e);
|
|
8
|
+
break;
|
|
9
|
+
case t.PARAM:
|
|
10
|
+
a.parameter.name(e);
|
|
11
|
+
break;
|
|
12
|
+
default:
|
|
13
|
+
a.parent.schema.addAlias(r[1], e);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
p as Name
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.js","sources":["../../../../src/decorators/common/name.ts"],"sourcesContent":["import {DecoratorParameters, decoratorTypeOf, DecoratorTypes} from \"@tsed/core\";\n\nimport {JsonEntityStore} from \"../../domain/JsonEntityStore.js\";\nimport {JsonEntityFn} from \"../common/jsonEntityFn.js\";\n\n/**\n * Add a name metadata on the decorated element.\n *\n * ## Examples\n * ### On parameters\n *\n * ```typescript\n * async myMethod(@Name(\"nameOf\") @PathParams(\"id\") id: string): Promise<Model> {\n *\n * }\n * ```\n *\n * ### On parameters\n *\n * ```typescript\n * @Name(\"AliasName\")\n * @Controller(\"/\")\n * class ModelCtrl {\n *\n * }\n * ```\n *\n * @param name\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @classDecorator\n * @operation\n */\nexport function Name(name: any) {\n return JsonEntityFn((store: JsonEntityStore, args: DecoratorParameters) => {\n switch (decoratorTypeOf(args)) {\n case DecoratorTypes.CLASS:\n store.schema.name(name);\n break;\n case DecoratorTypes.PARAM:\n store.parameter!.name(name);\n break;\n default:\n store.parent.schema.addAlias(args[1], name);\n }\n });\n}\n"],"names":["Name","name","JsonEntityFn","store","args","decoratorTypeOf","DecoratorTypes"],"mappings":";;AAoCO,SAASA,EAAKC,GAAW;AACvB,SAAAC,EAAa,CAACC,GAAwBC,MAA8B;AACjE,YAAAC,EAAgBD,CAAI,GAAG;AAAA,MAC7B,KAAKE,EAAe;AACZ,QAAAH,EAAA,OAAO,KAAKF,CAAI;AACtB;AAAA,MACF,KAAKK,EAAe;AACZ,QAAAH,EAAA,UAAW,KAAKF,CAAI;AAC1B;AAAA,MACF;AACE,QAAAE,EAAM,OAAO,OAAO,SAASC,EAAK,CAAC,GAAGH,CAAI;AAAA,IAAA;AAAA,EAC9C,CACD;AACH;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useDecorators as l } from "@tsed/core";
|
|
2
|
+
import { Any as m } from "./any.js";
|
|
3
|
+
import { Property as n } from "./property.js";
|
|
4
|
+
function i(o, ...r) {
|
|
5
|
+
return r = [o, ...r], l(r.length === 1 && n(r[0]), m(null, ...r));
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
i as Nullable
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=nullable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullable.js","sources":["../../../../src/decorators/common/nullable.ts"],"sourcesContent":["import {Type, useDecorators} from \"@tsed/core\";\nimport type {JSONSchema6TypeName} from \"json-schema\";\n\nimport {Any} from \"./any.js\";\nimport {Property} from \"./property.js\";\n\n/**\n * Set field as nullable.\n *\n * ## Example\n *\n * ```typescript\n * class Model {\n * @Nullable(Date)\n * property: Date | null;\n *\n * @Nullable(String, Number, Boolean)\n * property: string | number | boolean | null;\n * }\n * ```\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function Nullable(type: JSONSchema6TypeName | Type<any> | any, ...types: (JSONSchema6TypeName | Type<any> | any)[]) {\n types = [type, ...types];\n return useDecorators(types.length === 1 && Property(types[0]), Any(null, ...types));\n}\n"],"names":["Nullable","type","types","useDecorators","Property","Any"],"mappings":";;;AA4BgB,SAAAA,EAASC,MAAgDC,GAAkD;AACjH,SAAAA,IAAA,CAACD,GAAM,GAAGC,CAAK,GAChBC,EAAcD,EAAM,WAAW,KAAKE,EAASF,EAAM,CAAC,CAAC,GAAGG,EAAI,MAAM,GAAGH,CAAK,CAAC;AACpF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oneOf.js","sources":["../../../../src/decorators/common/oneOf.ts"],"sourcesContent":["import {AnyJsonSchema} from \"../../domain/JsonSchema.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * See https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.28\n *\n * ::: warning\n * OneOf isn't supported by OS2\n * :::\n *\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @classDecorator\n * @input\n * @param oneOf\n */\nexport function OneOf(...oneOf: AnyJsonSchema[]) {\n return JsonEntityFn((entity) => {\n entity.itemSchema.oneOf(oneOf);\n });\n}\n"],"names":["OneOf","oneOf","JsonEntityFn","entity"],"mappings":";AAkBO,SAASA,KAASC,GAAwB;AACxC,SAAAC,EAAa,CAACC,MAAW;AACvB,IAAAA,EAAA,WAAW,MAAMF,CAAK;AAAA,EAAA,CAC9B;AACH;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DecoratorTypes as r } from "@tsed/core";
|
|
2
|
+
import { JsonEntityFn as a } from "./jsonEntityFn.js";
|
|
3
|
+
function p() {
|
|
4
|
+
return a((e) => {
|
|
5
|
+
switch (e.decoratorType) {
|
|
6
|
+
case r.PARAM:
|
|
7
|
+
e.required = !1;
|
|
8
|
+
break;
|
|
9
|
+
case r.PROP:
|
|
10
|
+
e.parentSchema.removeRequired(e.propertyName);
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
p as Optional
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=optional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional.js","sources":["../../../../src/decorators/common/optional.ts"],"sourcesContent":["import {DecoratorTypes, UnsupportedDecoratorType} from \"@tsed/core\";\n\nimport type {JsonParameterStore} from \"../../domain/JsonParameterStore.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Add optional annotation on Property or Parameter.\n *\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function Optional() {\n return JsonEntityFn((store) => {\n switch (store.decoratorType) {\n case DecoratorTypes.PARAM:\n (store as JsonParameterStore).required = false;\n break;\n case DecoratorTypes.PROP:\n store.parentSchema.removeRequired(store.propertyName);\n break;\n }\n });\n}\n"],"names":["Optional","JsonEntityFn","store","DecoratorTypes"],"mappings":";;AAcO,SAASA,IAAW;AAClB,SAAAC,EAAa,CAACC,MAAU;AAC7B,YAAQA,EAAM,eAAe;AAAA,MAC3B,KAAKC,EAAe;AACjB,QAAAD,EAA6B,WAAW;AACzC;AAAA,MACF,KAAKC,EAAe;AACZ,QAAAD,EAAA,aAAa,eAAeA,EAAM,YAAY;AACpD;AAAA,IAAA;AAAA,EACJ,CACD;AACH;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { withErrorMsg as n } from "../../utils/withErrorMsg.js";
|
|
2
|
+
import { JsonEntityFn as o } from "./jsonEntityFn.js";
|
|
3
|
+
const i = n("pattern", (t) => o((r) => {
|
|
4
|
+
r.itemSchema.pattern(t);
|
|
5
|
+
}));
|
|
6
|
+
export {
|
|
7
|
+
i as Pattern
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.js","sources":["../../../../src/decorators/common/pattern.ts"],"sourcesContent":["import {JsonEntityStore} from \"../../domain/JsonEntityStore.js\";\nimport {withErrorMsg} from \"../../utils/withErrorMsg.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * The pattern and Pattern Properties keywords use regular expressions to express constraints.\n * The regular expression syntax used is from JavaScript (ECMA 262, specifically). However, that complete syntax is not widely supported, therefore it is recommended that you stick to the subset of that syntax described below.\n *\n * ::: warning\n * For v6 user, use @@Pattern@@ from @tsed/schema instead of @tsed/platform-http.\n * :::\n *\n * A single unicode character (other than the special characters below) matches itself.\n *\n * * `^`: Matches only at the beginning of the string.\n * * `$`: Matches only at the end of the string.\n * * `(...)`: Group a series of regular expressions into a single regular expression.\n * * `|`: Matches either the regular expression preceding or following the | symbol.\n * * `[abc]`: Matches any of the characters inside the square brackets.\n * * `[a-z]`: Matches the range of characters.\n * * `[^abc]`: Matches any character not listed.\n * * `[^a-z]`: Matches any character outside of the range.\n * * `+`: Matches one or more repetitions of the preceding regular expression.\n * * `*`: Matches zero or more repetitions of the preceding regular expression.\n * * `?`: Matches zero or one repetitions of the preceding regular expression.\n * * `+?`, *?`, ??`: The `*`, `+`, and `?` qualifiers are all greedy; they match as much text as possible. Sometimes this behavior isn’t desired and you want to match as few characters as possible.\n * * `{x}`: Match exactly x occurrences of the preceding regular expression.\n * * `{x,y}`: Match at least x and at most y occurrences of the preceding regular expression.\n * * `{x,}`: Match x occurrences or more of the preceding regular expression.\n * * `{x}?`, {x,y}?, {x,}?`: Lazy versions of the above expressions.\n *\n * ## Example\n *\n * ```typescript\n * class Model {\n * @Pattern(\"^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$\")\n * @Pattern(/^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$/)\n * property: string;\n * }\n * ```\n *\n * ### With primitive type\n *\n * ```typescript\n * class Model {\n * @Pattern(/^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$/)\n * property: string;\n * }\n * ```\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"string\",\n * \"pattern\": \"^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$\"\n * }\n * }\n * }\n * ```\n *\n * ### With array type\n *\n * ```typescript\n * class Model {\n * @CollectionOf(string)\n * @Pattern(/^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$/)\n * property: string[];\n * }\n * ```\n *\n * Will produce:\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"property\": {\n * \"type\": \"array\",\n * \"items\": {\n * \"type\": \"string\",\n * \"pattern\": \"^(\\\\([0-9]{3}\\\\))?[0-9]{3}-[0-9]{4}$\"\n * }\n * }\n * }\n * }\n * ```\n *\n * @param {string} pattern\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n * @ajv-errors\n */\nexport const Pattern = withErrorMsg(\"pattern\", (pattern: string | RegExp) => {\n return JsonEntityFn((store: JsonEntityStore) => {\n store.itemSchema.pattern(pattern);\n });\n});\n"],"names":["Pattern","withErrorMsg","pattern","JsonEntityFn","store"],"mappings":";;AAiGO,MAAMA,IAAUC,EAAa,WAAW,CAACC,MACvCC,EAAa,CAACC,MAA2B;AACxC,EAAAA,EAAA,WAAW,QAAQF,CAAO;AAAA,CACjC,CACF;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isClass as o, isArrowFn as n } from "@tsed/core";
|
|
2
|
+
import { JsonEntityFn as m } from "./jsonEntityFn.js";
|
|
3
|
+
function s(r) {
|
|
4
|
+
return m((i) => {
|
|
5
|
+
r && ((o(r) || n(r)) && (i.type = r), i.itemSchema.type(r));
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
s as Property
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.js","sources":["../../../../src/decorators/common/property.ts"],"sourcesContent":["import {isArrowFn, isClass} from \"@tsed/core\";\n\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n\n/**\n * Declare a new property on a model.\n *\n * @param type\n * @decorator\n * @validation\n * @swagger\n * @schema\n * @input\n */\nexport function Property(type?: any) {\n return JsonEntityFn((store) => {\n if (type) {\n if (isClass(type) || isArrowFn(type)) {\n store.type = type;\n }\n store.itemSchema.type(type);\n }\n });\n}\n"],"names":["Property","type","JsonEntityFn","store","isClass","isArrowFn"],"mappings":";;AAcO,SAASA,EAASC,GAAY;AAC5B,SAAAC,EAAa,CAACC,MAAU;AAC7B,IAAIF,OACEG,EAAQH,CAAI,KAAKI,EAAUJ,CAAI,OACjCE,EAAM,OAAOF,IAETE,EAAA,WAAW,KAAKF,CAAI;AAAA,EAC5B,CACD;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readOnly.js","sources":["../../../../src/decorators/common/readOnly.ts"],"sourcesContent":["import {JsonEntityStore} from \"../../domain/JsonEntityStore.js\";\nimport {JsonEntityFn} from \"./jsonEntityFn.js\";\n/**\n * Set the property as readOnly.\n *\n * @returns {Function}\n * @decorator\n * @validation\n * @property\n * @parameter\n * @schema\n */\nexport function ReadOnly(readOnly: boolean = true) {\n return JsonEntityFn((store: JsonEntityStore) => {\n store.itemSchema.readOnly(readOnly);\n });\n}\n"],"names":["ReadOnly","readOnly","JsonEntityFn","store"],"mappings":";AAYgB,SAAAA,EAASC,IAAoB,IAAM;AAC1C,SAAAC,EAAa,CAACC,MAA2B;AACxC,IAAAA,EAAA,WAAW,SAASF,CAAQ;AAAA,EAAA,CACnC;AACH;"}
|