code: def _unique_helper(draw):
      arr_dtype, arr, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes(
                  "numeric", full=False, key="searchsorted"
              ),
              min_num_dims=1,
              min_dim_size=2,
              ret_shape=True,
          )
      )
      axis = draw(st.sampled_from(list(range(len(shape))) + [None]))
      return_index = draw(st.booleans())
      return_inverse = draw(st.booleans())
      return_counts = draw(st.booleans())
      return (
          arr_dtype,
          arr,
          return_index,
          return_inverse,
          return_counts,
          axis,
      )
  
imports: from hypothesis import strategies
  import numpy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_core.test_searching import _broadcastable_trio
  from ...test_numpy.test_sorting_searching_counting.test_searching import _broadcastable_trio
label_desc: Use image node_id 2 for calling a global function with example usage: _unique_helper(draw) and returns: arr_dtype,  arr,  return_index,  return_inverse,  return_counts,  axis