tktax-analysis 0.2.2

A robust Rust crate for financial account analysis, histogram generation, donation processing, and more.
Documentation
// ---------------- [ File: tktax-analysis/src/analysis_flags.rs ]
crate::ix!();

bitflags!{
    pub struct AccountAnalysisFlags: u32 {
        const SHOW_ACCOUNT_SUMMARY                    = 1 << 1;
        const SHOW_HISTOGRAM                          = 1 << 2;
        const SHOW_BURSTS                             = 1 << 3;
        const SHOW_MONTHLY_SUMMARY                    = 1 << 4;
        const SHOW_CATEGORIZED_FULL                   = 1 << 5;
        const SHOW_CATEGORIZED_SHORT                  = 1 << 6;
        const SHOW_CATEGORY_MAP                       = 1 << 7;
        const SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS = 1 << 8;
        const SHOW_BUSINESS_TRANSACTIONS              = 1 << 9;
        const SHOW_TREASURY_TRANSACTIONS_AND_CHECKS   = 1 << 10;
        const SHOW_QUARTERLY_SUMMARY                  = 1 << 11;

        const SHORT_REPORT = 
            Self::SHOW_ACCOUNT_SUMMARY.bits()
            | Self::SHOW_MONTHLY_SUMMARY.bits()
            | Self::SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS.bits()
            | Self::SHOW_TREASURY_TRANSACTIONS_AND_CHECKS.bits()
            | Self::SHOW_BUSINESS_TRANSACTIONS.bits()
            ;

        const FULL_REPORT = 
            Self::SHOW_HISTOGRAM.bits() 
            | Self::SHOW_ACCOUNT_SUMMARY.bits() 
            | Self::SHOW_BURSTS.bits()
            | Self::SHOW_CATEGORIZED_FULL.bits()
            | Self::SHOW_MONTHLY_SUMMARY.bits()
            | Self::SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS.bits()
            | Self::SHOW_TREASURY_TRANSACTIONS_AND_CHECKS.bits()
            | Self::SHOW_BUSINESS_TRANSACTIONS.bits()
            | Self::SHOW_QUARTERLY_SUMMARY.bits()
            ;
    }
}

impl Default for AccountAnalysisFlags {
    fn default() -> Self {
        Self::full()
    }
}

impl AccountAnalysisFlags {
    pub fn short() -> Self { Self::SHORT_REPORT }
    pub fn full()  -> Self { Self::FULL_REPORT }
}