code: def _null_checks_cond_join(
      left: pd.Series, right: pd.Series
  ) -> Union[tuple, None]:
      """
      Checks for nulls in the arrays before conducting binary search.
  
      Relevant to _less_than_indices and _greater_than_indices
      """
      any_nulls = left.isna()
      if any_nulls.all():
          return None
      if any_nulls.any():
          left = left[~any_nulls]
      any_nulls = right.isna()
      if any_nulls.all():
          return None
      if any_nulls.any():
          right = right[~any_nulls]
      any_nulls = any_nulls.any()
      right_is_sorted = right.is_monotonic_increasing
      if not right_is_sorted:
          right = right.sort_values(kind="stable")
  
      left_index = left.index._values
      left = left._values
      right_index = right.index._values
      right = right._values
  
      return (
          left,
          right,
          left_index,
          right_index,
          right_is_sorted,
          any_nulls,
      )
  
imports: from __future__ import annotations
  import fnmatch
  import inspect
  import re
  import warnings
  from collections.abc import Callable
  from dataclasses import dataclass
  from enum import Enum
  from functools import singledispatch
  from typing import Any, Callable, Hashable, Iterable, List, Literal, Optional, Pattern, Union
  import numpy
  import pandas
  from multipledispatch import dispatch
  from pandas.api.types import is_bool_dtype, is_datetime64_dtype, is_list_like, is_scalar, is_string_dtype, union_categoricals
  from pandas.core.common import is_bool_indexer
  from pandas.core.groupby.generic import DataFrameGroupBy, SeriesGroupBy
  from janitor.utils import _expand_grid, check, check_column, find_stack_level
label_desc: Use image node_id 22 for calling a global function with example usage: _null_checks_cond_join(left, right) and returns: left,  right,  left_index,  right_index,  right_is_sorted,  any_nulls, None, None