[workspace]
members = [".", "./derive"]
[workspace.package]
edition = "2021"
rust-version = "1.95"
license = "Apache-2.0"
repository = "https://codeberg.org/msrd0/openapi_type"
[workspace.lints.rust]
elided_lifetimes_in_paths = "deny"
improper_ctypes_definitions = "deny"
missing_debug_implementations = "warn"
type_alias_bounds = "allow"
unreachable_pub = "warn"
unsafe_code = "forbid"
[workspace.lints.clippy]
await_holding_lock = "allow"
doc_lazy_continuation = "allow"
manual_is_multiple_of = "allow"
manual_range_contains = "allow"
tabs_in_doc_comments = "allow"
[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
[package]
name = "openapi_type"
version = "0.6.0"
edition.workspace = true
rust-version.workspace = true
description = "OpenAPI type information for Rust structs and enums"
keywords = ["openapi", "swagger", "api", "oas", "oas3"]
license.workspace = true
repository.workspace = true
readme = "crates-io.md"
include = ["src/**/*", "LICENSE", "crates-io.md"]
[lints]
workspace = true
[features]
default = ["tuples16"]
tuples16 = []
tuples32 = ["tuples16"]
tuples48 = ["tuples32"]
tuples64 = ["tuples48"]
chrono = ["chrono04"]
hashbrown = ["hashbrown016", "hashbrown017"]
jiff = ["jiff02"]
linked-hash-map = ["linked-hash-map05"]
time = ["time03"]
url = ["url2"]
uuid = ["uuid1"]
chrono04 = ["dep:chrono04", "_datetime"]
hashbrown016 = ["dep:hashbrown016"]
hashbrown017 = ["dep:hashbrown017"]
jiff02 = ["dep:jiff02", "_datetime"]
linked-hash-map05 = ["dep:linked-hash-map05"]
time03 = ["dep:time03", "_datetime"]
url2 = ["dep:url2"]
uuid1 = ["dep:uuid1"]
_datetime = []
_all_features = []
[package.metadata.docs.rs]
all-features = true
[dependencies]
indexmap = { version = "2.13", features = ["serde"] }
oas3 = "0.22"
openapi_type_derive = { path = "./derive", version = "0.6.0" }
serde = { version = "1.0.158", features = ["derive"] }
serde_json = "1.0"
chrono04 = { package = "chrono", version = "0.4", default-features = false, optional = true }
hashbrown016 = { package = "hashbrown", version = "0.16", default-features = false, optional = true }
hashbrown017 = { package = "hashbrown", version = "0.17", default-features = false, optional = true }
jiff02 = { package = "jiff", version = "0.2", optional = true }
linked-hash-map05 = { package = "linked-hash-map", version = "0.5", optional = true }
time03 = { package = "time", version = "0.3.38", features = ["serde-human-readable"], optional = true }
url2 = { package = "url", version = "2.5.4", optional = true }
uuid1 = { package = "uuid", version = "1", optional = true }
[dev-dependencies]
paste = "1.0"
pretty_assertions = "1.0"
serde-saphyr = { version = "0.0.27", features = ["serialize"], default-features = false }
trybuild = "=1.0.116"