(path: Path)
| 59 | |
| 60 | |
| 61 | def _read_json(path: Path) -> dict[str, Any]: |
| 62 | try: |
| 63 | payload = _loads_json(path.read_text(encoding="utf-8")) |
| 64 | except FileNotFoundError as exc: |
| 65 | raise ContractError(f"missing required contract artifact: {path}") from exc |
| 66 | except ValueError as exc: |
| 67 | raise ContractError(f"{path}: invalid JSON: {exc}") from exc |
| 68 | if not isinstance(payload, dict): |
| 69 | raise ContractError(f"{path}: expected a JSON object") |
| 70 | return payload |
| 71 | |
| 72 | |
| 73 | def _write_json(path: Path, payload: Any) -> None: |
no test coverage detected