peace_items/lib.rs
1//! Collection of items the peace framework.
2//!
3//! Every item crate needs to be enabled with its own feature. Example:
4//!
5//! ```toml
6//! peace_items = { version = "0.0.3", features = ["file_download"] }
7//! ```
8//!
9//! In code:
10//!
11//! ```rust
12//! #[cfg(feature = "file_download")]
13//! # fn main() {
14//! use peace::item_model::{item_id, ItemId};
15//! use peace_items::file_download::FileDownloadItem;
16//!
17//! /// Marker type for `FileDownloadParams`.
18//! #[derive(Clone, Copy, Debug, PartialEq, Eq)]
19//! pub struct MyFileId;
20//!
21//! let file_download_item =
22//! FileDownloadItem::<MyFileId>::new(item_id!("file_to_download"));
23//! # }
24//! #
25//! #[cfg(not(feature = "file_download"))]
26//! # fn main() {}
27//! ```
28
29// Re-exports
30#[cfg(feature = "blank")]
31pub use peace_item_blank as blank;
32#[cfg(feature = "file_download")]
33pub use peace_item_file_download as file_download;
34#[cfg(feature = "sh_cmd")]
35pub use peace_item_sh_cmd as sh_cmd;
36#[cfg(feature = "tar_x")]
37pub use peace_item_tar_x as tar_x;