From 58af0a48fb17cb9f8a42bf24def552283999de62 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 29 Jan 2019 14:28:41 +0900 Subject: [PATCH 1/3] remove redundant added types --- baselines/dom.generated.d.ts | 22 ++----- baselines/webworker.generated.d.ts | 5 -- inputfiles/addedTypes.json | 99 ------------------------------ 3 files changed, 4 insertions(+), 122 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 8fd89ce50..0b9c3e27f 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -392,6 +392,10 @@ interface EffectTiming { iterations?: number; } +interface ElementCreationOptions { + is?: string; +} + interface ElementDefinitionOptions { extends?: string; } @@ -2282,11 +2286,6 @@ declare var BroadcastChannel: { new(name: string): BroadcastChannel; }; -interface BroadcastChannelEventMap { - message: MessageEvent; - messageerror: MessageEvent; -} - /** The ByteLengthQueuingStrategy interface of the the Streams API providesĀ a built-in byte length queuing strategy that can be used when constructing streams. */ interface ByteLengthQueuingStrategy extends QueuingStrategy { highWaterMark: number; @@ -4990,10 +4989,6 @@ interface ElementContentEditable { readonly isContentEditable: boolean; } -interface ElementCreationOptions { - is?: string; -} - /** The ErrorEvent interface represents events providing information related to errors in scripts or in files. */ interface ErrorEvent extends Event { readonly colno: number; @@ -10786,15 +10781,6 @@ interface NodeListOf extends NodeList { [index: number]: TNode; } -interface NodeSelector { - querySelector(selectors: K): HTMLElementTagNameMap[K] | null; - querySelector(selectors: K): SVGElementTagNameMap[K] | null; - querySelector(selectors: string): E | null; - querySelectorAll(selectors: K): NodeListOf; - querySelectorAll(selectors: K): NodeListOf; - querySelectorAll(selectors: string): NodeListOf; -} - interface NonDocumentTypeChildNode { /** * Returns the first following sibling that diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 41447784a..4474b0009 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -581,11 +581,6 @@ declare var BroadcastChannel: { new(name: string): BroadcastChannel; }; -interface BroadcastChannelEventMap { - message: MessageEvent; - messageerror: MessageEvent; -} - /** The ByteLengthQueuingStrategy interface of the the Streams API providesĀ a built-in byte length queuing strategy that can be used when constructing streams. */ interface ByteLengthQueuingStrategy extends QueuingStrategy { highWaterMark: number; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index e87fdfd44..ae79cd213 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -193,30 +193,6 @@ } } } - }, - "ParentNode": { - "name": "ParentNode", - "exposed": "Window", - "properties": { - "property": { - "firstElementChild": { - "name": "firstElementChild", - "read-only": 1, - "override-type": "Element | null" - }, - "lastElementChild": { - "name": "lastElementChild", - "read-only": 1, - "override-type": "Element | null" - }, - "childElementCount": { - "name": "childElementCount", - "read-only": 1, - "override-type": "number" - } - } - }, - "no-interface-object": "1" } } }, @@ -417,22 +393,6 @@ } ] }, - "BroadcastChannelEventMap": { - "name": "BroadcastChannelEventMap", - "properties": { - "property": { - "message": { - "name": "message", - "override-type": "MessageEvent" - }, - "messageerror": { - "name": "messageerror", - "override-type": "MessageEvent" - } - } - }, - "no-interface-object": "1" - }, "CSSStyleDeclaration": { "name": "CSSStyleDeclaration", "properties": { @@ -1153,20 +1113,6 @@ } } }, - "ElementCreationOptions": { - "name": "ElementCreationOptions", - "exposed": "Window", - "properties": { - "property": { - "is": { - "name": "is", - "override-type": "string", - "required": 0 - } - } - }, - "no-interface-object": "1" - }, "HTMLMainElement": { "name": "HTMLMainElement", "extends": "HTMLElement", @@ -1717,51 +1663,6 @@ } ] }, - "NodeSelector": { - "name": "NodeSelector", - "extends": "Object", - "no-interface-object": "1", - "methods": { - "method": { - "querySelectorAll": { - "signature": [ - { - "param-min-required": 1, - "type": "NodeList", - "param": [ - { - "name": "selectors", - "type": "DOMString", - "type-original": "DOMString" - } - ], - "type-original": "NodeList" - } - ], - "name": "querySelectorAll" - }, - "querySelector": { - "signature": [ - { - "nullable": 1, - "param-min-required": 1, - "type": "Element", - "param": [ - { - "name": "selectors", - "type": "DOMString", - "type-original": "DOMString" - } - ], - "type-original": "Element?" - } - ], - "name": "querySelector" - } - } - }, - "exposed": "Window" - }, "CSS": { "name": "CSS", "methods": { From d3bf34f43eed24e7fb312ae180a7950f2bbfd9f1 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 30 Jan 2019 21:23:11 +0900 Subject: [PATCH 2/3] further code cleanup --- src/emitter.ts | 16 ++++------------ src/idlfetcher.ts | 2 +- src/index.ts | 1 - 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/emitter.ts b/src/emitter.ts index 2f7ef1834..29654ebc2 100644 --- a/src/emitter.ts +++ b/src/emitter.ts @@ -59,12 +59,8 @@ function createTextWriter(newLine: string) { /** print declarations conflicting with base interface to a side list to write them under a diffrent name later */ let stack: { content: string, indent: number }[] = []; - const indentStrings: string[] = ["", " "]; function getIndentString(level: number) { - if (indentStrings[level] === undefined) { - indentStrings[level] = getIndentString(level - 1) + indentStrings[1]; - } - return indentStrings[level]; + return " ".repeat(level); } function write(s: string) { @@ -90,13 +86,12 @@ function createTextWriter(newLine: string) { reset(); return { - reset: reset, + reset, - resetIndent() { indent = 0; }, increaseIndent() { indent++; }, decreaseIndent() { indent--; }, - endLine: endLine, + endLine, print: write, printLine(c: string) { write(c); endLine(); }, @@ -830,7 +825,7 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) { .filter(i => i !== "Object") .map(processIName)); - if (finalExtends && finalExtends.length) { + if (finalExtends.length) { printer.print(` extends ${finalExtends.join(", ")}`); } printer.print(" {"); @@ -916,7 +911,6 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) { printer.clearStack(); emitInterfaceEventMap(i); - printer.resetIndent(); emitInterfaceDeclaration(i); printer.increaseIndent(); @@ -950,7 +944,6 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) { // Because in the two cases the interface contains different things, it might be easier to // read to separate them into two functions. function emitStaticInterfaceWithNonStaticMembers() { - printer.resetIndent(); emitInterfaceDeclaration(i); printer.increaseIndent(); @@ -971,7 +964,6 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) { } function emitPureStaticInterface() { - printer.resetIndent(); emitInterfaceDeclaration(i); printer.increaseIndent(); diff --git a/src/idlfetcher.ts b/src/idlfetcher.ts index 55ef42204..8fced460e 100644 --- a/src/idlfetcher.ts +++ b/src/idlfetcher.ts @@ -80,7 +80,7 @@ function extractCSSDefinitions(dom: DocumentFragment) { properties.map(property => `\n [CEReactions] attribute [TreatNullAs=EmptyString] CSSOMString ${ hyphenToCamelCase(property) };`).join("") - }\n};` + }\n};`; } function hyphenToCamelCase(name: string) { diff --git a/src/index.ts b/src/index.ts index 3560863db..7d2bc139f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -39,7 +39,6 @@ function emitDom() { const tsWebIteratorsOutput = path.join(outputFolder, "dom.iterable.generated.d.ts"); const tsWorkerOutput = path.join(outputFolder, "webworker.generated.d.ts"); - const overriddenItems = require(path.join(inputFolder, "overridingTypes.json")); const addedItems = require(path.join(inputFolder, "addedTypes.json")); const comments = require(path.join(inputFolder, "comments.json")); From a9906eb11b216ddb154deb6138ea214abe75c3b2 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 13 Feb 2019 11:18:32 +0900 Subject: [PATCH 3/3] remove redundant postMessage overriding --- inputfiles/overridingTypes.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 26d5c6519..1fbaec329 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -2415,19 +2415,6 @@ ] } }, - "BroadcastChannel": { - "name": "BroadcastChannel", - "methods": { - "method": { - "postMessage": { - "name": "postMessage", - "override-signatures": [ - "postMessage(message: any): void" - ] - } - } - } - }, "MessagePort": { "name": "MessagePort", "methods": {