python (3.11.7)
       1  import functools
       2  
       3  
       4  # from jaraco.functools 3.5
       5  def pass_none(func):
       6      """
       7      Wrap func so it's not called if its first param is None
       8  
       9      >>> print_text = pass_none(print)
      10      >>> print_text('text')
      11      text
      12      >>> print_text(None)
      13      """
      14  
      15      @functools.wraps(func)
      16      def wrapper(param, *args, **kwargs):
      17          if param is not None:
      18              return func(param, *args, **kwargs)
      19  
      20      return wrapper