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
12pub mod xsd;
13
14// Re-export the most-used diagnostic types at crate root so that
15// `crate::Severity`, `crate::ValidationReport`, etc. resolve correctly
16// (required by diagnostics/rules.rs which uses `use crate::{Severity, ValidationReport}`).
17pub use diagnostics::{
18    Category, CriticalError, Location, ParseResult, Severity, ValidationIssue, ValidationProfile,
19    ValidationReport,
20};
21
22/// Barrel re-export of every validation-code enum.
23///
24/// ```rust
25/// use imferno_core::codes::*;
26/// ```
27pub mod codes {
28    pub use crate::assetmap::codes::{
29        St2067_2_2013_Core, St2067_2_2016_Core, St2067_2_2020, St2067_2_2020_Core, St429_9_2014,
30    };
31    pub use crate::cpl::codes::{St2067_3_2013, St2067_3_2016};
32    pub use crate::diagnostics::codes::ValidationCode;
33    pub use crate::mxf::codes::St377_1_2011;
34    pub use crate::package::codes::ImfernoCode;
35    pub use crate::scm::codes::St2067_9_2018;
36    pub use crate::validation::codes::{St2067_21_2020, St2067_21_2023, St2067_21_2025};
37    pub use crate::validation::iab_codes::{St2067_201_2019, St2067_201_2021};
38    pub use crate::validation::isxd_codes::St2067_202_2022;
39}