code: def add_deps(self, deps):
          
          if isinstance(deps, collections.Mapping):
              # Convert dictionary into list of dependencies.
              deps = [Dependency(node, exts) for node, exts in deps.items()]
  
          # We want a list
          if not isinstance(deps, (list, tuple)):
              deps = [deps]
  
          assert all(isinstance(d, Dependency) for d in deps)
  
          # Add the dependencies to the node
          self._deps.extend(deps)
  
          if self.is_work:
              # The task in the work should inherit the same dependency.
              for task in self:
                  task.add_deps(deps)
  
          # If we have a FileNode as dependency, add self to its children
          # Node.get_parents will use this list if node.is_isfile.
          for dep in (d for d in deps if d.node.is_file):
              dep.node.add_filechild(self)
docs: Add a list of dependencies to the :class:`Node`.
  
          Args:
              deps: List of :class:`Dependency` objects specifying the dependencies of the node.
                    or dictionary mapping nodes to file extensions e.g. {task: "DEN"}