aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/JsonValue.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2021-09-03 17:54:04 +0300
committerlevlam <levlam@telegram.org>2021-09-03 17:54:04 +0300
commit1d41017d3a82cc39770acc3659305c5bb37c0c4c (patch)
tree11c373512dc4bcf5d74bb658c6be8ae8da30c53e /td/telegram/JsonValue.cpp
parentab4736df2897c452af18528840d343cb476045c2 (diff)
Add get_json_value_int helper method.
Diffstat (limited to 'td/telegram/JsonValue.cpp')
-rw-r--r--td/telegram/JsonValue.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/td/telegram/JsonValue.cpp b/td/telegram/JsonValue.cpp
index bd209e908..6aff5b6e4 100644
--- a/td/telegram/JsonValue.cpp
+++ b/td/telegram/JsonValue.cpp
@@ -199,4 +199,13 @@ string get_json_string(const td_api::JsonValue *json_value) {
return json_encode<string>(JsonableJsonValue(json_value));
}
+int32 get_json_value_int(telegram_api::object_ptr<telegram_api::JSONValue> &&json_value, Slice name) {
+ CHECK(json_value != nullptr);
+ if (json_value->get_id() == telegram_api::jsonNumber::ID) {
+ return static_cast<int32>(static_cast<const telegram_api::jsonNumber *>(json_value.get())->value_);
+ }
+ LOG(ERROR) << "Expected integer as " << name << " found " << to_string(*json_value);
+ return 0;
+}
+
} // namespace td