brdb 0.10.2

A library for reading and writing Brickadia's World files.
Documentation
[package]
name = "brdb"
version = "0.10.2"
authors = ["Isaac <gpg@reheatedcake.io>"]
description = "A library for reading and writing Brickadia's World files."
edition = "2024"
keywords = ["brickadia", "brdb", "brs", "msgpack-schema", "gamedev"]
license = "CC0-1.0"
readme = "README.md"
repository = "https://github.com/brickadia-community/brdb.git"
rust-version = "1.88"

[features]
default = ["brdb", "brz"]
brdb = ["rusqlite"]
brz = []
# js-backed clock + `Brdb::from_bytes` for filesystem-less wasm use
wasm = ["brdb", "rusqlite/serialize", "dep:web-time"]

[build-dependencies]
lalrpop = "0.22.2"

[dependencies]
# blobs hashes
blake3 = "1.8.2"
# ordering structs
indexmap = { version = "2.9.0", features = ["serde"] }
# only used to sort brick iters... can probably replace this
itertools = "0.14.0"
# parsing struct grammer
lalrpop-util = { version = "0.21.0", features = ["lexer", "unicode"] }
# msgpack-schema parsing
rmp = "0.8.14"
# read/write of sqlite-backed .brdb files.
# on wasm, rusqlite's default `ffi-sqlite-wasm-rs` feature swaps libsqlite3-sys
# for the pure-wasm `sqlite-wasm-rs` backend, so `bundled` is a no-op there.
rusqlite = { optional = true, version = "0.40.0", default-features = false, features = [
  "blob",
  "bundled",
  "ffi-sqlite-wasm-rs",
] }
# meta json file serialization
serde_json = "1.0.140"
# meta json file serialization
serde = { version = "1.0.219", features = ["derive"] }
thiserror = "2.0.12"
# blob compression
zstd = { version = "0.13.3", default-features = false }
uuid = { version = "1.17.0", default-features = false, features = [] }
web-time = { optional = true, version = "1.1.0" }