some random stuff. caelestia incoming

This commit is contained in:
voidarclabs
2025-08-21 17:40:48 +01:00
parent 12df9a0b6e
commit 1cc414a96a
1308 changed files with 217219 additions and 8 deletions

View File

@@ -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",
]