# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Various constants used in de/serialization."""

# Node-specific constants
NODES = 'nodes'
NAME = 'name'

# Edge-specific constants.
EDGES = 'edges'
BEGIN = 'begin'
END = 'end'

# Build metadata attributes.
COMMIT_HASH = 'commit_hash'
COMMIT_CR_POSITION = 'commit_cr_position'
COMMIT_TIME = 'commit_time'

# Miscellaneous attributes.
PACKAGE_GRAPH = 'package_graph'
CLASS_GRAPH = 'class_graph'
BUILD_METADATA = 'build_metadata'
META = 'meta'
