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_interface.rs ]
crate::ix!();

pub trait AccountAnalysisInterface<TxCat:TransactionCategory>
: ShowAccountSummary
+ ShowHistogram
+ ShowAccountBursts
+ ShowMonthlySummary
+ ShowBusinessTransactions<TxCat>
+ ShowMedicalAndInsuranceExpenditures<TxCat>
+ ShowTreasuryTransactionsAndChecks<TxCat>
+ ShowCategoryMap<TxCat>
+ ShowCategorizedDebug<TxCat>
+ ShowCategorizedShort<TxCat>
+ ShowQuarterlySummary
{
    fn analyze(&self, analysis: &AccountAnalysis<TxCat>) 
        -> Result<(),AccountError>;
}

pub trait ShowAccountSummary { 
    fn show_account_summary(&self); 
}

pub trait ShowHistogram {
    type DisplayStrategy;
    fn show_histogram(&self, display_strategy: &Self::DisplayStrategy); 
}

pub trait ShowAccountBursts {
    fn show_account_bursts(&self);
}

pub trait ShowMonthlySummary {
    fn show_monthly_summary(&self);
}

pub trait ShowBusinessTransactions<TxCat:TransactionCategory> {
    fn show_business_transactions(&self, category_map: &CategoryMap<TxCat>);
}

pub trait ShowMedicalAndInsuranceExpenditures<TxCat:TransactionCategory> {
    fn show_medical_and_insurance_expenditures(&self, category_map: &CategoryMap<TxCat>);
}

pub trait ShowTreasuryTransactionsAndChecks<TxCat:TransactionCategory> {
    fn show_treasury_transactions_and_checks(&self, category_map: &CategoryMap<TxCat>);
}

pub trait ShowCategoryMap<TxCat:TransactionCategory> {
    fn show_category_map(&self,category_map: &CategoryMap<TxCat>);
}

pub trait ShowCategorizedDebug<TxCat:TransactionCategory> {
    fn show_categorized_debug(&self, category_map: &CategoryMap<TxCat>);
}

pub trait ShowCategorizedShort<TxCat:TransactionCategory> {
    fn show_categorized_short(&self, category_map: &CategoryMap<TxCat>);
}

pub trait ShowQuarterlySummary {
    fn show_quarterly_summary(&self);
}