Inline 'Awaitable' into 'Awaited'
This commit is contained in:
parent
0bf0bf6f53
commit
76ee13974c
2
src/lib/es2015.promise.d.ts
vendored
2
src/lib/es2015.promise.d.ts
vendored
|
@ -10,7 +10,7 @@ interface PromiseConstructor {
|
||||||
* a resolve callback used resolve the promise with a value or the result of another promise,
|
* a resolve callback used resolve the promise with a value or the result of another promise,
|
||||||
* and a reject callback used to reject the promise with a provided reason or error.
|
* and a reject callback used to reject the promise with a provided reason or error.
|
||||||
*/
|
*/
|
||||||
new <T>(executor: (resolve: (value?: T | Awaitable<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
|
new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a Promise that is resolved with an array of results when all of the provided Promises
|
* Creates a Promise that is resolved with an array of results when all of the provided Promises
|
||||||
|
|
7
src/lib/es5.d.ts
vendored
7
src/lib/es5.d.ts
vendored
|
@ -1273,16 +1273,13 @@ declare type PropertyDecorator = (target: Object, propertyKey: string | symbol)
|
||||||
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
|
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
|
||||||
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;
|
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;
|
||||||
|
|
||||||
/** An object type that can definitely be awaited. Do not inherit from this type. */
|
|
||||||
declare type Awaitable<T> = { then(onfulfilled: (value: T) => any): any; };
|
|
||||||
|
|
||||||
/** Gets the resulting type from awaiting `T`. This does **not** recursively unwrap nested promises. */
|
/** Gets the resulting type from awaiting `T`. This does **not** recursively unwrap nested promises. */
|
||||||
declare type Awaited<T> =
|
declare type Awaited<T> =
|
||||||
T extends Awaitable<infer U> ? U :
|
T extends { then(onfulfilled: (value: infer U) => any): any; } ? U :
|
||||||
T extends { then(...args: any[]): any; } ? never :
|
T extends { then(...args: any[]): any; } ? never :
|
||||||
T;
|
T;
|
||||||
|
|
||||||
declare type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | Awaitable<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;
|
declare type PromiseConstructorLike = new <T>(executor: (resolve: (value?: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void) => PromiseLike<T>;
|
||||||
|
|
||||||
interface PromiseLike<T> {
|
interface PromiseLike<T> {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,10 +15,10 @@ class A {
|
||||||
return new Promise((resolve) => { resolve(null); });
|
return new Promise((resolve) => { resolve(null); });
|
||||||
>new Promise((resolve) => { resolve(null); }) : Promise<void>
|
>new Promise((resolve) => { resolve(null); }) : Promise<void>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>(resolve) => { resolve(null); } : (resolve: (value?: void | Awaitable<void>) => void) => void
|
>(resolve) => { resolve(null); } : (resolve: (value?: void | PromiseLike<void>) => void) => void
|
||||||
>resolve : (value?: void | Awaitable<void>) => void
|
>resolve : (value?: void | PromiseLike<void>) => void
|
||||||
>resolve(null) : void
|
>resolve(null) : void
|
||||||
>resolve : (value?: void | Awaitable<void>) => void
|
>resolve : (value?: void | PromiseLike<void>) => void
|
||||||
>null : null
|
>null : null
|
||||||
}
|
}
|
||||||
static C = class C {
|
static C = class C {
|
||||||
|
|
|
@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } );
|
||||||
>x : Promise<{}>
|
>x : Promise<{}>
|
||||||
>new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}>
|
>new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
>resolve( {} ) : void
|
>resolve( {} ) : void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>{} : {}
|
>{} : {}
|
||||||
|
|
||||||
export default x;
|
export default x;
|
||||||
|
|
|
@ -3,11 +3,11 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } );
|
||||||
>x : Promise<{}>
|
>x : Promise<{}>
|
||||||
>new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}>
|
>new Promise( ( resolve, reject ) => { resolve( {} ); } ) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>( resolve, reject ) => { resolve( {} ); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
>resolve( {} ) : void
|
>resolve( {} ) : void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>{} : {}
|
>{} : {}
|
||||||
|
|
||||||
export default x;
|
export default x;
|
||||||
|
|
|
@ -21,8 +21,8 @@ export class BrokenClass {
|
||||||
>Array : T[]
|
>Array : T[]
|
||||||
>MyModule : any
|
>MyModule : any
|
||||||
>MyModel : MyModule.MyModel
|
>MyModel : MyModule.MyModel
|
||||||
>(resolve, reject) => { let result: Array<MyModule.MyModel> = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array<MyModule.MyModel>) => { resolve(orders); }); } : (resolve: (value?: MyModule.MyModel[] | Awaitable<MyModule.MyModel[]>) => void, reject: (reason?: any) => void) => Promise<void>
|
>(resolve, reject) => { let result: Array<MyModule.MyModel> = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array<MyModule.MyModel>) => { resolve(orders); }); } : (resolve: (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void, reject: (reason?: any) => void) => Promise<void>
|
||||||
>resolve : (value?: MyModule.MyModel[] | Awaitable<MyModule.MyModel[]>) => void
|
>resolve : (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
|
|
||||||
let result: Array<MyModule.MyModel> = [];
|
let result: Array<MyModule.MyModel> = [];
|
||||||
|
@ -40,8 +40,8 @@ export class BrokenClass {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
>new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }) : Promise<{}>
|
>new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
|
|
||||||
this.doStuff(order.id)
|
this.doStuff(order.id)
|
||||||
|
@ -69,7 +69,7 @@ export class BrokenClass {
|
||||||
|
|
||||||
resolve(order);
|
resolve(order);
|
||||||
>resolve(order) : void
|
>resolve(order) : void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>order : any
|
>order : any
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -99,7 +99,7 @@ export class BrokenClass {
|
||||||
|
|
||||||
resolve(orders);
|
resolve(orders);
|
||||||
>resolve(orders) : void
|
>resolve(orders) : void
|
||||||
>resolve : (value?: MyModule.MyModel[] | Awaitable<MyModule.MyModel[]>) => void
|
>resolve : (value?: MyModule.MyModel[] | PromiseLike<MyModule.MyModel[]>) => void
|
||||||
>orders : MyModule.MyModel[]
|
>orders : MyModule.MyModel[]
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -137,8 +137,8 @@ async function out() {
|
||||||
return new Promise(function (resolve, reject) {});
|
return new Promise(function (resolve, reject) {});
|
||||||
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,8 +137,8 @@ async function out() {
|
||||||
return new Promise(function (resolve, reject) {});
|
return new Promise(function (resolve, reject) {});
|
||||||
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,8 +137,8 @@ async function out() {
|
||||||
return new Promise(function (resolve, reject) {});
|
return new Promise(function (resolve, reject) {});
|
||||||
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
>new Promise(function (resolve, reject) {}) : Promise<{}>
|
||||||
>Promise : PromiseConstructor
|
>Promise : PromiseConstructor
|
||||||
>function (resolve, reject) {} : (resolve: (value?: {} | Awaitable<{}>) => void, reject: (reason?: any) => void) => void
|
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
|
||||||
>resolve : (value?: {} | Awaitable<{}>) => void
|
>resolve : (value?: {} | PromiseLike<{}>) => void
|
||||||
>reject : (reason?: any) => void
|
>reject : (reason?: any) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue