code: def _as_strip_labelling_func(
      fobj: Optional[CanBeStripLabellingFunc],
      default: CanBeStripLabellingFunc = "label_value",
  ) -> StripLabellingFunc:
      """
      Create a function that can operate on strip_label_details
      """
      if fobj is None:
          fobj = default
  
      if isinstance(fobj, str) and fobj in LABELLERS:
          return LABELLERS[fobj]
  
      if isinstance(fobj, _core_labeller):
          return fobj
      elif callable(fobj):
          if fobj.__name__ in LABELLERS:
              return fobj  # type: ignore
          else:
              return _function_labeller(fobj)  # type: ignore
      elif isinstance(fobj, dict):
          return _dict_labeller(fobj)
      else:
          msg = f"Could not create a labelling function for with `{fobj}`."
          raise PlotnineError(msg)
  
imports: from __future__ import annotations
  import typing
  from abc import ABCMeta, abstractmethod
  from ..exceptions import PlotnineError
label_desc: Use image node_id 5 for calling a global function with example usage: _as_strip_labelling_func(fobj, default) and returns: LABELLERS, fobj, fobj, _function_labeller, _dict_labeller