(path: str, **kwargs)
| 38 | |
| 39 | @contextlib.contextmanager |
| 40 | def write(path: str, **kwargs) -> typing.Iterator[typing.Callable[[dict], None]]: |
| 41 | file = io.FileIO(path, "w") |
| 42 | buffer = io.BufferedWriter(file) |
| 43 | |
| 44 | def write_line(o: dict, buffer=buffer) -> None: |
| 45 | buffer.write(orjson.dumps(o, **kwargs)) |
| 46 | buffer.write(b"\n") |
| 47 | |
| 48 | yield write_line |
| 49 | buffer.close() |
| 50 | file.close() |
| 51 | |
| 52 | |
| 53 | def lines_in_file(filename: str) -> int: |