Skip to content

Commit 620ea42

Browse files
committed
unwrap Promise from param types
1 parent f0d597c commit 620ea42

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

baselines/dom.generated.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -10875,7 +10875,7 @@ declare var PaymentRequest: {
1087510875
};
1087610876

1087710877
interface PaymentRequestUpdateEvent extends Event {
10878-
updateWith(detailsPromise: Promise<PaymentDetailsUpdate>): void;
10878+
updateWith(detailsPromise: PaymentDetailsUpdate | Promise<PaymentDetailsUpdate>): void;
1087910879
}
1088010880

1088110881
declare var PaymentRequestUpdateEvent: {

baselines/webworker.generated.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1231,7 +1231,7 @@ declare var EventTarget: {
12311231
};
12321232

12331233
interface ExtendableEvent extends Event {
1234-
waitUntil(f: Promise<any>): void;
1234+
waitUntil(f: any): void;
12351235
}
12361236

12371237
declare var ExtendableEvent: {
@@ -1258,7 +1258,7 @@ interface FetchEvent extends ExtendableEvent {
12581258
readonly request: Request;
12591259
readonly resultingClientId: string;
12601260
readonly targetClientId: string;
1261-
respondWith(r: Promise<Response>): void;
1261+
respondWith(r: Response | Promise<Response>): void;
12621262
}
12631263

12641264
declare var FetchEvent: {

src/emitter.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
355355
return obj.nullable ? makeNullable(resolvedType) : resolvedType;
356356
}
357357

358-
function nameWithForwardedTypes (i: Browser.Interface) {
358+
function nameWithForwardedTypes(i: Browser.Interface) {
359359
const typeParameters = i["type-parameters"];
360360

361361
if (!typeParameters) return i.name;
@@ -389,7 +389,7 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
389389
}
390390

391391
function processInterfaceType(i: Browser.Interface | Browser.Dictionary | Browser.CallbackFunction, name: string) {
392-
function typeParameterWithDefault (type: Browser.TypeParameter) {
392+
function typeParameterWithDefault(type: Browser.TypeParameter) {
393393
return `${type.name}`
394394
+ (type.extends ? ` extends ${type.extends}` : ``)
395395
+ (type.default ? ` = ${type.default}` : ``)
@@ -497,8 +497,11 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
497497
/// Generate the parameters string for function signatures
498498
function paramsToString(ps: Browser.Param[]) {
499499
function paramToString(p: Browser.Param) {
500+
if (p.type === "Promise" && !Array.isArray(p.subtype)) {
501+
p = { name: p.name, type: [p.subtype!, p] }
502+
}
500503
const isOptional = !p.variadic && p.optional;
501-
const pType = isOptional ? convertDomTypeToTsType(p) : convertDomTypeToNullableTsType(p);
504+
const pType = convertDomTypeToNullableTsType(p);
502505
const variadicParams = p.variadic && pType.indexOf('|') !== -1;
503506
return (p.variadic ? "..." : "") +
504507
adjustParamName(p.name) +
@@ -1076,9 +1079,6 @@ export function emitWebIDl(webidl: Browser.WebIdl, flavor: Flavor) {
10761079
.forEach(i => emitCallBackInterface(i));
10771080
emitNonCallbackInterfaces();
10781081

1079-
// // Add missed interface definition from the spec
1080-
// InputJson.getAddedItems InputJson.Interface flavor |> Array.iter EmitAddedInterface
1081-
10821082
printer.printLine("declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;");
10831083
printer.printLine("");
10841084

0 commit comments

Comments
 (0)