scsys_core/
lib.rs

1/*
2    Appellation: scsys-core <library>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! This crate works to provide a set of utilities for working with state, time, and synchronization in Rust.
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(feature = "alloc")]
9extern crate alloc;
10
11#[doc(inline)]
12pub use self::{state::State, traits::prelude::*, types::prelude::*, utils::*};
13
14#[cfg(feature = "alloc")]
15#[doc(inline)]
16pub use self::error::*;
17
18#[macro_use]
19pub(crate) mod macros;
20#[macro_use]
21pub(crate) mod seal;
22pub(crate) mod utils;
23
24#[cfg(feature = "alloc")]
25pub mod error;
26pub mod hkt;
27pub mod id;
28pub mod state;
29#[doc(hidden)]
30pub mod stores;
31pub mod sync;
32pub mod time;
33
34pub mod traits {
35    #[doc(inline)]
36    pub use self::prelude::*;
37
38    pub mod adjust;
39    pub mod appellation;
40    pub mod classify;
41    pub mod convert;
42    pub mod dtype;
43    #[cfg(feature = "alloc")]
44    pub mod string;
45    pub mod toggle;
46    pub mod wrapper;
47
48    pub(crate) mod prelude {
49        pub use super::adjust::*;
50        pub use super::appellation::*;
51        pub use super::classify::*;
52        pub use super::convert::*;
53        pub use super::dtype::*;
54        #[cfg(feature = "alloc")]
55        pub use super::string::*;
56        pub use super::toggle::*;
57        pub use super::wrapper::*;
58    }
59}
60pub mod types;
61
62pub mod prelude {
63    pub use super::hkt::prelude::*;
64    #[cfg(feature = "alloc")]
65    pub use crate::error::*;
66    pub use crate::id::prelude::*;
67    pub use crate::state::prelude::*;
68    #[doc(hidden)]
69    pub use crate::stores::prelude::*;
70    pub use crate::sync::prelude::*;
71    pub use crate::time::prelude::*;
72    pub use crate::traits::prelude::*;
73    pub use crate::types::prelude::*;
74    pub use crate::utils::*;
75}