code: def warning(code_or_name: int | str | Issue) -> ValidationDecorator:
      """Decorator to mark a validator method for a Bokeh error condition
  
      Args:
          code_or_name (int, str or Issue) : a code from ``bokeh.validation.errors`` or a string label for a custom check
  
      Returns:
          callable : decorator for Bokeh model methods
  
      The function that is decorated should have a name that starts with
      ``_check``, and return a string message in case a bad condition is
      detected, and ``None`` if no bad condition is detected.
  
      Examples:
  
      The first example uses a numeric code for a standard warning provided in
      ``bokeh.validation.warnings``. This usage is primarily of interest to Bokeh
      core developers.
  
      .. code-block:: python
  
          from bokeh.validation.warnings import MISSING_RENDERERS
  
          @warning(MISSING_RENDERERS)
          def _check_no_glyph_renderers(self):
              if bad_condition: return "message"
  
      The second example shows how a custom warning check can be implemented by
      passing an arbitrary string label to the decorator. This usage is primarily
      of interest to anyone extending Bokeh with their own custom models.
  
      .. code-block:: python
  
          @warning("MY_CUSTOM_WARNING")
          def _check_my_custom_warning(self):
              if bad_condition: return "message"
  
      """
      return _validator(code_or_name, "warning")
  
file_path: bokeh/src/bokeh/core/validation/decorators.py
imports: from __future__ import annotations
  import logging
  from typing import TYPE_CHECKING, Any, Callable, Union, cast
  from .check import ValidationIssue, Validator, ValidatorType
  from .issue import Error, Issue, Warning
label_desc: Use image node_id 3 for calling a global function with example usage: warning(code_or_name) and returns: _validator