22
33{{> _helper_header }}
44
5+ from __future__ import annotations
56import collections
67import datetime
78import functools
@@ -2155,7 +2156,7 @@ class ListSchema(
21552156 def from_openapi_data_(cls, arg: typing.List[typing.Any], configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
21562157 return super().from_openapi_data_(arg, configuration_=configuration_)
21572158
2158- def __new__(cls, arg_: typing.Union[typing.List[typing.Any], typing.Tuple[typing.Any]], **kwargs: schema_configuration.SchemaConfiguration):
2159+ def __new__(cls, arg_: typing.Union[typing.List[typing.Any], typing.Tuple[typing.Any]], **kwargs: schema_configuration.SchemaConfiguration) -> ListSchema[tuple] :
21592160 return super().__new__(cls, arg_, **kwargs)
21602161
21612162
@@ -2171,7 +2172,7 @@ class NoneSchema(
21712172 def from_openapi_data_(cls, arg: None, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
21722173 return super().from_openapi_data_(arg, configuration_=configuration_)
21732174
2174- def __new__(cls, arg_: None, **kwargs: schema_configuration.SchemaConfiguration):
2175+ def __new__(cls, arg_: None, **kwargs: schema_configuration.SchemaConfiguration) -> NoneSchema[NoneClass] :
21752176 return super().__new__(cls, arg_, **kwargs)
21762177
21772178
@@ -2191,7 +2192,7 @@ class NumberSchema(
21912192 def from_openapi_data_(cls, arg: typing.Union[int, float], configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
21922193 return super().from_openapi_data_(arg, configuration_=configuration_)
21932194
2194- def __new__(cls, arg_: typing.Union[decimal.Decimal, int, float], **kwargs: schema_configuration.SchemaConfiguration):
2195+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int, float], **kwargs: schema_configuration.SchemaConfiguration) -> NumberSchema[decimal.Decimal] :
21952196 return super().__new__(cls, arg_, **kwargs)
21962197
21972198
@@ -2205,7 +2206,7 @@ class IntBase:
22052206 return self._as_int
22062207
22072208
2208- class IntSchema(IntBase, NumberSchema):
2209+ class IntSchema(IntBase, NumberSchema[T] ):
22092210 class Schema_:
22102211 types = {decimal.Decimal}
22112212 format = 'int'
@@ -2214,28 +2215,34 @@ class IntSchema(IntBase, NumberSchema):
22142215 def from_openapi_data_(cls, arg: int, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
22152216 return super().from_openapi_data_(arg, configuration_=configuration_)
22162217
2217- def __new__(cls, arg_: typing.Union[decimal.Decimal, int], **kwargs: schema_configuration.SchemaConfiguration):
2218+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int], **kwargs: schema_configuration.SchemaConfiguration) -> IntSchema[decimal.Decimal] :
22182219 return super().__new__(cls, arg_, **kwargs)
22192220
22202221
22212222class Int32Schema(
2222- IntSchema
2223+ IntSchema[T]
22232224):
22242225 class Schema_:
22252226 types = {decimal.Decimal}
22262227 format = 'int32'
22272228
2229+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int], **kwargs: schema_configuration.SchemaConfiguration) -> Int32Schema[decimal.Decimal]:
2230+ return super().__new__(cls, arg_, **kwargs)
2231+
22282232
22292233class Int64Schema(
2230- IntSchema
2234+ IntSchema[T]
22312235):
22322236 class Schema_:
22332237 types = {decimal.Decimal}
22342238 format = 'int64'
22352239
2240+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int], **kwargs: schema_configuration.SchemaConfiguration) -> Int64Schema[decimal.Decimal]:
2241+ return super().__new__(cls, arg_, **kwargs)
2242+
22362243
22372244class Float32Schema(
2238- NumberSchema
2245+ NumberSchema[T]
22392246):
22402247 class Schema_:
22412248 types = {decimal.Decimal}
@@ -2245,9 +2252,12 @@ class Float32Schema(
22452252 def from_openapi_data_(cls, arg: float, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
22462253 return super().from_openapi_data_(arg, configuration_=configuration_)
22472254
2255+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int, float], **kwargs: schema_configuration.SchemaConfiguration) -> Float32Schema[decimal.Decimal]:
2256+ return super().__new__(cls, arg_, **kwargs)
2257+
22482258
22492259class Float64Schema(
2250- NumberSchema
2260+ NumberSchema[T]
22512261):
22522262 class Schema_:
22532263 types = {decimal.Decimal}
@@ -2257,6 +2267,9 @@ class Float64Schema(
22572267 def from_openapi_data_(cls, arg: float, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
22582268 return super().from_openapi_data_(arg, configuration_=configuration_)
22592269
2270+ def __new__(cls, arg_: typing.Union[decimal.Decimal, int, float], **kwargs: schema_configuration.SchemaConfiguration) -> Float64Schema[decimal.Decimal]:
2271+ return super().__new__(cls, arg_, **kwargs)
2272+
22602273
22612274class StrSchema(
22622275 StrBase,
@@ -2273,46 +2286,46 @@ class StrSchema(
22732286 types = {str}
22742287
22752288 @classmethod
2276- def from_openapi_data_(cls, arg: str, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None) -> ' StrSchema' :
2289+ def from_openapi_data_(cls, arg: str, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None) -> StrSchema[str] :
22772290 return super().from_openapi_data_(arg, configuration_=configuration_)
22782291
2279- def __new__(cls, arg_: typing.Union[str, datetime.date, datetime.datetime, uuid.UUID], **kwargs: schema_configuration.SchemaConfiguration):
2292+ def __new__(cls, arg_: typing.Union[str, datetime.date, datetime.datetime, uuid.UUID], **kwargs: schema_configuration.SchemaConfiguration) -> StrSchema[str] :
22802293 return super().__new__(cls, arg_, **kwargs)
22812294
22822295
2283- class UUIDSchema(UUIDBase, StrSchema):
2296+ class UUIDSchema(UUIDBase, StrSchema[T] ):
22842297 class Schema_:
22852298 types = {str}
22862299 format = 'uuid'
22872300
2288- def __new__(cls, arg_: typing.Union[str, uuid.UUID], **kwargs: schema_configuration.SchemaConfiguration):
2301+ def __new__(cls, arg_: typing.Union[str, uuid.UUID], **kwargs: schema_configuration.SchemaConfiguration) -> StrSchema[str] :
22892302 return super().__new__(cls, arg_, **kwargs)
22902303
22912304
2292- class DateSchema(DateBase, StrSchema):
2305+ class DateSchema(DateBase, StrSchema[T] ):
22932306 class Schema_:
22942307 types = {str}
22952308 format = 'date'
22962309
2297- def __new__(cls, arg_: typing.Union[str, datetime.date], **kwargs: schema_configuration.SchemaConfiguration):
2310+ def __new__(cls, arg_: typing.Union[str, datetime.date], **kwargs: schema_configuration.SchemaConfiguration) -> DateSchema[str] :
22982311 return super().__new__(cls, arg_, **kwargs)
22992312
23002313
2301- class DateTimeSchema(DateTimeBase, StrSchema):
2314+ class DateTimeSchema(DateTimeBase, StrSchema[T] ):
23022315 class Schema_:
23032316 types = {str}
23042317 format = 'date-time'
23052318
2306- def __new__(cls, arg_: typing.Union[str, datetime.datetime], **kwargs: schema_configuration.SchemaConfiguration):
2319+ def __new__(cls, arg_: typing.Union[str, datetime.datetime], **kwargs: schema_configuration.SchemaConfiguration) -> DateTimeSchema[str] :
23072320 return super().__new__(cls, arg_, **kwargs)
23082321
23092322
2310- class DecimalSchema(DecimalBase, StrSchema):
2323+ class DecimalSchema(DecimalBase, StrSchema[T] ):
23112324 class Schema_:
23122325 types = {str}
23132326 format = 'number'
23142327
2315- def __new__(cls, arg_: str, **kwargs: schema_configuration.SchemaConfiguration):
2328+ def __new__(cls, arg_: str, **kwargs: schema_configuration.SchemaConfiguration) -> DecimalSchema[str] :
23162329 """
23172330 Note: Decimals may not be passed in because cast_to_allowed_types is only invoked once for payloads
23182331 which can be simple (str) or complex (dicts or lists with nested values)
@@ -2334,7 +2347,7 @@ class BytesSchema(
23342347 class Schema_:
23352348 types = {bytes}
23362349
2337- def __new__(cls, arg_: bytes, **kwargs: schema_configuration.SchemaConfiguration):
2350+ def __new__(cls, arg_: bytes, **kwargs: schema_configuration.SchemaConfiguration) -> BytesSchema[bytes] :
23382351 return super(Schema, cls).__new__(cls, arg_)
23392352
23402353
@@ -2361,7 +2374,7 @@ class FileSchema(
23612374 class Schema_:
23622375 types = {FileIO}
23632376
2364- def __new__(cls, arg_: typing.Union[io.FileIO, io.BufferedReader], **kwargs: schema_configuration.SchemaConfiguration):
2377+ def __new__(cls, arg_: typing.Union[io.FileIO, io.BufferedReader], **kwargs: schema_configuration.SchemaConfiguration) -> -> FileSchema[FileIO] :
23652378 return super(Schema, cls).__new__(cls, arg_)
23662379
23672380
@@ -2379,7 +2392,7 @@ class BinarySchema(
23792392 FileSchema,
23802393 ]
23812394
2382- def __new__(cls, arg_: typing.Union[io.FileIO, io.BufferedReader, bytes], **kwargs: schema_configuration.SchemaConfiguration):
2395+ def __new__(cls, arg_: typing.Union[io.FileIO, io.BufferedReader, bytes], **kwargs: schema_configuration.SchemaConfiguration) -> BinarySchema[typing.Union[FileIO, bytes]] :
23832396 return super().__new__(cls, arg_)
23842397
23852398
@@ -2395,7 +2408,7 @@ class BoolSchema(
23952408 def from_openapi_data_(cls, arg: bool, configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
23962409 return super().from_openapi_data_(arg, configuration_=configuration_)
23972410
2398- def __new__(cls, arg_: bool, **kwargs: ValidationMetadata):
2411+ def __new__(cls, arg_: bool, **kwargs: ValidationMetadata) -> BoolSchema[bool] :
23992412 return super().__new__(cls, arg_, **kwargs)
24002413
24012414
@@ -2413,8 +2426,28 @@ class AnyTypeSchema(
24132426 class Schema_:
24142427 pass
24152428
2429+ def __new__(
2430+ cls,
2431+ *args_: typing.Union[
2432+ {{> _helper_types_all_incl_schema }}
2433+ ],
2434+ configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None,
2435+ **kwargs: typing.Union[
2436+ {{> _helper_types_all_incl_schema }}
2437+ Unset
2438+ ]
2439+ ) -> AnyTypeSchema[typing.Union[
2440+ NoneClass,
2441+ frozendict.frozendict,
2442+ tuple,
2443+ str,
2444+ decimal.Decimal,
2445+ BoolClass
2446+ ]:
2447+ return super().__new__(cls, arg_, **kwargs)
2448+
24162449
2417- class UnsetAnyTypeSchema(AnyTypeSchema):
2450+ class UnsetAnyTypeSchema(AnyTypeSchema[T] ):
24182451 # Used when additionalProperties/items was not explicitly defined and a defining schema is needed
24192452 pass
24202453
@@ -2453,7 +2486,7 @@ class DictSchema(
24532486 def from_openapi_data_(cls, arg: typing.Dict[str, typing.Any], configuration_: typing.Optional[schema_configuration.SchemaConfiguration] = None):
24542487 return super().from_openapi_data_(arg, configuration_=configuration_)
24552488
2456- def __new__(cls, *args_: typing.Union[dict, frozendict.frozendict], **kwargs: typing.Union[dict, frozendict.frozendict, list, tuple, decimal.Decimal, float, int, str, datetime.date, datetime.datetime, bool, None, bytes, Schema, Unset, ValidationMetadata]):
2489+ def __new__(cls, *args_: typing.Union[dict, frozendict.frozendict], **kwargs: typing.Union[dict, frozendict.frozendict, list, tuple, decimal.Decimal, float, int, str, datetime.date, datetime.datetime, bool, None, bytes, Schema, Unset, ValidationMetadata]) -> DictSchema[frozendict.frozendict] :
24572490 return super().__new__(cls, *args_, **kwargs)
24582491
24592492
0 commit comments