/* * Copyright (c) 2025, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace URL::Pattern { // https://urlpattern.spec.whatwg.org/#dictdef-urlpatterninit struct Init { Optional protocol; Optional username; Optional password; Optional hostname; Optional port; Optional pathname; Optional search; Optional hash; Optional base_url; }; enum class PatternProcessType { Pattern, URL, }; PatternErrorOr process_a_url_pattern_init(Init const&, PatternProcessType type, Optional const& protocol, Optional const& username, Optional const& password, Optional const& hostname, Optional const& port, Optional const& pathname, Optional const& search, Optional const& hash); }