[package]
name = "freeswitch-types"
version = "0.16.0"
edition = "2021"
authors = ["Jérôme Poulin <jeromepoulin@gmail.com>"]
description = "FreeSWITCH protocol types: channel state, events, commands, variables"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ticpu/freeswitch-esl-tokio"
documentation = "https://docs.rs/freeswitch-types"
keywords = ["freeswitch", "esl", "voip", "telephony", "types"]
categories = ["network-programming", "api-bindings"]
readme = "README.md"
rust-version = "1.70"
exclude = ["CLAUDE.md"]

[features]
default = ["serde"]
serde = ["dep:serde", "indexmap/serde"]
conference-info = ["dep:quick-xml", "serde"]

[dependencies]
thiserror = "2.0"
serde = { version = "1.0", features = ["derive"], optional = true }
percent-encoding = "2"
indexmap = "2"
quick-xml = { version = "0.39", features = ["serialize"], optional = true }

[dev-dependencies]
serde_json = "1.0"
quick-xml = { version = "0.39", features = ["serialize"] }
