55
66namespace lse ::form {
77
8+ std::set<std::string> const CustomFormWrapper::COMMON_ELEMENT_TYPENAMES{" header" , " label" , " divider" };
9+
810CustomFormResult
911CustomFormWrapper::convertResult (std::optional<std::string> const & result, std::vector<int > const & resultIndices) {
1012 if (!result) return {};
@@ -27,18 +29,18 @@ CustomFormWrapper::convertResult(std::optional<std::string> const& result, std::
2729CustomFormResult
2830CustomFormWrapper::convertResult (std::optional<std::string> const & result, nlohmann::ordered_json const & formData) {
2931 if (!result) return {};
30- auto type = formData.find (" type" );
31- auto content = formData.find (" content" );
32- if (content == formData.end () || type == formData.end () || *type != " custom_form" ) {
32+ auto formType = formData.find (" type" );
33+ auto content = formData.find (" content" );
34+ if (content == formData.end () || formType == formData.end () || *formType != " custom_form" ) {
3335 return nlohmann::ordered_json::parse (*result);
3436 }
35- std::vector<int > resultIndices{};
36- int index = 0 ;
37- std::set<std::string> fillNullTypes ({ " header " , " label " , " divider " }) ;
38- for (auto & data : *content) {
39- auto type = data .find (" type" );
40- if (type == data .end ()) return {};
41- if (fillNullTypes .contains (*type )) resultIndices.emplace_back (-1 );
37+ std::vector<int > resultIndices{};
38+ resultIndices. reserve (content-> size ()) ;
39+ int index = 0 ;
40+ for (auto & element : *content) {
41+ auto elementType = element .find (" type" );
42+ if (elementType == element .end ()) return {};
43+ if (COMMON_ELEMENT_TYPENAMES .contains (*elementType )) resultIndices.emplace_back (-1 );
4244 else resultIndices.emplace_back (index++);
4345 }
4446 return convertResult (result, resultIndices);
0 commit comments