Coverage for src/lexigram/graphql/scalars/date.py: 100%
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 date
6class Date:
7 """Custom scalar for date values."""
9 @staticmethod
10 def serialize(d: date | None) -> str | None:
11 if d is None:
12 return None
13 if isinstance(d, date):
14 return d.isoformat()
15 raise ValueError(f"Cannot serialize {type(d)} as Date")
17 @staticmethod
18 def parse_value(value: str | None) -> date | None:
19 if value is None:
20 return None
21 return date.fromisoformat(value)
24__all__ = [
25 "Date",
26]