code: def _asarray_helper(draw):
      x_dtype, x = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("numeric"),
              num_arrays=st.integers(min_value=1, max_value=10),
              min_num_dims=0,
              max_num_dims=5,
              min_dim_size=1,
              max_dim_size=5,
              shared_dtype=True,
          )
      )
      with BackendHandler.update_backend(
          test_globals.CURRENT_BACKEND
      ) as ivy_backend:
          x_list = ivy_backend.nested_map(
              lambda x: x.tolist(), x, shallow=False
          )
          sh = draw(helpers.get_shape(min_num_dims=1))
          sh = ivy_backend.Shape(sh)
      # np_array = x[0]
      # dim = draw(helpers.get_shape(min_num_dims=1))
      # nested_values = draw(
      #     helpers.create_nested_input(dim, [sh, np_array, x_list[0]])
      # )
      dtype = draw(
          helpers.get_castable_dtype(
              draw(helpers.get_dtypes("numeric")), dtype=x_dtype[0]
          )
      )[-1]
      dtype = draw(st.sampled_from([dtype, None]))
      x = draw(
          st.sampled_from(
              [
                  x,
                  x_list,
                  sh,
                  # nested_values,
              ]
          )
      )
      return x_dtype, x, dtype
  
imports: from hypothesis import strategies, assume
  import numpy
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.test_functional.test_core.test_dtype import astype_helper
label_desc: Use image node_id 1 for calling a global function with example usage: _asarray_helper(draw) and returns: x_dtype,  x,  dtype