Skip to content

Commit 6ec9795

Browse files
authored
Merge pull request #617 from saschanaz/promise-resolve
Unwrap Promise from param types
2 parents e0da56b + 6d06bf1 commit 6ec9795

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

baselines/dom.generated.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11099,7 +11099,7 @@ declare var PaymentRequest: {
1109911099

1110011100
/** The PaymentRequestUpdateEvent interface of the the Payment Request API enables a web page to update the details of a PaymentRequest in response to a user action. */
1110111101
interface PaymentRequestUpdateEvent extends Event {
11102-
updateWith(detailsPromise: Promise<PaymentDetailsUpdate>): void;
11102+
updateWith(detailsPromise: PaymentDetailsUpdate | Promise<PaymentDetailsUpdate>): void;
1110311103
}
1110411104

1110511105
declare var PaymentRequestUpdateEvent: {

baselines/webworker.generated.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,7 +1285,7 @@ declare var EventTarget: {
12851285

12861286
/** The ExtendableEvent interface extends the lifetime of the install and activate events dispatched on the global scope as part of the service worker lifecycle. This ensures that any functional events (like FetchEvent) are not dispatched until it upgrades database schemas and deletes the outdated cache entries. */
12871287
interface ExtendableEvent extends Event {
1288-
waitUntil(f: Promise<any>): void;
1288+
waitUntil(f: any): void;
12891289
}
12901290

12911291
declare var ExtendableEvent: {
@@ -1314,7 +1314,7 @@ interface FetchEvent extends ExtendableEvent {
13141314
readonly request: Request;
13151315
readonly resultingClientId: string;
13161316
readonly targetClientId: string;
1317-
respondWith(r: Promise<Response>): void;
1317+
respondWith(r: Response | Promise<Response>): void;
13181318
}
13191319

13201320
declare var FetchEvent: {

src/emitter.ts

Lines changed: 5 additions & 5 deletions
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,6 +497,9 @@ 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;
501504
const pType = isOptional ? convertDomTypeToTsType(p) : convertDomTypeToNullableTsType(p);
502505
const variadicParams = p.variadic && pType.indexOf('|') !== -1;
@@ -1071,9 +1074,6 @@ export function emitWebIdl(webidl: Browser.WebIdl, flavor: Flavor) {
10711074
.forEach(i => emitCallBackInterface(i));
10721075
emitNonCallbackInterfaces();
10731076

1074-
// // Add missed interface definition from the spec
1075-
// InputJson.getAddedItems InputJson.Interface flavor |> Array.iter EmitAddedInterface
1076-
10771077
printer.printLine("declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;");
10781078
printer.printLine("");
10791079

0 commit comments

Comments
 (0)