sz-orm-graphql 3.5.0

GraphQL schema generator and server: SDL generation, model-driven Query/Mutation, optional async-graphql runtime with injectable DB resolver (P2-1: real DB resolver support; falls back to mock data when no resolver is injected)
Documentation
[package]

name = "sz-orm-graphql"

description = "GraphQL schema generator and server: SDL generation, model-driven Query/Mutation, optional async-graphql runtime with injectable DB resolver (P2-1: real DB resolver support; falls back to mock data when no resolver is injected)"

version.workspace = true

edition.workspace = true

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

keywords.workspace = true

categories.workspace = true



[features]

default = []

real = ["dep:async-graphql", "dep:async-graphql-axum", "dep:axum", "dep:tracing"]

# db-resolver: 预留 feature 开关,当前 DB resolver 由 `real` feature 覆盖

# (resolver trait 由本包定义,使用 boxed future,无需外部依赖)。

db-resolver = []

# M3: GraphQL N+1 自动消除(DataLoader)

graphql-n1 = ["dep:parking_lot"]

# M3: 类型化 Schema 自动生成(需过程宏提取字段元数据)

graphql-schema-gen = ["dep:sz-orm-macros"]

# M3: 查询复杂度限制

graphql-complexity = []



[dependencies]

serde = { version = "1.0", features = ["derive"] }

serde_json = "1.0"

tokio = { workspace = true }

tracing = { workspace = true, optional = true }

async-graphql = { version = "7", optional = true }

async-graphql-axum = { version = "7", optional = true }

axum = { version = "0.8", optional = true }

parking_lot = { workspace = true, optional = true }

sz-orm-macros = { version = "3.5.0", path = "../sz-orm-macros", optional = true }



[lints]

workspace = true