scsys/
lib.rs

1/*
2    Appellation: scsys <library>
3    Creator: FL03 <jo3mccain@icloud.com>
4*/
5//! # scsys
6//!
7//! [![crates.io](https://img.shields.io/crates/v/scsys?style=for-the-badge&logo=rust)](https://crates.io/crates/scsys)
8//! [![docs.rs](https://img.shields.io/docsrs/scsys?style=for-the-badge&logo=docs.rs)](https://docs.rs/scsys)
9//! [![GitHub License](https://img.shields.io/github/license/scattered-systems/scsys?style=for-the-badge&logo=github)](https://github.com/scattered-systems/scsys/blob/main/LICENSE)
10//!
11//! ***
12//!
13//! Welcome to `scsys`, this crate is tasked with providing a generic set of tools for the
14//! [`scsys.io`](https://scsys.io) ecosystem. It is designed to be a foundational library that
15//! helps establish a sense of consistency between individual efforts while working to reduce
16//! its overall footprint through modularization and feature-gating. These characteristics make
17//! it suitable for use both within the ecosystem and outside of it.
18//!
19#![crate_type = "lib"]
20#![crate_name = "scsys"]
21#![cfg_attr(not(feature = "std"), no_std)]
22#![cfg_attr(all(feature = "alloc", feature = "nightly"), feature(allocator_api))]
23#![doc(
24    html_logo_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/logo.png",
25    html_favicon_url = "https://raw.githubusercontent.com/scattered-systems/.github/main/assets/favicon.ico"
26)]
27#![allow(
28    clippy::module_inception,
29    clippy::needless_doctest_main,
30    clippy::should_implement_trait
31)]
32
33#[doc(inline)]
34pub use scsys_core::*;
35#[doc(inline)]
36#[cfg(feature = "derive")]
37pub use scsys_derive::*;
38#[doc(inline)]
39#[cfg(feature = "macros")]
40pub use scsys_macros::*;
41
42/// the `config` module implements a set of standardized configuration schemas
43#[doc(inline)]
44#[cfg(feature = "config")]
45pub use scsys_config as config;
46/// cryptographic primitives and utilities implemented for the ecosystem
47#[doc(inline)]
48#[cfg(feature = "crypto")]
49pub use scsys_crypto as crypto;
50/// this module contains various traits commonly used throughout the scsys ecosystem
51#[doc(inline)]
52#[cfg(feature = "traits")]
53pub use scsys_traits as traits;
54#[doc(inline)]
55#[cfg(feature = "traits")]
56pub use scsys_traits::prelude::*;
57/// utilities for working with the scsys ecosystem
58#[doc(inline)]
59#[cfg(feature = "utils")]
60pub use scsys_util as utils;
61
62#[doc(hidden)]
63pub mod prelude {
64    pub use scsys_core::prelude::*;
65
66    #[cfg(feature = "config")]
67    pub use scsys_config::prelude::*;
68    #[cfg(feature = "crypto")]
69    pub use scsys_crypto::prelude::*;
70    #[cfg(feature = "derive")]
71    pub use scsys_derive::*;
72    #[cfg(feature = "macros")]
73    pub use scsys_macros::*;
74    #[cfg(feature = "traits")]
75    pub use scsys_traits::prelude::*;
76}