code: def array_type(self, tree):
      array_type = None
  
      token = tree.children[0]
      if str.upper(token) == "INT8":
          array_type = NdArrayType.INT8
      elif str.upper(token) == "UINT8":
          array_type = NdArrayType.UINT8
      elif str.upper(token) == "INT16":
          array_type = NdArrayType.INT16
      elif str.upper(token) == "INT32":
          array_type = NdArrayType.INT32
      elif str.upper(token) == "INT64":
          array_type = NdArrayType.INT64
      elif str.upper(token) == "UNICODE":
          array_type = NdArrayType.UNICODE
      elif str.upper(token) == "BOOLEAN":
          array_type = NdArrayType.BOOL
      elif str.upper(token) == "FLOAT32":
          array_type = NdArrayType.FLOAT32
      elif str.upper(token) == "FLOAT64":
          array_type = NdArrayType.FLOAT64
      elif str.upper(token) == "DECIMAL":
          array_type = NdArrayType.DECIMAL
      elif str.upper(token) == "STR":
          array_type = NdArrayType.STR
      elif str.upper(token) == "DATETIME":
          array_type = NdArrayType.DATETIME
      elif str.upper(token) == "ANYTYPE":
          array_type = NdArrayType.ANYTYPE
      return array_type
  
imports: from lark import Tree
  from evadb.catalog.catalog_type import ColumnType, NdArrayType, VectorStoreType
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.parser.create_index_statement import CreateIndexStatement
  from evadb.parser.create_statement import ColConstraintInfo, ColumnDefinition, CreateDatabaseStatement, CreateJobStatement, CreateTableStatement
  from evadb.parser.table_ref import TableRef
  from evadb.parser.types import ColumnConstraintEnum
label_desc: Use image node_id 12 for calling the CreateTable obj's underlying member method code with example usage: obj.array_type(tree) and returns: array_type