postrust-core 2.1.0

Request parsing, query planning and schema introspection for Postrust
Documentation
[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]
# Mirrors `postrust-server`'s feature of the same name, which turns it on here
# too. Two things follow from it, and both have to agree or the feature only
# half works:
#
#   * `serde_json/preserve_order`, so a decoded object keeps its key order;
#   * embedded rows are built as `json` rather than `jsonb` -- see
#     `Relationship::embed_expression`. `jsonb` sorts keys by length and then
#     bytes, inside PostgreSQL, so no amount of care on the Rust side can
#     recover the order the columns were selected in.
compat-key-order = ["serde_json/preserve_order"]

[dependencies]
# Async
async-trait.workspace = true
futures.workspace = true
tokio.workspace = true

# Database
sqlx.workspace = true

# Serialization
serde.workspace = true
serde_json.workspace = true

# Parsing
nom.workspace = true

# Error handling
thiserror.workspace = true

# Utilities
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

# Internal
postrust-sql.workspace = true

[dev-dependencies]
pretty_assertions.workspace = true
tokio = { workspace = true, features = ["test-util", "macros"] }