@@ -125,32 +125,20 @@ void BindingData::CanParse(const FunctionCallbackInfo<Value>& args) {
125
125
126
126
Environment* env = Environment::GetCurrent (args);
127
127
HandleScope handle_scope (env->isolate ());
128
- Context::Scope context_scope (env->context ());
129
128
130
129
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 ;
133
132
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;
140
135
}
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));
145
137
}
146
138
147
139
bool BindingData::FastCanParse (Local<Value> receiver,
148
140
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 ));
154
142
}
155
143
156
144
CFunction BindingData::fast_can_parse_ (CFunction::Make(FastCanParse));
0 commit comments