add pre_commit.yaml module

This commit is contained in:
Anthony Sottile 2023-01-01 16:58:16 -05:00
parent 978e26c544
commit 8529a0c1d3
9 changed files with 28 additions and 26 deletions

18
pre_commit/yaml.py Normal file
View file

@ -0,0 +1,18 @@
from __future__ import annotations
import functools
from typing import Any
import yaml
Loader = getattr(yaml, 'CSafeLoader', yaml.SafeLoader)
yaml_load = functools.partial(yaml.load, Loader=Loader)
Dumper = getattr(yaml, 'CSafeDumper', yaml.SafeDumper)
def yaml_dump(o: Any, **kwargs: Any) -> str:
# when python/mypy#1484 is solved, this can be `functools.partial`
return yaml.dump(
o, Dumper=Dumper, default_flow_style=False, indent=4, sort_keys=False,
**kwargs,
)