validators 0.25.0

This is a library for validating and modeling user input and this crate provides models, function, traits, errors and other dependencies.
Documentation
[package]
name = "validators"
version = "0.25.0"
authors = ["Magic Len <len@magiclen.org>"]
edition = "2021"
rust-version = "1.69"
repository = "https://github.com/magiclen/validators"
homepage = "https://magiclen.org/validators"
keywords = ["validator", "validation", "user", "serde", "rocket"]
categories = ["no-std", "parser-implementations", "value-formatting"]
description = "This is a library for validating and modeling user input and this crate provides models, function, traits, errors and other dependencies."
license = "MIT"
include = ["src/**/*", "Cargo.toml", "README.md", "LICENSE"]

[dependencies]
validators-derive = { version = "0.25", path = "../validators-derive", optional = true }

data-encoding = { version = "2.5", default-features = false, features = ["alloc"], optional = true }
idna = { version = "0.5", default-features = false, features = ["alloc"], optional = true }
byte-unit = { version = "5.1", default-features = false, optional = true }
url-dep = { package = "url", version = "2", optional = true }
str-utils = { version = "0.1", optional = true }
serde_json = { version = "1", default-features = false, features = ["alloc"], optional = true }
phonenumber = { version = "0.3", optional = true }
regex-dep = { package = "regex", version = "1", optional = true }
semver-dep = { package = "semver", version = "1", default-features = false, optional = true }

serde = { version = "1", default-features = false, features = ["alloc"], optional = true }
rocket = { version = "0.5", default-features = false, optional = true }

[dev-dependencies]
lazy_static = "1.4"
once_cell = "1.19"

[features]
default = ["std", "all-validators", "derive"]

derive = ["dep:validators-derive"]
std = [
    "validators-derive?/std",
    "data-encoding?/std",
    "idna?/std",
    "byte-unit?/std",
    "serde_json?/std",
    "semver-dep?/std",
    "serde?/std",
]
test = ["validators-derive?/test"]
full = ["validators-derive?/full"]
byte-unit-u128 = ["byte-unit?/u128"]

all-validators = [
    "base32",
    "base32_decoded",
    "base64",
    "base64_decoded",
    "base64_url",
    "base64_url_decoded",
    "bit",
    "boolean",
    "byte",
    "domain",
    "email",
    "host",
    "http_url",
    "http_ftp_url",
    "ip",
    "ipv4",
    "ipv6",
    "json",
    "length",
    "line",
    "mac_address",
    "number",
    "phone",
    "regex",
    "semver",
    "semver_req",
    "signed_integer",
    "text",
    "unsigned_integer",
    "url",
    "uuid",
]

base32 = ["validators-derive?/base32"]
base32_decoded = ["validators-derive?/base32_decoded", "data-encoding"]
base64 = ["validators-derive?/base64"]
base64_decoded = ["validators-derive?/base64_decoded", "data-encoding"]
base64_url = ["validators-derive?/base64_url"]
base64_url_decoded = ["validators-derive?/base64_url_decoded", "data-encoding"]
bit = ["validators-derive?/bit", "byte-unit/bit"]
boolean = ["validators-derive?/boolean"]
byte = ["validators-derive?/byte", "byte-unit/byte"]
domain = ["validators-derive?/domain", "std", "idna"]
email = ["validators-derive?/email", "std", "idna"]
host = ["validators-derive?/host", "std", "idna"]
http_url = ["validators-derive?/http_url", "url", "str-utils"]
http_ftp_url = ["validators-derive?/http_ftp_url", "url", "str-utils"]
ip = ["validators-derive?/ip", "std"]
ipv4 = ["validators-derive?/ipv4", "std"]
ipv6 = ["validators-derive?/ipv6", "std"]
json = ["validators-derive?/json", "serde_json"]
length = ["validators-derive?/length"]
line = ["validators-derive?/line"]
mac_address = ["validators-derive?/mac_address"]
number = ["validators-derive?/number"]
phone = ["validators-derive?/phone", "phonenumber"]
regex = ["validators-derive?/regex", "regex-dep"]
semver = ["validators-derive?/semver", "semver-dep"]
semver_req = ["validators-derive?/semver_req", "semver-dep"]
signed_integer = ["validators-derive?/signed_integer"]
text = ["validators-derive?/text"]
unsigned_integer = ["validators-derive?/unsigned_integer"]
url = ["validators-derive?/url", "url-dep"]
uuid = ["validators-derive?/uuid"]

data-encoding = ["dep:data-encoding"]
idna = ["dep:idna"]
byte-unit = ["dep:byte-unit"]
url-dep = ["dep:url-dep", "std"]
str-utils = ["dep:str-utils"]
serde_json = ["dep:serde_json", "serde"]
phonenumber = ["dep:phonenumber", "std"]
regex-dep = ["dep:regex-dep", "std"]
semver-dep = ["dep:semver-dep"]

serde = ["validators-derive?/serde", "dep:serde", "byte-unit?/serde", "url-dep?/serde", "semver-dep?/serde"]
rocket = ["validators-derive?/rocket", "dep:rocket", "std", "byte-unit?/rocket"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]