[package]
name = "postrust-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Request parsing, query planning and schema introspection for Postrust"
homepage.workspace = true
readme = "README.md"
keywords = ["postgres", "rest", "api", "query-planner", "postgrest"]
[features]
default = ["sqlx"]
sqlx = ["dep:sqlx"]
pg-socket = ["dep:tokio-postgres", "dep:bigdecimal", "dep:uuid"]
compat-key-order = ["serde_json/preserve_order"]
[dependencies]
async-trait.workspace = true
futures.workspace = true
tokio.workspace = true
sqlx = { workspace = true, optional = true }
tokio-postgres = { version = "0.7.18", default-features = false, optional = true, features = [
"with-serde_json-1",
"with-uuid-1",
"with-chrono-0_4",
] }
bigdecimal = { version = "0.4", optional = true }
uuid = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
nom.workspace = true
thiserror.workspace = true
indexmap.workspace = true
bytes.workspace = true
http.workspace = true
mime.workspace = true
url.workspace = true
percent-encoding.workspace = true
tracing.workspace = true
chrono.workspace = true
postrust-sql.workspace = true
[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio-postgres = { version = "0.7.18", default-features = false, optional = true, features = ["js"] }
[dev-dependencies]
pretty_assertions.workspace = true
tokio = { workspace = true, features = ["full", "test-util"] }