Skip to content

Commit ac717df

Browse files
nodejs-github-bottargos
authored andcommittedOct 26, 2023
deps: update ada to 2.7.2
PR-URL: #50338 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
1 parent 6885fc9 commit ac717df

File tree

4 files changed

+605
-113
lines changed

4 files changed

+605
-113
lines changed
 

‎deps/ada/ada.cpp

+268-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
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

1298412983
namespace 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:pass@example.com: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

1481814817
extern "C" {
1481914818
typedef 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

1482114825
struct 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+
1483114840
ada_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 */

‎deps/ada/ada.h

+261-101
Large diffs are not rendered by default.

‎deps/ada/ada_c.h

+73
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,77 @@ const ada_url_components* ada_get_components(ada_url result);
109109
ada_owned_string ada_idna_to_unicode(const char* input, size_t length);
110110
ada_owned_string ada_idna_to_ascii(const char* input, size_t length);
111111

112+
// url search params
113+
typedef void* ada_url_search_params;
114+
115+
// Represents an std::vector<std::string>
116+
typedef void* ada_strings;
117+
typedef void* ada_url_search_params_keys_iter;
118+
typedef void* ada_url_search_params_values_iter;
119+
120+
typedef struct {
121+
ada_string key;
122+
ada_string value;
123+
} ada_string_pair;
124+
125+
typedef void* ada_url_search_params_entries_iter;
126+
127+
ada_url_search_params ada_parse_search_params(const char* input, size_t length);
128+
void ada_free_search_params(ada_url_search_params result);
129+
130+
size_t ada_search_params_size(ada_url_search_params result);
131+
void ada_search_params_sort(ada_url_search_params result);
132+
ada_owned_string ada_search_params_to_string(ada_url_search_params result);
133+
134+
void ada_search_params_append(ada_url_search_params result, const char* key,
135+
size_t key_length, const char* value,
136+
size_t value_length);
137+
void ada_search_params_set(ada_url_search_params result, const char* key,
138+
size_t key_length, const char* value,
139+
size_t value_length);
140+
void ada_search_params_remove(ada_url_search_params result, const char* key,
141+
size_t key_length);
142+
void ada_search_params_remove_value(ada_url_search_params result,
143+
const char* key, size_t key_length,
144+
const char* value, size_t value_length);
145+
bool ada_search_params_has(ada_url_search_params result, const char* key,
146+
size_t key_length);
147+
bool ada_search_params_has_value(ada_url_search_params result, const char* key,
148+
size_t key_length, const char* value,
149+
size_t value_length);
150+
ada_string ada_search_params_get(ada_url_search_params result, const char* key,
151+
size_t key_length);
152+
ada_strings ada_search_params_get_all(ada_url_search_params result,
153+
const char* key, size_t key_length);
154+
ada_url_search_params_keys_iter ada_search_params_get_keys(
155+
ada_url_search_params result);
156+
ada_url_search_params_values_iter ada_search_params_get_values(
157+
ada_url_search_params result);
158+
ada_url_search_params_entries_iter ada_search_params_get_entries(
159+
ada_url_search_params result);
160+
161+
void ada_free_strings(ada_strings result);
162+
size_t ada_strings_size(ada_strings result);
163+
ada_string ada_strings_get(ada_strings result, size_t index);
164+
165+
void ada_free_search_params_keys_iter(ada_url_search_params_keys_iter result);
166+
ada_string ada_search_params_keys_iter_next(
167+
ada_url_search_params_keys_iter result);
168+
bool ada_search_params_keys_iter_has_next(
169+
ada_url_search_params_keys_iter result);
170+
171+
void ada_free_search_params_values_iter(
172+
ada_url_search_params_values_iter result);
173+
ada_string ada_search_params_values_iter_next(
174+
ada_url_search_params_values_iter result);
175+
bool ada_search_params_values_iter_has_next(
176+
ada_url_search_params_values_iter result);
177+
178+
void ada_free_search_params_entries_iter(
179+
ada_url_search_params_entries_iter result);
180+
ada_string_pair ada_search_params_entries_iter_next(
181+
ada_url_search_params_entries_iter result);
182+
bool ada_search_params_entries_iter_has_next(
183+
ada_url_search_params_entries_iter result);
184+
112185
#endif // ADA_C_H

‎doc/contributing/maintaining/maintaining-dependencies.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ All dependencies are located within the `deps` directory.
99
This a list of all the dependencies:
1010

1111
* [acorn][]
12-
* [ada 2.6.10][]
12+
* [ada 2.7.2][]
1313
* [base64][]
1414
* [brotli][]
1515
* [c-ares][]
@@ -148,7 +148,7 @@ The [acorn](https://github.com/acornjs/acorn) dependency is a JavaScript parser.
148148
[acorn-walk](https://github.com/acornjs/acorn/tree/master/acorn-walk) is
149149
an abstract syntax tree walker for the ESTree format.
150150

151-
### ada 2.6.10
151+
### ada 2.7.2
152152

153153
The [ada](https://github.com/ada-url/ada) dependency is a
154154
fast and spec-compliant URL parser written in C++.
@@ -312,7 +312,7 @@ it comes from the Chromium team's zlib fork which incorporated
312312
performance improvements not currently available in standard zlib.
313313

314314
[acorn]: #acorn
315-
[ada 2.6.10]: #ada-2610
315+
[ada 2.7.2]: #ada-272
316316
[base64]: #base64
317317
[brotli]: #brotli
318318
[c-ares]: #c-ares

0 commit comments

Comments
 (0)
Please sign in to comment.