imports.py 587 B

12345678910111213141516171819202122232425
  1. """Import operations."""
  2. from collections import defaultdict
  3. from typing import Dict, Set
  4. from pynecone.vars import ImportVar
  5. ImportDict = Dict[str, Set[ImportVar]]
  6. def merge_imports(*imports) -> ImportDict:
  7. """Merge two import dicts together.
  8. Args:
  9. *imports: The list of import dicts to merge.
  10. Returns:
  11. The merged import dicts.
  12. """
  13. all_imports = defaultdict(set)
  14. for import_dict in imports:
  15. for lib, fields in import_dict.items():
  16. for field in fields:
  17. all_imports[lib].add(field)
  18. return all_imports