Skip to content

Commit ecbe91e

Browse files
authored
Merge pull request #599 from saschanaz/clean
Small refactorings
2 parents e25b8eb + 9251697 commit ecbe91e

File tree

2 files changed

+14
-23
lines changed

2 files changed

+14
-23
lines changed

src/emitter.ts

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ function isEventHandler(p: Browser.Property) {
120120
return typeof p["event-handler"] === "string";
121121
}
122122

123-
export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
123+
export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) {
124124
// Global print target
125125
const printer = createTextWriter("\n");
126126

@@ -573,21 +573,12 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
573573
!!iNameToEhList[i.name].find(e => e.name === p.name));
574574
}
575575

576-
function emitProperty(prefix: string, i: Browser.Interface, emitScope: EmitScope, p: Browser.Property, conflictedMembers: Set<string>) {
577-
function printLine(content: string) {
578-
if (conflictedMembers.has(p.name)) {
579-
printer.printLineToStack(content);
580-
}
581-
else {
582-
printer.printLine(content);
583-
}
584-
}
585-
586-
emitComments(p, printLine);
576+
function emitProperty(prefix: string, i: Browser.Interface, emitScope: EmitScope, p: Browser.Property) {
577+
emitComments(p, printer.printLine);
587578

588579
// Treat window.name specially because of https://github.com/Microsoft/TypeScript/issues/9850
589580
if (p.name === "name" && i.name === "Window" && emitScope === EmitScope.All) {
590-
printLine("declare const name: never;");
581+
printer.printLine("declare const name: never;");
591582
}
592583
else {
593584
let pType: string;
@@ -610,7 +601,7 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
610601
const requiredModifier = p.required === undefined || p.required === 1 ? "" : "?";
611602
pType = p.nullable ? makeNullable(pType) : pType;
612603
const readOnlyModifier = p["read-only"] === 1 && prefix === "" ? "readonly " : "";
613-
printLine(`${prefix}${readOnlyModifier}${p.name}${requiredModifier}: ${pType};`);
604+
printer.printLine(`${prefix}${readOnlyModifier}${p.name}${requiredModifier}: ${pType};`);
614605
}
615606
}
616607

@@ -623,17 +614,17 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
623614
}
624615
}
625616

626-
function emitProperties(prefix: string, emitScope: EmitScope, i: Browser.Interface, conflictedMembers: Set<string>) {
617+
function emitProperties(prefix: string, emitScope: EmitScope, i: Browser.Interface) {
627618
if (i.properties) {
628619
mapToArray(i.properties.property)
629620
.filter(m => matchScope(emitScope, m))
630621
.filter(p => !isCovariantEventHandler(i, p))
631622
.sort(compareName)
632-
.forEach(p => emitProperty(prefix, i, emitScope, p, conflictedMembers));
623+
.forEach(p => emitProperty(prefix, i, emitScope, p));
633624
}
634625
}
635626

636-
function emitMethod(prefix: string, _i: Browser.Interface, m: Browser.Method, conflictedMembers: Set<string>) {
627+
function emitMethod(prefix: string, m: Browser.Method, conflictedMembers: Set<string>) {
637628
function printLine(content: string) {
638629
if (m.name && conflictedMembers.has(m.name)) {
639630
printer.printLineToStack(content);
@@ -682,7 +673,7 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
682673
mapToArray(i.methods.method)
683674
.filter(m => matchScope(emitScope, m) && !(prefix !== "" && (m.name === "addEventListener" || m.name === "removeEventListener")))
684675
.sort(compareName)
685-
.forEach(m => emitMethod(prefix, i, m, conflictedMembers));
676+
.forEach(m => emitMethod(prefix, m, conflictedMembers));
686677
}
687678

688679
// The window interface inherited some methods from "Object",
@@ -708,7 +699,7 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
708699
/// Emit the properties and methods of a given interface
709700
function emitMembers(prefix: string, emitScope: EmitScope, i: Browser.Interface) {
710701
const conflictedMembers = extendConflictsBaseTypes[i.name] ? extendConflictsBaseTypes[i.name].memberNames : new Set();
711-
emitProperties(prefix, emitScope, i, conflictedMembers);
702+
emitProperties(prefix, emitScope, i);
712703
const methodPrefix = prefix.startsWith("declare var") ? "declare function " : "";
713704
emitMethods(methodPrefix, emitScope, i, conflictedMembers);
714705
if (emitScope === EmitScope.InstanceOnly) {

src/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@ import * as Browser from "./types";
22
import * as fs from "fs";
33
import * as path from "path";
44
import { merge, resolveExposure, markAsDeprecated, mapToArray } from "./helpers";
5-
import { Flavor, emitWebIDl } from "./emitter";
5+
import { Flavor, emitWebIdl } from "./emitter";
66
import { convert } from "./widlprocess";
77
import { getExposedTypes } from "./expose";
88

99
function emitDomWorker(webidl: Browser.WebIdl, tsWorkerOutput: string, forceKnownWorkerTypes: Set<string>) {
1010
const worker = getExposedTypes(webidl, "Worker", forceKnownWorkerTypes);
11-
const result = emitWebIDl(worker, Flavor.Worker);
11+
const result = emitWebIdl(worker, Flavor.Worker);
1212
fs.writeFileSync(tsWorkerOutput, result);
1313
return;
1414
}
1515

1616
function emitDomWeb(webidl: Browser.WebIdl, tsWebOutput: string, forceKnownWindowTypes: Set<string>) {
1717
const browser = getExposedTypes(webidl, "Window", forceKnownWindowTypes);
1818

19-
const result = emitWebIDl(browser, Flavor.Web);
19+
const result = emitWebIdl(browser, Flavor.Web);
2020
fs.writeFileSync(tsWebOutput, result);
2121
return;
2222
}
2323

2424
function emitES6DomIterators(webidl: Browser.WebIdl, tsWebIteratorsOutput: string) {
25-
fs.writeFileSync(tsWebIteratorsOutput, emitWebIDl(webidl, Flavor.ES6Iterators));
25+
fs.writeFileSync(tsWebIteratorsOutput, emitWebIdl(webidl, Flavor.ES6Iterators));
2626
}
2727

2828
function emitDom() {

0 commit comments

Comments
 (0)