| 1 | import json |
| 2 | import yaml |
| 3 | |
| 4 | |
| 5 | def loads(text: str): |
| 6 | return yaml.safe_load(text) |
| 7 | |
| 8 | |
| 9 | def dumps(obj, **kwargs) -> str: |
| 10 | dump_kwargs = { |
| 11 | "allow_unicode": True, |
| 12 | "sort_keys": False, |
| 13 | **kwargs, |
| 14 | } |
| 15 | return yaml.safe_dump(obj, **dump_kwargs) |
| 16 | |
| 17 | |
| 18 | def from_json(text: str, **yaml_dump_kwargs) -> str: |
| 19 | return dumps(json.loads(text), **yaml_dump_kwargs) |
| 20 | |
| 21 | |
| 22 | def to_json(text: str, **json_dump_kwargs) -> str: |
| 23 | obj = loads(text) |
| 24 | return json.dumps(obj, ensure_ascii=False, **json_dump_kwargs) |