1- /* auto-generated on 2023-09-30 20:34:30 -0400. Do not edit! */
1+ /* auto-generated on 2023-10-22 19:50:50 -0400. Do not edit! */
22/* begin file src/ada.cpp */
33#include "ada.h"
44/* begin file src/checkers.cpp */
@@ -11678,10 +11678,9 @@ ada_really_inline void url::parse_path(std::string_view input) {
1167811678 path = "/";
1167911679 }
1168011680 }
11681- return;
1168211681}
1168311682
11684- std::string url::to_string() const {
11683+ [[nodiscard]] std::string url::to_string() const {
1168511684 if (!is_valid) {
1168611685 return "null";
1168711686 }
@@ -11801,7 +11800,7 @@ namespace ada {
1180111800 return host.value_or("");
1180211801}
1180311802
11804- [[nodiscard]] const std::string_view url::get_pathname() const noexcept {
11803+ [[nodiscard]] std::string_view url::get_pathname() const noexcept {
1180511804 return path;
1180611805}
1180711806
@@ -12987,7 +12986,7 @@ template url_aggregator parse_url<url_aggregator>(
1298712986
1298812987namespace ada {
1298912988
12990- bool url_components::check_offset_consistency() const noexcept {
12989+ [[nodiscard]] bool url_components::check_offset_consistency() const noexcept {
1299112990 /**
1299212991 * https://user:pass@example.com:1234/foo/bar?baz#quux
1299312992 * | | | | ^^^^| | |
@@ -13063,7 +13062,7 @@ bool url_components::check_offset_consistency() const noexcept {
1306313062 return true;
1306413063}
1306513064
13066- std::string url_components::to_string() const {
13065+ [[nodiscard]] std::string url_components::to_string() const {
1306713066 std::string answer;
1306813067 auto back = std::back_insert_iterator(answer);
1306913068 answer.append("{\n");
@@ -13851,7 +13850,7 @@ bool url_aggregator::set_hostname(const std::string_view input) {
1385113850 return helpers::substring(buffer, 0, components.protocol_end);
1385213851}
1385313852
13854- std::string ada::url_aggregator::to_string() const {
13853+ [[nodiscard]] std::string ada::url_aggregator::to_string() const {
1385513854 ada_log("url_aggregator::to_string buffer:", buffer, "[", buffer.size(),
1385613855 " bytes]");
1385713856 if (!is_valid) {
@@ -14296,7 +14295,7 @@ bool url_aggregator::parse_opaque_host(std::string_view input) {
1429614295 return true;
1429714296}
1429814297
14299- std::string url_aggregator::to_diagram() const {
14298+ [[nodiscard]] std::string url_aggregator::to_diagram() const {
1430014299 if (!is_valid) {
1430114300 return "invalid";
1430214301 }
@@ -14453,7 +14452,7 @@ std::string url_aggregator::to_diagram() const {
1445314452 return answer;
1445414453}
1445514454
14456- bool url_aggregator::validate() const noexcept {
14455+ [[nodiscard]] bool url_aggregator::validate() const noexcept {
1445714456 if (!is_valid) {
1445814457 return true;
1445914458 }
@@ -14821,6 +14820,11 @@ ada::result<ada::url_aggregator>& get_instance(void* result) noexcept {
1482114820
1482214821extern "C" {
1482314822typedef void* ada_url;
14823+ typedef void* ada_url_search_params;
14824+ typedef void* ada_strings;
14825+ typedef void* ada_url_search_params_keys_iter;
14826+ typedef void* ada_url_search_params_values_iter;
14827+ typedef void* ada_url_search_params_entries_iter;
1482414828
1482514829struct ada_string {
1482614830 const char* data;
@@ -14832,6 +14836,11 @@ struct ada_owned_string {
1483214836 size_t length;
1483314837};
1483414838
14839+ struct ada_string_pair {
14840+ ada_string key;
14841+ ada_string value;
14842+ };
14843+
1483514844ada_string ada_string_create(const char* data, size_t length) {
1483614845 ada_string out{};
1483714846 out.data = data;
@@ -15271,6 +15280,256 @@ ada_owned_string ada_idna_to_ascii(const char* input, size_t length) {
1527115280 return owned;
1527215281}
1527315282
15283+ ada_url_search_params ada_parse_search_params(const char* input,
15284+ size_t length) {
15285+ return new ada::result<ada::url_search_params>(
15286+ ada::url_search_params(std::string_view(input, length)));
15287+ }
15288+
15289+ void ada_free_search_params(ada_url_search_params result) {
15290+ ada::result<ada::url_search_params>* r =
15291+ (ada::result<ada::url_search_params>*)result;
15292+ delete r;
15293+ }
15294+
15295+ ada_owned_string ada_search_params_to_string(ada_url_search_params result) {
15296+ ada::result<ada::url_search_params>& r =
15297+ *(ada::result<ada::url_search_params>*)result;
15298+ if (!r) return ada_owned_string{NULL, 0};
15299+ std::string out = r->to_string();
15300+ ada_owned_string owned{};
15301+ owned.length = out.size();
15302+ owned.data = new char[owned.length];
15303+ memcpy((void*)owned.data, out.data(), owned.length);
15304+ return owned;
15305+ }
15306+
15307+ size_t ada_search_params_size(ada_url_search_params result) {
15308+ ada::result<ada::url_search_params>& r =
15309+ *(ada::result<ada::url_search_params>*)result;
15310+ if (!r) return 0;
15311+ return r->size();
15312+ }
15313+
15314+ void ada_search_params_sort(ada_url_search_params result) {
15315+ ada::result<ada::url_search_params>& r =
15316+ *(ada::result<ada::url_search_params>*)result;
15317+ if (r) r->sort();
15318+ }
15319+
15320+ void ada_search_params_append(ada_url_search_params result, const char* key,
15321+ size_t key_length, const char* value,
15322+ size_t value_length) {
15323+ ada::result<ada::url_search_params>& r =
15324+ *(ada::result<ada::url_search_params>*)result;
15325+ if (r) {
15326+ r->append(std::string_view(key, key_length),
15327+ std::string_view(value, value_length));
15328+ }
15329+ }
15330+
15331+ void ada_search_params_set(ada_url_search_params result, const char* key,
15332+ size_t key_length, const char* value,
15333+ size_t value_length) {
15334+ ada::result<ada::url_search_params>& r =
15335+ *(ada::result<ada::url_search_params>*)result;
15336+ if (r) {
15337+ r->set(std::string_view(key, key_length),
15338+ std::string_view(value, value_length));
15339+ }
15340+ }
15341+
15342+ void ada_search_params_remove(ada_url_search_params result, const char* key,
15343+ size_t key_length) {
15344+ ada::result<ada::url_search_params>& r =
15345+ *(ada::result<ada::url_search_params>*)result;
15346+ if (r) {
15347+ r->remove(std::string_view(key, key_length));
15348+ }
15349+ }
15350+
15351+ void ada_search_params_remove_value(ada_url_search_params result,
15352+ const char* key, size_t key_length,
15353+ const char* value, size_t value_length) {
15354+ ada::result<ada::url_search_params>& r =
15355+ *(ada::result<ada::url_search_params>*)result;
15356+ if (r) {
15357+ r->remove(std::string_view(key, key_length),
15358+ std::string_view(value, value_length));
15359+ }
15360+ }
15361+
15362+ bool ada_search_params_has(ada_url_search_params result, const char* key,
15363+ size_t key_length) {
15364+ ada::result<ada::url_search_params>& r =
15365+ *(ada::result<ada::url_search_params>*)result;
15366+ if (!r) return false;
15367+ return r->has(std::string_view(key, key_length));
15368+ }
15369+
15370+ bool ada_search_params_has_value(ada_url_search_params result, const char* key,
15371+ size_t key_length, const char* value,
15372+ size_t value_length) {
15373+ ada::result<ada::url_search_params>& r =
15374+ *(ada::result<ada::url_search_params>*)result;
15375+ if (!r) return false;
15376+ return r->has(std::string_view(key, key_length),
15377+ std::string_view(value, value_length));
15378+ }
15379+
15380+ ada_string ada_search_params_get(ada_url_search_params result, const char* key,
15381+ size_t key_length) {
15382+ ada::result<ada::url_search_params>& r =
15383+ *(ada::result<ada::url_search_params>*)result;
15384+ if (!r) return ada_string_create(NULL, 0);
15385+ auto found = r->get(std::string_view(key, key_length));
15386+ if (!found.has_value()) return ada_string_create(NULL, 0);
15387+ return ada_string_create(found->data(), found->length());
15388+ }
15389+
15390+ ada_strings ada_search_params_get_all(ada_url_search_params result,
15391+ const char* key, size_t key_length) {
15392+ ada::result<ada::url_search_params>& r =
15393+ *(ada::result<ada::url_search_params>*)result;
15394+ if (!r) {
15395+ return new ada::result<std::vector<std::string>>(
15396+ std::vector<std::string>());
15397+ }
15398+ return new ada::result<std::vector<std::string>>(
15399+ r->get_all(std::string_view(key, key_length)));
15400+ }
15401+
15402+ ada_url_search_params_keys_iter ada_search_params_get_keys(
15403+ ada_url_search_params result) {
15404+ ada::result<ada::url_search_params>& r =
15405+ *(ada::result<ada::url_search_params>*)result;
15406+ if (!r) {
15407+ return new ada::result<ada::url_search_params_keys_iter>(
15408+ ada::url_search_params_keys_iter());
15409+ }
15410+ return new ada::result<ada::url_search_params_keys_iter>(r->get_keys());
15411+ }
15412+
15413+ ada_url_search_params_values_iter ada_search_params_get_values(
15414+ ada_url_search_params result) {
15415+ ada::result<ada::url_search_params>& r =
15416+ *(ada::result<ada::url_search_params>*)result;
15417+ if (!r) {
15418+ return new ada::result<ada::url_search_params_values_iter>(
15419+ ada::url_search_params_values_iter());
15420+ }
15421+ return new ada::result<ada::url_search_params_values_iter>(r->get_values());
15422+ }
15423+
15424+ ada_url_search_params_entries_iter ada_search_params_get_entries(
15425+ ada_url_search_params result) {
15426+ ada::result<ada::url_search_params>& r =
15427+ *(ada::result<ada::url_search_params>*)result;
15428+ if (!r) {
15429+ return new ada::result<ada::url_search_params_entries_iter>(
15430+ ada::url_search_params_entries_iter());
15431+ }
15432+ return new ada::result<ada::url_search_params_entries_iter>(r->get_entries());
15433+ }
15434+
15435+ void ada_free_strings(ada_strings result) {
15436+ ada::result<std::vector<std::string>>* r =
15437+ (ada::result<std::vector<std::string>>*)result;
15438+ delete r;
15439+ }
15440+
15441+ size_t ada_strings_size(ada_strings result) {
15442+ ada::result<std::vector<std::string>>* r =
15443+ (ada::result<std::vector<std::string>>*)result;
15444+ if (!r) return 0;
15445+ return (*r)->size();
15446+ }
15447+
15448+ ada_string ada_strings_get(ada_strings result, size_t index) {
15449+ ada::result<std::vector<std::string>>* r =
15450+ (ada::result<std::vector<std::string>>*)result;
15451+ if (!r) return ada_string_create(NULL, 0);
15452+ std::string_view view = (*r)->at(index);
15453+ return ada_string_create(view.data(), view.length());
15454+ }
15455+
15456+ void ada_free_search_params_keys_iter(ada_url_search_params_keys_iter result) {
15457+ ada::result<ada::url_search_params_keys_iter>* r =
15458+ (ada::result<ada::url_search_params_keys_iter>*)result;
15459+ delete r;
15460+ }
15461+
15462+ ada_string ada_search_params_keys_iter_next(
15463+ ada_url_search_params_keys_iter result) {
15464+ ada::result<ada::url_search_params_keys_iter>* r =
15465+ (ada::result<ada::url_search_params_keys_iter>*)result;
15466+ if (!r) return ada_string_create(NULL, 0);
15467+ auto next = (*r)->next();
15468+ if (!next.has_value()) return ada_string_create(NULL, 0);
15469+ return ada_string_create(next->data(), next->length());
15470+ }
15471+
15472+ bool ada_search_params_keys_iter_has_next(
15473+ ada_url_search_params_keys_iter result) {
15474+ ada::result<ada::url_search_params_keys_iter>* r =
15475+ (ada::result<ada::url_search_params_keys_iter>*)result;
15476+ if (!r) return false;
15477+ return (*r)->has_next();
15478+ }
15479+
15480+ void ada_free_search_params_values_iter(
15481+ ada_url_search_params_values_iter result) {
15482+ ada::result<ada::url_search_params_values_iter>* r =
15483+ (ada::result<ada::url_search_params_values_iter>*)result;
15484+ delete r;
15485+ }
15486+
15487+ ada_string ada_search_params_values_iter_next(
15488+ ada_url_search_params_values_iter result) {
15489+ ada::result<ada::url_search_params_values_iter>* r =
15490+ (ada::result<ada::url_search_params_values_iter>*)result;
15491+ if (!r) return ada_string_create(NULL, 0);
15492+ auto next = (*r)->next();
15493+ if (!next.has_value()) return ada_string_create(NULL, 0);
15494+ return ada_string_create(next->data(), next->length());
15495+ }
15496+
15497+ bool ada_search_params_values_iter_has_next(
15498+ ada_url_search_params_values_iter result) {
15499+ ada::result<ada::url_search_params_values_iter>* r =
15500+ (ada::result<ada::url_search_params_values_iter>*)result;
15501+ if (!r) return false;
15502+ return (*r)->has_next();
15503+ }
15504+
15505+ void ada_free_search_params_entries_iter(
15506+ ada_url_search_params_entries_iter result) {
15507+ ada::result<ada::url_search_params_entries_iter>* r =
15508+ (ada::result<ada::url_search_params_entries_iter>*)result;
15509+ delete r;
15510+ }
15511+
15512+ ada_string_pair ada_search_params_entries_iter_next(
15513+ ada_url_search_params_entries_iter result) {
15514+ ada::result<ada::url_search_params_entries_iter>* r =
15515+ (ada::result<ada::url_search_params_entries_iter>*)result;
15516+ if (!r) return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)};
15517+ auto next = (*r)->next();
15518+ if (!next.has_value())
15519+ return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)};
15520+ return ada_string_pair{
15521+ ada_string_create(next->first.data(), next->first.length()),
15522+ ada_string_create(next->second.data(), next->second.length())};
15523+ }
15524+
15525+ bool ada_search_params_entries_iter_has_next(
15526+ ada_url_search_params_entries_iter result) {
15527+ ada::result<ada::url_search_params_entries_iter>* r =
15528+ (ada::result<ada::url_search_params_entries_iter>*)result;
15529+ if (!r) return false;
15530+ return (*r)->has_next();
15531+ }
15532+
1527415533} // extern "C"
1527515534/* end file src/ada_c.cpp */
1527615535/* end file src/ada.cpp */
0 commit comments