from .base_generic_custom_types import ListOrItem, Transformed
+from .float_types import FloatNonNegative
+from .integer_types import (
+ Integer0_32,
+ Integer0_512,
+ Integer0_65535,
+ IntegerNonNegative,
+ IntegerPositive,
+ Percent,
+ PortNumber,
+)
__all__ = [
+ "FloatNonNegative",
+ "Integer0_32",
+ "Integer0_512",
+ "Integer0_65535",
+ "IntegerNonNegative",
+ "IntegerPositive",
"ListOrItem",
"Transformed",
+ "Percent",
+ "PortNumber",
]
--- /dev/null
+# ruff: noqa: N801
+from __future__ import annotations
+
+from .base_integer_types import BaseIntegerRange
+
+
+class Integer0_32(BaseIntegerRange):
+ _min: int = 0
+ _max: int = 32
+
+
+class Integer0_512(BaseIntegerRange):
+ _min: int = 0
+ _max: int = 512
+
+
+class Integer0_65535(BaseIntegerRange):
+ _min: int = 0
+ _max: int = 65_535
+
+
+class IntegerNonNegative(BaseIntegerRange):
+ _min: int = 0
+
+
+class IntegerPositive(BaseIntegerRange):
+ _min: int = 1
+
+
+class Percent(BaseIntegerRange):
+ _min: int = 0
+ _max: int = 100
+
+
+class PortNumber(BaseIntegerRange):
+ _min: int = 1
+ _max: int = 65_535