[[bench]]
harness = false
name = "cross_store_comparison"
path = "benches/cross_store_comparison.rs"
required-features = ["native", "libp2p"]
[[bench]]
harness = false
name = "redb_wrapper_overhead"
path = "benches/redb_wrapper_overhead.rs"
required-features = ["native", "libp2p"]
[[bench]]
harness = false
name = "redb_zerocopy_overhead"
path = "benches/redb_zerocopy_overhead.rs"
required-features = ["native", "libp2p"]
[[bench]]
harness = false
name = "sled_wrapper_overhead"
path = "benches/sled_wrapper_overhead.rs"
required-features = ["native", "libp2p"]
[dependencies.anyhow]
version = "1.0.100"
[dependencies.bincode]
features = ["derive", "serde"]
version = "2.0"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.derive_more]
features = ["from", "try_into", "into"]
version = "2.0.1"
[dependencies.getrandom]
features = ["js"]
version = "0.2"
[dependencies.netabase_deps]
version = "0.0.7"
[dependencies.netabase_macros]
features = []
version = "0.0.7"
[dependencies.ouroboros]
optional = true
version = "0.18"
[dependencies.redb]
optional = true
version = "3.1.0"
[dependencies.rs_merkle]
version = "1.4"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.sled]
optional = true
version = "0.34.7"
[dependencies.strum]
features = ["derive", "strum_macros"]
version = "0.27.2"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.typed-builder]
version = "0.20"
[dev-dependencies.env_logger]
version = "0.10"
[dev-dependencies.log]
version = "0.4"
[dev-dependencies.quickcheck]
version = "1.0"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3.0"
[[example]]
name = "backend_subscription_integration"
path = "examples/backend_subscription_integration.rs"
[[example]]
name = "basic_store"
path = "examples/basic_store.rs"
required-features = ["native"]
[[example]]
name = "batch_atomicity"
path = "examples/batch_atomicity.rs"
[[example]]
name = "batch_import"
path = "examples/batch_import.rs"
[[example]]
name = "batch_operations"
path = "examples/batch_operations.rs"
[[example]]
name = "config_api_showcase"
path = "examples/config_api_showcase.rs"
[[example]]
name = "redb_basic"
path = "examples/redb_basic.rs"
[[example]]
name = "redb_zerocopy"
path = "examples/redb_zerocopy.rs"
[[example]]
name = "simple_streams"
path = "examples/simple_streams.rs"
[[example]]
name = "subscription_demo"
path = "examples/subscription_demo.rs"
[[example]]
name = "subscription_streams"
path = "examples/subscription_streams.rs"
[[example]]
name = "transactions"
path = "examples/transactions.rs"
[[example]]
name = "unified_api"
path = "examples/unified_api.rs"
required-features = ["native"]
[features]
default = ["native"]
libp2p = ["dep:libp2p", "netabase_macros/libp2p"]
native = ["sled", "redb", "libp2p"]
record-store = ["libp2p"]
redb = ["dep:redb", "netabase_deps/redb", "netabase_macros/redb"]
redb-zerocopy = ["redb", "dep:ouroboros", "netabase_macros/redb-zerocopy"]
sled = ["dep:sled", "netabase_macros/sled"]
uniffi = ["netabase_macros/uniffi"]
wasm = ["web-sys", "js-sys", "wasm-bindgen", "wasm-bindgen-futures", "indexed_db_futures", "netabase_macros/wasm"]
[lib]
crate-type = ["cdylib", "rlib"]
name = "netabase_store"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database"]
description = "A type-safe, multi-backend key-value storage library for Rust with support for native (Sled, Redb) and WASM (IndexedDB) environments."
edition = "2024"
keywords = ["key-value", "storage", "wrapper", "libp2p", "wasm"]
license = "GPL-3.0-only"
name = "netabase_store"
readme = "README.md"
repository = "https://github.com/newsnet-africa/netabase_store.git"
version = "0.0.7"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.libp2p]
features = ["kad"]
optional = true
version = "0.56.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.pprof]
features = ["flamegraph", "criterion"]
version = "0.13"
[target.'cfg(target_arch = "wasm32")'.dependencies.indexed_db_futures]
optional = true
version = "0.5"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
optional = true
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
optional = true
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
optional = true
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
features = ["IdbDatabase", "IdbObjectStore", "IdbTransaction", "IdbRequest", "IdbCursorWithValue", "IdbKeyRange", "IdbTransactionMode", "IdbCursorDirection", "IdbOpenDbRequest", "IdbVersionChangeEvent", "DomException"]
optional = true
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[[test]]
name = "backend_crud_tests"
path = "tests/backend_crud_tests.rs"
[[test]]
name = "comprehensive_store_tests"
path = "tests/comprehensive_store_tests.rs"
[[test]]
name = "convenience_key_functions_test"
path = "tests/convenience_key_functions_test.rs"
[[test]]
name = "cross_store_compat_tests"
path = "tests/cross_store_compat_tests.rs"
[[test]]
name = "generic_new_constructor_test"
path = "tests/generic_new_constructor_test.rs"
[[test]]
name = "minimal_streams_test"
path = "tests/minimal_streams_test.rs"
[[test]]
name = "netabase_store_comprehensive_tests"
path = "tests/netabase_store_comprehensive_tests.rs"
[[test]]
name = "record_store_tests"
path = "tests/record_store_tests.rs"
[[test]]
name = "redb_basic_test"
path = "tests/redb_basic_test.rs"
[[test]]
name = "redb_zerocopy_tests"
path = "tests/redb_zerocopy_tests.rs"
[[test]]
name = "simple_macro_test"
path = "tests/simple_macro_test.rs"
[[test]]
name = "sled_store_tests"
path = "tests/sled_store_tests.rs"
[[test]]
name = "wasm_tests"
path = "tests/wasm_tests.rs"