From 587901fb2f91c00c12b7dd9e0c775c6e8518bcff Mon Sep 17 00:00:00 2001 From: Bashamega Date: Mon, 7 Sep 2026 15:26:44 +0300 Subject: [PATCH 1/5] Update URL interface to accept Location type in constructor and methods across multiple baselines --- baselines/audioworklet.generated.d.ts | 6 +-- baselines/dom.generated.d.ts | 10 ++--- baselines/serviceworker.generated.d.ts | 6 +-- baselines/sharedworker.generated.d.ts | 10 ++--- baselines/ts5.5/audioworklet.generated.d.ts | 6 +-- baselines/ts5.5/dom.generated.d.ts | 10 ++--- baselines/ts5.5/serviceworker.generated.d.ts | 6 +-- baselines/ts5.5/sharedworker.generated.d.ts | 10 ++--- baselines/ts5.5/webworker.generated.d.ts | 10 ++--- baselines/ts5.6/audioworklet.generated.d.ts | 6 +-- baselines/ts5.6/dom.generated.d.ts | 10 ++--- baselines/ts5.6/serviceworker.generated.d.ts | 6 +-- baselines/ts5.6/sharedworker.generated.d.ts | 10 ++--- baselines/ts5.6/webworker.generated.d.ts | 10 ++--- baselines/ts5.9/audioworklet.generated.d.ts | 6 +-- baselines/ts5.9/dom.generated.d.ts | 10 ++--- baselines/ts5.9/serviceworker.generated.d.ts | 6 +-- baselines/ts5.9/sharedworker.generated.d.ts | 6 +-- baselines/ts5.9/webworker.generated.d.ts | 10 ++--- baselines/webworker.generated.d.ts | 10 ++--- inputfiles/overridingTypes.jsonc | 42 -------------------- inputfiles/patches/url.kdl | 12 ++++++ inputfiles/patches/xhr.kdl | 8 ++++ 23 files changed, 102 insertions(+), 124 deletions(-) create mode 100644 inputfiles/patches/xhr.kdl diff --git a/baselines/audioworklet.generated.d.ts b/baselines/audioworklet.generated.d.ts index dc7ea4402..39d05f57d 100644 --- a/baselines/audioworklet.generated.d.ts +++ b/baselines/audioworklet.generated.d.ts @@ -1348,19 +1348,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 74c47ae0d..5a6ce5666 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -38143,13 +38143,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38161,7 +38161,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -42865,8 +42865,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index 190881a28..71b28a124 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -9517,19 +9517,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 602f794ec..a3543a49e 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -9048,13 +9048,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9066,7 +9066,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12503,8 +12503,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.5/audioworklet.generated.d.ts b/baselines/ts5.5/audioworklet.generated.d.ts index b60857baa..3da2cbc0b 100644 --- a/baselines/ts5.5/audioworklet.generated.d.ts +++ b/baselines/ts5.5/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.5/dom.generated.d.ts b/baselines/ts5.5/dom.generated.d.ts index 61e3f2db2..cf1e740a7 100644 --- a/baselines/ts5.5/dom.generated.d.ts +++ b/baselines/ts5.5/dom.generated.d.ts @@ -38117,13 +38117,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38135,7 +38135,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -42839,8 +42839,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.5/serviceworker.generated.d.ts b/baselines/ts5.5/serviceworker.generated.d.ts index afc9c9702..4a6de1487 100644 --- a/baselines/ts5.5/serviceworker.generated.d.ts +++ b/baselines/ts5.5/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.5/sharedworker.generated.d.ts b/baselines/ts5.5/sharedworker.generated.d.ts index 272a4fc47..fcca6cf49 100644 --- a/baselines/ts5.5/sharedworker.generated.d.ts +++ b/baselines/ts5.5/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.5/webworker.generated.d.ts b/baselines/ts5.5/webworker.generated.d.ts index e74ca3fe4..22907643a 100644 --- a/baselines/ts5.5/webworker.generated.d.ts +++ b/baselines/ts5.5/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.6/audioworklet.generated.d.ts b/baselines/ts5.6/audioworklet.generated.d.ts index b60857baa..3da2cbc0b 100644 --- a/baselines/ts5.6/audioworklet.generated.d.ts +++ b/baselines/ts5.6/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.6/dom.generated.d.ts b/baselines/ts5.6/dom.generated.d.ts index ec099f4f8..03f0d6de3 100644 --- a/baselines/ts5.6/dom.generated.d.ts +++ b/baselines/ts5.6/dom.generated.d.ts @@ -38140,13 +38140,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38158,7 +38158,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -42862,8 +42862,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.6/serviceworker.generated.d.ts b/baselines/ts5.6/serviceworker.generated.d.ts index afc9c9702..4a6de1487 100644 --- a/baselines/ts5.6/serviceworker.generated.d.ts +++ b/baselines/ts5.6/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.6/sharedworker.generated.d.ts b/baselines/ts5.6/sharedworker.generated.d.ts index 272a4fc47..fcca6cf49 100644 --- a/baselines/ts5.6/sharedworker.generated.d.ts +++ b/baselines/ts5.6/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.6/webworker.generated.d.ts b/baselines/ts5.6/webworker.generated.d.ts index e74ca3fe4..22907643a 100644 --- a/baselines/ts5.6/webworker.generated.d.ts +++ b/baselines/ts5.6/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.9/audioworklet.generated.d.ts b/baselines/ts5.9/audioworklet.generated.d.ts index 047d68b93..eab1592b6 100644 --- a/baselines/ts5.9/audioworklet.generated.d.ts +++ b/baselines/ts5.9/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.9/dom.generated.d.ts b/baselines/ts5.9/dom.generated.d.ts index c7be83a7a..603385a94 100644 --- a/baselines/ts5.9/dom.generated.d.ts +++ b/baselines/ts5.9/dom.generated.d.ts @@ -38140,13 +38140,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38158,7 +38158,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -42862,8 +42862,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.9/serviceworker.generated.d.ts b/baselines/ts5.9/serviceworker.generated.d.ts index 377ca282f..87716e205 100644 --- a/baselines/ts5.9/serviceworker.generated.d.ts +++ b/baselines/ts5.9/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.9/sharedworker.generated.d.ts b/baselines/ts5.9/sharedworker.generated.d.ts index ef5f13c4b..6e8a79c31 100644 --- a/baselines/ts5.9/sharedworker.generated.d.ts +++ b/baselines/ts5.9/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.9/webworker.generated.d.ts b/baselines/ts5.9/webworker.generated.d.ts index 69f511463..888d9989c 100644 --- a/baselines/ts5.9/webworker.generated.d.ts +++ b/baselines/ts5.9/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 45364e7b8..0cecb735a 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -10804,13 +10804,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL): URL; + new(url: string | URL, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL): boolean; + canParse(url: string | URL, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10822,7 +10822,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL): URL | null; + parse(url: string | URL, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14587,8 +14587,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/inputfiles/overridingTypes.jsonc b/inputfiles/overridingTypes.jsonc index b20f538ba..8dabe6754 100644 --- a/inputfiles/overridingTypes.jsonc +++ b/inputfiles/overridingTypes.jsonc @@ -1545,48 +1545,6 @@ } } }, - "URL": { - "constructor": { - "signature": { - "0": { - "param": [ - { - "name": "base", - "additionalTypes": ["URL"] - } - ] - } - } - }, - "methods": { - "method": { - "canParse": { - "signature": { - "0": { - "param": [ - { - "name": "base", - "additionalTypes": ["URL"] - } - ] - } - } - }, - "parse": { - "signature": { - "0": { - "param": [ - { - "name": "base", - "additionalTypes": ["URL"] - } - ] - } - } - } - } - } - }, "Client": { "properties": { "property": { diff --git a/inputfiles/patches/url.kdl b/inputfiles/patches/url.kdl index b4fbeb195..b221886d4 100644 --- a/inputfiles/patches/url.kdl +++ b/inputfiles/patches/url.kdl @@ -5,3 +5,15 @@ interface URLSearchParams { } } } + +interface URL { + constructor signatureIndex=0 { + param base overrideType="string | URL | Location" + } + method canParse signatureIndex=0 { + param base overrideType="string | URL | Location" + } + method parse signatureIndex=0 { + param base overrideType="string | URL | Location" + } +} diff --git a/inputfiles/patches/xhr.kdl b/inputfiles/patches/xhr.kdl new file mode 100644 index 000000000..ac36a3913 --- /dev/null +++ b/inputfiles/patches/xhr.kdl @@ -0,0 +1,8 @@ +interface XMLHttpRequest { + method open signatureIndex=0 { + param url overrideType="string | URL | Location" + } + method open signatureIndex=1 { + param url overrideType="string | URL | Location" + } +} From a20ff24500b6c395f82a2d71858e751d432b3019 Mon Sep 17 00:00:00 2001 From: Bashamega Date: Mon, 7 Sep 2026 15:29:29 +0300 Subject: [PATCH 2/5] update --- baselines/ts5.9/sharedworker.generated.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/baselines/ts5.9/sharedworker.generated.d.ts b/baselines/ts5.9/sharedworker.generated.d.ts index 6e8a79c31..e2758a64b 100644 --- a/baselines/ts5.9/sharedworker.generated.d.ts +++ b/baselines/ts5.9/sharedworker.generated.d.ts @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL): void; - open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL | Location): void; + open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * From ed0def134c871f66a651639b4cd1fc191fe44cba Mon Sep 17 00:00:00 2001 From: Bashamega Date: Mon, 7 Sep 2026 16:54:46 +0300 Subject: [PATCH 3/5] Update URL constructor signature to include Location type across multiple baseline files --- baselines/audioworklet.generated.d.ts | 2 +- baselines/dom.generated.d.ts | 2 +- baselines/serviceworker.generated.d.ts | 2 +- baselines/sharedworker.generated.d.ts | 2 +- baselines/ts5.5/audioworklet.generated.d.ts | 2 +- baselines/ts5.5/dom.generated.d.ts | 2 +- baselines/ts5.5/serviceworker.generated.d.ts | 2 +- baselines/ts5.5/sharedworker.generated.d.ts | 2 +- baselines/ts5.5/webworker.generated.d.ts | 2 +- baselines/ts5.6/audioworklet.generated.d.ts | 2 +- baselines/ts5.6/dom.generated.d.ts | 2 +- baselines/ts5.6/serviceworker.generated.d.ts | 2 +- baselines/ts5.6/sharedworker.generated.d.ts | 2 +- baselines/ts5.6/webworker.generated.d.ts | 2 +- baselines/ts5.9/audioworklet.generated.d.ts | 2 +- baselines/ts5.9/dom.generated.d.ts | 2 +- baselines/ts5.9/serviceworker.generated.d.ts | 2 +- baselines/ts5.9/sharedworker.generated.d.ts | 2 +- baselines/ts5.9/webworker.generated.d.ts | 2 +- baselines/webworker.generated.d.ts | 2 +- inputfiles/patches/url.kdl | 1 + 21 files changed, 21 insertions(+), 20 deletions(-) diff --git a/baselines/audioworklet.generated.d.ts b/baselines/audioworklet.generated.d.ts index 39d05f57d..29963a269 100644 --- a/baselines/audioworklet.generated.d.ts +++ b/baselines/audioworklet.generated.d.ts @@ -1348,7 +1348,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 5a6ce5666..588a3cb25 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -38143,7 +38143,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index 71b28a124..22d5afae1 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -9517,7 +9517,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index a3543a49e..6365d0b25 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -9048,7 +9048,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.5/audioworklet.generated.d.ts b/baselines/ts5.5/audioworklet.generated.d.ts index 3da2cbc0b..4fc26b222 100644 --- a/baselines/ts5.5/audioworklet.generated.d.ts +++ b/baselines/ts5.5/audioworklet.generated.d.ts @@ -1345,7 +1345,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.5/dom.generated.d.ts b/baselines/ts5.5/dom.generated.d.ts index cf1e740a7..c579b91ec 100644 --- a/baselines/ts5.5/dom.generated.d.ts +++ b/baselines/ts5.5/dom.generated.d.ts @@ -38117,7 +38117,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.5/serviceworker.generated.d.ts b/baselines/ts5.5/serviceworker.generated.d.ts index 4a6de1487..faaa40910 100644 --- a/baselines/ts5.5/serviceworker.generated.d.ts +++ b/baselines/ts5.5/serviceworker.generated.d.ts @@ -9514,7 +9514,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.5/sharedworker.generated.d.ts b/baselines/ts5.5/sharedworker.generated.d.ts index fcca6cf49..c5cd39bbe 100644 --- a/baselines/ts5.5/sharedworker.generated.d.ts +++ b/baselines/ts5.5/sharedworker.generated.d.ts @@ -9045,7 +9045,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.5/webworker.generated.d.ts b/baselines/ts5.5/webworker.generated.d.ts index 22907643a..5c9a52d3d 100644 --- a/baselines/ts5.5/webworker.generated.d.ts +++ b/baselines/ts5.5/webworker.generated.d.ts @@ -10801,7 +10801,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.6/audioworklet.generated.d.ts b/baselines/ts5.6/audioworklet.generated.d.ts index 3da2cbc0b..4fc26b222 100644 --- a/baselines/ts5.6/audioworklet.generated.d.ts +++ b/baselines/ts5.6/audioworklet.generated.d.ts @@ -1345,7 +1345,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.6/dom.generated.d.ts b/baselines/ts5.6/dom.generated.d.ts index 03f0d6de3..59bc391f3 100644 --- a/baselines/ts5.6/dom.generated.d.ts +++ b/baselines/ts5.6/dom.generated.d.ts @@ -38140,7 +38140,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.6/serviceworker.generated.d.ts b/baselines/ts5.6/serviceworker.generated.d.ts index 4a6de1487..faaa40910 100644 --- a/baselines/ts5.6/serviceworker.generated.d.ts +++ b/baselines/ts5.6/serviceworker.generated.d.ts @@ -9514,7 +9514,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.6/sharedworker.generated.d.ts b/baselines/ts5.6/sharedworker.generated.d.ts index fcca6cf49..c5cd39bbe 100644 --- a/baselines/ts5.6/sharedworker.generated.d.ts +++ b/baselines/ts5.6/sharedworker.generated.d.ts @@ -9045,7 +9045,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.6/webworker.generated.d.ts b/baselines/ts5.6/webworker.generated.d.ts index 22907643a..5c9a52d3d 100644 --- a/baselines/ts5.6/webworker.generated.d.ts +++ b/baselines/ts5.6/webworker.generated.d.ts @@ -10801,7 +10801,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.9/audioworklet.generated.d.ts b/baselines/ts5.9/audioworklet.generated.d.ts index eab1592b6..ac6e68b78 100644 --- a/baselines/ts5.9/audioworklet.generated.d.ts +++ b/baselines/ts5.9/audioworklet.generated.d.ts @@ -1345,7 +1345,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.9/dom.generated.d.ts b/baselines/ts5.9/dom.generated.d.ts index 603385a94..f643e78df 100644 --- a/baselines/ts5.9/dom.generated.d.ts +++ b/baselines/ts5.9/dom.generated.d.ts @@ -38140,7 +38140,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.9/serviceworker.generated.d.ts b/baselines/ts5.9/serviceworker.generated.d.ts index 87716e205..a7c1b3ec7 100644 --- a/baselines/ts5.9/serviceworker.generated.d.ts +++ b/baselines/ts5.9/serviceworker.generated.d.ts @@ -9514,7 +9514,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.9/sharedworker.generated.d.ts b/baselines/ts5.9/sharedworker.generated.d.ts index e2758a64b..c1c7d6de1 100644 --- a/baselines/ts5.9/sharedworker.generated.d.ts +++ b/baselines/ts5.9/sharedworker.generated.d.ts @@ -9045,7 +9045,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/ts5.9/webworker.generated.d.ts b/baselines/ts5.9/webworker.generated.d.ts index 888d9989c..390c24fff 100644 --- a/baselines/ts5.9/webworker.generated.d.ts +++ b/baselines/ts5.9/webworker.generated.d.ts @@ -10801,7 +10801,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 0cecb735a..c5990260a 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -10804,7 +10804,7 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL, base?: string | URL | Location): URL; + new(url: string | URL | Location, base?: string | URL | Location): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * diff --git a/inputfiles/patches/url.kdl b/inputfiles/patches/url.kdl index b221886d4..67762aef2 100644 --- a/inputfiles/patches/url.kdl +++ b/inputfiles/patches/url.kdl @@ -8,6 +8,7 @@ interface URLSearchParams { interface URL { constructor signatureIndex=0 { + param url overrideType="string | URL | Location" param base overrideType="string | URL | Location" } method canParse signatureIndex=0 { From a2b7b8ee34eff048d9b890066766509054062f8d Mon Sep 17 00:00:00 2001 From: Bashamega Date: Mon, 7 Sep 2026 17:01:36 +0300 Subject: [PATCH 4/5] update Signed-off-by: Bashamega --- baselines/audioworklet.generated.d.ts | 4 ++-- baselines/dom.generated.d.ts | 4 ++-- baselines/serviceworker.generated.d.ts | 4 ++-- baselines/sharedworker.generated.d.ts | 4 ++-- baselines/ts5.5/audioworklet.generated.d.ts | 4 ++-- baselines/ts5.5/dom.generated.d.ts | 4 ++-- baselines/ts5.5/serviceworker.generated.d.ts | 4 ++-- baselines/ts5.5/sharedworker.generated.d.ts | 4 ++-- baselines/ts5.5/webworker.generated.d.ts | 4 ++-- baselines/ts5.6/audioworklet.generated.d.ts | 4 ++-- baselines/ts5.6/dom.generated.d.ts | 4 ++-- baselines/ts5.6/serviceworker.generated.d.ts | 4 ++-- baselines/ts5.6/sharedworker.generated.d.ts | 4 ++-- baselines/ts5.6/webworker.generated.d.ts | 4 ++-- baselines/ts5.9/audioworklet.generated.d.ts | 4 ++-- baselines/ts5.9/dom.generated.d.ts | 4 ++-- baselines/ts5.9/serviceworker.generated.d.ts | 4 ++-- baselines/ts5.9/sharedworker.generated.d.ts | 4 ++-- baselines/ts5.9/webworker.generated.d.ts | 4 ++-- baselines/webworker.generated.d.ts | 4 ++-- inputfiles/patches/url.kdl | 2 ++ 21 files changed, 42 insertions(+), 40 deletions(-) diff --git a/baselines/audioworklet.generated.d.ts b/baselines/audioworklet.generated.d.ts index 29963a269..9b4cb1a9d 100644 --- a/baselines/audioworklet.generated.d.ts +++ b/baselines/audioworklet.generated.d.ts @@ -1354,13 +1354,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 588a3cb25..0cd1defdd 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -38149,7 +38149,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38161,7 +38161,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index 22d5afae1..75ddcfe00 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -9523,13 +9523,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 6365d0b25..8343c10a1 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -9054,7 +9054,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9066,7 +9066,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.5/audioworklet.generated.d.ts b/baselines/ts5.5/audioworklet.generated.d.ts index 4fc26b222..2aebaaf06 100644 --- a/baselines/ts5.5/audioworklet.generated.d.ts +++ b/baselines/ts5.5/audioworklet.generated.d.ts @@ -1351,13 +1351,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.5/dom.generated.d.ts b/baselines/ts5.5/dom.generated.d.ts index c579b91ec..0c8c31d5c 100644 --- a/baselines/ts5.5/dom.generated.d.ts +++ b/baselines/ts5.5/dom.generated.d.ts @@ -38123,7 +38123,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38135,7 +38135,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.5/serviceworker.generated.d.ts b/baselines/ts5.5/serviceworker.generated.d.ts index faaa40910..cf19eb490 100644 --- a/baselines/ts5.5/serviceworker.generated.d.ts +++ b/baselines/ts5.5/serviceworker.generated.d.ts @@ -9520,13 +9520,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.5/sharedworker.generated.d.ts b/baselines/ts5.5/sharedworker.generated.d.ts index c5cd39bbe..0f29b1565 100644 --- a/baselines/ts5.5/sharedworker.generated.d.ts +++ b/baselines/ts5.5/sharedworker.generated.d.ts @@ -9051,7 +9051,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.5/webworker.generated.d.ts b/baselines/ts5.5/webworker.generated.d.ts index 5c9a52d3d..226d21f32 100644 --- a/baselines/ts5.5/webworker.generated.d.ts +++ b/baselines/ts5.5/webworker.generated.d.ts @@ -10807,7 +10807,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.6/audioworklet.generated.d.ts b/baselines/ts5.6/audioworklet.generated.d.ts index 4fc26b222..2aebaaf06 100644 --- a/baselines/ts5.6/audioworklet.generated.d.ts +++ b/baselines/ts5.6/audioworklet.generated.d.ts @@ -1351,13 +1351,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.6/dom.generated.d.ts b/baselines/ts5.6/dom.generated.d.ts index 59bc391f3..97005a267 100644 --- a/baselines/ts5.6/dom.generated.d.ts +++ b/baselines/ts5.6/dom.generated.d.ts @@ -38146,7 +38146,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38158,7 +38158,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.6/serviceworker.generated.d.ts b/baselines/ts5.6/serviceworker.generated.d.ts index faaa40910..cf19eb490 100644 --- a/baselines/ts5.6/serviceworker.generated.d.ts +++ b/baselines/ts5.6/serviceworker.generated.d.ts @@ -9520,13 +9520,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.6/sharedworker.generated.d.ts b/baselines/ts5.6/sharedworker.generated.d.ts index c5cd39bbe..0f29b1565 100644 --- a/baselines/ts5.6/sharedworker.generated.d.ts +++ b/baselines/ts5.6/sharedworker.generated.d.ts @@ -9051,7 +9051,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.6/webworker.generated.d.ts b/baselines/ts5.6/webworker.generated.d.ts index 5c9a52d3d..226d21f32 100644 --- a/baselines/ts5.6/webworker.generated.d.ts +++ b/baselines/ts5.6/webworker.generated.d.ts @@ -10807,7 +10807,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.9/audioworklet.generated.d.ts b/baselines/ts5.9/audioworklet.generated.d.ts index ac6e68b78..f019c9172 100644 --- a/baselines/ts5.9/audioworklet.generated.d.ts +++ b/baselines/ts5.9/audioworklet.generated.d.ts @@ -1351,13 +1351,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.9/dom.generated.d.ts b/baselines/ts5.9/dom.generated.d.ts index f643e78df..40c5cc990 100644 --- a/baselines/ts5.9/dom.generated.d.ts +++ b/baselines/ts5.9/dom.generated.d.ts @@ -38146,7 +38146,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -38158,7 +38158,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.9/serviceworker.generated.d.ts b/baselines/ts5.9/serviceworker.generated.d.ts index a7c1b3ec7..717e834a7 100644 --- a/baselines/ts5.9/serviceworker.generated.d.ts +++ b/baselines/ts5.9/serviceworker.generated.d.ts @@ -9520,13 +9520,13 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; }; /** diff --git a/baselines/ts5.9/sharedworker.generated.d.ts b/baselines/ts5.9/sharedworker.generated.d.ts index c1c7d6de1..ddf7b7fb0 100644 --- a/baselines/ts5.9/sharedworker.generated.d.ts +++ b/baselines/ts5.9/sharedworker.generated.d.ts @@ -9051,7 +9051,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/ts5.9/webworker.generated.d.ts b/baselines/ts5.9/webworker.generated.d.ts index 390c24fff..cf0e41bf6 100644 --- a/baselines/ts5.9/webworker.generated.d.ts +++ b/baselines/ts5.9/webworker.generated.d.ts @@ -10807,7 +10807,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index c5990260a..e352a8adf 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -10810,7 +10810,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string | URL | Location): boolean; + canParse(url: string | URL | Location, base?: string | URL | Location): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10822,7 +10822,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL, base?: string | URL | Location): URL | null; + parse(url: string | URL | Location, base?: string | URL | Location): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * diff --git a/inputfiles/patches/url.kdl b/inputfiles/patches/url.kdl index 67762aef2..d98e3fbab 100644 --- a/inputfiles/patches/url.kdl +++ b/inputfiles/patches/url.kdl @@ -12,9 +12,11 @@ interface URL { param base overrideType="string | URL | Location" } method canParse signatureIndex=0 { + param url overrideType="string | URL | Location" param base overrideType="string | URL | Location" } method parse signatureIndex=0 { + param url overrideType="string | URL | Location" param base overrideType="string | URL | Location" } } From 1d50041d74d6d56bfab6ce3617de65665335cfa5 Mon Sep 17 00:00:00 2001 From: Bashamega Date: Mon, 7 Sep 2026 19:16:01 +0300 Subject: [PATCH 5/5] Refactor URL interface to remove Location type from constructor and method parameters across multiple baseline files --- baselines/audioworklet.generated.d.ts | 6 ++-- baselines/serviceworker.generated.d.ts | 6 ++-- baselines/sharedworker.generated.d.ts | 10 +++---- baselines/ts5.5/audioworklet.generated.d.ts | 6 ++-- baselines/ts5.5/serviceworker.generated.d.ts | 6 ++-- baselines/ts5.5/sharedworker.generated.d.ts | 10 +++---- baselines/ts5.5/webworker.generated.d.ts | 10 +++---- baselines/ts5.6/audioworklet.generated.d.ts | 6 ++-- baselines/ts5.6/serviceworker.generated.d.ts | 6 ++-- baselines/ts5.6/sharedworker.generated.d.ts | 10 +++---- baselines/ts5.6/webworker.generated.d.ts | 10 +++---- baselines/ts5.9/audioworklet.generated.d.ts | 6 ++-- baselines/ts5.9/serviceworker.generated.d.ts | 6 ++-- baselines/ts5.9/sharedworker.generated.d.ts | 10 +++---- baselines/ts5.9/webworker.generated.d.ts | 10 +++---- baselines/webworker.generated.d.ts | 10 +++---- inputfiles/patches/url.kdl | 24 +++++++++++---- inputfiles/patches/xhr.kdl | 8 +++-- src/build/emitter.ts | 22 ++++++++++++-- src/build/expose.ts | 31 ++++++++++++++++++-- 20 files changed, 136 insertions(+), 77 deletions(-) diff --git a/baselines/audioworklet.generated.d.ts b/baselines/audioworklet.generated.d.ts index 9b4cb1a9d..dc7ea4402 100644 --- a/baselines/audioworklet.generated.d.ts +++ b/baselines/audioworklet.generated.d.ts @@ -1348,19 +1348,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index 75ddcfe00..190881a28 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -9517,19 +9517,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index 8343c10a1..602f794ec 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -9048,13 +9048,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9066,7 +9066,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12503,8 +12503,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.5/audioworklet.generated.d.ts b/baselines/ts5.5/audioworklet.generated.d.ts index 2aebaaf06..b60857baa 100644 --- a/baselines/ts5.5/audioworklet.generated.d.ts +++ b/baselines/ts5.5/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.5/serviceworker.generated.d.ts b/baselines/ts5.5/serviceworker.generated.d.ts index cf19eb490..afc9c9702 100644 --- a/baselines/ts5.5/serviceworker.generated.d.ts +++ b/baselines/ts5.5/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.5/sharedworker.generated.d.ts b/baselines/ts5.5/sharedworker.generated.d.ts index 0f29b1565..272a4fc47 100644 --- a/baselines/ts5.5/sharedworker.generated.d.ts +++ b/baselines/ts5.5/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.5/webworker.generated.d.ts b/baselines/ts5.5/webworker.generated.d.ts index 226d21f32..e74ca3fe4 100644 --- a/baselines/ts5.5/webworker.generated.d.ts +++ b/baselines/ts5.5/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.6/audioworklet.generated.d.ts b/baselines/ts5.6/audioworklet.generated.d.ts index 2aebaaf06..b60857baa 100644 --- a/baselines/ts5.6/audioworklet.generated.d.ts +++ b/baselines/ts5.6/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.6/serviceworker.generated.d.ts b/baselines/ts5.6/serviceworker.generated.d.ts index cf19eb490..afc9c9702 100644 --- a/baselines/ts5.6/serviceworker.generated.d.ts +++ b/baselines/ts5.6/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.6/sharedworker.generated.d.ts b/baselines/ts5.6/sharedworker.generated.d.ts index 0f29b1565..272a4fc47 100644 --- a/baselines/ts5.6/sharedworker.generated.d.ts +++ b/baselines/ts5.6/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.6/webworker.generated.d.ts b/baselines/ts5.6/webworker.generated.d.ts index 226d21f32..e74ca3fe4 100644 --- a/baselines/ts5.6/webworker.generated.d.ts +++ b/baselines/ts5.6/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.9/audioworklet.generated.d.ts b/baselines/ts5.9/audioworklet.generated.d.ts index f019c9172..047d68b93 100644 --- a/baselines/ts5.9/audioworklet.generated.d.ts +++ b/baselines/ts5.9/audioworklet.generated.d.ts @@ -1345,19 +1345,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.9/serviceworker.generated.d.ts b/baselines/ts5.9/serviceworker.generated.d.ts index 717e834a7..377ca282f 100644 --- a/baselines/ts5.9/serviceworker.generated.d.ts +++ b/baselines/ts5.9/serviceworker.generated.d.ts @@ -9514,19 +9514,19 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`URL.parse()`** static method of the URL interface returns a newly created URL object representing the URL defined by the parameters. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; }; /** diff --git a/baselines/ts5.9/sharedworker.generated.d.ts b/baselines/ts5.9/sharedworker.generated.d.ts index ddf7b7fb0..ef5f13c4b 100644 --- a/baselines/ts5.9/sharedworker.generated.d.ts +++ b/baselines/ts5.9/sharedworker.generated.d.ts @@ -9045,13 +9045,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -9063,7 +9063,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -12500,8 +12500,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/ts5.9/webworker.generated.d.ts b/baselines/ts5.9/webworker.generated.d.ts index cf0e41bf6..69f511463 100644 --- a/baselines/ts5.9/webworker.generated.d.ts +++ b/baselines/ts5.9/webworker.generated.d.ts @@ -10801,13 +10801,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10819,7 +10819,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14584,8 +14584,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index e352a8adf..45364e7b8 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -10804,13 +10804,13 @@ interface URL { declare var URL: { prototype: URL; - new(url: string | URL | Location, base?: string | URL | Location): URL; + new(url: string | URL, base?: string | URL): URL; /** * The **`URL.canParse()`** static method of the URL interface returns a boolean indicating whether or not an absolute URL, or a relative URL combined with a base URL, are parsable and valid. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL | Location, base?: string | URL | Location): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** * The **`createObjectURL()`** static method of the URL interface creates a string containing a blob URL pointing to the object given in the parameter. * @@ -10822,7 +10822,7 @@ declare var URL: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ - parse(url: string | URL | Location, base?: string | URL | Location): URL | null; + parse(url: string | URL, base?: string | URL): URL | null; /** * The **`revokeObjectURL()`** static method of the URL interface releases an existing object URL which was previously created by calling URL.createObjectURL(). * @@ -14587,8 +14587,8 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open) */ - open(method: string, url: string | URL | Location): void; - open(method: string, url: string | URL | Location, async: boolean, username?: string | null, password?: string | null): void; + open(method: string, url: string | URL): void; + open(method: string, url: string | URL, async: boolean, username?: string | null, password?: string | null): void; /** * The XMLHttpRequest method **`overrideMimeType()`** specifies a MIME type other than the one provided by the server to be used instead when interpreting the data being transferred in a request. * diff --git a/inputfiles/patches/url.kdl b/inputfiles/patches/url.kdl index d98e3fbab..0bcdd93ff 100644 --- a/inputfiles/patches/url.kdl +++ b/inputfiles/patches/url.kdl @@ -8,15 +8,27 @@ interface URLSearchParams { interface URL { constructor signatureIndex=0 { - param url overrideType="string | URL | Location" - param base overrideType="string | URL | Location" + param url { + additionalTypes URL Location + } + param base { + additionalTypes URL Location + } } method canParse signatureIndex=0 { - param url overrideType="string | URL | Location" - param base overrideType="string | URL | Location" + param url { + additionalTypes URL Location + } + param base { + additionalTypes URL Location + } } method parse signatureIndex=0 { - param url overrideType="string | URL | Location" - param base overrideType="string | URL | Location" + param url { + additionalTypes URL Location + } + param base { + additionalTypes URL Location + } } } diff --git a/inputfiles/patches/xhr.kdl b/inputfiles/patches/xhr.kdl index ac36a3913..49ee3768a 100644 --- a/inputfiles/patches/xhr.kdl +++ b/inputfiles/patches/xhr.kdl @@ -1,8 +1,12 @@ interface XMLHttpRequest { method open signatureIndex=0 { - param url overrideType="string | URL | Location" + param url { + additionalTypes URL Location + } } method open signatureIndex=1 { - param url overrideType="string | URL | Location" + param url { + additionalTypes URL Location + } } } diff --git a/src/build/emitter.ts b/src/build/emitter.ts index 31e43749f..d9a33a56a 100644 --- a/src/build/emitter.ts +++ b/src/build/emitter.ts @@ -429,7 +429,11 @@ export function emitWebIdl( typeof obj.type === "string" ? [{ ...obj, additionalTypes: undefined }] : obj.type; - types.push(...(obj.additionalTypes ?? []).map((t) => ({ type: t }))); + types.push( + ...(obj.additionalTypes ?? []) + .filter((t) => isKnownType(t)) + .map((t) => ({ type: t })), + ); // propagate `any` const converted = types.map((t) => @@ -520,6 +524,18 @@ export function emitWebIdl( throw new Error("Unknown DOM type: " + objDomType); } + function isKnownType(type: string) { + return ( + baseTypeConversionMap.has(type) || + allInterfacesMap[type] || + allLegacyWindowAliases.includes(type) || + allCallbackFunctionsMap[type] || + allDictionariesMap[type] || + allEnumsMap[type] || + allTypedefsMap[type] + ); + } + function makeNullable(originalType: string) { switch (originalType) { case "any": @@ -795,7 +811,9 @@ export function emitWebIdl( p = resolvePromise(p); if (acceptsUrl(p)) { p = { ...p, additionalTypes: [...(p.additionalTypes ?? [])] }; - p.additionalTypes!.push("URL"); + if (!p.additionalTypes!.includes("URL")) { + p.additionalTypes!.push("URL"); + } } const pType = convertDomTypeToTsType(p); diff --git a/src/build/expose.ts b/src/build/expose.ts index 4c0c023c0..a60d45f3d 100644 --- a/src/build/expose.ts +++ b/src/build/expose.ts @@ -177,6 +177,9 @@ function deepFilterUnexposedTypes( unexposedTypes: Set, ) { return deepClone(webidl, (o) => { + if (o.additionalTypes) { + return filterUnexposedType(o, unexposedTypes); + } if (Array.isArray(o.type)) { return { ...o, @@ -237,13 +240,35 @@ function filterUnexposedType( unexposedTypes, ); if (filteredUnion.length) { - return { ...type, type: flattenType(filteredUnion) }; + return { + ...type, + type: flattenType(filteredUnion), + additionalTypes: filterAdditionalTypes( + type.additionalTypes, + unexposedTypes, + ), + }; } - } else if (type.overrideType || !unexposedTypes.has(type.type)) { - return type; + } else if (!type.overrideType && unexposedTypes.has(type.type)) { + return; + } else { + const additionalTypes = filterAdditionalTypes( + type.additionalTypes, + unexposedTypes, + ); + return additionalTypes ? { ...type, additionalTypes } : type; } } +function filterAdditionalTypes( + additionalTypes: string[] | undefined, + unexposedTypes: Set, +) { + return additionalTypes?.filter( + (additionalType) => !unexposedTypes.has(additionalType), + ); +} + function filterUnexposedTypeFromUnion( union: Browser.Typed[], unexposedTypes: Set,