Skip to content

Commit bf924d5

Browse files
committed
further updates
Signed-off-by: Konvalinka <[email protected]>
1 parent 2a276ab commit bf924d5

File tree

2 files changed

+28
-7
lines changed
  • providers
    • openfeature-provider-env-var/src/openfeature/contrib/provider/envvar
    • openfeature-provider-ofrep/src/openfeature/contrib/provider/ofrep

2 files changed

+28
-7
lines changed

providers/openfeature-provider-env-var/src/openfeature/contrib/provider/envvar/provider.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from openfeature.evaluation_context import EvaluationContext
66
from openfeature.exception import FlagNotFoundError, ParseError
7-
from openfeature.flag_evaluation import FlagResolutionDetails, Reason
7+
from openfeature.flag_evaluation import FlagResolutionDetails, FlagValueType, Reason
88
from openfeature.provider import AbstractProvider, Metadata
99

1010

@@ -64,9 +64,13 @@ def resolve_float_details(
6464
def resolve_object_details(
6565
self,
6666
flag_key: str,
67-
default_value: typing.Union[dict, list],
67+
default_value: typing.Union[
68+
typing.Sequence[FlagValueType], typing.Mapping[str, FlagValueType]
69+
],
6870
evaluation_context: typing.Optional[EvaluationContext] = None,
69-
) -> FlagResolutionDetails[typing.Union[dict, list]]:
71+
) -> FlagResolutionDetails[
72+
typing.Union[typing.Sequence[FlagValueType], typing.Mapping[str, FlagValueType]]
73+
]:
7074
def parse(value: str) -> typing.Union[dict, list]:
7175
result = json.loads(value)
7276

providers/openfeature-provider-ofrep/src/openfeature/contrib/provider/ofrep/__init__.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import re
2+
from collections.abc import Mapping, Sequence
23
from datetime import datetime, timedelta, timezone
34
from email.utils import parsedate_to_datetime
45
from typing import Any, Callable, NoReturn, Optional, Union
@@ -18,7 +19,12 @@
1819
TargetingKeyMissingError,
1920
TypeMismatchError,
2021
)
21-
from openfeature.flag_evaluation import FlagResolutionDetails, FlagType, Reason
22+
from openfeature.flag_evaluation import (
23+
FlagResolutionDetails,
24+
FlagType,
25+
FlagValueType,
26+
Reason,
27+
)
2228
from openfeature.hook import Hook
2329
from openfeature.provider import AbstractProvider, Metadata
2430

@@ -100,9 +106,11 @@ def resolve_float_details(
100106
def resolve_object_details(
101107
self,
102108
flag_key: str,
103-
default_value: Union[dict, list],
109+
default_value: Union[Sequence[FlagValueType], Mapping[str, FlagValueType]],
104110
evaluation_context: Optional[EvaluationContext] = None,
105-
) -> FlagResolutionDetails[Union[dict, list]]:
111+
) -> FlagResolutionDetails[
112+
Union[Sequence[FlagValueType], Mapping[str, FlagValueType]]
113+
]:
106114
return self._resolve(
107115
FlagType.OBJECT, flag_key, default_value, evaluation_context
108116
)
@@ -117,7 +125,16 @@ def _resolve(
117125
self,
118126
flag_type: FlagType,
119127
flag_key: str,
120-
default_value: Union[bool, str, int, float, dict, list],
128+
default_value: Union[
129+
bool,
130+
str,
131+
int,
132+
float,
133+
dict,
134+
list,
135+
Sequence[FlagValueType],
136+
Mapping[str, FlagValueType],
137+
],
121138
evaluation_context: Optional[EvaluationContext] = None,
122139
) -> FlagResolutionDetails[Any]:
123140
now = datetime.now(timezone.utc)

0 commit comments

Comments
 (0)