From 1df4a1c6a4f69bde359a6fd66dc3f5a45bc7f2d3 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 17 Oct 2019 22:22:42 +0300 Subject: [PATCH] Add get_json_object_field_force. GitOrigin-RevId: f1e27a7dfb946396917ae347edd68259465f0d87 --- tdutils/td/utils/JsonBuilder.cpp | 9 +++++++++ tdutils/td/utils/JsonBuilder.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/tdutils/td/utils/JsonBuilder.cpp b/tdutils/td/utils/JsonBuilder.cpp index 566a2880f..94bce57b9 100644 --- a/tdutils/td/utils/JsonBuilder.cpp +++ b/tdutils/td/utils/JsonBuilder.cpp @@ -593,6 +593,15 @@ bool has_json_object_field(const JsonObject &object, Slice name) { return false; } +JsonValue get_json_object_field_force(JsonObject &object, Slice name) { + for (auto &field_value : object) { + if (field_value.first == name) { + return std::move(field_value.second); + } + } + return JsonValue(); +} + Result get_json_object_field(JsonObject &object, Slice name, JsonValue::Type type, bool is_optional) { for (auto &field_value : object) { if (field_value.first == name) { diff --git a/tdutils/td/utils/JsonBuilder.h b/tdutils/td/utils/JsonBuilder.h index 42aeb962f..2b3cf6e8c 100644 --- a/tdutils/td/utils/JsonBuilder.h +++ b/tdutils/td/utils/JsonBuilder.h @@ -860,6 +860,8 @@ auto json_array(const A &a, F &&f) { bool has_json_object_field(const JsonObject &object, Slice name); +JsonValue get_json_object_field_force(JsonObject &object, Slice name) TD_WARN_UNUSED_RESULT; + Result get_json_object_field(JsonObject &object, Slice name, JsonValue::Type type, bool is_optional = true) TD_WARN_UNUSED_RESULT;