flutter_rust_bridge_codegen 2.12.0

Flutter/Dart <-> Rust binding generator, feature-rich, but seamless and simple
Documentation
use crate::utils::console::SimpleProgressBar;
use crate::utils::crate_name::CrateName;
use crate::utils::namespace::Namespace;
use lazy_static::lazy_static;

pub(crate) struct GeneratorProgressBarPack {
    pub parse: SimpleProgressBar,
    pub parse_hir_raw: SimpleProgressBar,
    pub parse_hir_primary: SimpleProgressBar,
    pub parse_mir: SimpleProgressBar,
    pub generate: SimpleProgressBar,
    pub generate_cbindgen: SimpleProgressBar,
    pub generate_ffigen: SimpleProgressBar,
    pub polish: SimpleProgressBar,
    pub polish_dart_build_runner: SimpleProgressBar,
    pub polish_dart_fix: SimpleProgressBar,
    pub polish_dart_formatter: SimpleProgressBar,
    pub polish_rust_formatter: SimpleProgressBar,
    pub polish_upgrade: SimpleProgressBar,
}

impl GeneratorProgressBarPack {
    pub(crate) fn new() -> Self {
        Self {
            parse: SimpleProgressBar::new("Parse", 0),
            parse_hir_raw: SimpleProgressBar::new("Cargo expand & syn parse", 1),
            parse_hir_primary: SimpleProgressBar::new("Parse HIR", 1),
            parse_mir: SimpleProgressBar::new("Parse MIR", 1),
            generate: SimpleProgressBar::new("Generate", 0),
            generate_cbindgen: SimpleProgressBar::new("Run cbindgen", 1),
            generate_ffigen: SimpleProgressBar::new("Run ffigen", 1),
            polish: SimpleProgressBar::new("Polish", 0),
            polish_dart_build_runner: SimpleProgressBar::new("Run Dart build_runner", 1),
            polish_dart_fix: SimpleProgressBar::new("Run Dart fix", 1),
            polish_dart_formatter: SimpleProgressBar::new("Run Dart formatter", 1),
            polish_rust_formatter: SimpleProgressBar::new("Run Rust formatter", 1),
            polish_upgrade: SimpleProgressBar::new("Auto upgrade", 1),
        }
    }
}

pub(crate) const THIRD_PARTY_DIR_NAME: &str = "third_party";

lazy_static! {
    pub(crate) static ref SELF_CRATE_THIRD_PARTY_NAMESPACE: Namespace = Namespace::new(vec![
        CrateName::SELF_CRATE.to_owned(),
        THIRD_PARTY_DIR_NAME.to_owned(),
    ]);
}