mod asterisk_based;
mod mutable;
mod openmw;
mod readable;
#[cfg(test)]
mod tests;
mod textfile_based;
mod timestamp_based;
mod writable;
use std::borrow::Cow;
use encoding_rs::WINDOWS_1252;
use super::enums::Error;
pub(crate) use self::asterisk_based::AsteriskBasedLoadOrder;
pub(crate) use self::openmw::OpenMWLoadOrder;
pub use self::readable::ReadableLoadOrder;
pub(crate) use self::textfile_based::TextfileBasedLoadOrder;
pub(crate) use self::timestamp_based::TimestampBasedLoadOrder;
pub use self::writable::WritableLoadOrder;
fn strict_encode(string: &str) -> Result<Cow<'_, [u8]>, Error> {
let (output, _, had_unmappable_chars) = WINDOWS_1252.encode(string);
if had_unmappable_chars {
Err(Error::EncodeError(string.to_owned()))
} else {
Ok(output)
}
}