code: def norm_helper(draw):
      dtype, x = draw(
          helpers.dtype_and_values(
              shape=st.shared(
                  helpers.get_shape(min_num_dims=1), key="shape"
              ),
              available_dtypes=helpers.get_dtypes("valid"),
              min_num_dims=1,
              safety_factor_scale="log",
              large_abs_safety_factor=2,
          )
      )
      axis = draw(
          helpers.get_axis(
              shape=st.shared(
                  helpers.get_shape(min_num_dims=1), key="shape"
              ),
          )
      )
      if type(axis) in [tuple, list]:
          if len(axis) == 2:
              ord_param = draw(
                  st.sampled_from(
                      ["fro", "nuc", 1, 2, -1, -2, np.inf, -np.inf]
                  )
              )
          else:
              axis = axis[0]
              ord_param = draw(
                  st.sampled_from([0, 1, 2, -1, -2, np.inf, -np.inf])
              )
      else:
          ord_param = draw(
              st.sampled_from([0, 1, 2, -1, -2, np.inf, -np.inf])
          )
      keepdims = draw(st.booleans())
      return dtype, x, ord_param, axis, keepdims
  
imports: import sys
  import numpy
  from hypothesis import strategies, assume
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import assert_all_close, handle_frontend_test, BackendHandler
  from ivy_tests.test_ivy.test_functional.test_core.test_linalg import _get_dtype_and_matrix, _matrix_rank_helper
  from ivy_tests.test_ivy.helpers.hypothesis_helpers.general_helpers import matrix_is_stable
label_desc: Use image node_id 3 for calling a global function with example usage: norm_helper(draw) and returns: dtype,  x,  ord_param,  axis,  keepdims