Skip to content

Commit 0437710

Browse files
authored
Merge pull request #17 from melix99/empty-result
tdlib-tl-gen: Use "()" in place of the "Ok" type
2 parents 1c40de2 + df500a4 commit 0437710

File tree

5 files changed

+18
-8
lines changed

5 files changed

+18
-8
lines changed

tdlib-tl-gen/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "tdlib-tl-gen"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
authors = ["Marco Melorio <[email protected]>"]
55
edition = "2021"
66
license = "MIT OR Apache-2.0"

tdlib-tl-gen/src/functions.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,15 @@ fn write_function<W: Write>(
110110
" return Err(serde_json::from_value(response).unwrap())"
111111
)?;
112112
writeln!(file, " }}")?;
113-
writeln!(
114-
file,
115-
" Ok(serde_json::from_value(response).unwrap())"
116-
)?;
113+
114+
if rustifier::types::is_ok(&def.ty) {
115+
writeln!(file, " Ok(())")?;
116+
} else {
117+
writeln!(
118+
file,
119+
" Ok(serde_json::from_value(response).unwrap())"
120+
)?;
121+
}
117122

118123
writeln!(file, " }}")?;
119124
Ok(())

tdlib-tl-gen/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use tdlib_tl_parser::tl::{Definition, Type};
2020

2121
/// Don't generate types for definitions of this type,
2222
/// since they are "core" types and treated differently.
23-
const SPECIAL_CASED_TYPES: [&str; 5] = ["Bool", "Bytes", "Int32", "Int53", "Int64"];
23+
const SPECIAL_CASED_TYPES: [&str; 6] = ["Bool", "Bytes", "Int32", "Int53", "Int64", "Ok"];
2424

2525
fn ignore_type(ty: &Type) -> bool {
2626
SPECIAL_CASED_TYPES.iter().any(|&x| x == ty.name)

tdlib-tl-gen/src/rustifier.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ pub mod types {
168168
"int64" => "i64",
169169
"string" => "String",
170170
"vector" => "Vec",
171+
"Ok" => "()",
171172
_ => return None,
172173
})
173174
}
@@ -210,6 +211,10 @@ pub mod types {
210211
pub fn qual_name(ty: &Type, optional_generic_arg: bool) -> String {
211212
get_path(ty, optional_generic_arg)
212213
}
214+
215+
pub fn is_ok(ty: &Type) -> bool {
216+
ty.name == "Ok"
217+
}
213218
}
214219

215220
pub mod parameters {

tdlib/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "tdlib"
3-
version = "0.1.2"
3+
version = "0.2.0"
44
authors = ["Marco Melorio <[email protected]>"]
55
edition = "2021"
66
license = "MIT OR Apache-2.0"
@@ -32,7 +32,7 @@ serde_with = "1.12"
3232

3333
[build-dependencies]
3434
system-deps = "6"
35-
tdlib-tl-gen = { path = "../tdlib-tl-gen", version = "0.1" }
35+
tdlib-tl-gen = { path = "../tdlib-tl-gen", version = "0.2" }
3636
tdlib-tl-parser = { path = "../tdlib-tl-parser", version = "0.1" }
3737

3838
[dev-dependencies]

0 commit comments

Comments
 (0)