[package]
name = "buffa"
description = "A pure Rust Protocol Buffers implementation with first-class editions support"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["std", "fast-utf8"]
std = [
"bytes/std",
"foldhash/std",
"thiserror/std",
"serde?/std",
"serde_json?/std",
"smoothutf8?/simdutf8",
]
fast-utf8 = ["dep:smoothutf8"]
json = [
"dep:serde",
"dep:base64",
"dep:serde_json",
"serde/alloc",
"serde/derive",
"hashbrown/serde",
]
arbitrary = ["dep:arbitrary"]
text = []
[dependencies]
arbitrary = { workspace = true, optional = true }
base64 = { workspace = true, optional = true }
bytes = { workspace = true }
foldhash = { workspace = true }
hashbrown = { workspace = true }
once_cell = { workspace = true, features = ["alloc"] }
rustversion = { workspace = true }
serde = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
smoothutf8 = { workspace = true, optional = true }
thiserror = { workspace = true }