Coverage for src/lexigram/graphql/scalars/datetime.py: 75%
16 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
1from __future__ import annotations
3from datetime import datetime
6class DateTime:
7 """Custom scalar for datetime values."""
9 @staticmethod
10 def serialize(dt: datetime | None) -> str | None:
11 if dt is None:
12 return None
13 if isinstance(dt, datetime):
14 return dt.isoformat()
15 raise ValueError(f"Cannot serialize {type(dt)} as DateTime")
17 @staticmethod
18 def parse_value(value: str | None) -> datetime | None:
19 if value is None:
20 return None
21 return datetime.fromisoformat(value)
24__all__ = [
25 "DateTime",
26]