pact_models 1.3.13

Pact-Rust support library that provides the core models for dealing with Pact files
Documentation
[package]
name = "pact_models"
version = "1.3.13"
authors = ["Ronald Holshausen <ronald.holshausen@gmail.com>"]
edition = "2024"
description = "Pact-Rust support library that provides the core models for dealing with Pact files"
homepage = "https://www.pact.io"
repository = "https://github.com/pact-foundation/pact-reference/blob/master/rust/pact_models"
readme = "README.md"
keywords = ["testing", "pact", "cdc"]
license = "MIT"
exclude = [
    "*.iml"
]
build = "build.rs"

[features]
default = ["datetime", "xml", "form_urlencoded"]
datetime = ["dep:chrono", "dep:chrono-tz", "dep:gregorian"] # Support for date/time matchers and expressions
xml = ["dep:sxd-document", "dep:kiss_xml"] # support for matching XML documents
form_urlencoded = ["dep:serde_urlencoded"] # suport for matching form urlencoded

[dependencies]
ariadne = "0.6.0"
anyhow = "1.0.104"
base64 = "0.23.0"
bytes = { version = "1.12.1", features = ["serde"] }
chrono = { version = "0.4.45", features = ["std", "clock"], default-features = false, optional = true }
chrono-tz = { version = "0.10.4", optional = true }
gregorian = { version = "0.2.4", optional = true }
hashers = "1.0.1"
hex = "0.4.3"
indextree = "4.8.1"
itertools = "0.15.0"
kiss_xml = { version = "1.1.0", optional = true }
lazy_static = "1.5.0"
lenient_semver = "0.4.2"
logos = "0.16.1"
maplit = "1.0.2"
mime = "0.3.17"
nom = "7.1.3"
rand = "0.9.5"
rand_regex = "0.18.1"
regex = "1.13.1"
regex-syntax = "0.8.11"
semver = "1.0.28"
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
serde_urlencoded = { version = "0.7.1", optional = true }
sxd-document = { version = "0.3.2", optional = true }
tracing = "0.1.44" # This needs to be the same version across all the libs (i.e. Pact FFI and plugin driver)
uuid = { version = "1.24.0", features = ["v4"] }

[target.'cfg(not(target_family = "wasm"))'.dependencies]
fs2 = "0.4.3"
onig = { version = "6.5.1", default-features = false }
reqwest = { version = "0.13.4", default-features = false, features = ["rustls-no-provider", "blocking", "json"] }

[dev-dependencies]
expectest = "0.12.0"
hamcrest2 = "0.3.0"
pretty_assertions = "1.4.1"
rstest = "0.26.1"
speculate = "0.1.2"
test-log = { version = "0.2.21", features = ["trace"] }
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "tracing-log", "fmt"] }
trim-margin = "0.1.0"

[build-dependencies]
parse-zoneinfo = "0.3.1"
maplit = "1.0.2"