ladybird/Libraries/LibWeb/URLPattern/URLPattern.idl

61 lines
2 KiB
Text

typedef (USVString or URLPatternInit) URLPatternInput;
// https://urlpattern.spec.whatwg.org/#urlpattern
[Exposed=(Window,Worker)]
interface URLPattern {
constructor(URLPatternInput input, USVString baseURL, optional URLPatternOptions options = {});
constructor(optional URLPatternInput input = {}, optional URLPatternOptions options = {});
[FIXME] boolean test(optional URLPatternInput input = {}, optional USVString baseURL);
[FIXME] URLPatternResult? exec(optional URLPatternInput input = {}, optional USVString baseURL);
[FIXME] readonly attribute USVString protocol;
[FIXME] readonly attribute USVString username;
[FIXME] readonly attribute USVString password;
[FIXME] readonly attribute USVString hostname;
[FIXME] readonly attribute USVString port;
[FIXME] readonly attribute USVString pathname;
[FIXME] readonly attribute USVString search;
[FIXME] readonly attribute USVString hash;
[FIXME] readonly attribute boolean hasRegExpGroups;
};
// https://urlpattern.spec.whatwg.org/#dictdef-urlpatterninit
dictionary URLPatternInit {
USVString protocol;
USVString username;
USVString password;
USVString hostname;
USVString port;
USVString pathname;
USVString search;
USVString hash;
USVString baseURL;
};
// https://urlpattern.spec.whatwg.org/#dictdef-urlpatternoptions
dictionary URLPatternOptions {
boolean ignoreCase = false;
};
// https://urlpattern.spec.whatwg.org/#dictdef-urlpatternresult
dictionary URLPatternResult {
sequence<URLPatternInput> inputs;
URLPatternComponentResult protocol;
URLPatternComponentResult username;
URLPatternComponentResult password;
URLPatternComponentResult hostname;
URLPatternComponentResult port;
URLPatternComponentResult pathname;
URLPatternComponentResult search;
URLPatternComponentResult hash;
};
// https://urlpattern.spec.whatwg.org/#dictdef-urlpatterncomponentresult
dictionary URLPatternComponentResult {
USVString input;
record<USVString, (USVString or undefined)> groups;
};