1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::common::cli::Cli;
use crate::common::config::Config;
use crate::ts_generator::information_schema::DBSchema;
use clap::Parser;
use lazy_static::lazy_static;

/// The file contains all implicitly dependent variables or state that files need for the logic
/// We have a lot of states that we need to drill down into each methods
lazy_static! {
    pub static ref SOME_INT: i32 = 5;

    pub static ref CLI_ARGS: Cli = Cli::parse();
    pub static ref CONFIG: Config =  Config::new();

    /// This is a holder for shared DBSChema used to fetch information for information_schema table
    /// By having a singleton, we can think about caching the result if we are fetching a query too many times
    pub static ref DB_SCHEMA: DBSchema = DBSchema::new();
}