gelx 0.7.0

Generate fully typed rust code from your gel schema and inline queries.
Documentation
[dependencies.bigdecimal]
optional = true
version = "0.4"

[dependencies.bytes]
version = "1"

[dependencies.cfg-if]
version = "1"

[dependencies.chrono]
optional = true
version = "0.4"

[dependencies.derive_more]
features = ["from", "into", "deref", "deref_mut"]
version = "2"

[dependencies.document-features]
version = "0.2"

[dependencies.gel-derive]
optional = true
version = "0.7"

[dependencies.gel-errors]
version = "0.5"

[dependencies.gel-protocol]
version = "0.8"

[dependencies.gel-tokio]
features = ["unstable", "derive"]
optional = true
version = "0.10"

[dependencies.gelx_macros]
version = "0.7.0"

[dependencies.geo]
optional = true
version = "0.30"

[dependencies.geo-traits]
optional = true
version = "0.3"

[dependencies.geo-types]
optional = true
version = "0.7"

[dependencies.num-bigint]
optional = true
version = "0.4"

[dependencies.num-traits]
optional = true
version = "0.2"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1"

[dependencies.serde_bytes]
optional = true
version = "0.11"

[dependencies.strum]
features = ["derive"]
optional = true
version = "0.27"

[dependencies.typed-builder]
optional = true
version = "0.21"

[dependencies.uuid]
version = "1"

[dependencies.wkb]
optional = true
version = "0.9"

[dev-dependencies.assert2]
version = "0.3"

[dev-dependencies.gelx_core]
version = "0.7.0"

[dev-dependencies.insta]
features = ["ron", "json", "redactions"]
version = "1"

[dev-dependencies.proc-macro2]
version = "1"

[dev-dependencies.rstest]
version = "0.25"

[dev-dependencies.rustversion]
version = "1"

[dev-dependencies.test-log]
features = ["log", "trace"]
version = "0.2"

[dev-dependencies.tokio]
features = ["time", "test-util", "fs"]
version = "1"

[dev-dependencies.trybuild]
version = "1"

[features]
builder = ["dep:typed-builder", "gelx_macros/builder"]
default = ["with_all"]
query = ["gelx_macros/query", "dep:gel-tokio", "dep:gel-derive"]
serde = ["chrono/serde", "dep:serde_bytes", "dep:serde", "gel-protocol/with-serde", "gelx_macros/serde", "geo-types?/serde", "geo?/use-serde", "uuid/serde"]
strum = ["gelx_macros/strum", "dep:strum"]
with_all = ["with_bigint", "with_bigdecimal", "with_chrono", "with_geo", "gel-protocol/all-types"]
with_bigdecimal = ["dep:bigdecimal", "dep:num-bigint", "dep:num-traits", "gel-protocol/with-bigdecimal"]
with_bigint = ["dep:num-bigint", "dep:num-traits", "gel-protocol/with-num-bigint"]
with_chrono = ["dep:chrono", "gel-protocol/with-chrono"]
with_geo = ["dep:geo-traits", "dep:geo-types", "dep:geo", "dep:wkb"]

[lib]
name = "gelx"
path = "src/lib.rs"

[lints.clippy]
blocks_in_conditions = "allow"
cargo_common_metadata = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
expl_impl_clone_on_copy = "allow"
items_after_statements = "allow"
large_futures = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
no_effect_underscore_binding = "allow"
tabs-in-doc-comments = "allow"
too_many_lines = "allow"
wildcard_dependencies = "deny"
wildcard_imports = "allow"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
edition_2024_expr_fragment_specifier = "allow"
unsafe_code = "deny"
unstable_features = "deny"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"

[lints.rust.rust_2021_compatibility]
level = "warn"
priority = -1

[lints.rust.rust_2024_compatibility]
level = "warn"
priority = -1

[package]
authors = ["Ifiok Jr. <ifiokotung@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database"]
description = "Generate fully typed rust code from your gel schema and inline queries."
edition = "2024"
homepage = "https://geldata.com"
keywords = ["gel", "database", "typesafe", "macros", "codegen"]
license = "Unlicense"
name = "gelx"
readme = "readme.md"
repository = "https://github.com/ifiokjr/gelx"
resolver = "2"
rust-version = "1.85.0"
version = "0.7.0"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[[test]]
name = "codegen"
path = "tests/codegen.rs"

[[test]]
name = "compile"
path = "tests/compile.rs"

[[test]]
name = "query"
path = "tests/query.rs"