[package]
name = "c-its-parser"
version = "2.2.0"
edition = "2024"
authors = ["consider it GmbH"]
keywords = ["its", "c-its", "v2x", "etsi"]
license = "MIT"
categories = ["no-std", "encoding", "parser-implementations", "wasm"]
description = "Tools for encoding and decoding ETSI messages (GN + Transport + CAM/DENM/IVIM/SSEM/SREM/MAPEM/SPATEM)"
readme = "./README.md"
repository = "https://github.com/consider-it/C-ITS-Parser"
exclude = [
".github/*",
"scripts/*",
"*.sh",
"release.md",
"cliff.toml",
]
[package.metadata.docs.rs]
all-features = true
[lib]
name = "c_its_parser"
crate-type = ["lib", "cdylib"]
[profile.release]
lto = true
[features]
default = ["v2x", "json", "std"]
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"]
transport = ["dep:geonetworking", "dep:nom", "dep:etherparse"]
json = ["geonetworking/json", "dep:serde", "dep:serde_json", "dep:js-sys"]
geo = ["dep:geo-types"]
time = ["dep:chrono"]
std = []
libm = ["dep:num-traits"]
cpm_1 = ["_etsi", "cam_1_4_1", "_cdd_1_3_1_1", "_dsrc_2_2_1"]
denm_1_3_1 = ["_etsi", "_cdd_1_3_1_1"]
ivim_2_1_1 = ["_etsi", "_cdd_1_3_1_1", "_dsrc_2_2_1"]
cam_1_4_1 = ["_etsi", "_cdd_1_3_1_1"]
cpm_2_1_1 = ["_etsi", "_cdd_2_2_1"]
denm_2_2_1 = ["_etsi", "_cdd_2_2_1"]
ivim_2_2_1 = ["_etsi", "_cdd_2_2_1", "_dsrc_2_2_1"]
mapem_2_2_1 = ["_etsi", "_cdd_2_2_1", "_dsrc_2_2_1"]
spatem_2_2_1 = ["_etsi", "_cdd_2_2_1", "_dsrc_2_2_1"]
srem_2_2_1 = ["_etsi", "_cdd_2_2_1", "_dsrc_2_2_1"]
ssem_2_2_1 = ["_etsi", "_cdd_2_2_1", "_dsrc_2_2_1"]
cpm = ["cpm_1", "cpm_2_1_1"]
cam = ["cam_1_4_1"]
ivim = ["ivim_2_1_1", "ivim_2_2_1"]
denm = ["denm_1_3_1", "denm_2_2_1"]
mapem = ["mapem_2_2_1"]
spatem = ["spatem_2_2_1"]
srem = ["srem_2_2_1"]
ssem = ["ssem_2_2_1"]
_cdd_1_3_1_1 = []
_cdd_2_2_1 = []
_dsrc_2_2_1 = []
_etsi = ["transport", "dep:nom", "rasn", "dep:hex"]
[dependencies]
chrono = { version = "0.4.42", default-features = false, optional = true }
etherparse = { version = "0.20", default-features = false, optional = true }
geonetworking = { version = "0.2", default-features = false, optional = true }
geo-types = { version = "0.7.17", default-features = false, optional = true }
nom = { version = "7.1.3", default-features = false, features = ["alloc"], optional = true }
num-traits = { version = "0.2.19", default-features = false, features = ["libm"], optional = true }
rasn = { version = "0.28.7", optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
serde_json = { version = "1.0", default-features = false, features = ["alloc"], optional = true }
[target.wasm32-unknown-unknown.dependencies]
hex = { version = "0.4", optional = true }
js-sys = { version = "0.3.79", optional = true }
wasm-bindgen = { version = "0.2.102" }
[dev-dependencies]
pretty_assertions = "1.4.1"
assert_float_eq = "1.2.0"
wasm-bindgen-test = "0.3.52"
xmltree = "0.12.0"