summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYagiz Nizipli <yagiz@nizipli.com>2023-05-08 11:36:43 -0400
committerYagiz Nizipli <yagiz@nizipli.com>2023-05-16 20:29:07 -0400
commit63fde1ae3d6d7cbfdbb9b602d789e94f9e464888 (patch)
tree369cd22c6bacf1eda2b1308fab2b0bab566d5452
parent506888dc4111132431f75b03497e2dfa0cee8cea (diff)
downloadnode-new-ada-can-parse.tar.gz
url: call `ada::can_parse` directlyada-can-parse
-rw-r--r--src/node_url.cc24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/node_url.cc b/src/node_url.cc
index 078e155fc4..e37419633e 100644
--- a/src/node_url.cc
+++ b/src/node_url.cc
@@ -125,32 +125,20 @@ void BindingData::CanParse(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
HandleScope handle_scope(env->isolate());
- Context::Scope context_scope(env->context());
Utf8Value input(env->isolate(), args[0]);
- ada::result<ada::url_aggregator> base;
- ada::url_aggregator* base_pointer = nullptr;
+ std::string_view base;
+ std::string_view* base_ptr = nullptr;
if (args[1]->IsString()) {
- base = ada::parse<ada::url_aggregator>(
- Utf8Value(env->isolate(), args[1]).ToString());
- if (!base) {
- return args.GetReturnValue().Set(false);
- }
- base_pointer = &base.value();
+ base = Utf8Value(env->isolate(), args[1]).ToStringView();
+ base_ptr = &base;
}
- auto out =
- ada::parse<ada::url_aggregator>(input.ToStringView(), base_pointer);
-
- args.GetReturnValue().Set(out.has_value());
+ args.GetReturnValue().Set(ada::can_parse(input.ToStringView(), base_ptr));
}
bool BindingData::FastCanParse(Local<Value> receiver,
const FastOneByteString& input) {
- std::string_view input_view(input.data, input.length);
-
- auto output = ada::parse<ada::url_aggregator>(input_view);
-
- return output.has_value();
+ return ada::can_parse(std::string_view(input.data, input.length));
}
CFunction BindingData::fast_can_parse_(CFunction::Make(FastCanParse));