zakat_core/
lib.rs

1//! # Zakat Core
2//!
3//! Core mathematical logic, data structures, Fiqh rules, and input validation for Zakat calculations.
4//!
5//! This crate provides the foundational types and traits used across the Zakat library,
6//! without any heavy I/O dependencies like networking, databases, or complex i18n.
7
8#[macro_use]
9pub mod macros;
10
11pub mod config;
12pub mod inputs;
13pub mod madhab;
14pub mod math;
15pub mod maal;
16pub mod traits;
17pub mod types;
18pub mod utils;
19pub mod fitrah;
20pub mod portfolio;
21pub mod assets;
22pub mod hawl;
23pub mod debt;
24pub mod distribution;
25pub mod partnership;
26pub mod validation;
27
28pub mod prelude;
29
30// Re-export key types at crate root
31pub use config::ZakatConfig;
32pub use inputs::{IntoZakatDecimal, InputLocale, LocalizedInput, with_locale};
33pub use madhab::{Madhab, NisabStandard, ZakatRules, ZakatStrategy};
34pub use traits::{CalculateZakat, ZakatConfigArgument};
35pub use types::{WealthType, ZakatDetails, ZakatError, ZakatExplanation};
36
37#[cfg(feature = "async")]
38pub use traits::AsyncCalculateZakat;
39
40#[cfg(feature = "python")]
41pub mod python;
42
43#[cfg(feature = "uniffi")]
44pub mod kotlin;
45
46#[cfg(feature = "uniffi")]
47uniffi::setup_scaffolding!();
48
49
50
51