Coverage for greyhorse/app/abc/functional/context.py: 100%
10 statements
« prev ^ index » next coverage.py v7.11.3, created at 2026-05-12 22:07 +0300
« prev ^ index » next coverage.py v7.11.3, created at 2026-05-12 22:07 +0300
1from __future__ import annotations
3from abc import ABC, abstractmethod
4from enum import IntEnum
5from typing import Any
7from greyhorse.app.contexts import SyncContext
8from greyhorse.app.private.resolving import Resolver
10from ..collections.selectors import Selector
11from .operators import Operator
14class OperationContext(SyncContext[Selector[type, Any]], ABC):
15 @property
16 @abstractmethod
17 def scope[S: IntEnum](self) -> S | None: ...
19 @abstractmethod
20 def context[S: IntEnum](self, scope: S | None = None) -> OperationContext: ...
22 @abstractmethod
23 def context_resolver[S: IntEnum](self, scope: S | None = None) -> Resolver: ...
25 @abstractmethod
26 def advance(self) -> OperationContext: ...
29class OperatorContext(ABC):
30 """Abstract lifecycle manager for an Operator and its fragment-resolved dependencies."""
32 @property
33 @abstractmethod
34 def operator(self) -> Operator: ...
36 @abstractmethod
37 def setup(self, **external: Any) -> None: ...
39 @abstractmethod
40 def resume(self) -> None: ...
42 @abstractmethod
43 def pause(self) -> None: ...
45 @abstractmethod
46 def teardown(self) -> None: ...