Coverage for src/lexigram/graphql/scalars/json.py: 60%

15 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 04:37 +0800

1from __future__ import annotations 

2 

3from typing import Any 

4 

5from lexigram import serialization as json 

6 

7 

8class JSON: 

9 """Custom scalar for JSON values.""" 

10 

11 @staticmethod 

12 def serialize(obj: Any) -> Any: 

13 if obj is None: 

14 return None 

15 return json.dumps(obj) 

16 

17 @staticmethod 

18 def parse_value(value: str | None) -> Any: 

19 if value is None: 

20 return None 

21 return json.loads(value) 

22 

23 

24__all__ = [ 

25 "JSON", 

26]