hack-house/.venv/lib/python3.12/site-packages/tests/extra/__models__.py
leetcrypt bb1d662ee1 chore: rename project coven → hack-house ⛧
Rebrand the Rust client crate (coven/ → hh/, package+binary "hack-house"),
README, CLI strings, and branch (coven → hack-house). Gitea repo renamed
cmd-chat → hack-house to match. Crypto/server logic unchanged; selftest +
golden-vector test still green, binary is now `hack-house`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 13:29:14 -07:00

160 lines
2.2 KiB
Python

import sys
from dataclasses import dataclass, field
from typing import Literal, Optional, Union
@dataclass
class ModelStr:
foo: str
@dataclass
class ModelInt:
foo: int
@dataclass
class ModelFloat:
foo: float
@dataclass
class ModelBool:
foo: bool
@dataclass
class ModelOptionalStr:
foo: Optional[str]
@dataclass
class ModelUnion:
foo: Union[int, float]
@dataclass
class ModelUnionModels:
foo: Union[ModelInt, ModelFloat]
@dataclass
class ModelUnionStrInt:
foo: Union[str, int]
@dataclass
class ModelUnionIntStr:
foo: Union[int, str]
@dataclass
class ModelOptionalUnionStrInt:
foo: Optional[Union[str, int]]
@dataclass
class ModelOptionalUnionIntStr:
foo: Optional[Union[int, str]]
@dataclass
class ModelListStr:
foo: list[str]
@dataclass
class ModelListModel:
foo: list[ModelStr]
@dataclass
class ModelOptionalList:
foo: Optional[list[str]]
@dataclass
class ModelListUnion:
foo: list[Union[int, float]]
@dataclass
class ModelOptionalListUnion:
foo: Optional[list[Union[int, float]]]
@dataclass
class ModelModel:
foo: ModelStr
@dataclass
class ModelOptionalModel:
foo: Optional[ModelStr]
@dataclass
class ModelDictStr:
foo: dict[str, str]
@dataclass
class ModelDictModel:
foo: dict[str, ModelStr]
@dataclass
class ModelOptionalDict:
foo: Optional[dict[str, str]]
@dataclass
class ModelDictUnion:
foo: dict[str, Union[int, float]]
@dataclass
class ModelOptionalDictUnion:
foo: Optional[dict[str, Union[int, float]]]
@dataclass
class ModelSingleLiteral:
foo: Literal[True]
@dataclass
class ModelMultipleLiteral:
foo: Literal[True, "y", "Y", 1]
@dataclass
class ModelOptionalSingleLiteral:
foo: Optional[Literal[True]]
@dataclass
class ModelOptionalMultipleLiteral:
foo: Optional[Literal[True, "y", "Y", 1]]
@dataclass
class ModelListStrWithDefaultFactory:
foo: list[str] = field(default_factory=list)
if sys.version_info > (3, 10):
@dataclass
class ModelUnionTypeStrNone:
foo: str | None
@dataclass
class ModelUnionTypeStrIntNone:
foo: str | int | None
@dataclass
class ModelUnionTypeStrInt:
foo: str | int