[package]
name = "ploidy-pointer"
description = "JSON Pointers for strongly-typed data structures"
readme = "README.md"
keywords = ["json-pointer", "json-schema", "rfc6901", "json", "pointer"]
rust-version = "1.86"
version.workspace = true
license.workspace = true
edition.workspace = true
repository.workspace = true

[dependencies]
indexmap = { version = "2", optional = true }
ploidy-pointer-derive = { workspace = true, optional = true }
ref-cast = { workspace = true }
serde = { version = "1", optional = true }
serde_bytes = { version = "0.11", optional = true }
serde_json = { version = "1", optional = true }
strsim = { version = "0.11", optional = true }
thiserror = "2"

[dependencies.chrono]
version = "0.4"
default-features = false
features = []
optional = true

[dependencies.url]
version = "2.5"
default-features = false
features = []
optional = true

[dependencies.uuid]
version = "1"
default-features = false
features = []
optional = true

[features]
default = ["derive"]
full = [
    "chrono",
    "derive",
    "did-you-mean",
    "indexmap",
    "serde",
    "serde_bytes",
    "serde_json",
    "url",
    "uuid",
]
chrono = ["dep:chrono"]
derive = ["dep:ploidy-pointer-derive"]
did-you-mean = ["dep:strsim", "ploidy-pointer-derive/did-you-mean"]
indexmap = ["dep:indexmap"]
serde = ["dep:serde"]
serde_bytes = ["dep:serde_bytes"]
serde_json = ["dep:serde_json"]
url = ["dep:url"]
uuid = ["dep:uuid"]
