[package]
name = "sf-api"
version = "0.4.2"
edition = "2024"
license = "MIT"
description = "A simple API to send commands to the Shakes & Fidget servers and parse their responses into characters"
repository = "https://github.com/the-marenga/sf-api"
readme = "README.md"
[dependencies]
base64 = "0.22"
chrono = "0.4"
enum-map = "2.7"
fastrand = "2.4"
log = "0.4"
num-bigint = "0.4"
num-derive = "0.4"
num-traits = "0.2"
ouroboros = "0.18"
reqwest = { version = "0.13", features = ["gzip", "deflate", "form"], optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
sha1 = "0.11"
strum = { version = "0.28", features = ["strum_macros", "derive"] }
thiserror = "2.0.18"
tokio = { version = "1.52", features = ["sync", "time"], optional = true }
url = { version = "2.5", optional = true }
[features]
default = ["sso", "serde", "simulation"]
session = ["dep:reqwest", "dep:tokio", "dep:url"]
simulation = []
sso = ["session", "dep:serde", "dep:serde_json"]
serde = ["dep:serde", "num-bigint/serde", "chrono/serde", "enum-map/serde"]
[build-dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[dev-dependencies]
clap = { version = "4.6", features = ["derive", "env"] }
criterion = "0.8"
enum-map = "2.7"
env_logger = "0.11.10"
regex = "1.12.3"
rstest = "0.26.1"
tokio = { version = "1.52", features = ["full"] }
[[bench]]
name = "battle_benchmark"
harness = false
[profile.bench]
debug = true