Cross-type comparison (JSON number vs YAML int, bool, string).
(json_val: Any, yaml_val: Any)
| 70 | |
| 71 | |
| 72 | def values_equal(json_val: Any, yaml_val: Any) -> bool: |
| 73 | """Cross-type comparison (JSON number vs YAML int, bool, string).""" |
| 74 | if isinstance(yaml_val, bool): |
| 75 | return json_val is yaml_val or json_val == yaml_val |
| 76 | if isinstance(yaml_val, (int, float)) and isinstance(json_val, (int, float)): |
| 77 | return json_val == yaml_val |
| 78 | return str(json_val) == str(yaml_val) |
| 79 | |
| 80 | |
| 81 | # ── Scenario determination ──────────────────────────────────────── |