//! # Puuid (Prefixed UUID)
//!
//! View [documentation](https://h01.in/projects/puuid).
//! `puuid` provides a type-safe wrapper around standard UUIDs that includes a
//! static prefix (e.g., `user_`, `post_`).
//!
//! ## Modules
//! - [`wrapper`]: Contains the main `Puuid` struct.
//! - [`prefix`]: Contains the `Prefix` trait and helper macro.
//!
//! ## Usage
//! ```rust
//! use puuid::{Puuid, prefix};
//!
//! prefix!(User, "user");
//! type UserId = Puuid<User>;
//!
//! let id = UserId::new_v7();
//! assert!(id.to_string().starts_with("user_"));
//! ```

pub use uuid;
pub use uuid::Uuid;

mod prefix;
mod wrapper;

pub use crate::prefix::Prefix;
pub use crate::wrapper::Puuid;

#[cfg(feature = "serde")]
mod serde_impl;
