chore: add stubs for deepmerge [generated]

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
This commit is contained in:
Aaron
2023-06-10 03:04:56 -04:00
parent 8fbf352ec6
commit d70530cb0e
7 changed files with 88 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ repos:
exclude: |
(?x)^(
tools/.*|
typings/.*|
.github/.*
)$
- repo: local

View File

@@ -0,0 +1,13 @@
from typing import List
from typing import Tuple
from typing import Union
from typing import Literal
from .merger import Merger
DEFAULT_TYPE_SPECIFIC_MERGE_STRATEGIES: List[
Tuple[type, Union[Literal["append"], Literal["merge"], Literal["union"]]]
] = ...
always_merger: Merger = ...
merge_or_raise: Merger = ...
conservative_merger: Merger = ...

View File

@@ -0,0 +1,25 @@
from typing import Any
from typing import Dict
from typing import List
from typing import Tuple
from typing import Union
from .strategy.set import SetStrategies
from .strategy.core import StrategyList
from .strategy.dict import DictStrategies
from .strategy.list import ListStrategies
ConfigDictType = Dict[str, Any]
class Merger:
PROVIDED_TYPE_STRATEGIES: Dict[type, Union[ListStrategies, DictStrategies, SetStrategies]] = ...
def __init__(
self,
type_strategies: List[Tuple[type, str]],
fallback_strategies: List[str],
type_conflict_strategies: List[str],
) -> None: ...
def merge(self, base: ConfigDictType, nxt: ConfigDictType) -> None: ...
def type_conflict_strategy(self, *args: Any) -> Any: ...
def value_strategy(self, path: str, base: StrategyList, nxt: StrategyList) -> None: ...

View File

@@ -0,0 +1,15 @@
from typing import Any
from typing import List
from typing import Union
from typing import Callable
from typing import Optional
_StringOrFunction = Union[str, Callable[..., Any]]
STRATEGY_END: object = ...
class StrategyList:
NAME: Optional[str] = ...
def __init__(self, strategy_list: Union[_StringOrFunction, List[_StringOrFunction]]) -> None: ...
@classmethod
def _expand_strategy(cls, strategy: _StringOrFunction) -> _StringOrFunction: ...
def __call__(self, *args: Any, **kwargs: Any) -> Any: ...

View File

@@ -0,0 +1,8 @@
from .core import StrategyList
from ..merger import Merger
class DictStrategies(StrategyList):
@staticmethod
def strategy_merge(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...
@staticmethod
def strategy_override(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...

View File

@@ -0,0 +1,12 @@
from .core import StrategyList
from ..merger import Merger
class ListStrategies(StrategyList):
NAME: str = ...
@staticmethod
def strategy_override(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...
@staticmethod
def strategy_prepend(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...
@staticmethod
def strategy_append(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...

View File

@@ -0,0 +1,14 @@
from typing import Any
from .core import StrategyList
from ..merger import Merger
class SetStrategies(StrategyList):
NAME = ...
@staticmethod
def strategy_union(config: Any, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...
@staticmethod
def strategy_intersect(config: Any, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...
@staticmethod
def strategy_override(config: Merger, path: str, base: StrategyList, nxt: StrategyList) -> StrategyList: ...