/* * Copyright (c) 2025, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::URLPattern { using URLPatternInit = URL::Pattern::Init; using URLPatternInput = URL::Pattern::Input; using URLPatternOptions = URL::Pattern::Options; // https://urlpattern.spec.whatwg.org/#urlpattern class URLPattern : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(URLPattern, Bindings::PlatformObject); GC_DECLARE_ALLOCATOR(URLPattern); public: static WebIDL::ExceptionOr> construct_impl(JS::Realm&, URLPatternInput const&, String const& base_url, URLPatternOptions const& = {}); static WebIDL::ExceptionOr> construct_impl(JS::Realm&, URLPatternInput const&, URLPatternOptions const& = {}); virtual ~URLPattern() override; protected: virtual void initialize(JS::Realm&) override; explicit URLPattern(JS::Realm&); }; }