[package]
name = "stilltypes"
version = "0.2.0"
edition = "2024"
rust-version = "1.89"
authors = ["Glen Baker <iepathos@gmail.com>"]
license = "MIT"
description = "Domain-specific refined types for the Rust and Stillwater ecosystem"
repository = "https://github.com/iepathos/stilltypes"
keywords = ["validation", "types", "refinement", "domain", "stillwater"]
categories = ["development-tools", "rust-patterns"]
readme = "README.md"
[dependencies]
stillwater = "1.0"
regex = { version = "1", optional = true }
url = { version = "2", optional = true }
uuid = { version = "1", optional = true }
phonenumber = { version = "0.3", optional = true }
email_address = { version = "0.2", optional = true }
iban = { version = "5", optional = true, package = "iban_validate" }
creditcard = { version = "0.1", optional = true }
[features]
default = ["email", "url"]
full = ["email", "url", "uuid", "phone", "financial", "network", "geo", "numeric", "identifiers"]
email = ["dep:email_address"]
url = ["dep:url"]
uuid = ["dep:uuid"]
phone = ["dep:phonenumber"]
financial = ["dep:iban", "dep:creditcard"]
network = []
geo = []
numeric = []
identifiers = []
serde = ["stillwater/serde", "uuid?/serde", "url?/serde"]
[dev-dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
[[example]]
name = "form_validation"
required-features = ["full"]
[[example]]
name = "api_handler"
required-features = ["full"]
[[example]]
name = "uuid_validation"
required-features = ["uuid"]
[[example]]
name = "financial_validation"
required-features = ["financial"]
[[example]]
name = "network_validation"
required-features = ["full"]
[[example]]
name = "geo_validation"
required-features = ["full"]
[[example]]
name = "discount_validation"
required-features = ["full"]
[[example]]
name = "slug_validation"
required-features = ["full"]