webgraph_cli/to/
mod.rs

1/*
2 * SPDX-FileCopyrightText: 2024 Tommaso Fontana
3 *
4 * SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
5 */
6
7use anyhow::Result;
8use clap::Subcommand;
9
10use super::GlobalArgs;
11
12pub mod arcs;
13pub mod ascii;
14pub mod bvgraph;
15pub mod endianness;
16
17#[derive(Subcommand, Debug)]
18#[command(name = "to")]
19/// Converts graphs from a representation to another.
20pub enum SubCommands {
21    Ascii(ascii::CliArgs),
22    Bvgraph(bvgraph::CliArgs),
23    Arcs(arcs::CliArgs),
24    Endianness(endianness::CliArgs),
25}
26
27pub fn main(global_args: GlobalArgs, subcommand: SubCommands) -> Result<()> {
28    match subcommand {
29        SubCommands::Ascii(args) => ascii::main(global_args, args),
30        SubCommands::Bvgraph(args) => bvgraph::main(global_args, args),
31        SubCommands::Arcs(args) => arcs::main(global_args, args),
32        SubCommands::Endianness(args) => endianness::main(global_args, args),
33    }
34}