pub mod core;
pub mod preview;
#[cfg(test)]
mod tests;
pub use vortex_edition::ComponentKind;
pub use vortex_edition::Edition;
pub use vortex_edition::EditionDeclaration;
pub use vortex_edition::EditionId;
pub use vortex_edition::EditionInclusion;
pub use vortex_edition::EditionMember;
pub use vortex_edition::EditionSession;
pub use vortex_edition::EditionSessionExt;
pub use vortex_edition::EnabledEditions;
use vortex_error::VortexExpect;
use vortex_error::vortex_err;
use vortex_session::VortexSession;
pub use self::core::CORE_2025_05_0;
pub use self::core::CORE_2025_06_0;
pub use self::core::CORE_2025_10_0;
pub use self::core::CORE_2026_08_0;
pub use self::core::CORE_2026_08_1;
pub use self::core::CORE_2026_08_2;
pub use self::core::CORE_2026_08_3;
pub use self::preview::PREVIEW_2025_05_0;
pub use self::preview::PREVIEW_2026_02_0;
pub use self::preview::PREVIEW_2026_04_0;
pub use self::preview::PREVIEW_2026_06_0;
pub const DEFAULT_CORE_EDITION: EditionId = CORE_2026_08_1;
pub const DEFAULT_PREVIEW_EDITION: EditionId = PREVIEW_2026_06_0;
pub static EDITION_DECLARATIONS: &[&EditionDeclaration] = &[
&core::v2025_05::DECLARATION,
&core::v2025_06::DECLARATION,
&core::v2025_10::DECLARATION,
&core::v2026_08::DECLARATION_0,
&core::v2026_08::DECLARATION_1,
&core::v2026_08_2::DECLARATION,
&core::v2026_08_3::DECLARATION,
&preview::v2025_05::DECLARATION,
&preview::v2026_02::DECLARATION,
&preview::v2026_04::DECLARATION,
&preview::v2026_06::DECLARATION,
];
pub fn register_default_editions(session: &VortexSession) {
for declaration in EDITION_DECLARATIONS {
session
.register_edition(declaration)
.map_err(|e| vortex_err!("{e}"))
.vortex_expect("edition declarations are valid");
}
}
pub fn enable_default_editions(session: &VortexSession) {
session
.enable_edition(DEFAULT_CORE_EDITION)
.map_err(|e| vortex_err!("{e}"))
.vortex_expect("default core edition is registered");
#[cfg(feature = "unstable_encodings")]
session
.enable_edition(DEFAULT_PREVIEW_EDITION)
.map_err(|e| vortex_err!("{e}"))
.vortex_expect("default preview edition is registered");
}