def _get_arrays():
 arrays = {}
 for (node, path) in utils.node_generator(GRAPH_REFERENCE):
  if any([(key in path) for key in GRAPH_REFERENCE['defs']['metaKeys']]):
   continue
  if (node.get('role') != 'object'):
   continue
  if ('items' not in node):
   continue
  object_name = path[(-1)]
  if (object_name not in arrays):
   items = node['items']
   if isinstance(items, dict):
    item_names = list(items.keys())
   else:
    item_names = [object_name[:(-1)]]
   arrays[object_name] = {'meta_paths': [path], 'items': item_names}
 return arrays

def _get_arrays ( ) : arrays = { } for ( node , path ) in utils . node_generator ( GRAPH_REFERENCE ) : if any ( [ ( key in path ) for key in GRAPH_REFERENCE [ 'defs' ] [ 'metaKeys' ] ] ) : continue if ( node . get ( 'role' ) != 'object' ) : continue if ( 'items' not in node ) : continue object_name = path [ ( - 1 ) ] if ( object_name not in arrays ) : items = node [ 'items' ] if isinstance ( items , dict ) : item_names = list ( items . keys ( ) ) else : item_names = [ object_name [ : ( - 1 ) ] ] arrays [ object_name ] = { 'meta_paths' : [ path ] , 'items' : item_names } return arrays
very few arrays .