code: def _js_to_py(v, widget_manager):
      """
      Javascript -> Python ipywidget deserializer
  
      Parameters
      ----------
      v
          Object to be deserialized
      widget_manager
          ipywidget widget_manager (unused)
  
      Returns
      -------
      any
          Deserialized object for use by the Python side of the library
      """
      # Handle dict
      # -----------
      if isinstance(v, dict):
          return {k: _js_to_py(v, widget_manager) for k, v in v.items()}
  
      # Handle list/tuple
      # -----------------
      elif isinstance(v, (list, tuple)):
          return [_js_to_py(v, widget_manager) for v in v]
  
      # Handle Undefined
      # ----------------
      elif isinstance(v, str) and v == "_undefined_":
          return Undefined
  
      # Handle simple value
      # -------------------
      else:
          return v
  
imports: from .basedatatypes import Undefined
  from .optional_imports import get_module
label_desc: Use image node_id 2 for calling a global function with example usage: _js_to_py(v, widget_manager) and returns: unknown, unknown, Undefined, v