diff --git a/Libraries/LibURL/CMakeLists.txt b/Libraries/LibURL/CMakeLists.txt index 304b623a05f..f8d4be2063c 100644 --- a/Libraries/LibURL/CMakeLists.txt +++ b/Libraries/LibURL/CMakeLists.txt @@ -10,5 +10,5 @@ set(SOURCES ) serenity_lib(LibURL url) -target_link_libraries(LibURL PRIVATE LibUnicode LibTextCodec) +target_link_libraries(LibURL PRIVATE LibUnicode LibTextCodec LibRegex) target_compile_definitions(LibURL PRIVATE ENABLE_PUBLIC_SUFFIX=$) diff --git a/Libraries/LibURL/Pattern/Component.h b/Libraries/LibURL/Pattern/Component.h new file mode 100644 index 00000000000..eea59a101cd --- /dev/null +++ b/Libraries/LibURL/Pattern/Component.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2025, Shannon Booth + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include +#include +#include + +namespace URL::Pattern { + +// https://urlpattern.spec.whatwg.org/#component +struct Component { + // https://urlpattern.spec.whatwg.org/#component-pattern-string + // pattern string, a well formed pattern string + String pattern_string; + + // https://urlpattern.spec.whatwg.org/#component-regular-expression + // regular expression, a RegExp + OwnPtr> regular_expression; + + // https://urlpattern.spec.whatwg.org/#component-group-name-list + // group name list, a list of strings + Vector group_name_list; + + // https://urlpattern.spec.whatwg.org/#component-has-regexp-groups + // has regexp groups, a boolean + bool has_regexp_groups {}; +}; + +}