cargo-features = ["profile-rustflags"]
[[bench]]
harness = false
name = "mod"
path = "benches/mod.rs"
[[bench]]
name = "runtime"
path = "benches/runtime.rs"
[dependencies.ariadne]
optional = true
version = "0.5.1"
[dependencies.async-trait]
version = "0.1.87"
[dependencies.async-unsync]
default-features = false
features = ["alloc"]
optional = true
version = "0.3.0"
[dependencies.bigdecimal]
default-features = false
version = "0.4.8"
[dependencies.binrw]
default-features = false
version = "0.15.0"
[dependencies.bs58]
default-features = false
version = "0.5.1"
[dependencies.bytes]
default-features = false
version = "1"
[dependencies.cfg-if]
version = "1.0.1"
[dependencies.console_error_panic_hook]
optional = true
version = "0.1.7"
[dependencies.console_log]
optional = true
version = "1.0.0"
[dependencies.datex_macros]
version = "0.1.2"
[dependencies.embassy-executor]
optional = true
version = "0.9.1"
[dependencies.embassy-futures]
default-features = false
optional = true
version = "0.1.2"
[dependencies.embassy-time]
optional = true
version = "0.5.0"
[dependencies.embedded-time]
version = "0.12.1"
[dependencies.esp-println]
optional = true
version = "0.16.1"
[dependencies.flexi_logger]
optional = true
version = "0.31.2"
[dependencies.foldhash]
default-features = false
optional = true
version = "0.2.0"
[dependencies.futures]
default-features = false
version = "0.3"
[dependencies.futures-core]
default-features = false
version = "0.3.31"
[dependencies.futures-util]
default-features = false
version = "0.3"
[dependencies.hashbrown]
features = ["serde"]
optional = true
version = "0.16.0"
[dependencies.hex]
default-features = false
version = "0.4.3"
[dependencies.indexmap]
default-features = false
version = "2.9.0"
[dependencies.internment]
optional = true
version = "0.8.6"
[dependencies.itertools]
default-features = false
features = ["use_alloc"]
version = "0.14.0"
[dependencies.log]
default-features = false
features = ["serde"]
version = "0.4"
[dependencies.logos]
optional = true
version = "0.15.0"
[dependencies.modular-bitfield]
version = "0.13.0"
[dependencies.mopa]
default-features = false
version = "0.2.2"
[dependencies.nostd]
features = ["io", "alloc"]
optional = true
version = "0.1.4"
[dependencies.num]
default-features = false
version = "0.4.3"
[dependencies.num-bigint]
default-features = false
version = "0.4"
[dependencies.num-integer]
default-features = false
version = "0.1"
[dependencies.num-traits]
default-features = false
version = "0.2.19"
[dependencies.num_enum]
default-features = false
version = "0.7.4"
[dependencies.ordered-float]
default-features = false
version = "5.0.0"
[dependencies.pretty]
optional = true
version = "0.12.5"
[dependencies.rand]
optional = true
version = "0.8.5"
[dependencies.realhydroper-lsp]
default-features = false
features = ["proposed"]
optional = true
version = "0.22.0"
[dependencies.ringmap]
default-features = false
version = "0.1.3"
[dependencies.serde]
default-features = false
features = ["derive"]
version = "1.0.219"
[dependencies.serde-big-array]
optional = true
version = "0.5.1"
[dependencies.serde_json]
default-features = false
version = "1.0.140"
[dependencies.serde_with]
default-features = false
features = ["macros", "schemars_1", "chrono"]
version = "3.12.0"
[dependencies.spin]
default-features = false
features = ["spin_mutex", "mutex", "lock_api"]
optional = true
version = "0.10.0"
[dependencies.strum]
default-features = false
features = ["derive"]
version = "0.27.1"
[dependencies.strum_macros]
version = "0.27.1"
[dependencies.syntect]
default-features = false
features = ["default-fancy"]
optional = true
version = "5.2.0"
[dependencies.thiserror]
default-features = false
version = "2.0.11"
[dependencies.tokio]
default-features = false
features = ["sync", "macros", "io-util", "rt", "time"]
optional = true
version = "1.43.0"
[dependencies.url]
default-features = false
version = "2.5.7"
[dependencies.uuid]
features = ["v4"]
optional = true
version = "1.15.1"
[dependencies.web-time]
optional = true
version = "1.1.0"
[dependencies.webrtc]
optional = true
version = "0.13.0"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.6.0"
[dev-dependencies.criterion-macro]
version = "0.4.0"
[dev-dependencies.indoc]
version = "2.0.6"
[dev-dependencies.json-syntax]
version = "0.12.5"
[dev-dependencies.lazy_static]
version = "1.4.0"
[dev-dependencies.ntest_timeout]
version = "0.9.3"
[features]
ast = []
com_http = []
com_serial = []
com_tcp = []
com_webrtc = []
com_websocket = []
compiler = ["std", "dep:ariadne", "dep:pretty", "dep:logos", "dep:internment", "ast"]
debug = ["dep:serde-big-array"]
decompiler = ["ast"]
default = ["std", "native_websocket", "native_tcp", "native_rand", "native_uuid", "native_crypto", "native_time", "native_http", "native_serial", "native_webrtc", "flexi_logger", "tokio_runtime", "compiler", "decompiler", "syntax_highlighting_legacy", "com_http", "com_tcp", "com_webrtc", "com_serial", "com_websocket", "lsp_tokio"]
embassy_runtime = ["dep:embassy-executor", "dep:embassy-time", "dep:embassy-futures", "dep:async-unsync"]
embedded = ["nostd", "embassy_runtime", "com_websocket", "com_serial", "com_tcp", "com_http"]
env_logger = []
esp_logger = ["dep:esp-println"]
lsp = ["dep:realhydroper-lsp"]
lsp_tokio = ["lsp", "realhydroper-lsp/runtime-tokio"]
lsp_wasm = ["lsp", "realhydroper-lsp/runtime-agnostic"]
native_crypto = ["openssl"]
native_http = ["com_http", "axum", "hyper", "tokio-stream"]
native_rand = ["rand"]
native_serial = ["com_serial", "serialport"]
native_tcp = ["com_tcp"]
native_time = []
native_uuid = ["uuid"]
native_webrtc = ["com_webrtc", "webrtc"]
native_websocket = ["com_websocket", "tokio-tungstenite", "tungstenite"]
nostd = ["dep:nostd", "dep:foldhash", "dep:spin", "dep:hashbrown", "serde/alloc", "serde_with/alloc", "serde_json/alloc", "futures-util/alloc", "futures-core/alloc", "futures/alloc", "mopa/no_std", "hex/alloc", "num/alloc", "num/libm"]
std = ["serde/std", "serde_with/std", "serde_json/std", "indexmap/std", "log/std", "futures-util/std", "futures-core/std", "futures/std", "url/std", "num/std", "num-traits/std", "num-bigint/std", "num-integer/std", "bigdecimal/std", "ordered-float/std", "num_enum/std", "strum/std", "binrw/std", "thiserror/std", "hex/std", "bytes/std", "ringmap/std"]
syntax_highlighting_legacy = ["dep:syntect"]
tokio_runtime = ["dep:tokio"]
wasm_logger = ["console_log", "console_error_panic_hook"]
wasm_runtime = ["dep:wasm-bindgen-futures", "dep:gloo-timers", "dep:tsify", "dep:web-time"]
[lib]
crate-type = ["cdylib", "rlib"]
name = "datex_core"
path = "src/lib.rs"
[lints.clippy]
alloc_instead_of_core = "deny"
std_instead_of_alloc = "deny"
std_instead_of_core = "deny"
[package]
authors = ["Benedikt Strehle <benedikt@unyt.org>", "Jonas Strehle <jonas@unyt.org>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "The DATEX Core Rust implementation"
edition = "2024"
license-file = "LICENSE"
name = "datex-core"
readme = "README.md"
version = "0.0.7"
[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
panic = "abort"
strip = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.axum]
optional = true
version = "0.8.4"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.gloo-timers]
features = ["futures"]
optional = true
version = "0.3.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hyper]
optional = true
version = "1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.openssl]
optional = true
version = "0.10.73"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.serialport]
optional = true
version = "4.7.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-stream]
features = ["sync"]
optional = true
version = "0.1.17"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-tungstenite]
features = ["native-tls"]
optional = true
version = "0.21.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tsify]
features = ["js"]
optional = true
version = "0.5.6"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tungstenite]
optional = true
version = "0.21.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wasm-bindgen]
optional = true
version = "=0.2.105"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wasm-bindgen-futures]
optional = true
version = "0.4.29"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.matchbox_signaling]
version = "0.12.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
default-features = false
features = ["sync", "macros", "io-util", "rt", "time"]
version = "1.43.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
features = ["futures"]
version = "0.3.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.tsify]
version = "0.5.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "=0.2.105"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.29"
[[test]]
name = "compiler"
path = "tests/compiler.rs"
[[test]]
name = "context"
path = "tests/context.rs"
[[test]]
name = "mod"
path = "tests/mod.rs"
[[test]]
name = "protocol_structures"
path = "tests/protocol_structures.rs"
[[test]]
name = "runtime"
path = "tests/runtime.rs"
[[test]]
name = "value_execution_consistency"
path = "tests/value_execution_consistency.rs"