[package]
edition = "2024"
rust-version = "1.94"
name = "qubit-value"
version = "0.11.0"
authors = ["Haixing Hu <starfish.hu@gmail.com>"]
build = false
include = [
"/Cargo.toml",
"/LICENSE",
"/README.md",
"/README.zh_CN.md",
"/benches/**",
"/doc/**/design*.md",
"/doc/**/user_guide*.md",
"/src/**",
"/tests/**",
"/.github/workflows/ci.yml",
"/.github/workflows/fuzz.yml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-safe containers for single, multi-valued, and named runtime values"
homepage = "https://github.com/qubit-ltd/rs-value"
documentation = "https://docs.rs/qubit-value"
readme = "README.md"
keywords = [
"value",
"container",
"type-safe",
"serde",
"qubit",
]
categories = [
"data-structures",
"config",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/qubit-ltd/rs-value"
[package.metadata.rs-ci]
package-include-extra = [
"/.github/workflows/ci.yml",
"/.github/workflows/fuzz.yml",
]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all = [
"converter",
"chrono",
"big-number",
"url",
"json",
"natural-json",
"redact",
]
big-decimal = [
"dep:bigdecimal",
"dep:num-bigint",
"qubit-datatype/big-decimal",
]
big-integer = [
"dep:num-bigint",
"qubit-datatype/big-integer",
]
big-number = [
"big-integer",
"big-decimal",
]
chrono = [
"dep:chrono",
"qubit-datatype/chrono",
]
converter = ["qubit-datatype/converter"]
default = []
json = [
"dep:qubit-budget",
"dep:serde_json",
"dep:qubit-json",
"qubit-datatype/json",
"qubit-redact?/json",
]
natural-json = [
"converter",
"json",
]
redact = ["dep:qubit-redact"]
url = [
"dep:url",
"qubit-datatype/url",
]
[lib]
name = "qubit_value"
path = "src/lib.rs"
doctest = true
[[test]]
name = "integration_tests"
path = "tests/mod.rs"
[[test]]
name = "core_feature_tests"
path = "tests/core_feature_tests.rs"
[[test]]
name = "feature_contract_tests"
path = "tests/feature_contract_tests.rs"
[[test]]
name = "documentation_installation_tests"
path = "tests/documentation_installation_tests.rs"
required-features = ["all"]
[[test]]
name = "doc_examples_tests"
path = "tests/doc_examples_tests.rs"
required-features = ["all"]
[[test]]
name = "borrow_owned_api_tests"
path = "tests/borrow_owned_api_tests.rs"
[[test]]
name = "wire_preparation_tests"
path = "tests/wire_preparation_tests.rs"
required-features = ["json"]
[[test]]
name = "wire_preparation_allocation_tests"
path = "tests/wire_preparation_allocation_tests.rs"
required-features = ["json"]
[[test]]
name = "preflight_allocation_tests"
path = "tests/preflight_allocation_tests.rs"
required-features = [
"big-decimal",
"json",
]
[[bench]]
name = "downstream_read_bench"
path = "benches/downstream_read_bench.rs"
harness = false
required-features = ["natural-json"]
[[bench]]
name = "value_container_add_bench"
path = "benches/value_container_add_bench.rs"
harness = false
[[bench]]
name = "value_identity_bench"
path = "benches/value_identity_bench.rs"
harness = false
required-features = [
"big-decimal",
"json",
]
[dependencies.bigdecimal]
version = "0.4"
optional = true
[dependencies.chrono]
version = "0.4"
features = [
"std",
"serde",
]
optional = true
default-features = false
[dependencies.num-bigint]
version = "0.4"
optional = true
[dependencies.qubit-budget]
version = "0.5"
features = ["json"]
optional = true
[dependencies.qubit-datatype]
version = "0.13"
default-features = false
[dependencies.qubit-json]
version = "0.9"
optional = true
[dependencies.qubit-redact]
version = "0.8"
optional = true
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
features = ["float_roundtrip"]
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.url]
version = "2.5"
features = ["serde"]
optional = true
[dev-dependencies.chrono]
version = "0.4"
features = ["std"]
default-features = false
[dev-dependencies.criterion]
version = "0.8"
default-features = false
[dev-dependencies.qubit-budget]
version = "0.5"
features = ["json"]
[dev-dependencies.serde_json]
version = "1.0"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(docsrs)"]