TypeScript/tests/baselines/reference/promiseTypeInference.js

16 lines
480 B
TypeScript

//// [promiseTypeInference.ts]
declare class Promise<T> {
then<U>(success?: (value: T) => Promise<U>): Promise<U>;
}
interface IPromise<T> {
then<U>(success?: (value: T) => IPromise<U>): IPromise<U>;
}
declare function load(name: string): Promise<string>;
declare function convert(s: string): IPromise<number>;
var $$x = load("something").then(s => convert(s));
//// [promiseTypeInference.js]
var $$x = load("something").then(function (s) { return convert(s); });