1#![cfg_attr(not(feature = "std"), no_std)]
2
3extern crate alloc;
4extern crate core;
5mod manifest;
6mod manifest_type;
7mod manifest_version;
8mod manifests;
9mod package_identifier;
10mod package_version;
11pub mod url;
12pub mod utils;
13pub mod version;
14
15#[cfg(feature = "std")]
16pub use camino;
17pub use icu_locale;
18pub use manifest::Manifest;
19pub use manifest_type::{ManifestType, ManifestTypeWithLocale};
20pub use manifest_version::ManifestVersion;
21pub use manifests::*;
22pub use package_family_name;
23pub use package_identifier::{PackageIdentifier, PackageIdentifierError};
24pub use package_version::{PackageVersion, PackageVersionError};
25pub use sha2;
26pub use utils::{language_tag::LanguageTag, sha_256::Sha256String};
27pub use version::Version;
28
29#[cfg(feature = "std")]
30pub type PathBuf = camino::Utf8PathBuf;
31
32#[cfg(not(feature = "std"))]
33pub type PathBuf = alloc::string::String;
34
35#[cfg(feature = "std")]
36pub type Path = camino::Utf8Path;
37
38#[cfg(not(feature = "std"))]
39pub type Path = str;
40
41pub const DISALLOWED_CHARACTERS: [char; 9] = ['\\', '/', ':', '*', '?', '\"', '<', '>', '|'];