[package]
name = "cynic"
description = "A code first GraphQL client for Rust"
keywords = ["graphql", "client", "api"]
documentation = "https://docs.rs/cynic"
readme = "../README.md"
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
version = { workspace = true }
rust-version = { workspace = true }
[features]
default = []
all = ["http-surf", "http-reqwest", "http-reqwest-blocking", "rkyv"]
http-surf = ["surf", "serde_json"]
http-reqwest = ["reqwest", "serde_json"]
http-reqwest-blocking = ["http-reqwest", "reqwest/blocking", "serde_json"]
rkyv = ["cynic-proc-macros/rkyv"]
[dependencies]
cynic-proc-macros = { path = "../cynic-proc-macros", version = "3.9.0" }
ref-cast = "1.0.15"
serde = { version = "1.0.136", features = [ "derive" ] }
serde_json = { version = "1.0", optional = true }
static_assertions = "1"
thiserror = "1.0.30"
surf = { version = "2.3", default-features = false, optional = true }
reqwest = { version = "0.12", optional = true, features = ["json"], default-features = false }
[dev-dependencies]
assert_matches = "1.4"
chrono = { version = "0.4.19", features = ["serde"] }
graphql-parser = "0.4"
insta = { version = "1.17", features = ["yaml"] }
maplit = "1.0.2"
mockito = "1.4.0"
rstest.workspace = true
serde_json = { version = "1.0" }
tokio = { version = "1", features = ["macros"] }
cynic = { path = ".", features = ["http-reqwest"] }
[package.metadata.docs.rs]
features = ["all"]
rustdoc-args = ["--cfg", "docsrs"]