diff options
author | syn <isaqtm@gmail.com> | 2021-01-13 10:17:13 +0300 |
---|---|---|
committer | syn <isaqtm@gmail.com> | 2021-01-13 10:17:13 +0300 |
commit | 6672855337ba1bab848956c57ca370ed028b1ef4 (patch) | |
tree | ace043be57f3a9a8e18397df3fe41b7cebe8c21e /src/client_ext/mod.rs | |
download | airception-6672855337ba1bab848956c57ca370ed028b1ef4.tar.gz |
[WIP] checkpoint
Diffstat (limited to 'src/client_ext/mod.rs')
-rw-r--r-- | src/client_ext/mod.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/client_ext/mod.rs b/src/client_ext/mod.rs new file mode 100644 index 0000000..0693d99 --- /dev/null +++ b/src/client_ext/mod.rs @@ -0,0 +1,26 @@ +use serde::Deserializer; +use tdlib_rs::client::ClientLike; + +use serde::Deserialize; +use serde_derive::{Serialize, Deserialize}; +use serde_json::{json, Value as SerdeJsonValue}; +use tdlib_rs::Client; +use tdlib_rs::client::ResponseFuture; + +#[allow(unused)] +pub fn deserialize_i64_0<'de, D: Deserializer<'de>>(deserializer: D) -> std::result::Result<i64, D::Error> { + String::deserialize(deserializer)?.parse::<i64>().map_err(serde::de::Error::custom) +} +#[allow(unused)] +pub fn deserialize_i64_1<'de, D: Deserializer<'de>>(deserializer: D) -> std::result::Result<Vec<i64>, D::Error> { + use std::str::FromStr; + Vec::<&'de str>::deserialize(deserializer)? + .into_iter() + .map(i64::from_str) + .collect::<std::result::Result<Vec<_>, _>>() + .map_err(serde::de::Error::custom) +} + +include!("generated.rs"); + +impl ClientExt for Client {} |