[package] name = "ender" version = "0.2.0" edition = "2021" repository = "https://github.com/bohdloss/ender" keywords = ["no_std", "ecoding", "ender", "parsing", "binary"] categories = ["embedded", "encoding", "parsing", "no-std", "no-std::no-alloc"] description = "An encoding library to work with any binary data format" license = "MIT" readme = "../README.md" [package.metadata.docs.rs] features = ["debug", "alloc", "std", "serde", "derive", "unstable"] rustdoc-args = ["--generate-link-to-definition"] [package.metadata.playground] features = ["std", "derive"] [dependencies] ender-derive = { version = "=0.2.0", optional = true, path = "../ender-derive" } array-init = "2.1.0" parse-display = "0.9.0" bytemuck = { version = "1.15.0" } embedded-io = { version = "0.6.1", default-features = false } # serde feature serde = { version = "1.0.197", optional = true, default-features = false } [dev-dependencies] serde = { version = "1.0.197", features = ["derive"] } uuid = { version = "1.8.0", features = ["serde"] } bitflags = "2.4.2" semver = { version = "1.0.22", features = ["serde"] } [features] default = ["std"] # Keeps track of the various structures being encoded/decoded to provide better information # when debugging a binary format. This probably prevents some optimizations on release mode, # so use this ONLY in executables, NEVER in libraries. debug = ["ender-derive/debug"] # Enables all features. Includes serde support, encryption and compression, and the derive macros. # The unstable feature still has to be enabled separately. all = ["alloc", "std", "derive", "serde"] # Imports the alloc crate, enabling some additional features and Encode/Decode implementations, # at the cost of portability alloc = ["embedded-io/alloc", "serde?/alloc"] # Imports the std crate, enabling some additional features and Encode/Decode implementations, # at the cost of portability std = ["alloc", "embedded-io/std", "serde?/std"] # Enables the serde compatibility layer. serde = ["dep:serde"] # Enables the derive(Encode, Decode) macros. derive = ["ender-derive"] # Enables features only available in nightly. unstable = ["ender-derive/unstable"]