12345678910111213141516171819202122 |
- from typing import Type, TypeVar
- T = TypeVar("T")
- def _only_overlap_as_params(x: dict, Params: Type[T]) -> T:
- return Params(
- **{
- key: value
- for key, value in x.items()
- if key in Params.__annotations__ # type: ignore
- }
- )
- def only_overlap(x: dict, Params: Type[T]) -> T:
- return {
- key: value
- for key, value in x.items()
- if key in Params.__required_keys__ # type: ignore
- }
|