Skip to content

Commit bbace6e

Browse files
committed
Sort implements
1 parent 80f06eb commit bbace6e

File tree

3 files changed

+30
-29
lines changed

3 files changed

+30
-29
lines changed

baselines/dom.generated.d.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3425,7 +3425,7 @@ interface CanvasRect {
34253425
}
34263426

34273427
/** The CanvasRenderingContext2D interface, part of the Canvas API, provides the 2D rendering context for the drawing surface of a <canvas> element. It is used for drawing shapes, text, images, and other objects. */
3428-
interface CanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath {
3428+
interface CanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform, CanvasUserInterface {
34293429
readonly canvas: HTMLCanvasElement;
34303430
}
34313431

@@ -3507,7 +3507,7 @@ declare var ChannelSplitterNode: {
35073507
};
35083508

35093509
/** The CharacterData abstract interface represents a Node object that contains characters. This is an abstract interface, meaning there aren't any object of type CharacterData: it is implemented by other interfaces, like Text, Comment, or ProcessingInstruction which aren't abstract. */
3510-
interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode {
3510+
interface CharacterData extends ChildNode, Node, NonDocumentTypeChildNode {
35113511
data: string;
35123512
readonly length: number;
35133513
appendData(data: string): void;
@@ -4449,7 +4449,7 @@ interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndEleme
44494449
}
44504450

44514451
/** Any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree. */
4452-
interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, DocumentAndElementEventHandlers {
4452+
interface Document extends DocumentAndElementEventHandlers, DocumentOrShadowRoot, GlobalEventHandlers, Node, NonElementParentNode, ParentNode, XPathEvaluatorBase {
44534453
/**
44544454
* Sets or gets the URL for the current document.
44554455
*/
@@ -5072,7 +5072,7 @@ declare var DocumentTimeline: {
50725072
};
50735073

50745074
/** A Node containing a doctype. */
5075-
interface DocumentType extends Node, ChildNode {
5075+
interface DocumentType extends ChildNode, Node {
50765076
readonly name: string;
50775077
readonly publicId: string;
50785078
readonly systemId: string;
@@ -5142,7 +5142,7 @@ interface ElementEventMap {
51425142
}
51435143

51445144
/** Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element. */
5145-
interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, InnerHTML, Animatable {
5145+
interface Element extends Animatable, ChildNode, InnerHTML, Node, NonDocumentTypeChildNode, ParentNode, Slotable {
51465146
readonly assignedSlot: HTMLSlotElement | null;
51475147
readonly attributes: NamedNodeMap;
51485148
/**
@@ -6318,7 +6318,7 @@ declare var HTMLBaseElement: {
63186318
};
63196319

63206320
/** Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <basefont> elements. */
6321-
interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty {
6321+
interface HTMLBaseFontElement extends DOML2DeprecatedColorProperty, HTMLElement {
63226322
/**
63236323
* Sets or retrieves the current typeface family.
63246324
*/
@@ -6641,7 +6641,7 @@ interface HTMLElementEventMap extends ElementEventMap, GlobalEventHandlersEventM
66416641
}
66426642

66436643
/** Any HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it. */
6644-
interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, HTMLOrSVGElement, ElementCSSInlineStyle {
6644+
interface HTMLElement extends DocumentAndElementEventHandlers, Element, ElementCSSInlineStyle, ElementContentEditable, GlobalEventHandlers, HTMLOrSVGElement {
66456645
accessKey: string;
66466646
readonly accessKeyLabel: string;
66476647
autocapitalize: string;
@@ -10811,7 +10811,7 @@ declare var NavigationPreloadManager: {
1081110811
};
1081210812

1081310813
/** The state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities. */
10814-
interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia, NavigatorLanguage, NavigatorStorage, NavigatorAutomationInformation {
10814+
interface Navigator extends MSFileSaver, MSNavigatorDoNotTrack, NavigatorAutomationInformation, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorContentUtils, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorStorage, NavigatorStorageUtils, NavigatorUserMedia {
1081510815
readonly activeVRDisplays: ReadonlyArray<VRDisplay>;
1081610816
readonly authentication: WebAuthentication;
1081710817
readonly clipboard: Clipboard;
@@ -11352,7 +11352,7 @@ declare var OffscreenCanvas: {
1135211352
new(width: number, height: number): OffscreenCanvas;
1135311353
};
1135411354

11355-
interface OffscreenCanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath {
11355+
interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {
1135611356
readonly canvas: OffscreenCanvas;
1135711357
commit(): void;
1135811358
}
@@ -13094,7 +13094,7 @@ interface SVGElementEventMap extends ElementEventMap, GlobalEventHandlersEventMa
1309413094
}
1309513095

1309613096
/** All of the SVG DOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface. */
13097-
interface SVGElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, SVGElementInstance, HTMLOrSVGElement, ElementCSSInlineStyle {
13097+
interface SVGElement extends DocumentAndElementEventHandlers, Element, ElementCSSInlineStyle, GlobalEventHandlers, HTMLOrSVGElement, SVGElementInstance {
1309813098
/** @deprecated */
1309913099
readonly className: any;
1310013100
readonly ownerSVGElement: SVGSVGElement | null;
@@ -14304,7 +14304,7 @@ declare var SVGPathSegMovetoRel: {
1430414304
};
1430514305

1430614306
/** Corresponds to the <pattern> element. */
14307-
interface SVGPatternElement extends SVGElement, SVGTests, SVGFitToViewBox, SVGURIReference {
14307+
interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGTests, SVGURIReference {
1430814308
readonly height: SVGAnimatedLength;
1430914309
readonly patternContentUnits: SVGAnimatedEnumeration;
1431014310
readonly patternTransform: SVGAnimatedTransformList;
@@ -14342,7 +14342,7 @@ declare var SVGPointList: {
1434214342
};
1434314343

1434414344
/** Provides access to the properties of <polygon> elements, as well as methods to manipulate them. */
14345-
interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints {
14345+
interface SVGPolygonElement extends SVGAnimatedPoints, SVGGeometryElement {
1434614346
addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1434714347
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1434814348
removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -14355,7 +14355,7 @@ declare var SVGPolygonElement: {
1435514355
};
1435614356

1435714357
/** Provides access to the properties of <polyline> elements, as well as methods to manipulate them. */
14358-
interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints {
14358+
interface SVGPolylineElement extends SVGAnimatedPoints, SVGGeometryElement {
1435914359
addEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1436014360
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1436114361
removeEventListener<K extends keyof SVGElementEventMap>(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -14449,7 +14449,7 @@ interface SVGSVGElementEventMap extends SVGElementEventMap {
1444914449
}
1445014450

1445114451
/** Provides access to the properties of <svg> elements, as well as methods to manipulate them. This interface contains also various miscellaneous commonly-used utility methods, such as matrix operations and the ability to control the time of redraw on visual rendering devices. */
14452-
interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan {
14452+
interface SVGSVGElement extends DocumentEvent, SVGFitToViewBox, SVGGraphicsElement, SVGZoomAndPan {
1445314453
/** @deprecated */
1445414454
contentScriptType: string;
1445514455
/** @deprecated */
@@ -14993,7 +14993,7 @@ interface ServiceWorkerEventMap extends AbstractWorkerEventMap {
1499314993
}
1499414994

1499514995
/** This ServiceWorker API interface provides a reference to a service worker. Multiple browsing contexts (e.g. pages, workers, etc.) can be associated with the same service worker, each through a unique ServiceWorker object. */
14996-
interface ServiceWorker extends EventTarget, AbstractWorker {
14996+
interface ServiceWorker extends AbstractWorker, EventTarget {
1499714997
onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;
1499814998
readonly scriptURL: string;
1499914999
readonly state: ServiceWorkerState;
@@ -15605,7 +15605,7 @@ interface TextDecoderCommon {
1560515605
readonly ignoreBOM: boolean;
1560615606
}
1560715607

15608-
interface TextDecoderStream extends TextDecoderCommon, GenericTransformStream {
15608+
interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {
1560915609
}
1561015610

1561115611
declare var TextDecoderStream: {
@@ -15637,7 +15637,7 @@ interface TextEncoderCommon {
1563715637
readonly encoding: string;
1563815638
}
1563915639

15640-
interface TextEncoderStream extends TextEncoderCommon, GenericTransformStream {
15640+
interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {
1564115641
}
1564215642

1564315643
declare var TextEncoderStream: {
@@ -16405,7 +16405,7 @@ declare var WebAuthnAssertion: {
1640516405
new(): WebAuthnAssertion;
1640616406
};
1640716407

16408-
interface WebGL2RenderingContext extends WebGLRenderingContextBase, WebGL2RenderingContextBase, WebGL2RenderingContextOverloads {
16408+
interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {
1640916409
}
1641016410

1641116411
declare var WebGL2RenderingContext: {
@@ -18458,7 +18458,7 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler
1845818458
}
1845918459

1846018460
/** A window containing a DOM document; the document property points to the DOM document loaded in that window. */
18461-
interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, AnimationFrameProvider, WindowOrWorkerGlobalScope, WindowEventHandlers {
18461+
interface Window extends AnimationFrameProvider, EventTarget, GlobalEventHandlers, IDBEnvironment, WindowBase64, WindowConsole, WindowEventHandlers, WindowLocalStorage, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowTimers {
1846218462
Blob: typeof Blob;
1846318463
TextDecoder: typeof TextDecoder;
1846418464
TextEncoder: typeof TextEncoder;
@@ -18682,7 +18682,7 @@ interface WorkerEventMap extends AbstractWorkerEventMap {
1868218682
}
1868318683

1868418684
/** This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread. */
18685-
interface Worker extends EventTarget, AbstractWorker {
18685+
interface Worker extends AbstractWorker, EventTarget {
1868618686
onmessage: ((this: Worker, ev: MessageEvent) => any) | null;
1868718687
postMessage(message: any, transfer: Transferable[]): void;
1868818688
postMessage(message: any, options?: PostMessageOptions): void;

baselines/webworker.generated.d.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,7 +1247,7 @@ interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {
12471247
}
12481248

12491249
/** (the Worker global scope) is accessible through the self keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See also: Functions available to workers. */
1250-
interface DedicatedWorkerGlobalScope extends WorkerGlobalScope, AnimationFrameProvider {
1250+
interface DedicatedWorkerGlobalScope extends AnimationFrameProvider, WorkerGlobalScope {
12511251
onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null;
12521252
close(): void;
12531253
postMessage(message: any, transfer: Transferable[]): void;
@@ -2459,7 +2459,7 @@ declare var OffscreenCanvas: {
24592459
new(width: number, height: number): OffscreenCanvas;
24602460
};
24612461

2462-
interface OffscreenCanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath {
2462+
interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform {
24632463
readonly canvas: OffscreenCanvas;
24642464
commit(): void;
24652465
}
@@ -2877,7 +2877,7 @@ interface ServiceWorkerEventMap extends AbstractWorkerEventMap {
28772877
}
28782878

28792879
/** This ServiceWorker API interface provides a reference to a service worker. Multiple browsing contexts (e.g. pages, workers, etc.) can be associated with the same service worker, each through a unique ServiceWorker object. */
2880-
interface ServiceWorker extends EventTarget, AbstractWorker {
2880+
interface ServiceWorker extends AbstractWorker, EventTarget {
28812881
onstatechange: ((this: ServiceWorker, ev: Event) => any) | null;
28822882
readonly scriptURL: string;
28832883
readonly state: ServiceWorkerState;
@@ -3088,7 +3088,7 @@ interface TextDecoderCommon {
30883088
readonly ignoreBOM: boolean;
30893089
}
30903090

3091-
interface TextDecoderStream extends TextDecoderCommon, GenericTransformStream {
3091+
interface TextDecoderStream extends GenericTransformStream, TextDecoderCommon {
30923092
}
30933093

30943094
declare var TextDecoderStream: {
@@ -3120,7 +3120,7 @@ interface TextEncoderCommon {
31203120
readonly encoding: string;
31213121
}
31223122

3123-
interface TextEncoderStream extends TextEncoderCommon, GenericTransformStream {
3123+
interface TextEncoderStream extends GenericTransformStream, TextEncoderCommon {
31243124
}
31253125

31263126
declare var TextEncoderStream: {
@@ -3371,7 +3371,7 @@ interface WEBGL_lose_context {
33713371
restoreContext(): void;
33723372
}
33733373

3374-
interface WebGL2RenderingContext extends WebGLRenderingContextBase, WebGL2RenderingContextBase, WebGL2RenderingContextOverloads {
3374+
interface WebGL2RenderingContext extends WebGL2RenderingContextBase, WebGL2RenderingContextOverloads, WebGLRenderingContextBase {
33753375
}
33763376

33773377
declare var WebGL2RenderingContext: {
@@ -5340,7 +5340,7 @@ interface WorkerEventMap extends AbstractWorkerEventMap {
53405340
}
53415341

53425342
/** This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread. */
5343-
interface Worker extends EventTarget, AbstractWorker {
5343+
interface Worker extends AbstractWorker, EventTarget {
53445344
onmessage: ((this: Worker, ev: MessageEvent) => any) | null;
53455345
postMessage(message: any, transfer: Transferable[]): void;
53465346
postMessage(message: any, options?: PostMessageOptions): void;
@@ -5361,7 +5361,7 @@ interface WorkerGlobalScopeEventMap {
53615361
}
53625362

53635363
/** This Web Workers API interface is an interface representing the scope of any worker. Workers have no browsing context; this scope contains the information usually conveyed by Window objects — in this case event handlers, the console or the associated WorkerNavigator object. Each WorkerGlobalScope has its own event loop. */
5364-
interface WorkerGlobalScope extends EventTarget, WorkerUtils, WindowConsole, WindowOrWorkerGlobalScope {
5364+
interface WorkerGlobalScope extends EventTarget, WindowConsole, WindowOrWorkerGlobalScope, WorkerUtils {
53655365
readonly caches: CacheStorage;
53665366
readonly isSecureContext: boolean;
53675367
readonly location: WorkerLocation;
@@ -5400,7 +5400,7 @@ declare var WorkerLocation: {
54005400
};
54015401

54025402
/** A subset of the Navigator interface allowed to be accessed from a Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.navigator property obtained by calling window.self.navigator. */
5403-
interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorStorage {
5403+
interface WorkerNavigator extends NavigatorBeacon, NavigatorConcurrentHardware, NavigatorID, NavigatorOnLine, NavigatorStorage {
54045404
readonly permissions: Permissions;
54055405
readonly serviceWorker: ServiceWorkerContainer;
54065406
}

src/emitter.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,7 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) {
834834
printer.print(`interface ${processInterfaceType(i, processedIName)}`);
835835

836836
const finalExtends = distinct([i.extends || "Object"].concat(i.implements || [])
837+
.sort()
837838
.filter(i => i !== "Object")
838839
.map(processIName));
839840

0 commit comments

Comments
 (0)