[package]
description.workspace = true
edition.workspace = true
license.workspace = true
name = "ocpi-tariffs"
readme.workspace = true
repository.workspace = true
version.workspace = true

[lints]
workspace = true

[[example]]
doc-scrape-examples = true
name = "price_cdr_with_known_version"

[[example]]
doc-scrape-examples = true
name = "price_cdr_with_unknown_version"

[[example]]
doc-scrape-examples = true
name = "lint_tariff"

[[example]]
doc-scrape-examples = true
name = "generate_cdr_from_tariff"

[dependencies]
chrono = { default-features = false, features = ["clock", "std"], version = "0.4.44" }
chrono-tz.workspace = true
json-tools = { default-features = false, version = "1.1.3" }
num-derive = { default-features = false, version = "0.4.2" }
num-traits = { default-features = false, version = "0.2.19" }
# Pinning `rust_decimal` until bug is resolved
#
# See: <https://github.com/paupino/rust-decimal/issues/704>
rust_decimal = { features = ["serde-with-arbitrary-precision"], version = "=1.39.0" }
rust_decimal_macros = "=1.39.0"
tracing.workspace = true

[dev-dependencies]
assert_matches.workspace = true
json-strip-comments.workspace = true
rand = { version = "0.10.1" }
serde = { features = ["derive"], version = "1.0.228" }
serde_json = { default-features = false, features = ["raw_value"], version = "1.0.149" }
test-each = { version = "0.3.1" }
tracing-subscriber.workspace = true
