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! */
2
2
/* begin file src/ada.cpp */
3
3
#include "ada.h"
4
4
/* begin file src/checkers.cpp */
@@ -11674,10 +11674,9 @@ ada_really_inline void url::parse_path(std::string_view input) {
11674
11674
path = "/";
11675
11675
}
11676
11676
}
11677
- return;
11678
11677
}
11679
11678
11680
- std::string url::to_string() const {
11679
+ [[nodiscard]] std::string url::to_string() const {
11681
11680
if (!is_valid) {
11682
11681
return "null";
11683
11682
}
@@ -11797,7 +11796,7 @@ namespace ada {
11797
11796
return host.value_or("");
11798
11797
}
11799
11798
11800
- [[nodiscard]] const std::string_view url::get_pathname() const noexcept {
11799
+ [[nodiscard]] std::string_view url::get_pathname() const noexcept {
11801
11800
return path;
11802
11801
}
11803
11802
@@ -12983,7 +12982,7 @@ template url_aggregator parse_url<url_aggregator>(
12983
12982
12984
12983
namespace ada {
12985
12984
12986
- bool url_components::check_offset_consistency() const noexcept {
12985
+ [[nodiscard]] bool url_components::check_offset_consistency() const noexcept {
12987
12986
/**
12988
12987
* https://user:pass@example.com:1234/foo/bar?baz#quux
12989
12988
* | | | | ^^^^| | |
@@ -13059,7 +13058,7 @@ bool url_components::check_offset_consistency() const noexcept {
13059
13058
return true;
13060
13059
}
13061
13060
13062
- std::string url_components::to_string() const {
13061
+ [[nodiscard]] std::string url_components::to_string() const {
13063
13062
std::string answer;
13064
13063
auto back = std::back_insert_iterator(answer);
13065
13064
answer.append("{\n");
@@ -13847,7 +13846,7 @@ bool url_aggregator::set_hostname(const std::string_view input) {
13847
13846
return helpers::substring(buffer, 0, components.protocol_end);
13848
13847
}
13849
13848
13850
- std::string ada::url_aggregator::to_string() const {
13849
+ [[nodiscard]] std::string ada::url_aggregator::to_string() const {
13851
13850
ada_log("url_aggregator::to_string buffer:", buffer, "[", buffer.size(),
13852
13851
" bytes]");
13853
13852
if (!is_valid) {
@@ -14292,7 +14291,7 @@ bool url_aggregator::parse_opaque_host(std::string_view input) {
14292
14291
return true;
14293
14292
}
14294
14293
14295
- std::string url_aggregator::to_diagram() const {
14294
+ [[nodiscard]] std::string url_aggregator::to_diagram() const {
14296
14295
if (!is_valid) {
14297
14296
return "invalid";
14298
14297
}
@@ -14449,7 +14448,7 @@ std::string url_aggregator::to_diagram() const {
14449
14448
return answer;
14450
14449
}
14451
14450
14452
- bool url_aggregator::validate() const noexcept {
14451
+ [[nodiscard]] bool url_aggregator::validate() const noexcept {
14453
14452
if (!is_valid) {
14454
14453
return true;
14455
14454
}
@@ -14817,6 +14816,11 @@ ada::result<ada::url_aggregator>& get_instance(void* result) noexcept {
14817
14816
14818
14817
extern "C" {
14819
14818
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;
14820
14824
14821
14825
struct ada_string {
14822
14826
const char* data;
@@ -14828,6 +14832,11 @@ struct ada_owned_string {
14828
14832
size_t length;
14829
14833
};
14830
14834
14835
+ struct ada_string_pair {
14836
+ ada_string key;
14837
+ ada_string value;
14838
+ };
14839
+
14831
14840
ada_string ada_string_create(const char* data, size_t length) {
14832
14841
ada_string out{};
14833
14842
out.data = data;
@@ -15267,6 +15276,256 @@ ada_owned_string ada_idna_to_ascii(const char* input, size_t length) {
15267
15276
return owned;
15268
15277
}
15269
15278
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
+
15270
15529
} // extern "C"
15271
15530
/* end file src/ada_c.cpp */
15272
15531
/* end file src/ada.cpp */
0 commit comments