# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "c-its-parser"
version = "2.0.0"
authors = ["consider it GmbH"]
build = false
exclude = [
    ".github/*",
    "scripts/*",
    "*.sh",
    "release.md",
    "cliff.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tools for encoding and decoding ETSI messages (GN + Transport + CAM/DENM/IVIM/SSEM/SREM/MAPEM/SPATEM)"
readme = "README.md"
keywords = [
    "its",
    "c-its",
    "v2x",
    "etsi",
]
categories = [
    "no-std",
    "encoding",
    "parser-implementations",
    "wasm",
]
license = "MIT"
repository = "https://github.com/consider-it/C-ITS-Parser"

[features]
_cdd_1_3_1_1 = []
_cdd_2_2_1 = []
_dsrc_2_2_1 = []
_etsi = [
    "transport",
    "dep:nom",
    "rasn",
    "dep:hex",
]
cam = ["cam_1_4_1"]
cam_1_4_1 = [
    "_etsi",
    "_cdd_1_3_1_1",
]
cpm = [
    "cpm_1",
    "cpm_2_1_1",
]
cpm_1 = [
    "_etsi",
    "cam_1_4_1",
    "_cdd_1_3_1_1",
    "_dsrc_2_2_1",
]
cpm_2_1_1 = [
    "_etsi",
    "_cdd_2_2_1",
]
default = [
    "v2x",
    "json",
    "std",
]
denm = [
    "denm_1_3_1",
    "denm_2_2_1",
]
denm_1_3_1 = [
    "_etsi",
    "_cdd_1_3_1_1",
]
denm_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
]
geo = ["dep:geo-types"]
ivim = [
    "ivim_2_1_1",
    "ivim_2_2_1",
]
ivim_2_1_1 = [
    "_etsi",
    "_cdd_1_3_1_1",
    "_dsrc_2_2_1",
]
ivim_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
    "_dsrc_2_2_1",
]
json = [
    "geonetworking/json",
    "dep:serde",
    "dep:serde_json",
    "dep:js-sys",
]
mapem = ["mapem_2_2_1"]
mapem_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
    "_dsrc_2_2_1",
]
spatem = ["spatem_2_2_1"]
spatem_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
    "_dsrc_2_2_1",
]
srem = ["srem_2_2_1"]
srem_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
    "_dsrc_2_2_1",
]
ssem = ["ssem_2_2_1"]
ssem_2_2_1 = [
    "_etsi",
    "_cdd_2_2_1",
    "_dsrc_2_2_1",
]
std = []
time = ["dep:chrono"]
transport = [
    "dep:geonetworking",
    "dep:nom",
    "dep:etherparse",
]
v2x = [
    "cpm_1",
    "denm_1_3_1",
    "ivim_2_1_1",
    "cam_1_4_1",
    "cpm_2_1_1",
    "denm_2_2_1",
    "ivim_2_2_1",
    "mapem_2_2_1",
    "spatem_2_2_1",
    "srem_2_2_1",
    "ssem_2_2_1",
]

[lib]
name = "c_its_parser"
crate-type = [
    "lib",
    "cdylib",
]
path = "src/lib.rs"

[[test]]
name = "conversion_tests"
path = "tests/conversion_tests.rs"

[[test]]
name = "lib_test"
path = "tests/lib_test.rs"

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

[dependencies.etherparse]
version = "0.20"
optional = true
default-features = false

[dependencies.geo-types]
version = "0.7.17"
optional = true
default-features = false

[dependencies.geonetworking]
version = "0.2"
optional = true
default-features = false

[dependencies.nom]
version = "7.1.3"
features = ["alloc"]
optional = true
default-features = false

[dependencies.rasn]
version = "0.28.7"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false

[dependencies.serde_json]
version = "1.0"
features = ["alloc"]
optional = true
default-features = false

[dev-dependencies.assert_float_eq]
version = "1.2.0"

[dev-dependencies.pretty_assertions]
version = "1.4.1"

[dev-dependencies.wasm-bindgen-test]
version = "0.3.52"

[dev-dependencies.xmltree]
version = "0.12.0"

[target.wasm32-unknown-unknown.dependencies.hex]
version = "0.4"
optional = true

[target.wasm32-unknown-unknown.dependencies.js-sys]
version = "0.3.79"
optional = true

[target.wasm32-unknown-unknown.dependencies.wasm-bindgen]
version = "0.2.102"

[profile.release]
lto = true
