Skip to content

Commit 637ffb5

Browse files
committed
minor fixes to pass mypy and cov
1 parent c031c36 commit 637ffb5

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

idom/core/layout.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
List,
55
Dict,
66
Tuple,
7+
Mapping,
78
NamedTuple,
89
Any,
910
Set,
@@ -145,16 +146,17 @@ async def _render_element(self, element_state: ElementState) -> Dict[str, Any]:
145146
return element_state.model
146147

147148
async def _render_model(
148-
self, element_state: ElementState, model: Dict[str, Any]
149+
self, element_state: ElementState, model: Mapping[str, Any]
149150
) -> Dict[str, Any]:
151+
serialized_model: Dict[str, Any] = {}
150152
event_handlers = self._render_model_event_targets(element_state, model)
151153
if event_handlers:
152-
model["eventHandlers"] = event_handlers
154+
serialized_model["eventHandlers"] = event_handlers
153155
if "children" in model:
154-
model["children"] = await self._render_model_children(
156+
serialized_model["children"] = await self._render_model_children(
155157
element_state, model["children"]
156158
)
157-
return model
159+
return {**model, **serialized_model}
158160

159161
async def _render_model_children(
160162
self, element_state: ElementState, children: Union[List[Any], Tuple[Any, ...]]
@@ -176,7 +178,7 @@ async def _render_model_children(
176178
return resolved_children
177179

178180
def _render_model_event_targets(
179-
self, element_state: ElementState, model: Dict[str, Any]
181+
self, element_state: ElementState, model: Mapping[str, Any]
180182
) -> Dict[str, EventTarget]:
181183
handlers: Dict[str, EventHandler] = {}
182184
if "eventHandlers" in model:

tests/test_core/test_hooks.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,11 @@ async def test_use_callback_memoization():
546546
@element_hook.capture
547547
async def ElementWithRef():
548548
state, set_state_hook.current = idom.hooks.use_state(0)
549-
cb = idom.hooks.use_callback(lambda: None, [state])
549+
550+
@idom.hooks.use_callback(args=[state]) # use the deco form for coverage
551+
def cb():
552+
return None
553+
550554
used_callbacks.append(cb)
551555
return idom.html.div()
552556

0 commit comments

Comments
 (0)