singlefile_formats/lib.rs
1//! This library provides a number of default [`FileFormat`] implementations
2//! for use within [`singlefile`](https://crates.io/crates/singlefile).
3//!
4//! # Features
5//! By default, no features are enabled.
6//!
7//! - `bincode`: Enables the [`Bincode`] file format.
8//! - `bincode-serde`: Enables the [`BincodeSerde`] file format for use with [`serde`] types.
9//! - `cbor-serde`: Enables the [`Cbor`] file format for use with [`serde`] types.
10//! - `json-serde`: Enables the [`Json`] file format for use with [`serde`] types.
11//! - `toml-serde`: Enables the [`Toml`] file format for use with [`serde`] types.
12//! - `bzip`: Enables the [`BZip2`] compression format. See [`CompressionFormat`] for more info.
13//! - `bzip-rust`: Enables the `libbz2-rs-sys` feature for `bzip2`.
14//! - `flate`: Enables the [`Deflate`], [`Gz`],
15//! and [`ZLib`] compression formats. See [`CompressionFormat`] for more info.
16//! - `xz`: Enables the [`Xz`] compression format. See [`CompressionFormat`] for more info.
17//!
18//! [`FileFormat`]: singlefile::FileFormat
19//! [`Bincode`]: crate::data::bincode::Bincode
20//! [`BincodeSerde`]: crate::data::bincode::BincodeSerde
21//! [`Cbor`]: crate::data::cbor_serde::Cbor
22//! [`Json`]: crate::data::json_serde::Json
23//! [`Toml`]: crate::data::toml_serde::Toml
24//! [`CompressionFormat`]: crate::compression::CompressionFormat
25//! [`BZip2`]: crate::compression::bzip::BZip2
26//! [`Deflate`]: crate::compression::flate::Deflate
27//! [`Gz`]: crate::compression::flate::Gz
28//! [`ZLib`]: crate::compression::flate::ZLib
29//! [`Xz`]: crate::compression::xz::Xz
30
31#![cfg_attr(docsrs, feature(doc_cfg))]
32#![forbid(unsafe_code)]
33#![warn(
34 future_incompatible,
35 missing_copy_implementations,
36 missing_debug_implementations,
37 missing_docs,
38 unreachable_pub
39)]
40
41pub extern crate singlefile;
42
43pub mod compression;
44pub mod data;