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