[package]
name = "edgedb_codegen"
version = { workspace = true }
authors = { workspace = true }
categories = ["database"]
edition = { workspace = true }
homepage = { workspace = true }
keywords = ["edgedb", "database", "typesafe", "checked", "macros"]
license = { workspace = true }
readme = "readme.md"
repository = { workspace = true }
rust-version = { workspace = true }
description = "Generate fully typed rust code from your EdgeDB schema and inline queries."
[dependencies]
bigdecimal = { workspace = true, optional = true }
bytes = { workspace = true }
chrono = { workspace = true, optional = true }
document-features = { workspace = true }
edgedb-derive = { workspace = true, optional = true }
edgedb-errors = { workspace = true }
edgedb-protocol = { workspace = true, features = ["all-types"] }
edgedb-tokio = { workspace = true, features = ["unstable", "derive"], optional = true }
edgedb_codegen_macros = { workspace = true }
num-bigint = { workspace = true, optional = true }
num-traits = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
serde_bytes = { workspace = true, optional = true }
typed-builder = { workspace = true, optional = true }
uuid = { workspace = true }
[dev-dependencies]
assert2 = { workspace = true }
edgedb_codegen_core = { workspace = true, features = ["with_all"] }
insta = { workspace = true, features = ["ron", "yaml", "redactions"] }
proc-macro2 = { workspace = true }
rstest = { workspace = true }
rustversion = { workspace = true }
test-log = { workspace = true, features = ["log", "trace"] }
tokio = { workspace = true, features = ["time", "test-util", "fs"] }
trybuild = { workspace = true }
[features]
default = ["with_all"]
with_bigint = [
"edgedb_codegen_macros/with_bigint",
"dep:num-bigint",
"dep:num-traits",
"edgedb-protocol/with-num-bigint",
]
with_bigdecimal = [
"edgedb_codegen_macros/with_bigdecimal",
"dep:bigdecimal",
"dep:num-bigint",
"dep:num-traits",
"edgedb-protocol/with-bigdecimal",
]
with_chrono = ["edgedb_codegen_macros/with_chrono", "dep:chrono", "edgedb-protocol/with-chrono"]
with_all = [
"edgedb_codegen_macros/with_all",
"with_bigint",
"with_bigdecimal",
"with_chrono",
"edgedb-protocol/all-types",
]
builder = ["dep:typed-builder"]
query = ["edgedb_codegen_macros/query", "dep:edgedb-tokio", "dep:edgedb-derive"]
serde = [
"edgedb_codegen_macros/serde",
"edgedb-protocol/with-serde",
"dep:serde",
"dep:serde_bytes",
"uuid/serde",
"chrono/serde",
]
[lints]
workspace = true