#![warn(missing_docs, missing_debug_implementations)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![no_std]
#![forbid(unsafe_code)]
#![deny(
clippy::unwrap_used,
clippy::expect_used,
clippy::indexing_slicing,
clippy::panic
)]
extern crate alloc;
mod bytes;
#[cfg(feature = "content-hash")]
mod content_hash;
#[doc(hidden)]
pub mod currency;
#[cfg(feature = "decode")]
mod decode;
mod error;
#[doc(hidden)]
pub mod format;
#[cfg(feature = "manifest")]
mod manifest;
mod markup;
#[doc(hidden)]
pub mod number;
mod plural;
mod reader;
#[doc(hidden)]
pub mod unit;
mod view;
#[cfg(feature = "writer")]
#[doc(hidden)]
pub mod writer;
pub use mf2_model::{Dir, MsgId};
#[cfg(feature = "content-hash")]
pub use content_hash::{CONTENT_HASH_LEN, content_hash};
#[cfg(feature = "decode")]
#[doc(hidden)]
pub use decode::{Decoded, decode, decode_report};
pub use error::CatalogError;
#[cfg(feature = "decode")]
#[doc(hidden)]
pub use error::DecodeError;
#[cfg(feature = "manifest")]
pub use error::ManifestError;
#[cfg(feature = "writer")]
pub use error::WriteError;
#[cfg(feature = "manifest")]
#[doc(hidden)]
pub use manifest::Manifest;
#[doc(hidden)]
pub use markup::markup_key;
pub use reader::{Catalog, CldrVersion};
#[doc(hidden)]
pub use reader::{Entry, StrRef};
#[doc(hidden)]
pub use view::{
Body, DeclView, Declarations, ExprView, FunctionView, KeyView, Keys, Malformed, MarkupView,
MsgView, Names, Operand, OptionsView, PartView, Parts, PatternView, SelectView, Selectors,
VarRef, VariantView, Variants,
};