(path: Path)
| 3538 | |
| 3539 | |
| 3540 | def read_json_object(path: Path) -> dict[str, Any]: |
| 3541 | try: |
| 3542 | payload = json.loads( |
| 3543 | path.read_text(encoding="utf-8"), |
| 3544 | parse_constant=reject_non_finite_json, |
| 3545 | ) |
| 3546 | except (OSError, ValueError) as exc: |
| 3547 | raise SystemExit(f"{path.name}: invalid JSON: {exc}") from exc |
| 3548 | if not isinstance(payload, dict): |
| 3549 | raise SystemExit(f"{path.name}: expected a JSON object.") |
| 3550 | return payload |
| 3551 | |
| 3552 | |
| 3553 | def reject_non_finite_json(value: str) -> None: |
no outgoing calls
no test coverage detected