[go: up one dir, main page]

bson 3.1.0

Encoding and decoding support for BSON in Rust
Documentation
[package]
name = "bson"
version = "3.1.0"
authors = [
    "Y. T. Chung <zonyitoo@gmail.com>",
    "Kevin Yeh <kevinyeah@utexas.edu>",
    "Saghm Rossi <saghmrossi@gmail.com>",
    "Patrick Freed <patrick.freed@mongodb.com>",
    "Isabel Atkinson <isabel.atkinson@mongodb.com>",
    "Abraham Egnor <abraham.egnor@mongodb.com>",
]
description = "Encoding and decoding support for BSON in Rust"
license = "MIT"
readme = "README.md"
repository = "https://github.com/mongodb/bson-rust"
edition = "2021"
keywords = ["bson", "mongodb", "serde", "serialization", "deserialization"]
categories = ["encoding"]
rust-version = "1.81"

# By default cargo include everything git include
# cargo diet can help to manage what's not useful.
exclude = [
    "etc/**",
    "examples/**",
    "fuzz/**",
    "src/tests/**",
    "rustfmt.toml",
    ".travis.yml",
    ".evergreen/**",
    ".gitignore"
]

[features]
default = ["compat-3-0-0"]
compat-3-0-0 = []
# if enabled, include API for interfacing with chrono 0.4
chrono-0_4 = ["dep:chrono"]
# if enabled, include API for interfacing with jiff 0.2
jiff-0_2 = ["dep:jiff"]
# enable the large-dates feature for the time crate
large_dates = ["time/large-dates"]
# if enabled, include API for interfacing with uuid 1.x
uuid-1 = []
# if enabled, include API for interfacing with time 0.3
time-0_3 = []
serde_path_to_error = ["dep:serde_path_to_error"]
# if enabled, include serde_with interop.
# should be used in conjunction with chrono-0_4 or uuid-0_8.
serde_with-3 = ["dep:serde_with", "dep:serde"]
serde = ["dep:serde"]
serde_json-1 = ["dep:serde_json"]

[lib]
name = "bson"

[dependencies]
ahash = "0.8.12"
chrono = { version = "0.4.15", features = ["std"], default-features = false, optional = true }
jiff = { version = "0.2", default-features = false, optional = true }
rand = "0.9"
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
indexmap = "2.1.0"
hex = "0.4.2"
base64 = "0.22.1"
uuid = { version = "1.13.0", features = ["serde", "v4"] }
serde_bytes = "0.11.5"
serde_with = { version = "3.1.0", optional = true }
time = { version = "0.3.9", features = ["formatting", "parsing", "macros"] }
thiserror = "2"
bitvec = "1.0.1"
serde_path_to_error = { version = "0.1.16", optional = true }
simdutf8 = "0.1.5"

[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
js-sys = "0.3"
uuid = { version = "1.1.2", features = ["serde", "v4", "js"] }
getrandom = { version = "0.3", features = ["wasm_js"] }

[dev-dependencies]
assert_matches = "1.2"
criterion = "0.3.0"
pretty_assertions = "0.6.1"
proptest = "1.0.0"
serde_bytes = "0.11"
serde_path_to_error = "0.1.16"
serde_json = { version = "1", features = ["preserve_order"] }
chrono = { version = "0.4", features = ["serde", "clock", "std"], default-features = false }
jiff = { version = "0.2", default-features = false, features = ["std"] }
rmp-serde = "0.15"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]