class_docstr: A tree-like structure to specify nested dependencies of key-value pairs
  In detail it maps dependencies of key requiring any number of key:value pairs
  
  Primarily useful for specifying nested dependencies of UI elements shown in Wave.
docstr: Append dependencies (key:value) for a given key
  
  Args:
      keys: keys to add dependencies for
      dependencies: key:value pairs to depend on
docstr_tok: ["Append","dependencies","(","key",":","value",")","for","a","given","key","Args",":","keys",":","keys","to","add","dependencies","for","dependencies",":","key",":","value","pairs","to","depend","on"]
code: def add(self, keys: List[str], dependencies: List[Dependency]):
      """
      Append dependencies (key:value) for a given key
  
      Args:
          keys: keys to add dependencies for
          dependencies: key:value pairs to depend on
      """
  
      if len(set(keys)) != len(keys):
          raise ValueError("Nesting keys must be unique.")
  
      for dependency in dependencies:
          self.triggers.add(dependency.key)
          for key in set(keys):
              self.dependencies[key].append(dependency)
  
imports: from collections import defaultdict
  from dataclasses import dataclass
  from typing import DefaultDict, List, Optional, Set, Union
label_desc: Use image node_id 2 for calling the Nesting obj's underlying member method code with example usage: obj.add(keys, dependencies) without return types