#![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 datetime;
mod error;
mod eval;
mod format;
mod function;
pub mod functions;
mod host;
mod number;
mod parts;
mod plural;
mod scratch;
mod sink;
mod text;
mod unannotated;
mod value;
#[doc(hidden)]
pub use mf2_catalog::StrRef;
pub use mf2_catalog::{Catalog, Dir, MsgId};
pub use mf2_model::MarkupKind;
pub use datetime::{
Date, DateFields, DateLength, DateStyle, DateTime, DateTimeOptions, DateTimeRequest, Time,
TimePrecision, TimeZone, ZoneOption, ZoneStyle, is_zone_name,
};
pub use error::FormatError;
pub use format::{BidiStrategy, FormatContext, Formatter};
pub use function::{FnContext, Function, OptionValue, Options, Registry};
pub use host::{Host, NumberFormatter};
pub use number::{
CurrencyDisplay, DigitOptions, Digits, Grouping, Measure, MeasureUnit, Number, NumberOut,
NumberRequest, NumberSpec, NumberStyle, RoundingMode, RoundingPriority, Sign, SignDisplay,
UnitDisplay,
};
pub use parts::{
ExpressionPart, FallbackSource, Isolation, MarkupOptions, MarkupPart, Part, PartSink,
};
#[doc(hidden)]
pub use plural::select as plural_category;
pub use plural::{Category, Operands};
pub use sink::{ErrorSink, NoErrors, Sink, SubPartSink};
pub use value::{Arg, CustomValue, Value};
#[doc(hidden)]
pub const INTL_NUMBERS: bool = cfg!(all(
feature = "intl",
target_arch = "wasm32",
target_os = "unknown"
));