[package]
name = "cynic"
version = "0.13.0"
authors = ["Graeme Coupar <graeme@polyandglot.dev>"]
edition = "2018"
homepage = "https://cynic-rs.dev"
repository = "https://github.com/obmarg/cynic"
description = "A GraphQL query builder & data mapper for Rust"
keywords = ["graphql", "client", "api"]
license = "MPL-2.0"
documentation = "https://docs.rs/cynic"
readme = "../README.md"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = []
all = ["surf", "reqwest", "reqwest-blocking"]
reqwest-blocking = ["reqwest/blocking"]
surf-h1-client = ["surf/h1-client"]
surf-curl-client = ["surf/curl-client"]
surf-wasm-client = ["surf/wasm-client"]
surf-middleware-logger = ["surf/middleware-logger"]
surf-encoding = ["surf/encoding"]

[dependencies]
chrono = { version = "0.4.11", optional = true }
cynic-proc-macros = { path = "../cynic-proc-macros", version = "0.13.0" }
json-decode = "0.5.0"
serde = { version = "1.0.104", features = [ "derive" ] }
serde_json = "1.0"
thiserror = "1.0.20"

# Surf feature deps
surf = { version = "2.1", default-features = false, optional = true }

# Reqwest feature deps
reqwest = { version = "0.11", optional = true, features = ["json"] }

[dev-dependencies]
maplit = "1.0.2"
assert_matches = "1.4"
insta = "1.5"

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