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 */
@@ -11674,10 +11674,9 @@ ada_really_inline void url::parse_path(std::string_view input) {
1167411674 path = "/";
1167511675 }
1167611676 }
11677- return;
1167811677}
1167911678
11680- std::string url::to_string() const {
11679+ [[nodiscard]] std::string url::to_string() const {
1168111680 if (!is_valid) {
1168211681 return "null";
1168311682 }
@@ -11797,7 +11796,7 @@ namespace ada {
1179711796 return host.value_or("");
1179811797}
1179911798
11800- [[nodiscard]] const std::string_view url::get_pathname() const noexcept {
11799+ [[nodiscard]] std::string_view url::get_pathname() const noexcept {
1180111800 return path;
1180211801}
1180311802
@@ -12983,7 +12982,7 @@ template url_aggregator parse_url<url_aggregator>(
1298312982
1298412983namespace ada {
1298512984
12986- bool url_components::check_offset_consistency() const noexcept {
12985+ [[nodiscard]] bool url_components::check_offset_consistency() const noexcept {
1298712986 /**
1298812987 * https://user:
[email protected] :1234/foo/bar?baz#quux
1298912988 * | | | | ^^^^| | |
@@ -13059,7 +13058,7 @@ bool url_components::check_offset_consistency() const noexcept {
1305913058 return true;
1306013059}
1306113060
13062- std::string url_components::to_string() const {
13061+ [[nodiscard]] std::string url_components::to_string() const {
1306313062 std::string answer;
1306413063 auto back = std::back_insert_iterator(answer);
1306513064 answer.append("{\n");
@@ -13847,7 +13846,7 @@ bool url_aggregator::set_hostname(const std::string_view input) {
1384713846 return helpers::substring(buffer, 0, components.protocol_end);
1384813847}
1384913848
13850- std::string ada::url_aggregator::to_string() const {
13849+ [[nodiscard]] std::string ada::url_aggregator::to_string() const {
1385113850 ada_log("url_aggregator::to_string buffer:", buffer, "[", buffer.size(),
1385213851 " bytes]");
1385313852 if (!is_valid) {
@@ -14292,7 +14291,7 @@ bool url_aggregator::parse_opaque_host(std::string_view input) {
1429214291 return true;
1429314292}
1429414293
14295- std::string url_aggregator::to_diagram() const {
14294+ [[nodiscard]] std::string url_aggregator::to_diagram() const {
1429614295 if (!is_valid) {
1429714296 return "invalid";
1429814297 }
@@ -14449,7 +14448,7 @@ std::string url_aggregator::to_diagram() const {
1444914448 return answer;
1445014449}
1445114450
14452- bool url_aggregator::validate() const noexcept {
14451+ [[nodiscard]] bool url_aggregator::validate() const noexcept {
1445314452 if (!is_valid) {
1445414453 return true;
1445514454 }
@@ -14817,6 +14816,11 @@ ada::result<ada::url_aggregator>& get_instance(void* result) noexcept {
1481714816
1481814817extern "C" {
1481914818typedef void* ada_url;
14819+ typedef void* ada_url_search_params;
14820+ typedef void* ada_strings;
14821+ typedef void* ada_url_search_params_keys_iter;
14822+ typedef void* ada_url_search_params_values_iter;
14823+ typedef void* ada_url_search_params_entries_iter;
1482014824
1482114825struct ada_string {
1482214826 const char* data;
@@ -14828,6 +14832,11 @@ struct ada_owned_string {
1482814832 size_t length;
1482914833};
1483014834
14835+ struct ada_string_pair {
14836+ ada_string key;
14837+ ada_string value;
14838+ };
14839+
1483114840ada_string ada_string_create(const char* data, size_t length) {
1483214841 ada_string out{};
1483314842 out.data = data;
@@ -15267,6 +15276,256 @@ ada_owned_string ada_idna_to_ascii(const char* input, size_t length) {
1526715276 return owned;
1526815277}
1526915278
15279+ ada_url_search_params ada_parse_search_params(const char* input,
15280+ size_t length) {
15281+ return new ada::result<ada::url_search_params>(
15282+ ada::url_search_params(std::string_view(input, length)));
15283+ }
15284+
15285+ void ada_free_search_params(ada_url_search_params result) {
15286+ ada::result<ada::url_search_params>* r =
15287+ (ada::result<ada::url_search_params>*)result;
15288+ delete r;
15289+ }
15290+
15291+ ada_owned_string ada_search_params_to_string(ada_url_search_params result) {
15292+ ada::result<ada::url_search_params>& r =
15293+ *(ada::result<ada::url_search_params>*)result;
15294+ if (!r) return ada_owned_string{NULL, 0};
15295+ std::string out = r->to_string();
15296+ ada_owned_string owned{};
15297+ owned.length = out.size();
15298+ owned.data = new char[owned.length];
15299+ memcpy((void*)owned.data, out.data(), owned.length);
15300+ return owned;
15301+ }
15302+
15303+ size_t ada_search_params_size(ada_url_search_params result) {
15304+ ada::result<ada::url_search_params>& r =
15305+ *(ada::result<ada::url_search_params>*)result;
15306+ if (!r) return 0;
15307+ return r->size();
15308+ }
15309+
15310+ void ada_search_params_sort(ada_url_search_params result) {
15311+ ada::result<ada::url_search_params>& r =
15312+ *(ada::result<ada::url_search_params>*)result;
15313+ if (r) r->sort();
15314+ }
15315+
15316+ void ada_search_params_append(ada_url_search_params result, const char* key,
15317+ size_t key_length, const char* value,
15318+ size_t value_length) {
15319+ ada::result<ada::url_search_params>& r =
15320+ *(ada::result<ada::url_search_params>*)result;
15321+ if (r) {
15322+ r->append(std::string_view(key, key_length),
15323+ std::string_view(value, value_length));
15324+ }
15325+ }
15326+
15327+ void ada_search_params_set(ada_url_search_params result, const char* key,
15328+ size_t key_length, const char* value,
15329+ size_t value_length) {
15330+ ada::result<ada::url_search_params>& r =
15331+ *(ada::result<ada::url_search_params>*)result;
15332+ if (r) {
15333+ r->set(std::string_view(key, key_length),
15334+ std::string_view(value, value_length));
15335+ }
15336+ }
15337+
15338+ void ada_search_params_remove(ada_url_search_params result, const char* key,
15339+ size_t key_length) {
15340+ ada::result<ada::url_search_params>& r =
15341+ *(ada::result<ada::url_search_params>*)result;
15342+ if (r) {
15343+ r->remove(std::string_view(key, key_length));
15344+ }
15345+ }
15346+
15347+ void ada_search_params_remove_value(ada_url_search_params result,
15348+ const char* key, size_t key_length,
15349+ const char* value, size_t value_length) {
15350+ ada::result<ada::url_search_params>& r =
15351+ *(ada::result<ada::url_search_params>*)result;
15352+ if (r) {
15353+ r->remove(std::string_view(key, key_length),
15354+ std::string_view(value, value_length));
15355+ }
15356+ }
15357+
15358+ bool ada_search_params_has(ada_url_search_params result, const char* key,
15359+ size_t key_length) {
15360+ ada::result<ada::url_search_params>& r =
15361+ *(ada::result<ada::url_search_params>*)result;
15362+ if (!r) return false;
15363+ return r->has(std::string_view(key, key_length));
15364+ }
15365+
15366+ bool ada_search_params_has_value(ada_url_search_params result, const char* key,
15367+ size_t key_length, const char* value,
15368+ size_t value_length) {
15369+ ada::result<ada::url_search_params>& r =
15370+ *(ada::result<ada::url_search_params>*)result;
15371+ if (!r) return false;
15372+ return r->has(std::string_view(key, key_length),
15373+ std::string_view(value, value_length));
15374+ }
15375+
15376+ ada_string ada_search_params_get(ada_url_search_params result, const char* key,
15377+ size_t key_length) {
15378+ ada::result<ada::url_search_params>& r =
15379+ *(ada::result<ada::url_search_params>*)result;
15380+ if (!r) return ada_string_create(NULL, 0);
15381+ auto found = r->get(std::string_view(key, key_length));
15382+ if (!found.has_value()) return ada_string_create(NULL, 0);
15383+ return ada_string_create(found->data(), found->length());
15384+ }
15385+
15386+ ada_strings ada_search_params_get_all(ada_url_search_params result,
15387+ const char* key, size_t key_length) {
15388+ ada::result<ada::url_search_params>& r =
15389+ *(ada::result<ada::url_search_params>*)result;
15390+ if (!r) {
15391+ return new ada::result<std::vector<std::string>>(
15392+ std::vector<std::string>());
15393+ }
15394+ return new ada::result<std::vector<std::string>>(
15395+ r->get_all(std::string_view(key, key_length)));
15396+ }
15397+
15398+ ada_url_search_params_keys_iter ada_search_params_get_keys(
15399+ ada_url_search_params result) {
15400+ ada::result<ada::url_search_params>& r =
15401+ *(ada::result<ada::url_search_params>*)result;
15402+ if (!r) {
15403+ return new ada::result<ada::url_search_params_keys_iter>(
15404+ ada::url_search_params_keys_iter());
15405+ }
15406+ return new ada::result<ada::url_search_params_keys_iter>(r->get_keys());
15407+ }
15408+
15409+ ada_url_search_params_values_iter ada_search_params_get_values(
15410+ ada_url_search_params result) {
15411+ ada::result<ada::url_search_params>& r =
15412+ *(ada::result<ada::url_search_params>*)result;
15413+ if (!r) {
15414+ return new ada::result<ada::url_search_params_values_iter>(
15415+ ada::url_search_params_values_iter());
15416+ }
15417+ return new ada::result<ada::url_search_params_values_iter>(r->get_values());
15418+ }
15419+
15420+ ada_url_search_params_entries_iter ada_search_params_get_entries(
15421+ ada_url_search_params result) {
15422+ ada::result<ada::url_search_params>& r =
15423+ *(ada::result<ada::url_search_params>*)result;
15424+ if (!r) {
15425+ return new ada::result<ada::url_search_params_entries_iter>(
15426+ ada::url_search_params_entries_iter());
15427+ }
15428+ return new ada::result<ada::url_search_params_entries_iter>(r->get_entries());
15429+ }
15430+
15431+ void ada_free_strings(ada_strings result) {
15432+ ada::result<std::vector<std::string>>* r =
15433+ (ada::result<std::vector<std::string>>*)result;
15434+ delete r;
15435+ }
15436+
15437+ size_t ada_strings_size(ada_strings result) {
15438+ ada::result<std::vector<std::string>>* r =
15439+ (ada::result<std::vector<std::string>>*)result;
15440+ if (!r) return 0;
15441+ return (*r)->size();
15442+ }
15443+
15444+ ada_string ada_strings_get(ada_strings result, size_t index) {
15445+ ada::result<std::vector<std::string>>* r =
15446+ (ada::result<std::vector<std::string>>*)result;
15447+ if (!r) return ada_string_create(NULL, 0);
15448+ std::string_view view = (*r)->at(index);
15449+ return ada_string_create(view.data(), view.length());
15450+ }
15451+
15452+ void ada_free_search_params_keys_iter(ada_url_search_params_keys_iter result) {
15453+ ada::result<ada::url_search_params_keys_iter>* r =
15454+ (ada::result<ada::url_search_params_keys_iter>*)result;
15455+ delete r;
15456+ }
15457+
15458+ ada_string ada_search_params_keys_iter_next(
15459+ ada_url_search_params_keys_iter result) {
15460+ ada::result<ada::url_search_params_keys_iter>* r =
15461+ (ada::result<ada::url_search_params_keys_iter>*)result;
15462+ if (!r) return ada_string_create(NULL, 0);
15463+ auto next = (*r)->next();
15464+ if (!next.has_value()) return ada_string_create(NULL, 0);
15465+ return ada_string_create(next->data(), next->length());
15466+ }
15467+
15468+ bool ada_search_params_keys_iter_has_next(
15469+ ada_url_search_params_keys_iter result) {
15470+ ada::result<ada::url_search_params_keys_iter>* r =
15471+ (ada::result<ada::url_search_params_keys_iter>*)result;
15472+ if (!r) return false;
15473+ return (*r)->has_next();
15474+ }
15475+
15476+ void ada_free_search_params_values_iter(
15477+ ada_url_search_params_values_iter result) {
15478+ ada::result<ada::url_search_params_values_iter>* r =
15479+ (ada::result<ada::url_search_params_values_iter>*)result;
15480+ delete r;
15481+ }
15482+
15483+ ada_string ada_search_params_values_iter_next(
15484+ ada_url_search_params_values_iter result) {
15485+ ada::result<ada::url_search_params_values_iter>* r =
15486+ (ada::result<ada::url_search_params_values_iter>*)result;
15487+ if (!r) return ada_string_create(NULL, 0);
15488+ auto next = (*r)->next();
15489+ if (!next.has_value()) return ada_string_create(NULL, 0);
15490+ return ada_string_create(next->data(), next->length());
15491+ }
15492+
15493+ bool ada_search_params_values_iter_has_next(
15494+ ada_url_search_params_values_iter result) {
15495+ ada::result<ada::url_search_params_values_iter>* r =
15496+ (ada::result<ada::url_search_params_values_iter>*)result;
15497+ if (!r) return false;
15498+ return (*r)->has_next();
15499+ }
15500+
15501+ void ada_free_search_params_entries_iter(
15502+ ada_url_search_params_entries_iter result) {
15503+ ada::result<ada::url_search_params_entries_iter>* r =
15504+ (ada::result<ada::url_search_params_entries_iter>*)result;
15505+ delete r;
15506+ }
15507+
15508+ ada_string_pair ada_search_params_entries_iter_next(
15509+ ada_url_search_params_entries_iter result) {
15510+ ada::result<ada::url_search_params_entries_iter>* r =
15511+ (ada::result<ada::url_search_params_entries_iter>*)result;
15512+ if (!r) return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)};
15513+ auto next = (*r)->next();
15514+ if (!next.has_value())
15515+ return {ada_string_create(NULL, 0), ada_string_create(NULL, 0)};
15516+ return ada_string_pair{
15517+ ada_string_create(next->first.data(), next->first.length()),
15518+ ada_string_create(next->second.data(), next->second.length())};
15519+ }
15520+
15521+ bool ada_search_params_entries_iter_has_next(
15522+ ada_url_search_params_entries_iter result) {
15523+ ada::result<ada::url_search_params_entries_iter>* r =
15524+ (ada::result<ada::url_search_params_entries_iter>*)result;
15525+ if (!r) return false;
15526+ return (*r)->has_next();
15527+ }
15528+
1527015529} // extern "C"
1527115530/* end file src/ada_c.cpp */
1527215531/* end file src/ada.cpp */
0 commit comments