1use serde::{Deserializer, de, Deserialize};
2use serde_json::Value;
3
4pub mod analytics;
5pub mod balance;
6pub mod client;
7pub mod journal;
8pub mod lookup;
9pub mod pricing;
10pub mod sms;
11pub mod status;
12pub mod subaccounts;
13pub mod voice;
14pub mod hooks;
15pub mod validate_for_voice;
16pub mod contacts;
17
18fn to_string<'de, D: Deserializer<'de>>(deserializer: D) -> Result<String, D::Error> {
19 Ok(match Value::deserialize(deserializer)? {
20 Value::String(s) => s,
21 Value::Number(n) => n.to_string(),
22 Value::Bool(b) => b.to_string(),
23 _ => return Err(de::Error::custom("wrong type"))
24 })
25}