[package]
name = "bsql-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme = "../../README.md"
description = "Runtime support for bsql — compile-time safe SQL for Rust"

[features]
default = []
async = ["dep:tokio"]
time = ["dep:time", "bsql-driver-postgres/time"]
chrono = ["dep:chrono", "bsql-driver-postgres/chrono"]
uuid = ["dep:uuid", "bsql-driver-postgres/uuid"]
decimal = ["dep:rust_decimal", "bsql-driver-postgres/decimal"]
tls = ["bsql-driver-postgres/tls"]
sqlite = ["dep:bsql-driver-sqlite"]
sqlite-bundled = ["sqlite", "bsql-driver-sqlite/bundled"]
sqlite-system = ["sqlite", "bsql-driver-sqlite/system"]

[dependencies]
bsql-arena = { workspace = true }
bsql-driver-postgres = { workspace = true }
rapidhash = { workspace = true }
smallvec = { workspace = true }

# SQLite (optional)
bsql-driver-sqlite = { workspace = true, optional = true }

# Async runtime (optional)
tokio = { workspace = true, features = ["rt"], optional = true }

# Feature-gated type crates (optional)
time = { workspace = true, optional = true }
chrono = { workspace = true, optional = true }
uuid = { workspace = true, optional = true }
rust_decimal = { workspace = true, optional = true }

[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
