Skip to main content

imferno_core/
lib.rs

1//! imferno-core — SMPTE ST 2067 IMF parser and validator.
2
3pub mod assetmap;
4pub mod cpl;
5pub mod diagnostics;
6pub mod mxf;
7pub mod package;
8pub mod scm;
9pub mod storage;
10pub mod validation;
11
12// Re-export the most-used diagnostic types at crate root so that
13// `crate::Severity`, `crate::ValidationReport`, etc. resolve correctly
14// (required by diagnostics/rules.rs which uses `use crate::{Severity, ValidationReport}`).
15pub use diagnostics::{
16    Category, CriticalError, Location, ParseResult, Severity, ValidationIssue, ValidationProfile,
17    ValidationReport,
18};
19
20/// Barrel re-export of every validation-code enum.
21///
22/// ```rust
23/// use imferno_core::codes::*;
24/// ```
25pub mod codes {
26    pub use crate::assetmap::codes::{
27        St2067_2_2013_Core, St2067_2_2016_Core, St2067_2_2020, St2067_2_2020_Core, St429_9_2014,
28    };
29    pub use crate::cpl::codes::{St2067_3_2013, St2067_3_2016, St2067_3_2020};
30    pub use crate::diagnostics::codes::ValidationCode;
31    pub use crate::mxf::codes::St377_1_2011;
32    pub use crate::package::codes::ImfernoCode;
33    pub use crate::scm::codes::St2067_9_2018;
34    pub use crate::validation::codes::{St2067_21_2020, St2067_21_2023, St2067_21_2025};
35    pub use crate::validation::iab_codes::{St2067_201_2019, St2067_201_2021};
36    pub use crate::validation::isxd_codes::St2067_202_2022;
37}