Skip to content

Commit c5c6d1c

Browse files
committed
create a simpler merge_parsed_imports for already parsed imports
1 parent d6574a6 commit c5c6d1c

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

reflex/components/component.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1688,7 +1688,7 @@ def _get_all_imports(self, collapse: bool = False) -> ParsedImportDict:
16881688
Returns:
16891689
The import dict with the required imports.
16901690
"""
1691-
_imports = imports.merge_imports(
1691+
_imports = imports.merge_parsed_imports(
16921692
self._get_imports(), *[child._get_all_imports() for child in self.children]
16931693
)
16941694
return imports.collapse_imports(_imports) if collapse else _imports

reflex/utils/imports.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@
77
from collections.abc import Mapping, Sequence
88

99

10+
def merge_parsed_imports(
11+
*imports: ParsedImportDict,
12+
) -> ParsedImportDict:
13+
"""Merge multiple parsed import dicts together.
14+
15+
Args:
16+
*imports: The list of import dicts to merge.
17+
18+
Returns:
19+
The merged import dicts.
20+
"""
21+
all_imports: defaultdict[str, list[ImportVar]] = defaultdict(list)
22+
for import_dict in imports:
23+
for lib, fields in import_dict.items():
24+
all_imports[lib].extend(fields)
25+
return all_imports
26+
27+
1028
def merge_imports(
1129
*imports: ImportDict | ParsedImportDict | ParsedImportTuple,
1230
) -> ParsedImportDict:

0 commit comments

Comments
 (0)