some random stuff. caelestia incoming
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from mashumaro.jsonschema.models import JSONSchema, Number
|
||||
|
||||
|
||||
class Annotation:
|
||||
pass
|
||||
|
||||
|
||||
class Constraint(Annotation):
|
||||
pass
|
||||
|
||||
|
||||
class NumberConstraint(Constraint):
|
||||
pass
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class Minimum(NumberConstraint):
|
||||
value: Number
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class Maximum(NumberConstraint):
|
||||
value: Number
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class ExclusiveMinimum(NumberConstraint):
|
||||
value: Number
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class ExclusiveMaximum(NumberConstraint):
|
||||
value: Number
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MultipleOf(NumberConstraint):
|
||||
value: Number
|
||||
|
||||
|
||||
class StringConstraint(Constraint):
|
||||
pass
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MinLength(StringConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MaxLength(StringConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class Pattern(StringConstraint):
|
||||
value: str
|
||||
|
||||
|
||||
class ArrayConstraint(Constraint):
|
||||
pass
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MinItems(ArrayConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MaxItems(ArrayConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class UniqueItems(ArrayConstraint):
|
||||
value: bool
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class Contains(ArrayConstraint):
|
||||
value: JSONSchema
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MinContains(ArrayConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MaxContains(ArrayConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
class ObjectConstraint(Constraint):
|
||||
pass
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MaxProperties(ObjectConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass(unsafe_hash=True)
|
||||
class MinProperties(ObjectConstraint):
|
||||
value: int
|
||||
|
||||
|
||||
@dataclass
|
||||
class DependentRequired(ObjectConstraint):
|
||||
value: dict[str, set[str]]
|
||||
|
||||
|
||||
__all__ = [
|
||||
"Annotation",
|
||||
"MultipleOf",
|
||||
"Maximum",
|
||||
"ExclusiveMaximum",
|
||||
"Minimum",
|
||||
"ExclusiveMinimum",
|
||||
"MaxLength",
|
||||
"MinLength",
|
||||
"Pattern",
|
||||
"MaxItems",
|
||||
"MinItems",
|
||||
"UniqueItems",
|
||||
"Contains",
|
||||
"MaxContains",
|
||||
"MinContains",
|
||||
"MaxProperties",
|
||||
"MinProperties",
|
||||
"DependentRequired",
|
||||
]
|
||||
Reference in New Issue
Block a user