diff options
author | Yagiz Nizipli <yagiz@nizipli.com> | 2023-05-08 11:36:43 -0400 |
---|---|---|
committer | Yagiz Nizipli <yagiz@nizipli.com> | 2023-05-16 20:29:07 -0400 |
commit | 63fde1ae3d6d7cbfdbb9b602d789e94f9e464888 (patch) | |
tree | 369cd22c6bacf1eda2b1308fab2b0bab566d5452 | |
parent | 506888dc4111132431f75b03497e2dfa0cee8cea (diff) | |
download | node-new-ada-can-parse.tar.gz |
url: call `ada::can_parse` directlyada-can-parse
-rw-r--r-- | src/node_url.cc | 24 |
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)); |