Skip to content

Commit b0a9b06

Browse files
committed
fix mypy
1 parent eb77261 commit b0a9b06

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

src/idom/core/hooks.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def create_context(
252252
return Context(name, default_value)
253253

254254

255-
_UNDEFINED = object()
255+
_UNDEFINED = cast(Any, object())
256256

257257

258258
class Context(Generic[_StateType]):
@@ -267,18 +267,15 @@ def __call__(
267267
*children: Any,
268268
value: _StateType = _UNDEFINED,
269269
key: Key | None = None,
270-
) -> (
271-
# users don't need to see that this is a ContextProvider
272-
ComponentType
273-
):
270+
) -> ContextProvider[_StateType]:
274271
return ContextProvider(
275272
*children,
276273
value=self.default_value if value is _UNDEFINED else value,
277274
key=key,
278275
type=self,
279276
)
280277

281-
def __repr__(self):
278+
def __repr__(self) -> str:
282279
return f"{type(self).__name__}({self.name!r})"
283280

284281

@@ -292,13 +289,14 @@ def use_context(context: Context[_StateType]) -> _StateType:
292289
provider = hook.get_context_provider(context)
293290
if provider is None:
294291
return context.default_value
292+
subscribers = provider._subscribers
295293

296294
@use_effect
297295
def subscribe_to_context_change() -> Callable[[], None]:
298-
provider.subscribers.add(hook)
299-
return lambda: provider.subscribers.remove(hook)
296+
subscribers.add(hook)
297+
return lambda: subscribers.remove(hook)
300298

301-
return provider.value
299+
return provider._value
302300

303301

304302
class ContextProvider(Generic[_StateType]):
@@ -310,18 +308,18 @@ def __init__(
310308
type: Context[_StateType],
311309
) -> None:
312310
self.children = children
313-
self.value = value
314311
self.key = key
315-
self.subscribers: set[LifeCycleHook] = set()
316312
self.type = type
313+
self._subscribers: set[LifeCycleHook] = set()
314+
self._value = value
317315

318316
def render(self) -> VdomDict:
319317
current_hook().set_context_provider(self)
320318
return vdom("", *self.children)
321319

322320
def should_render(self, new: ContextProvider[_StateType]) -> bool:
323-
if self.value is not new.value:
324-
for hook in self.subscribers:
321+
if self._value is not new._value:
322+
for hook in self._subscribers:
325323
hook.set_context_provider(new)
326324
hook.schedule_render()
327325
return True

0 commit comments

Comments
 (0)