Skip to content

Commit ad48885

Browse files
committed
add get_single_grouping_component overloads
1 parent 5484123 commit ad48885

File tree

1 file changed

+24
-2
lines changed
  • src/sentry/grouping/strategies

1 file changed

+24
-2
lines changed

src/sentry/grouping/strategies/base.py

+24-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import inspect
22
from collections.abc import Callable, Iterator, Sequence
3-
from typing import Any, Generic, Protocol, TypeVar
3+
from typing import Any, Generic, Protocol, TypeVar, overload
44

55
from sentry import projectoptions
66
from sentry.eventstore.models import Event
7-
from sentry.grouping.component import BaseGroupingComponent
7+
from sentry.grouping.component import (
8+
BaseGroupingComponent,
9+
ExceptionGroupingComponent,
10+
FrameGroupingComponent,
11+
StacktraceGroupingComponent,
12+
)
813
from sentry.grouping.enhancer import Enhancements
914
from sentry.interfaces.base import Interface
15+
from sentry.interfaces.exception import SingleException
16+
from sentry.interfaces.stacktrace import Frame, Stacktrace
1017

1118
STRATEGIES: dict[str, "Strategy[Any]"] = {}
1219

@@ -118,6 +125,21 @@ def get_grouping_component(
118125
"""
119126
return self._get_strategy_dict(interface, event=event, **kwargs)
120127

128+
@overload
129+
def get_single_grouping_component(
130+
self, interface: Frame, *, event: Event, **kwargs: Any
131+
) -> FrameGroupingComponent: ...
132+
133+
@overload
134+
def get_single_grouping_component(
135+
self, interface: SingleException, *, event: Event, **kwargs: Any
136+
) -> ExceptionGroupingComponent: ...
137+
138+
@overload
139+
def get_single_grouping_component(
140+
self, interface: Stacktrace, *, event: Event, **kwargs: Any
141+
) -> StacktraceGroupingComponent: ...
142+
121143
def get_single_grouping_component(
122144
self, interface: Interface, *, event: Event, **kwargs: Any
123145
) -> BaseGroupingComponent:

0 commit comments

Comments
 (0)