class_docstr: Decorator to return None if an object does not have the required attribute.
  
  If the decorator is called various times on the same function with different
  attributes, it will return None if one of them is missing. If instead a list
  of attributes is passed, it will return None if all attributes in the list are
  missing. Both functionalities can be combined as desired.
class_docstr_tok: ["Decorator","to","return","None","if","an","object","does","not","have","the","required","attribute",".","If","the","decorator","is","called","various","times","on","the","same","function","with","different","attributes",",","it","will","return","None","if","one","of","them","is","missing",".","If","instead","a","list","of","attributes","is","passed",",","it","will","return","None","if","all","attributes","in","the","list","are","missing",".","Both","functionalities","can","be","combined","as","desired","."]
docstr: Wrap the decorated function.
docstr_tok: ["Wrap","the","decorated","function","."]
code: def __call__(
      self, func: Callable[[RequiresArgTypeT], RequiresReturnTypeT]
  ) -> Callable[
      [RequiresArgTypeT], Optional[RequiresReturnTypeT]
  ]:  # noqa: D202
      """Wrap the decorated function."""
  
      def wrapped(
          cls: RequiresArgTypeT,
      ) -> Optional[RequiresReturnTypeT]:
          """Return None if not all props are available."""
          for prop in self.props:
              prop = [prop] if isinstance(prop, str) else prop
              if all((getattr(cls, prop_i) is None for prop_i in prop)):
                  return None
          return func(cls)
  
      return wrapped
  
imports: import datetime
  import functools
  import importlib
  import re
  import warnings
  from copy import deepcopy
  from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
  import numpy
  import xarray
  from ..None import __version__, utils
  from ..rcparams import rcParams
label_desc: Use image node_id 2 for calling the requires obj's underlying member method code with example usage: obj.__call__(func) and returns: wrapped, func, None