code: def _isna_string_dtype(
      values: np.ndarray, inf_as_na: bool
  ) -> npt.NDArray[np.bool_]:
      # Working around NumPy ticket 1542
      dtype = values.dtype
  
      if dtype.kind in ("S", "U"):
          result = np.zeros(values.shape, dtype=bool)
      else:
          if values.ndim in {1, 2}:
              result = libmissing.isnaobj(values, inf_as_na=inf_as_na)
          else:
              # 0-D, reached via e.g. mask_missing
              result = libmissing.isnaobj(
                  values.ravel(), inf_as_na=inf_as_na
              )
              result = result.reshape(values.shape)
  
      return result
  
imports: from __future__ import annotations
  from decimal import Decimal
  from functools import partial
  from typing import TYPE_CHECKING, overload
  import warnings
  import numpy
  from pandas._config import get_option
  from pandas._libs import lib
  import pandas._libs.missing
  from pandas._libs.tslibs import NaT, iNaT
  from pandas.core.dtypes.common import DT64NS_DTYPE, TD64NS_DTYPE, ensure_object, is_scalar, is_string_or_object_np_dtype
  from pandas.core.dtypes.dtypes import CategoricalDtype, DatetimeTZDtype, ExtensionDtype, IntervalDtype, PeriodDtype
  from pandas.core.dtypes.generic import ABCDataFrame, ABCExtensionArray, ABCIndex, ABCMultiIndex, ABCSeries
  from pandas.core.dtypes.inference import is_list_like
label_desc: Use image node_id 10 for calling a global function with example usage: _isna_string_dtype(values, inf_as_na) and returns: result