Skip to content

Commit bbd7705

Browse files
committed
url: call ada::can_parse directly
1 parent 33231b0 commit bbd7705

File tree

1 file changed

+6
-18
lines changed

1 file changed

+6
-18
lines changed

src/node_url.cc

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -125,32 +125,20 @@ void BindingData::CanParse(const FunctionCallbackInfo<Value>& args) {
125125

126126
Environment* env = Environment::GetCurrent(args);
127127
HandleScope handle_scope(env->isolate());
128-
Context::Scope context_scope(env->context());
129128

130129
Utf8Value input(env->isolate(), args[0]);
131-
ada::result<ada::url_aggregator> base;
132-
ada::url_aggregator* base_pointer = nullptr;
130+
std::string_view base;
131+
std::string_view* base_ptr = nullptr;
133132
if (args[1]->IsString()) {
134-
base = ada::parse<ada::url_aggregator>(
135-
Utf8Value(env->isolate(), args[1]).ToString());
136-
if (!base) {
137-
return args.GetReturnValue().Set(false);
138-
}
139-
base_pointer = &base.value();
133+
base = Utf8Value(env->isolate(), args[1]).ToStringView();
134+
base_ptr = &base;
140135
}
141-
auto out =
142-
ada::parse<ada::url_aggregator>(input.ToStringView(), base_pointer);
143-
144-
args.GetReturnValue().Set(out.has_value());
136+
args.GetReturnValue().Set(ada::can_parse(input.ToStringView(), base_ptr));
145137
}
146138

147139
bool BindingData::FastCanParse(Local<Value> receiver,
148140
const FastOneByteString& input) {
149-
std::string_view input_view(input.data, input.length);
150-
151-
auto output = ada::parse<ada::url_aggregator>(input_view);
152-
153-
return output.has_value();
141+
return ada::can_parse(std::string_view(input.data, input.length));
154142
}
155143

156144
CFunction BindingData::fast_can_parse_(CFunction::Make(FastCanParse));

0 commit comments

Comments
 (0)