[package]
description = "Codec traits and implementations for Consortium IPC serialization"
edition.workspace = true
license.workspace = true
name = "consortium-codec"
version.workspace = true
authors.workspace = true
categories.workspace = true
homepage.workspace = true
keywords.workspace = true
readme.workspace = true
repository.workspace = true
rust-version.workspace = true
[features]
alloc = ["rkyv?/alloc", "rkyv?/bytecheck"]
default = []
defmt = ["consortium-log/defmt", "dep:defmt", "postcard?/use-defmt"]
postcard = ["dep:postcard", "dep:serde"]
prost = ["dep:prost"]
rkyv = ["consortium-codec-macros", "dep:rkyv"]
std = ["consortium-log/tracing", "rkyv?/bytecheck", "rkyv?/std"]
[dependencies]
consortium-codec-macros = { optional = true, path = "../consortium-codec-macros", version = "0.1.0" }
consortium-log = { default-features = false, path = "../consortium-log", version = "0.1.0" }
defmt = { optional = true, version = "1.1.0" }
postcard = { optional = true, version = "1.1.3" }
prost = { default-features = false, optional = true, version = "0.14.3" }
rkyv = { default-features = false, features = ["bytecheck"], optional = true, version = "0.8.16" }
serde = { default-features = false, features = ["derive"], optional = true, version = "1.0.228" }
[dev-dependencies]
serde = { default-features = false, features = ["derive"], version = "1.0.228" }
trybuild = "1"