Coverage for .nox/test-3-9/lib/python3.9/site-packages/nskit/common/io/toml.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.4.2, created at 2024-02-25 17:38 +0000

1"""Provide a TOML Load/Dump API consistent with JSON.""" 

2from typing import Mapping, TextIO 

3 

4import tomlkit 

5 

6# tomllib only provides load/loads 

7 

8 

9def loads(s: str, **kwargs): 

10 """Load TOML from string.""" 

11 return tomlkit.loads(s, **kwargs) 

12 

13 

14def dumps(data: Mapping, sort_keys: bool = False, **kwargs): 

15 """Dump TOML to string.""" 

16 return tomlkit.dumps(data, sort_keys=sort_keys, **kwargs) 

17 

18 

19def load(fp: TextIO, **kwargs): 

20 """Load TOML from file/stream.""" 

21 return tomlkit.load(fp, **kwargs) 

22 

23 

24def dump(data: Mapping, fp: TextIO, sort_keys: bool = False, **kwargs): 

25 """Load TOML to file/stream.""" 

26 return tomlkit.dump(data, fp, sort_keys=sort_keys, **kwargs)