26 lines
587 B
Python
26 lines
587 B
Python
"""Import operations."""
|
|
|
|
from collections import defaultdict
|
|
from typing import Dict, Set
|
|
|
|
from pynecone.vars import ImportVar
|
|
|
|
ImportDict = Dict[str, Set[ImportVar]]
|
|
|
|
|
|
def merge_imports(*imports) -> ImportDict:
|
|
"""Merge two import dicts together.
|
|
|
|
Args:
|
|
*imports: The list of import dicts to merge.
|
|
|
|
Returns:
|
|
The merged import dicts.
|
|
"""
|
|
all_imports = defaultdict(set)
|
|
for import_dict in imports:
|
|
for lib, fields in import_dict.items():
|
|
for field in fields:
|
|
all_imports[lib].add(field)
|
|
return all_imports
|