1616 from reflex .components .component import Component , StatefulComponent
1717
1818
19- def _sort_hooks (hooks : dict [str , VarData | None ]):
19+ def _sort_hooks (
20+ hooks : dict [str , VarData | None ],
21+ ) -> tuple [list [str ], list [str ], list [str ]]:
2022 """Sort the hooks by their position.
2123
2224 Args:
@@ -25,28 +27,26 @@ def _sort_hooks(hooks: dict[str, VarData | None]):
2527 Returns:
2628 The sorted hooks.
2729 """
28- sorted_hooks = {
29- Hooks .HookPosition .INTERNAL : [],
30- Hooks .HookPosition .PRE_TRIGGER : [],
31- Hooks .HookPosition .POST_TRIGGER : [],
32- }
30+ internal_hooks = []
31+ pre_trigger_hooks = []
32+ post_trigger_hooks = []
3333
3434 for hook , data in hooks .items ():
3535 if data and data .position and data .position == Hooks .HookPosition .INTERNAL :
36- sorted_hooks [ Hooks . HookPosition . INTERNAL ]. append (( hook , data ) )
36+ internal_hooks . append (hook )
3737 elif not data or (
3838 not data .position
3939 or data .position == constants .Hooks .HookPosition .PRE_TRIGGER
4040 ):
41- sorted_hooks [ Hooks . HookPosition . PRE_TRIGGER ]. append (( hook , data ) )
41+ pre_trigger_hooks . append (hook )
4242 elif (
4343 data
4444 and data .position
4545 and data .position == constants .Hooks .HookPosition .POST_TRIGGER
4646 ):
47- sorted_hooks [ Hooks . HookPosition . POST_TRIGGER ]. append (( hook , data ) )
47+ post_trigger_hooks . append (hook )
4848
49- return sorted_hooks
49+ return internal_hooks , pre_trigger_hooks , post_trigger_hooks
5050
5151
5252class _RenderUtils :
@@ -705,7 +705,7 @@ def styles_template(stylesheets: list[str]) -> str:
705705 )
706706
707707
708- def _render_hooks (hooks : dict , memo : list | None = None ) -> str :
708+ def _render_hooks (hooks : dict [ str , VarData | None ] , memo : list | None = None ) -> str :
709709 """Render hooks for macros.
710710
711711 Args:
@@ -715,20 +715,9 @@ def _render_hooks(hooks: dict, memo: list | None = None) -> str:
715715 Returns:
716716 Rendered hooks code as string.
717717 """
718- sorted_hooks = _sort_hooks (hooks )
719- hooks_code = ""
720-
721- for hook , _ in sorted_hooks .get (constants .Hooks .HookPosition .INTERNAL , []):
722- hooks_code += f" { hook } \n "
723-
724- for hook , _ in sorted_hooks .get (constants .Hooks .HookPosition .PRE_TRIGGER , []):
725- hooks_code += f" { hook } \n "
726-
727- if memo :
728- for hook in memo :
729- hooks_code += f" { hook } \n "
730-
731- for hook , _ in sorted_hooks .get (constants .Hooks .HookPosition .POST_TRIGGER , []):
732- hooks_code += f" { hook } \n "
733-
734- return hooks_code
718+ internal , pre_trigger , post_trigger = _sort_hooks (hooks )
719+ internal_str = "\n " .join (internal )
720+ pre_trigger_str = "\n " .join (pre_trigger )
721+ post_trigger_str = "\n " .join (post_trigger )
722+ memo_str = "\n " .join (memo ) if memo is not None else ""
723+ return f"{ internal_str } \n { pre_trigger_str } \n { memo_str } \n { post_trigger_str } "
0 commit comments