pub mod booker;
pub mod commands;
pub mod date;
pub mod decimal;
pub mod error;
pub mod expander;
pub mod filter;
pub mod indexer;
pub mod loader;
pub mod parser;
pub mod realizer;
pub mod rebalancer;
pub mod resolver;
pub mod sorter;
pub mod translator;
pub(crate) mod i256;
pub use error::Error;
pub use loader::{load, Journal, LoadError};
pub const JOURNAL_EXTENSIONS: &[&str] = &["ledger", "j", "journal", "hledger", "dat", "txt"];
pub fn is_journal_file(path: &std::path::Path) -> bool {
path.extension()
.and_then(|e| e.to_str())
.is_some_and(|ext| JOURNAL_EXTENSIONS.contains(&ext))
}