diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index a689cbbd5..fd9674fd5 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -17484,7 +17484,8 @@ interface WorkerEventMap extends AbstractWorkerEventMap { /** An interface of the Web Workers API 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. */ interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - postMessage(message: any, transfer?: Transferable[]): void; + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 5416485fa..1e2c9452b 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -4299,7 +4299,8 @@ interface WorkerEventMap extends AbstractWorkerEventMap { /** An interface of the Web Workers API 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. */ interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - postMessage(message: any, transfer?: Transferable[]): void; + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 7d58a9e03..fc5bfe508 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -2312,8 +2312,10 @@ "method": { "postMessage": { "deprecated": 0, + "name": "postMessage", "override-signatures": [ - "postMessage(message: any, transfer?: Transferable[]): void" + "postMessage(message: any, transfer: Transferable[]): void", + "postMessage(message: any, options?: PostMessageOptions): void" ] } } diff --git a/src/emitter.ts b/src/emitter.ts index cc321cfa3..de8846eec 100644 --- a/src/emitter.ts +++ b/src/emitter.ts @@ -689,7 +689,7 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) { /// Emit the properties and methods of a given interface function emitMembers(prefix: string, emitScope: EmitScope, i: Browser.Interface) { - const conflictedMembers = extendConflictsBaseTypes[i.name] ? extendConflictsBaseTypes[i.name].memberNames : new Set(); + const conflictedMembers = extendConflictsBaseTypes[i.name] ? extendConflictsBaseTypes[i.name].memberNames : new Set(); emitProperties(prefix, emitScope, i); const methodPrefix = prefix.startsWith("declare var") ? "declare function " : ""; emitMethods(methodPrefix, emitScope, i, conflictedMembers); diff --git a/src/widlprocess.ts b/src/widlprocess.ts index 2f7b7f3f7..dda75c7af 100644 --- a/src/widlprocess.ts +++ b/src/widlprocess.ts @@ -197,7 +197,7 @@ function convertOperation(operation: webidl2.OperationMemberType, inheritedExpos throw new Error("Unexpected anonymous operation"); } return { - name: operation.name, + name: operation.name || undefined, signature: [{ ...convertIdlType(operation.idlType), param: operation.arguments.map(convertArgument)