diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index dfcfcd2cf..c4a1b0cb9 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -31815,13 +31815,13 @@ interface SVGAnimatedRect { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/animVal) */ - readonly animVal: DOMRectReadOnly; + readonly animVal: SVGRect; /** * The **`baseVal`** read-only property of the SVGAnimatedRect interface represents the current non-animated value of the viewBox attribute of an SVG element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/baseVal) */ - readonly baseVal: DOMRect; + readonly baseVal: SVGRect; } declare var SVGAnimatedRect: { @@ -33198,7 +33198,7 @@ declare var SVGFETurbulenceElement: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFilterElement) */ -interface SVGFilterElement extends SVGElement, SVGURIReference { +interface SVGFilterElement extends SVGElement { /** * The **`filterUnits`** read-only property of the SVGFilterElement interface reflects the filterUnits attribute of the given element. It takes one of the SVG_UNIT_TYPE_* constants defined in SVGUnitTypes. * @@ -33341,7 +33341,7 @@ interface SVGGeometryElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getPointAtLength) */ - getPointAtLength(distance: number): DOMPoint; + getPointAtLength(distance: number): SVGPoint; /** * The **`SVGGeometryElement.getTotalLength()`** method returns the user agent's computed value for the total length of the path in user units. * @@ -33431,19 +33431,19 @@ interface SVGGraphicsElement extends SVGElement, SVGTests { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox) */ - getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getBBox(options?: SVGBoundingBoxOptions): SVGRect; /** * The **`getCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to its SVG viewport's coordinate system. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getCTM) */ - getCTM(): DOMMatrix | null; + getCTM(): SVGMatrix | null; /** * The **`getScreenCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to the coordinate system of the SVG viewport for the SVG document fragment. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getScreenCTM) */ - getScreenCTM(): DOMMatrix | null; + getScreenCTM(): SVGMatrix | null; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -34105,7 +34105,7 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/appendItem) */ - appendItem(newItem: DOMPoint): DOMPoint; + appendItem(newItem: SVGPoint): SVGPoint; /** * The **`clear()`** method of the SVGPointList interface removes all items from the list. * @@ -34117,32 +34117,32 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/getItem) */ - getItem(index: number): DOMPoint; + getItem(index: number): SVGPoint; /** * The **`initialize()`** method of the SVGPointList interface clears the list then adds a single new DOMPoint object to the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/initialize) */ - initialize(newItem: DOMPoint): DOMPoint; + initialize(newItem: SVGPoint): SVGPoint; /** * The **`insertItemBefore()`** method of the SVGPointList interface inserts a DOMPoint before another item in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/insertItemBefore) */ - insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; /** * The **`removeItem()`** method of the SVGPointList interface removes a DOMPoint from the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/removeItem) */ - removeItem(index: number): DOMPoint; + removeItem(index: number): SVGPoint; /** * The **`replaceItem()`** method of the SVGPointList interface replaces a DOMPoint in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/replaceItem) */ - replaceItem(newItem: DOMPoint, index: number): DOMPoint; - [index: number]: DOMPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + [index: number]: SVGPoint; } declare var SVGPointList: { @@ -34363,7 +34363,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/currentTranslate) */ - readonly currentTranslate: DOMPointReadOnly; + readonly currentTranslate: SVGPoint; /** * The **`height`** read-only property of the SVGSVGElement interface describes the vertical size of element as an SVGAnimatedLength. It reflects the element's height attribute, which may not be the SVG's rendered height. * @@ -34399,13 +34399,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkEnclosure) */ - checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; /** * The **`checkIntersection()`** method of the SVGSVGElement interface checks if the rendered content of the given element intersects the supplied rectangle. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkIntersection) */ - checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; /** * The **`createSVGAngle()`** method of the SVGSVGElement interface creates an SVGAngle object outside of any document trees. * @@ -34423,7 +34423,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGMatrix) */ - createSVGMatrix(): DOMMatrix; + createSVGMatrix(): SVGMatrix; /** * The **`createSVGNumber()`** method of the SVGSVGElement interface creates an SVGNumber object outside of any document trees. * @@ -34435,13 +34435,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGPoint) */ - createSVGPoint(): DOMPoint; + createSVGPoint(): SVGPoint; /** * The **`createSVGRect()`** method of the SVGSVGElement interface creates a DOMRect object outside of any document trees. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGRect) */ - createSVGRect(): DOMRect; + createSVGRect(): SVGRect; /** * The **`createSVGTransform()`** method of the SVGSVGElement interface creates an SVGTransform object outside of any document trees. * @@ -34474,8 +34474,8 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/getElementById) */ getElementById(elementId: string): Element | null; - getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; - getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; /** * The **`pauseAnimations()`** method of the SVGSVGElement interface suspends (i.e., pauses) all currently running animations that are defined within the SVG document fragment corresponding to this element, causing the animation clock corresponding to this document fragment to stand still until it is unpaused. * @@ -34777,13 +34777,13 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getEndPositionOfChar) */ - getEndPositionOfChar(charnum: number): DOMPoint; + getEndPositionOfChar(charnum: number): SVGPoint; /** * The **`getExtentOfChar()`** method of the SVGTextContentElement interface the represents computed tight bounding box of the glyph cell that corresponds to a given typographic character. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getExtentOfChar) */ - getExtentOfChar(charnum: number): DOMRect; + getExtentOfChar(charnum: number): SVGRect; /** * The **`getNumberOfChars()`** method of the SVGTextContentElement interface represents the total number of addressable characters available for rendering within the current element, regardless of whether they will be rendered. * @@ -34801,7 +34801,7 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getStartPositionOfChar) */ - getStartPositionOfChar(charnum: number): DOMPoint; + getStartPositionOfChar(charnum: number): SVGPoint; /** * The **`getSubStringLength()`** method of the SVGTextContentElement interface represents the computed length of the formatted text advance distance for a substring of text within the element. * @@ -34972,7 +34972,7 @@ interface SVGTransform { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransform/matrix) */ - readonly matrix: DOMMatrix; + readonly matrix: SVGMatrix; /** * The **`type`** read-only property of the SVGTransform interface represents the type of transformation applied, specified by one of the SVG_TRANSFORM_* constants defined on this interface. * @@ -45740,7 +45740,7 @@ interface SVGNumberList { } interface SVGPointList { - [Symbol.iterator](): ArrayIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGStringList { diff --git a/baselines/ts5.5/dom.generated.d.ts b/baselines/ts5.5/dom.generated.d.ts index 786600574..6218a4942 100644 --- a/baselines/ts5.5/dom.generated.d.ts +++ b/baselines/ts5.5/dom.generated.d.ts @@ -31790,13 +31790,13 @@ interface SVGAnimatedRect { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/animVal) */ - readonly animVal: DOMRectReadOnly; + readonly animVal: SVGRect; /** * The **`baseVal`** read-only property of the SVGAnimatedRect interface represents the current non-animated value of the viewBox attribute of an SVG element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/baseVal) */ - readonly baseVal: DOMRect; + readonly baseVal: SVGRect; } declare var SVGAnimatedRect: { @@ -33173,7 +33173,7 @@ declare var SVGFETurbulenceElement: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFilterElement) */ -interface SVGFilterElement extends SVGElement, SVGURIReference { +interface SVGFilterElement extends SVGElement { /** * The **`filterUnits`** read-only property of the SVGFilterElement interface reflects the filterUnits attribute of the given element. It takes one of the SVG_UNIT_TYPE_* constants defined in SVGUnitTypes. * @@ -33316,7 +33316,7 @@ interface SVGGeometryElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getPointAtLength) */ - getPointAtLength(distance: number): DOMPoint; + getPointAtLength(distance: number): SVGPoint; /** * The **`SVGGeometryElement.getTotalLength()`** method returns the user agent's computed value for the total length of the path in user units. * @@ -33406,19 +33406,19 @@ interface SVGGraphicsElement extends SVGElement, SVGTests { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox) */ - getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getBBox(options?: SVGBoundingBoxOptions): SVGRect; /** * The **`getCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to its SVG viewport's coordinate system. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getCTM) */ - getCTM(): DOMMatrix | null; + getCTM(): SVGMatrix | null; /** * The **`getScreenCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to the coordinate system of the SVG viewport for the SVG document fragment. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getScreenCTM) */ - getScreenCTM(): DOMMatrix | null; + getScreenCTM(): SVGMatrix | null; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -34080,7 +34080,7 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/appendItem) */ - appendItem(newItem: DOMPoint): DOMPoint; + appendItem(newItem: SVGPoint): SVGPoint; /** * The **`clear()`** method of the SVGPointList interface removes all items from the list. * @@ -34092,32 +34092,32 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/getItem) */ - getItem(index: number): DOMPoint; + getItem(index: number): SVGPoint; /** * The **`initialize()`** method of the SVGPointList interface clears the list then adds a single new DOMPoint object to the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/initialize) */ - initialize(newItem: DOMPoint): DOMPoint; + initialize(newItem: SVGPoint): SVGPoint; /** * The **`insertItemBefore()`** method of the SVGPointList interface inserts a DOMPoint before another item in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/insertItemBefore) */ - insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; /** * The **`removeItem()`** method of the SVGPointList interface removes a DOMPoint from the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/removeItem) */ - removeItem(index: number): DOMPoint; + removeItem(index: number): SVGPoint; /** * The **`replaceItem()`** method of the SVGPointList interface replaces a DOMPoint in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/replaceItem) */ - replaceItem(newItem: DOMPoint, index: number): DOMPoint; - [index: number]: DOMPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + [index: number]: SVGPoint; } declare var SVGPointList: { @@ -34338,7 +34338,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/currentTranslate) */ - readonly currentTranslate: DOMPointReadOnly; + readonly currentTranslate: SVGPoint; /** * The **`height`** read-only property of the SVGSVGElement interface describes the vertical size of element as an SVGAnimatedLength. It reflects the element's height attribute, which may not be the SVG's rendered height. * @@ -34374,13 +34374,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkEnclosure) */ - checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; /** * The **`checkIntersection()`** method of the SVGSVGElement interface checks if the rendered content of the given element intersects the supplied rectangle. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkIntersection) */ - checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; /** * The **`createSVGAngle()`** method of the SVGSVGElement interface creates an SVGAngle object outside of any document trees. * @@ -34398,7 +34398,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGMatrix) */ - createSVGMatrix(): DOMMatrix; + createSVGMatrix(): SVGMatrix; /** * The **`createSVGNumber()`** method of the SVGSVGElement interface creates an SVGNumber object outside of any document trees. * @@ -34410,13 +34410,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGPoint) */ - createSVGPoint(): DOMPoint; + createSVGPoint(): SVGPoint; /** * The **`createSVGRect()`** method of the SVGSVGElement interface creates a DOMRect object outside of any document trees. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGRect) */ - createSVGRect(): DOMRect; + createSVGRect(): SVGRect; /** * The **`createSVGTransform()`** method of the SVGSVGElement interface creates an SVGTransform object outside of any document trees. * @@ -34449,8 +34449,8 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/getElementById) */ getElementById(elementId: string): Element | null; - getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; - getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; /** * The **`pauseAnimations()`** method of the SVGSVGElement interface suspends (i.e., pauses) all currently running animations that are defined within the SVG document fragment corresponding to this element, causing the animation clock corresponding to this document fragment to stand still until it is unpaused. * @@ -34752,13 +34752,13 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getEndPositionOfChar) */ - getEndPositionOfChar(charnum: number): DOMPoint; + getEndPositionOfChar(charnum: number): SVGPoint; /** * The **`getExtentOfChar()`** method of the SVGTextContentElement interface the represents computed tight bounding box of the glyph cell that corresponds to a given typographic character. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getExtentOfChar) */ - getExtentOfChar(charnum: number): DOMRect; + getExtentOfChar(charnum: number): SVGRect; /** * The **`getNumberOfChars()`** method of the SVGTextContentElement interface represents the total number of addressable characters available for rendering within the current element, regardless of whether they will be rendered. * @@ -34776,7 +34776,7 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getStartPositionOfChar) */ - getStartPositionOfChar(charnum: number): DOMPoint; + getStartPositionOfChar(charnum: number): SVGPoint; /** * The **`getSubStringLength()`** method of the SVGTextContentElement interface represents the computed length of the formatted text advance distance for a substring of text within the element. * @@ -34947,7 +34947,7 @@ interface SVGTransform { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransform/matrix) */ - readonly matrix: DOMMatrix; + readonly matrix: SVGMatrix; /** * The **`type`** read-only property of the SVGTransform interface represents the type of transformation applied, specified by one of the SVG_TRANSFORM_* constants defined on this interface. * diff --git a/baselines/ts5.5/dom.iterable.generated.d.ts b/baselines/ts5.5/dom.iterable.generated.d.ts index 45eabeefd..7600d8932 100644 --- a/baselines/ts5.5/dom.iterable.generated.d.ts +++ b/baselines/ts5.5/dom.iterable.generated.d.ts @@ -365,7 +365,7 @@ interface SVGNumberList { } interface SVGPointList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface SVGStringList { diff --git a/baselines/ts5.6/dom.generated.d.ts b/baselines/ts5.6/dom.generated.d.ts index f638cdd60..72a1a52c3 100644 --- a/baselines/ts5.6/dom.generated.d.ts +++ b/baselines/ts5.6/dom.generated.d.ts @@ -31812,13 +31812,13 @@ interface SVGAnimatedRect { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/animVal) */ - readonly animVal: DOMRectReadOnly; + readonly animVal: SVGRect; /** * The **`baseVal`** read-only property of the SVGAnimatedRect interface represents the current non-animated value of the viewBox attribute of an SVG element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/baseVal) */ - readonly baseVal: DOMRect; + readonly baseVal: SVGRect; } declare var SVGAnimatedRect: { @@ -33195,7 +33195,7 @@ declare var SVGFETurbulenceElement: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFilterElement) */ -interface SVGFilterElement extends SVGElement, SVGURIReference { +interface SVGFilterElement extends SVGElement { /** * The **`filterUnits`** read-only property of the SVGFilterElement interface reflects the filterUnits attribute of the given element. It takes one of the SVG_UNIT_TYPE_* constants defined in SVGUnitTypes. * @@ -33338,7 +33338,7 @@ interface SVGGeometryElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getPointAtLength) */ - getPointAtLength(distance: number): DOMPoint; + getPointAtLength(distance: number): SVGPoint; /** * The **`SVGGeometryElement.getTotalLength()`** method returns the user agent's computed value for the total length of the path in user units. * @@ -33428,19 +33428,19 @@ interface SVGGraphicsElement extends SVGElement, SVGTests { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox) */ - getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getBBox(options?: SVGBoundingBoxOptions): SVGRect; /** * The **`getCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to its SVG viewport's coordinate system. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getCTM) */ - getCTM(): DOMMatrix | null; + getCTM(): SVGMatrix | null; /** * The **`getScreenCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to the coordinate system of the SVG viewport for the SVG document fragment. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getScreenCTM) */ - getScreenCTM(): DOMMatrix | null; + getScreenCTM(): SVGMatrix | null; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -34102,7 +34102,7 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/appendItem) */ - appendItem(newItem: DOMPoint): DOMPoint; + appendItem(newItem: SVGPoint): SVGPoint; /** * The **`clear()`** method of the SVGPointList interface removes all items from the list. * @@ -34114,32 +34114,32 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/getItem) */ - getItem(index: number): DOMPoint; + getItem(index: number): SVGPoint; /** * The **`initialize()`** method of the SVGPointList interface clears the list then adds a single new DOMPoint object to the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/initialize) */ - initialize(newItem: DOMPoint): DOMPoint; + initialize(newItem: SVGPoint): SVGPoint; /** * The **`insertItemBefore()`** method of the SVGPointList interface inserts a DOMPoint before another item in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/insertItemBefore) */ - insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; /** * The **`removeItem()`** method of the SVGPointList interface removes a DOMPoint from the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/removeItem) */ - removeItem(index: number): DOMPoint; + removeItem(index: number): SVGPoint; /** * The **`replaceItem()`** method of the SVGPointList interface replaces a DOMPoint in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/replaceItem) */ - replaceItem(newItem: DOMPoint, index: number): DOMPoint; - [index: number]: DOMPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + [index: number]: SVGPoint; } declare var SVGPointList: { @@ -34360,7 +34360,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/currentTranslate) */ - readonly currentTranslate: DOMPointReadOnly; + readonly currentTranslate: SVGPoint; /** * The **`height`** read-only property of the SVGSVGElement interface describes the vertical size of element as an SVGAnimatedLength. It reflects the element's height attribute, which may not be the SVG's rendered height. * @@ -34396,13 +34396,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkEnclosure) */ - checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; /** * The **`checkIntersection()`** method of the SVGSVGElement interface checks if the rendered content of the given element intersects the supplied rectangle. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkIntersection) */ - checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; /** * The **`createSVGAngle()`** method of the SVGSVGElement interface creates an SVGAngle object outside of any document trees. * @@ -34420,7 +34420,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGMatrix) */ - createSVGMatrix(): DOMMatrix; + createSVGMatrix(): SVGMatrix; /** * The **`createSVGNumber()`** method of the SVGSVGElement interface creates an SVGNumber object outside of any document trees. * @@ -34432,13 +34432,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGPoint) */ - createSVGPoint(): DOMPoint; + createSVGPoint(): SVGPoint; /** * The **`createSVGRect()`** method of the SVGSVGElement interface creates a DOMRect object outside of any document trees. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGRect) */ - createSVGRect(): DOMRect; + createSVGRect(): SVGRect; /** * The **`createSVGTransform()`** method of the SVGSVGElement interface creates an SVGTransform object outside of any document trees. * @@ -34471,8 +34471,8 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/getElementById) */ getElementById(elementId: string): Element | null; - getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; - getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; /** * The **`pauseAnimations()`** method of the SVGSVGElement interface suspends (i.e., pauses) all currently running animations that are defined within the SVG document fragment corresponding to this element, causing the animation clock corresponding to this document fragment to stand still until it is unpaused. * @@ -34774,13 +34774,13 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getEndPositionOfChar) */ - getEndPositionOfChar(charnum: number): DOMPoint; + getEndPositionOfChar(charnum: number): SVGPoint; /** * The **`getExtentOfChar()`** method of the SVGTextContentElement interface the represents computed tight bounding box of the glyph cell that corresponds to a given typographic character. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getExtentOfChar) */ - getExtentOfChar(charnum: number): DOMRect; + getExtentOfChar(charnum: number): SVGRect; /** * The **`getNumberOfChars()`** method of the SVGTextContentElement interface represents the total number of addressable characters available for rendering within the current element, regardless of whether they will be rendered. * @@ -34798,7 +34798,7 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getStartPositionOfChar) */ - getStartPositionOfChar(charnum: number): DOMPoint; + getStartPositionOfChar(charnum: number): SVGPoint; /** * The **`getSubStringLength()`** method of the SVGTextContentElement interface represents the computed length of the formatted text advance distance for a substring of text within the element. * @@ -34969,7 +34969,7 @@ interface SVGTransform { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransform/matrix) */ - readonly matrix: DOMMatrix; + readonly matrix: SVGMatrix; /** * The **`type`** read-only property of the SVGTransform interface represents the type of transformation applied, specified by one of the SVG_TRANSFORM_* constants defined on this interface. * diff --git a/baselines/ts5.6/dom.iterable.generated.d.ts b/baselines/ts5.6/dom.iterable.generated.d.ts index 3cf3ab407..1c6b668da 100644 --- a/baselines/ts5.6/dom.iterable.generated.d.ts +++ b/baselines/ts5.6/dom.iterable.generated.d.ts @@ -377,7 +377,7 @@ interface SVGNumberList { } interface SVGPointList { - [Symbol.iterator](): ArrayIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGStringList { diff --git a/baselines/ts5.9/dom.generated.d.ts b/baselines/ts5.9/dom.generated.d.ts index 7d8edfe73..8d37ca412 100644 --- a/baselines/ts5.9/dom.generated.d.ts +++ b/baselines/ts5.9/dom.generated.d.ts @@ -31812,13 +31812,13 @@ interface SVGAnimatedRect { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/animVal) */ - readonly animVal: DOMRectReadOnly; + readonly animVal: SVGRect; /** * The **`baseVal`** read-only property of the SVGAnimatedRect interface represents the current non-animated value of the viewBox attribute of an SVG element. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedRect/baseVal) */ - readonly baseVal: DOMRect; + readonly baseVal: SVGRect; } declare var SVGAnimatedRect: { @@ -33195,7 +33195,7 @@ declare var SVGFETurbulenceElement: { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFilterElement) */ -interface SVGFilterElement extends SVGElement, SVGURIReference { +interface SVGFilterElement extends SVGElement { /** * The **`filterUnits`** read-only property of the SVGFilterElement interface reflects the filterUnits attribute of the given element. It takes one of the SVG_UNIT_TYPE_* constants defined in SVGUnitTypes. * @@ -33338,7 +33338,7 @@ interface SVGGeometryElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGeometryElement/getPointAtLength) */ - getPointAtLength(distance: number): DOMPoint; + getPointAtLength(distance: number): SVGPoint; /** * The **`SVGGeometryElement.getTotalLength()`** method returns the user agent's computed value for the total length of the path in user units. * @@ -33428,19 +33428,19 @@ interface SVGGraphicsElement extends SVGElement, SVGTests { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox) */ - getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getBBox(options?: SVGBoundingBoxOptions): SVGRect; /** * The **`getCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to its SVG viewport's coordinate system. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getCTM) */ - getCTM(): DOMMatrix | null; + getCTM(): SVGMatrix | null; /** * The **`getScreenCTM()`** method of the SVGGraphicsElement interface represents the matrix that transforms the current element's coordinate system to the coordinate system of the SVG viewport for the SVG document fragment. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getScreenCTM) */ - getScreenCTM(): DOMMatrix | null; + getScreenCTM(): SVGMatrix | null; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -34102,7 +34102,7 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/appendItem) */ - appendItem(newItem: DOMPoint): DOMPoint; + appendItem(newItem: SVGPoint): SVGPoint; /** * The **`clear()`** method of the SVGPointList interface removes all items from the list. * @@ -34114,32 +34114,32 @@ interface SVGPointList { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/getItem) */ - getItem(index: number): DOMPoint; + getItem(index: number): SVGPoint; /** * The **`initialize()`** method of the SVGPointList interface clears the list then adds a single new DOMPoint object to the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/initialize) */ - initialize(newItem: DOMPoint): DOMPoint; + initialize(newItem: SVGPoint): SVGPoint; /** * The **`insertItemBefore()`** method of the SVGPointList interface inserts a DOMPoint before another item in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/insertItemBefore) */ - insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; /** * The **`removeItem()`** method of the SVGPointList interface removes a DOMPoint from the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/removeItem) */ - removeItem(index: number): DOMPoint; + removeItem(index: number): SVGPoint; /** * The **`replaceItem()`** method of the SVGPointList interface replaces a DOMPoint in the list. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGPointList/replaceItem) */ - replaceItem(newItem: DOMPoint, index: number): DOMPoint; - [index: number]: DOMPoint; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + [index: number]: SVGPoint; } declare var SVGPointList: { @@ -34360,7 +34360,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/currentTranslate) */ - readonly currentTranslate: DOMPointReadOnly; + readonly currentTranslate: SVGPoint; /** * The **`height`** read-only property of the SVGSVGElement interface describes the vertical size of element as an SVGAnimatedLength. It reflects the element's height attribute, which may not be the SVG's rendered height. * @@ -34396,13 +34396,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkEnclosure) */ - checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; /** * The **`checkIntersection()`** method of the SVGSVGElement interface checks if the rendered content of the given element intersects the supplied rectangle. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/checkIntersection) */ - checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; /** * The **`createSVGAngle()`** method of the SVGSVGElement interface creates an SVGAngle object outside of any document trees. * @@ -34420,7 +34420,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGMatrix) */ - createSVGMatrix(): DOMMatrix; + createSVGMatrix(): SVGMatrix; /** * The **`createSVGNumber()`** method of the SVGSVGElement interface creates an SVGNumber object outside of any document trees. * @@ -34432,13 +34432,13 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGPoint) */ - createSVGPoint(): DOMPoint; + createSVGPoint(): SVGPoint; /** * The **`createSVGRect()`** method of the SVGSVGElement interface creates a DOMRect object outside of any document trees. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/createSVGRect) */ - createSVGRect(): DOMRect; + createSVGRect(): SVGRect; /** * The **`createSVGTransform()`** method of the SVGSVGElement interface creates an SVGTransform object outside of any document trees. * @@ -34471,8 +34471,8 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, WindowEvent * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGSVGElement/getElementById) */ getElementById(elementId: string): Element | null; - getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; - getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement | null): NodeListOf; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement | null): NodeListOf; /** * The **`pauseAnimations()`** method of the SVGSVGElement interface suspends (i.e., pauses) all currently running animations that are defined within the SVG document fragment corresponding to this element, causing the animation clock corresponding to this document fragment to stand still until it is unpaused. * @@ -34774,13 +34774,13 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getEndPositionOfChar) */ - getEndPositionOfChar(charnum: number): DOMPoint; + getEndPositionOfChar(charnum: number): SVGPoint; /** * The **`getExtentOfChar()`** method of the SVGTextContentElement interface the represents computed tight bounding box of the glyph cell that corresponds to a given typographic character. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getExtentOfChar) */ - getExtentOfChar(charnum: number): DOMRect; + getExtentOfChar(charnum: number): SVGRect; /** * The **`getNumberOfChars()`** method of the SVGTextContentElement interface represents the total number of addressable characters available for rendering within the current element, regardless of whether they will be rendered. * @@ -34798,7 +34798,7 @@ interface SVGTextContentElement extends SVGGraphicsElement { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTextContentElement/getStartPositionOfChar) */ - getStartPositionOfChar(charnum: number): DOMPoint; + getStartPositionOfChar(charnum: number): SVGPoint; /** * The **`getSubStringLength()`** method of the SVGTextContentElement interface represents the computed length of the formatted text advance distance for a substring of text within the element. * @@ -34969,7 +34969,7 @@ interface SVGTransform { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGTransform/matrix) */ - readonly matrix: DOMMatrix; + readonly matrix: SVGMatrix; /** * The **`type`** read-only property of the SVGTransform interface represents the type of transformation applied, specified by one of the SVG_TRANSFORM_* constants defined on this interface. * diff --git a/baselines/ts5.9/dom.iterable.generated.d.ts b/baselines/ts5.9/dom.iterable.generated.d.ts index ef6162586..5dc8b31ce 100644 --- a/baselines/ts5.9/dom.iterable.generated.d.ts +++ b/baselines/ts5.9/dom.iterable.generated.d.ts @@ -377,7 +377,7 @@ interface SVGNumberList { } interface SVGPointList { - [Symbol.iterator](): ArrayIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGStringList { diff --git a/inputfiles/patches/dom.kdl b/inputfiles/patches/dom.kdl index 2e4aac3df..5a6cd54bf 100644 --- a/inputfiles/patches/dom.kdl +++ b/inputfiles/patches/dom.kdl @@ -40,3 +40,12 @@ enum InsertPosition { // ChildNode and ParentNode are actually defined as mixins, but because of their names they have historically been used as a sub-interface of Node. interface-mixin ChildNode extends=Node interface-mixin ParentNode extends=Node + +removals { + interface ProcessingInstruction { + constructor signatureIndex=0 { + param target + param data + } + } +} diff --git a/inputfiles/patches/pointerevents.kdl b/inputfiles/patches/pointerevents.kdl new file mode 100644 index 000000000..93ec4e4c4 --- /dev/null +++ b/inputfiles/patches/pointerevents.kdl @@ -0,0 +1,5 @@ +removals { + dictionary WheelEventInit { + member momentum // Blink only as of 2026-08 + } +} diff --git a/inputfiles/patches/screen-capture.kdl b/inputfiles/patches/screen-capture.kdl index b9ee34c5f..77a4a6a07 100644 --- a/inputfiles/patches/screen-capture.kdl +++ b/inputfiles/patches/screen-capture.kdl @@ -1,6 +1,6 @@ removals { dictionary DisplayMediaStreamOptions { - // Only `audio` and `video` are implemented by 2+ engines, everything else is Blink only as of 2025-12. + // Only `audio` and `video` are implemented by 2+ engines, everything else is Blink only as of 2026-08. // https://searchfox.org/mozilla-central/source/dom/webidl/MediaStream.webidl // https://searchfox.org/wubkat/source/Source/WebCore/Modules/mediastream/MediaDevices.idl // https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/mediastream/media_stream_constraints.idl @@ -9,5 +9,6 @@ removals { member surfaceSwitching member systemAudio member windowAudio + member audioSelection } } diff --git a/inputfiles/patches/webgpu.kdl b/inputfiles/patches/webgpu.kdl index 46116711c..d32dbf326 100644 --- a/inputfiles/patches/webgpu.kdl +++ b/inputfiles/patches/webgpu.kdl @@ -9,6 +9,7 @@ removals { enum GPUFeatureName { texture-component-swizzle // Blink only as of 2026-02 texture-formats-tier2 // Blink only as of 2026-02 + subgroup-size-control // Blink only as of 2026-08 } dictionary GPURequestAdapterOptions { diff --git a/package-lock.json b/package-lock.json index b079570b5..fcf289ed3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@webref/css": "^8.0.0", "@webref/elements": "^2.5.0", "@webref/events": "^1.18.6", - "@webref/idl": "^3.66.2", + "@webref/idl": "^3.82.1", "bcd-idl-mapper": "^3.0.2", "cpx2": "^9.0.0", "danger": "^13.0.4", @@ -317,7 +317,8 @@ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-8.0.1.tgz", "integrity": "sha512-po0/NXwUB3bc6DpYfAATqGBVwl4gfqmvWySixcBePwmOLTgsmwnwevRaIbs5glXucQLDpayGbh4C3hKIQr6l2A==", "dev": true, - "license": "CC0-1.0" + "license": "CC0-1.0", + "peer": true }, "node_modules/@octokit/auth-token": { "version": "6.0.0", @@ -334,6 +335,7 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -741,6 +743,7 @@ "integrity": "sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/types": "8.66.0", @@ -1105,11 +1108,12 @@ "license": "MIT" }, "node_modules/@webref/idl": { - "version": "3.81.0", - "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.81.0.tgz", - "integrity": "sha512-E8xHSmlr/LyRNtyEiFHRSpWDIw6XzaPxO5Q6F/fcy9kfqJvDz2IGbardUYOoW6SGdclK1imZl5AziK555dbcIg==", + "version": "3.82.1", + "resolved": "https://registry.npmjs.org/@webref/idl/-/idl-3.82.1.tgz", + "integrity": "sha512-x5Nb9skKe7PZ2JFh8NawD0p0bdHjc3Txb83KJE+W6wYX+GSkbUvVgPf2yI+jYUJ3nPlRHLSEQplQmUgi87HJjg==", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "webidl2": "^24.5.0" } @@ -1120,6 +1124,7 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1497,6 +1502,7 @@ "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -1770,6 +1776,7 @@ "integrity": "sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==", "dev": true, "license": "MIT", + "peer": true, "workspaces": [ "packages/*" ], @@ -1829,6 +1836,7 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -2580,8 +2588,7 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "dev": true, - "license": "CC0-1.0", - "peer": true + "license": "CC0-1.0" }, "node_modules/memfs-or-file-map-to-github-branch": { "version": "1.3.0", @@ -2862,6 +2869,7 @@ "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3118,7 +3126,6 @@ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -3245,6 +3252,7 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -3302,6 +3310,7 @@ "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3371,6 +3380,7 @@ "integrity": "sha512-fxOigKkIem1iAgQ9t4cFOP+kWEA8y6Be/uh50FpJh0FijoeeT/VMrOyJzNLUgjy0rGMEcHeReKDCqj0g9dIe9A==", "dev": true, "license": "W3C", + "peer": true, "engines": { "node": ">= 18" } diff --git a/src/build/patches.ts b/src/build/patches.ts index f779fafb1..06a973365 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -361,7 +361,7 @@ function handleParam(node: Node) { name, ...handleTyped(typeNodes, node.properties?.type), ...optionalMember("overrideType", "string", node.properties?.overrideType), - additionalTypes, + ...(additionalTypes ? { additionalTypes } : {}), }; } @@ -529,12 +529,33 @@ async function readPatchDocument(fileUrl: URL): Promise { } return output!; } +/** + * Helper function to determine if an object has only a single 'name' property of type string. + */ +function isObjectWithOnlyName(item: unknown) { + return ( + item && + typeof item === "object" && + !Array.isArray(item) && + Object.keys(item).length === 1 && + Object.prototype.hasOwnProperty.call(item, "name") && + typeof (item as Record).name === "string" + ); +} + /** * Recursively remove all 'name' fields from the object and its children, and * replace any empty objects ({} or []) with null. + * If an array of objects only have the 'name' field, collapse them to array of strings. */ function convertForRemovals(obj: unknown): unknown { if (Array.isArray(obj)) { + // Check if all entries are objects of the shape { name: string } + if (obj.length && obj.every(isObjectWithOnlyName)) { + // Collapse to array of names (strings) + return obj.map((item) => (item as { name: string }).name); + } + // Otherwise, recurse on each item return obj.map(convertForRemovals).filter((v) => v !== undefined); } if (obj && typeof obj === "object") {