Skip to content

const p00 = p.catch();  #592

@piascikj

Description

@piascikj

const p00 = p.catch();

p00 : Promise
p.catch() : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>

const p01 = p.then();

p01 : Promise
p.then() : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>

const p10 = p.catch(undefined);

p10 : Promise
p.catch(undefined) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
undefined : undefined

const p11 = p.catch(null);

p11 : Promise
p.catch(null) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
null : null

const p12 = p.catch(() => 1);

p12 : Promise<number | boolean>
p.catch(() => 1) : Promise<number | boolean>
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => 1 : () => number
1 : 1

const p13 = p.catch(() => x);

p13 : Promise
p.catch(() => x) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => x : () => any
x : any

const p14 = p.catch(() => undefined);

p14 : Promise
p.catch(() => undefined) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => undefined : () => any
undefined : undefined

const p15 = p.catch(() => null);

p15 : Promise
p.catch(() => null) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => null : () => any
null : null

const p16 = p.catch(() => {});

p16 : Promise<boolean | void>
p.catch(() => {}) : Promise<boolean | void>
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => {} : () => void

const p17 = p.catch(() => {throw 1});

p17 : Promise
p.catch(() => {throw 1}) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => {throw 1} : () => never
1 : 1

const p18 = p.catch(() => Promise.reject(1));

p18 : Promise
p.catch(() => Promise.reject(1)) : Promise
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p19 = p.catch(() => Promise.resolve(1));

p19 : Promise<number | boolean>
p.catch(() => Promise.resolve(1)) : Promise<number | boolean>
p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
p : Promise
catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike) => Promise<boolean | TResult>
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p20 = p.then(undefined);

p20 : Promise
p.then(undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined

const p21 = p.then(null);

p21 : Promise
p.then(null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null

const p22 = p.then(() => 1);

p22 : Promise
p.then(() => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => 1 : () => number
1 : 1

const p23 = p.then(() => x);

p23 : Promise
p.then(() => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any

const p24 = p.then(() => undefined);

p24 : Promise
p.then(() => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined

const p25 = p.then(() => null);

p25 : Promise
p.then(() => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null

const p26 = p.then(() => {});

p26 : Promise
p.then(() => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void

const p27 = p.then(() => {throw 1});

p27 : Promise
p.then(() => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1

const p28 = p.then(() => Promise.resolve(1));

p28 : Promise
p.then(() => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p29 = p.then(() => Promise.reject(1));

p29 : Promise
p.then(() => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p30 = p.then(undefined, undefined);

p30 : Promise
p.then(undefined, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
undefined : undefined

const p31 = p.then(undefined, null);

p31 : Promise
p.then(undefined, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
null : null

const p32 = p.then(undefined, () => 1);

p32 : Promise<number | boolean>
p.then(undefined, () => 1) : Promise<number | boolean>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => 1 : () => number
1 : 1

const p33 = p.then(undefined, () => x);

p33 : Promise
p.then(undefined, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => x : () => any
x : any

const p34 = p.then(undefined, () => undefined);

p34 : Promise
p.then(undefined, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => undefined : () => any
undefined : undefined

const p35 = p.then(undefined, () => null);

p35 : Promise
p.then(undefined, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => null : () => any
null : null

const p36 = p.then(undefined, () => {});

p36 : Promise<boolean | void>
p.then(undefined, () => {}) : Promise<boolean | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => {} : () => void

const p37 = p.then(undefined, () => {throw 1});

p37 : Promise
p.then(undefined, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => {throw 1} : () => never
1 : 1

const p38 = p.then(undefined, () => Promise.resolve(1));

p38 : Promise<number | boolean>
p.then(undefined, () => Promise.resolve(1)) : Promise<number | boolean>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p39 = p.then(undefined, () => Promise.reject(1));

p39 : Promise
p.then(undefined, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
undefined : undefined
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p40 = p.then(null, undefined);

p40 : Promise
p.then(null, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
undefined : undefined

const p41 = p.then(null, null);

p41 : Promise
p.then(null, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
null : null

const p42 = p.then(null, () => 1);

p42 : Promise<number | boolean>
p.then(null, () => 1) : Promise<number | boolean>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => 1 : () => number
1 : 1

const p43 = p.then(null, () => x);

p43 : Promise
p.then(null, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => x : () => any
x : any

const p44 = p.then(null, () => undefined);

p44 : Promise
p.then(null, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => undefined : () => any
undefined : undefined

const p45 = p.then(null, () => null);

p45 : Promise
p.then(null, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => null : () => any
null : null

const p46 = p.then(null, () => {});

p46 : Promise<boolean | void>
p.then(null, () => {}) : Promise<boolean | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => {} : () => void

const p47 = p.then(null, () => {throw 1});

p47 : Promise
p.then(null, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => {throw 1} : () => never
1 : 1

const p48 = p.then(null, () => Promise.resolve(1));

p48 : Promise<number | boolean>
p.then(null, () => Promise.resolve(1)) : Promise<number | boolean>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p49 = p.then(null, () => Promise.reject(1));

p49 : Promise
p.then(null, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
null : null
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p50 = p.then(() => "1", undefined);

p50 : Promise
p.then(() => "1", undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
undefined : undefined

const p51 = p.then(() => "1", null);

p51 : Promise
p.then(() => "1", null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
null : null

const p52 = p.then(() => "1", () => 1);

p52 : Promise<string | number>
p.then(() => "1", () => 1) : Promise<string | number>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => 1 : () => number
1 : 1

const p53 = p.then(() => "1", () => x);

p53 : Promise
p.then(() => "1", () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => x : () => any
x : any

const p54 = p.then(() => "1", () => undefined);

p54 : Promise
p.then(() => "1", () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => undefined : () => any
undefined : undefined

const p55 = p.then(() => "1", () => null);

p55 : Promise
p.then(() => "1", () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => null : () => any
null : null

const p56 = p.then(() => "1", () => {});

p56 : Promise<string | void>
p.then(() => "1", () => {}) : Promise<string | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => {} : () => void

const p57 = p.then(() => "1", () => {throw 1});

p57 : Promise
p.then(() => "1", () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => {throw 1} : () => never
1 : 1

const p58 = p.then(() => "1", () => Promise.resolve(1));

p58 : Promise<string | number>
p.then(() => "1", () => Promise.resolve(1)) : Promise<string | number>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p59 = p.then(() => "1", () => Promise.reject(1));

p59 : Promise
p.then(() => "1", () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => "1" : () => string
"1" : "1"
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p60 = p.then(() => x, undefined);

p60 : Promise
p.then(() => x, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
undefined : undefined

const p61 = p.then(() => x, null);

p61 : Promise
p.then(() => x, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
null : null

const p62 = p.then(() => x, () => 1);

p62 : Promise
p.then(() => x, () => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => 1 : () => number
1 : 1

const p63 = p.then(() => x, () => x);

p63 : Promise
p.then(() => x, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => x : () => any
x : any

const p64 = p.then(() => x, () => undefined);

p64 : Promise
p.then(() => x, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => undefined : () => any
undefined : undefined

const p65 = p.then(() => x, () => null);

p65 : Promise
p.then(() => x, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => null : () => any
null : null

const p66 = p.then(() => x, () => {});

p66 : Promise
p.then(() => x, () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => {} : () => void

const p67 = p.then(() => x, () => {throw 1});

p67 : Promise
p.then(() => x, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => {throw 1} : () => never
1 : 1

const p68 = p.then(() => x, () => Promise.resolve(1));

p68 : Promise
p.then(() => x, () => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p69 = p.then(() => x, () => Promise.reject(1));

p69 : Promise
p.then(() => x, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => x : () => any
x : any
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p70 = p.then(() => undefined, undefined);

p70 : Promise
p.then(() => undefined, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
undefined : undefined

const p71 = p.then(() => undefined, null);

p71 : Promise
p.then(() => undefined, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
null : null

const p72 = p.then(() => undefined, () => 1);

p72 : Promise
p.then(() => undefined, () => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => 1 : () => number
1 : 1

const p73 = p.then(() => undefined, () => x);

p73 : Promise
p.then(() => undefined, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => x : () => any
x : any

const p74 = p.then(() => undefined, () => undefined);

p74 : Promise
p.then(() => undefined, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => undefined : () => any
undefined : undefined

const p75 = p.then(() => undefined, () => null);

p75 : Promise
p.then(() => undefined, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => null : () => any
null : null

const p76 = p.then(() => undefined, () => {});

p76 : Promise
p.then(() => undefined, () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => {} : () => void

const p77 = p.then(() => undefined, () => {throw 1});

p77 : Promise
p.then(() => undefined, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => {throw 1} : () => never
1 : 1

const p78 = p.then(() => undefined, () => Promise.resolve(1));

p78 : Promise
p.then(() => undefined, () => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p79 = p.then(() => undefined, () => Promise.reject(1));

p79 : Promise
p.then(() => undefined, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => undefined : () => any
undefined : undefined
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p80 = p.then(() => null, undefined);

p80 : Promise
p.then(() => null, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
undefined : undefined

const p81 = p.then(() => null, null);

p81 : Promise
p.then(() => null, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
null : null

const p82 = p.then(() => null, () => 1);

p82 : Promise
p.then(() => null, () => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => 1 : () => number
1 : 1

const p83 = p.then(() => null, () => x);

p83 : Promise
p.then(() => null, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => x : () => any
x : any

const p84 = p.then(() => null, () => undefined);

p84 : Promise
p.then(() => null, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => undefined : () => any
undefined : undefined

const p85 = p.then(() => null, () => null);

p85 : Promise
p.then(() => null, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => null : () => any
null : null

const p86 = p.then(() => null, () => {});

p86 : Promise
p.then(() => null, () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => {} : () => void

const p87 = p.then(() => null, () => {throw 1});

p87 : Promise
p.then(() => null, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => {throw 1} : () => never
1 : 1

const p88 = p.then(() => null, () => Promise.resolve(1));

p88 : Promise
p.then(() => null, () => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p89 = p.then(() => null, () => Promise.reject(1));

p89 : Promise
p.then(() => null, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => null : () => any
null : null
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const p90 = p.then(() => {}, undefined);

p90 : Promise
p.then(() => {}, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
undefined : undefined

const p91 = p.then(() => {}, null);

p91 : Promise
p.then(() => {}, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
null : null

const p92 = p.then(() => {}, () => 1);

p92 : Promise<number | void>
p.then(() => {}, () => 1) : Promise<number | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => 1 : () => number
1 : 1

const p93 = p.then(() => {}, () => x);

p93 : Promise
p.then(() => {}, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => x : () => any
x : any

const p94 = p.then(() => {}, () => undefined);

p94 : Promise
p.then(() => {}, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => undefined : () => any
undefined : undefined

const p95 = p.then(() => {}, () => null);

p95 : Promise
p.then(() => {}, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => null : () => any
null : null

const p96 = p.then(() => {}, () => {});

p96 : Promise
p.then(() => {}, () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => {} : () => void

const p97 = p.then(() => {}, () => {throw 1});

p97 : Promise
p.then(() => {}, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => {throw 1} : () => never
1 : 1

const p98 = p.then(() => {}, () => Promise.resolve(1));

p98 : Promise<number | void>
p.then(() => {}, () => Promise.resolve(1)) : Promise<number | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const p99 = p.then(() => {}, () => Promise.reject(1));

p99 : Promise
p.then(() => {}, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {} : () => void
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const pa0 = p.then(() => {throw 1}, undefined);

pa0 : Promise
p.then(() => {throw 1}, undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
undefined : undefined

const pa1 = p.then(() => {throw 1}, null);

pa1 : Promise
p.then(() => {throw 1}, null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
null : null

const pa2 = p.then(() => {throw 1}, () => 1);

pa2 : Promise
p.then(() => {throw 1}, () => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => 1 : () => number
1 : 1

const pa3 = p.then(() => {throw 1}, () => x);

pa3 : Promise
p.then(() => {throw 1}, () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => x : () => any
x : any

const pa4 = p.then(() => {throw 1}, () => undefined);

pa4 : Promise
p.then(() => {throw 1}, () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => undefined : () => any
undefined : undefined

const pa5 = p.then(() => {throw 1}, () => null);

pa5 : Promise
p.then(() => {throw 1}, () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => null : () => any
null : null

const pa6 = p.then(() => {throw 1}, () => {});

pa6 : Promise
p.then(() => {throw 1}, () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => {} : () => void

const pa7 = p.then(() => {throw 1}, () => {throw 1});

pa7 : Promise
p.then(() => {throw 1}, () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => {throw 1} : () => never
1 : 1

const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1));

pa8 : Promise
p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const pa9 = p.then(() => {throw 1}, () => Promise.reject(1));

pa9 : Promise
p.then(() => {throw 1}, () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => {throw 1} : () => never
1 : 1
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const pb0 = p.then(() => Promise.resolve("1"), undefined);

pb0 : Promise
p.then(() => Promise.resolve("1"), undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
undefined : undefined

const pb1 = p.then(() => Promise.resolve("1"), null);

pb1 : Promise
p.then(() => Promise.resolve("1"), null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
null : null

const pb2 = p.then(() => Promise.resolve("1"), () => 1);

pb2 : Promise<string | number>
p.then(() => Promise.resolve("1"), () => 1) : Promise<string | number>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => 1 : () => number
1 : 1

const pb3 = p.then(() => Promise.resolve("1"), () => x);

pb3 : Promise
p.then(() => Promise.resolve("1"), () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => x : () => any
x : any

const pb4 = p.then(() => Promise.resolve("1"), () => undefined);

pb4 : Promise
p.then(() => Promise.resolve("1"), () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => undefined : () => any
undefined : undefined

const pb5 = p.then(() => Promise.resolve("1"), () => null);

pb5 : Promise
p.then(() => Promise.resolve("1"), () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => null : () => any
null : null

const pb6 = p.then(() => Promise.resolve("1"), () => {});

pb6 : Promise<string | void>
p.then(() => Promise.resolve("1"), () => {}) : Promise<string | void>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => {} : () => void

const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1});

pb7 : Promise
p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => {throw 1} : () => never
1 : 1

const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1));

pb8 : Promise<string | number>
p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise<string | number>
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1));

pb9 : Promise
p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.resolve("1") : () => Promise
Promise.resolve("1") : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
"1" : "1"
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1

const pc0 = p.then(() => Promise.reject("1"), undefined);

pc0 : Promise
p.then(() => Promise.reject("1"), undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
undefined : undefined

const pc1 = p.then(() => Promise.reject("1"), null);

pc1 : Promise
p.then(() => Promise.reject("1"), null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
null : null

const pc2 = p.then(() => Promise.reject("1"), () => 1);

pc2 : Promise
p.then(() => Promise.reject("1"), () => 1) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => 1 : () => number
1 : 1

const pc3 = p.then(() => Promise.reject("1"), () => x);

pc3 : Promise
p.then(() => Promise.reject("1"), () => x) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => x : () => any
x : any

const pc4 = p.then(() => Promise.reject("1"), () => undefined);

pc4 : Promise
p.then(() => Promise.reject("1"), () => undefined) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => undefined : () => any
undefined : undefined

const pc5 = p.then(() => Promise.reject("1"), () => null);

pc5 : Promise
p.then(() => Promise.reject("1"), () => null) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => null : () => any
null : null

const pc6 = p.then(() => Promise.reject("1"), () => {});

pc6 : Promise
p.then(() => Promise.reject("1"), () => {}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => {} : () => void

const pc7 = p.then(() => Promise.reject("1"), () => {throw 1});

pc7 : Promise
p.then(() => Promise.reject("1"), () => {throw 1}) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => {throw 1} : () => never
1 : 1

const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1));

pc8 : Promise
p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => Promise.resolve(1) : () => Promise
Promise.resolve(1) : Promise
Promise.resolve : { (value: T | PromiseLike): Promise; (): Promise; }
Promise : PromiseConstructor
resolve : { (value: T | PromiseLike): Promise; (): Promise; }
1 : 1

const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));

pc9 : Promise
p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise
p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
p : Promise
then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise<TResult1 | TResult2>
() => Promise.reject("1") : () => Promise
Promise.reject("1") : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
"1" : "1"
() => Promise.reject(1) : () => Promise
Promise.reject(1) : Promise
Promise.reject : { (reason: any): Promise; (reason: any): Promise; }
Promise : PromiseConstructor
reject : { (reason: any): Promise; (reason: any): Promise; }
1 : 1


opened via imdone.io from a code comment on ab2750a6312 by Ron Buckton

4903 const p00 = p.catch(); id:591


// addresses github issue #4903:
const p00 = p.catch();
>p00 : Promise<boolean>
>p.catch() : Promise<boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
const p01 = p.then();
>p01 : Promise<boolean>
>p.then() : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
const p10 = p.catch(undefined);
>p10 : Promise<boolean>
>p.catch(undefined) : Promise<boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>undefined : undefined
const p11 = p.catch(null);
>p11 : Promise<boolean>
>p.catch(null) : Promise<boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>null : null
const p12 = p.catch(() => 1);
>p12 : Promise<number | boolean>
>p.catch(() => 1) : Promise<number | boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => 1 : () => number
>1 : 1
const p13 = p.catch(() => x);
>p13 : Promise<any>
>p.catch(() => x) : Promise<any>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => x : () => any
>x : any
const p14 = p.catch(() => undefined);
>p14 : Promise<any>
>p.catch(() => undefined) : Promise<any>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => undefined : () => any
>undefined : undefined
const p15 = p.catch(() => null);
>p15 : Promise<any>
>p.catch(() => null) : Promise<any>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => null : () => any
>null : null
const p16 = p.catch(() => {});
>p16 : Promise<boolean | void>
>p.catch(() => {}) : Promise<boolean | void>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => {} : () => void
const p17 = p.catch(() => {throw 1});
>p17 : Promise<boolean>
>p.catch(() => {throw 1}) : Promise<boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => {throw 1} : () => never
>1 : 1
const p18 = p.catch(() => Promise.reject(1));
>p18 : Promise<boolean>
>p.catch(() => Promise.reject(1)) : Promise<boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p19 = p.catch(() => Promise.resolve(1));
>p19 : Promise<number | boolean>
>p.catch(() => Promise.resolve(1)) : Promise<number | boolean>
>p.catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>p : Promise<boolean>
>catch : <TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>) => Promise<boolean | TResult>
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p20 = p.then(undefined);
>p20 : Promise<boolean>
>p.then(undefined) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
const p21 = p.then(null);
>p21 : Promise<boolean>
>p.then(null) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
const p22 = p.then(() => 1);
>p22 : Promise<number>
>p.then(() => 1) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => 1 : () => number
>1 : 1
const p23 = p.then(() => x);
>p23 : Promise<any>
>p.then(() => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
const p24 = p.then(() => undefined);
>p24 : Promise<any>
>p.then(() => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
const p25 = p.then(() => null);
>p25 : Promise<any>
>p.then(() => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
const p26 = p.then(() => {});
>p26 : Promise<void>
>p.then(() => {}) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
const p27 = p.then(() => {throw 1});
>p27 : Promise<never>
>p.then(() => {throw 1}) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
const p28 = p.then(() => Promise.resolve(1));
>p28 : Promise<number>
>p.then(() => Promise.resolve(1)) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p29 = p.then(() => Promise.reject(1));
>p29 : Promise<never>
>p.then(() => Promise.reject(1)) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p30 = p.then(undefined, undefined);
>p30 : Promise<boolean>
>p.then(undefined, undefined) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>undefined : undefined
const p31 = p.then(undefined, null);
>p31 : Promise<boolean>
>p.then(undefined, null) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>null : null
const p32 = p.then(undefined, () => 1);
>p32 : Promise<number | boolean>
>p.then(undefined, () => 1) : Promise<number | boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => 1 : () => number
>1 : 1
const p33 = p.then(undefined, () => x);
>p33 : Promise<any>
>p.then(undefined, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => x : () => any
>x : any
const p34 = p.then(undefined, () => undefined);
>p34 : Promise<any>
>p.then(undefined, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => undefined : () => any
>undefined : undefined
const p35 = p.then(undefined, () => null);
>p35 : Promise<any>
>p.then(undefined, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => null : () => any
>null : null
const p36 = p.then(undefined, () => {});
>p36 : Promise<boolean | void>
>p.then(undefined, () => {}) : Promise<boolean | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => {} : () => void
const p37 = p.then(undefined, () => {throw 1});
>p37 : Promise<boolean>
>p.then(undefined, () => {throw 1}) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => {throw 1} : () => never
>1 : 1
const p38 = p.then(undefined, () => Promise.resolve(1));
>p38 : Promise<number | boolean>
>p.then(undefined, () => Promise.resolve(1)) : Promise<number | boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p39 = p.then(undefined, () => Promise.reject(1));
>p39 : Promise<boolean>
>p.then(undefined, () => Promise.reject(1)) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>undefined : undefined
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p40 = p.then(null, undefined);
>p40 : Promise<boolean>
>p.then(null, undefined) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>undefined : undefined
const p41 = p.then(null, null);
>p41 : Promise<boolean>
>p.then(null, null) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>null : null
const p42 = p.then(null, () => 1);
>p42 : Promise<number | boolean>
>p.then(null, () => 1) : Promise<number | boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => 1 : () => number
>1 : 1
const p43 = p.then(null, () => x);
>p43 : Promise<any>
>p.then(null, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => x : () => any
>x : any
const p44 = p.then(null, () => undefined);
>p44 : Promise<any>
>p.then(null, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => undefined : () => any
>undefined : undefined
const p45 = p.then(null, () => null);
>p45 : Promise<any>
>p.then(null, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => null : () => any
>null : null
const p46 = p.then(null, () => {});
>p46 : Promise<boolean | void>
>p.then(null, () => {}) : Promise<boolean | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => {} : () => void
const p47 = p.then(null, () => {throw 1});
>p47 : Promise<boolean>
>p.then(null, () => {throw 1}) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => {throw 1} : () => never
>1 : 1
const p48 = p.then(null, () => Promise.resolve(1));
>p48 : Promise<number | boolean>
>p.then(null, () => Promise.resolve(1)) : Promise<number | boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p49 = p.then(null, () => Promise.reject(1));
>p49 : Promise<boolean>
>p.then(null, () => Promise.reject(1)) : Promise<boolean>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>null : null
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p50 = p.then(() => "1", undefined);
>p50 : Promise<string>
>p.then(() => "1", undefined) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>undefined : undefined
const p51 = p.then(() => "1", null);
>p51 : Promise<string>
>p.then(() => "1", null) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>null : null
const p52 = p.then(() => "1", () => 1);
>p52 : Promise<string | number>
>p.then(() => "1", () => 1) : Promise<string | number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => 1 : () => number
>1 : 1
const p53 = p.then(() => "1", () => x);
>p53 : Promise<any>
>p.then(() => "1", () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => x : () => any
>x : any
const p54 = p.then(() => "1", () => undefined);
>p54 : Promise<any>
>p.then(() => "1", () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => undefined : () => any
>undefined : undefined
const p55 = p.then(() => "1", () => null);
>p55 : Promise<any>
>p.then(() => "1", () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => null : () => any
>null : null
const p56 = p.then(() => "1", () => {});
>p56 : Promise<string | void>
>p.then(() => "1", () => {}) : Promise<string | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => {} : () => void
const p57 = p.then(() => "1", () => {throw 1});
>p57 : Promise<string>
>p.then(() => "1", () => {throw 1}) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => {throw 1} : () => never
>1 : 1
const p58 = p.then(() => "1", () => Promise.resolve(1));
>p58 : Promise<string | number>
>p.then(() => "1", () => Promise.resolve(1)) : Promise<string | number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p59 = p.then(() => "1", () => Promise.reject(1));
>p59 : Promise<string>
>p.then(() => "1", () => Promise.reject(1)) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => "1" : () => string
>"1" : "1"
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p60 = p.then(() => x, undefined);
>p60 : Promise<any>
>p.then(() => x, undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>undefined : undefined
const p61 = p.then(() => x, null);
>p61 : Promise<any>
>p.then(() => x, null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>null : null
const p62 = p.then(() => x, () => 1);
>p62 : Promise<any>
>p.then(() => x, () => 1) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => 1 : () => number
>1 : 1
const p63 = p.then(() => x, () => x);
>p63 : Promise<any>
>p.then(() => x, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => x : () => any
>x : any
const p64 = p.then(() => x, () => undefined);
>p64 : Promise<any>
>p.then(() => x, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => undefined : () => any
>undefined : undefined
const p65 = p.then(() => x, () => null);
>p65 : Promise<any>
>p.then(() => x, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => null : () => any
>null : null
const p66 = p.then(() => x, () => {});
>p66 : Promise<any>
>p.then(() => x, () => {}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => {} : () => void
const p67 = p.then(() => x, () => {throw 1});
>p67 : Promise<any>
>p.then(() => x, () => {throw 1}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => {throw 1} : () => never
>1 : 1
const p68 = p.then(() => x, () => Promise.resolve(1));
>p68 : Promise<any>
>p.then(() => x, () => Promise.resolve(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p69 = p.then(() => x, () => Promise.reject(1));
>p69 : Promise<any>
>p.then(() => x, () => Promise.reject(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => x : () => any
>x : any
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p70 = p.then(() => undefined, undefined);
>p70 : Promise<any>
>p.then(() => undefined, undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>undefined : undefined
const p71 = p.then(() => undefined, null);
>p71 : Promise<any>
>p.then(() => undefined, null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>null : null
const p72 = p.then(() => undefined, () => 1);
>p72 : Promise<any>
>p.then(() => undefined, () => 1) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => 1 : () => number
>1 : 1
const p73 = p.then(() => undefined, () => x);
>p73 : Promise<any>
>p.then(() => undefined, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => x : () => any
>x : any
const p74 = p.then(() => undefined, () => undefined);
>p74 : Promise<any>
>p.then(() => undefined, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => undefined : () => any
>undefined : undefined
const p75 = p.then(() => undefined, () => null);
>p75 : Promise<any>
>p.then(() => undefined, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => null : () => any
>null : null
const p76 = p.then(() => undefined, () => {});
>p76 : Promise<any>
>p.then(() => undefined, () => {}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => {} : () => void
const p77 = p.then(() => undefined, () => {throw 1});
>p77 : Promise<any>
>p.then(() => undefined, () => {throw 1}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => {throw 1} : () => never
>1 : 1
const p78 = p.then(() => undefined, () => Promise.resolve(1));
>p78 : Promise<any>
>p.then(() => undefined, () => Promise.resolve(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p79 = p.then(() => undefined, () => Promise.reject(1));
>p79 : Promise<any>
>p.then(() => undefined, () => Promise.reject(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => undefined : () => any
>undefined : undefined
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p80 = p.then(() => null, undefined);
>p80 : Promise<any>
>p.then(() => null, undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>undefined : undefined
const p81 = p.then(() => null, null);
>p81 : Promise<any>
>p.then(() => null, null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>null : null
const p82 = p.then(() => null, () => 1);
>p82 : Promise<any>
>p.then(() => null, () => 1) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => 1 : () => number
>1 : 1
const p83 = p.then(() => null, () => x);
>p83 : Promise<any>
>p.then(() => null, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => x : () => any
>x : any
const p84 = p.then(() => null, () => undefined);
>p84 : Promise<any>
>p.then(() => null, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => undefined : () => any
>undefined : undefined
const p85 = p.then(() => null, () => null);
>p85 : Promise<any>
>p.then(() => null, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => null : () => any
>null : null
const p86 = p.then(() => null, () => {});
>p86 : Promise<any>
>p.then(() => null, () => {}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => {} : () => void
const p87 = p.then(() => null, () => {throw 1});
>p87 : Promise<any>
>p.then(() => null, () => {throw 1}) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => {throw 1} : () => never
>1 : 1
const p88 = p.then(() => null, () => Promise.resolve(1));
>p88 : Promise<any>
>p.then(() => null, () => Promise.resolve(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p89 = p.then(() => null, () => Promise.reject(1));
>p89 : Promise<any>
>p.then(() => null, () => Promise.reject(1)) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => null : () => any
>null : null
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const p90 = p.then(() => {}, undefined);
>p90 : Promise<void>
>p.then(() => {}, undefined) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>undefined : undefined
const p91 = p.then(() => {}, null);
>p91 : Promise<void>
>p.then(() => {}, null) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>null : null
const p92 = p.then(() => {}, () => 1);
>p92 : Promise<number | void>
>p.then(() => {}, () => 1) : Promise<number | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => 1 : () => number
>1 : 1
const p93 = p.then(() => {}, () => x);
>p93 : Promise<any>
>p.then(() => {}, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => x : () => any
>x : any
const p94 = p.then(() => {}, () => undefined);
>p94 : Promise<any>
>p.then(() => {}, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => undefined : () => any
>undefined : undefined
const p95 = p.then(() => {}, () => null);
>p95 : Promise<any>
>p.then(() => {}, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => null : () => any
>null : null
const p96 = p.then(() => {}, () => {});
>p96 : Promise<void>
>p.then(() => {}, () => {}) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => {} : () => void
const p97 = p.then(() => {}, () => {throw 1});
>p97 : Promise<void>
>p.then(() => {}, () => {throw 1}) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => {throw 1} : () => never
>1 : 1
const p98 = p.then(() => {}, () => Promise.resolve(1));
>p98 : Promise<number | void>
>p.then(() => {}, () => Promise.resolve(1)) : Promise<number | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const p99 = p.then(() => {}, () => Promise.reject(1));
>p99 : Promise<void>
>p.then(() => {}, () => Promise.reject(1)) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {} : () => void
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const pa0 = p.then(() => {throw 1}, undefined);
>pa0 : Promise<never>
>p.then(() => {throw 1}, undefined) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>undefined : undefined
const pa1 = p.then(() => {throw 1}, null);
>pa1 : Promise<never>
>p.then(() => {throw 1}, null) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>null : null
const pa2 = p.then(() => {throw 1}, () => 1);
>pa2 : Promise<number>
>p.then(() => {throw 1}, () => 1) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => 1 : () => number
>1 : 1
const pa3 = p.then(() => {throw 1}, () => x);
>pa3 : Promise<any>
>p.then(() => {throw 1}, () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => x : () => any
>x : any
const pa4 = p.then(() => {throw 1}, () => undefined);
>pa4 : Promise<any>
>p.then(() => {throw 1}, () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => undefined : () => any
>undefined : undefined
const pa5 = p.then(() => {throw 1}, () => null);
>pa5 : Promise<any>
>p.then(() => {throw 1}, () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => null : () => any
>null : null
const pa6 = p.then(() => {throw 1}, () => {});
>pa6 : Promise<void>
>p.then(() => {throw 1}, () => {}) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => {} : () => void
const pa7 = p.then(() => {throw 1}, () => {throw 1});
>pa7 : Promise<never>
>p.then(() => {throw 1}, () => {throw 1}) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => {throw 1} : () => never
>1 : 1
const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1));
>pa8 : Promise<number>
>p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const pa9 = p.then(() => {throw 1}, () => Promise.reject(1));
>pa9 : Promise<never>
>p.then(() => {throw 1}, () => Promise.reject(1)) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => {throw 1} : () => never
>1 : 1
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const pb0 = p.then(() => Promise.resolve("1"), undefined);
>pb0 : Promise<string>
>p.then(() => Promise.resolve("1"), undefined) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>undefined : undefined
const pb1 = p.then(() => Promise.resolve("1"), null);
>pb1 : Promise<string>
>p.then(() => Promise.resolve("1"), null) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>null : null
const pb2 = p.then(() => Promise.resolve("1"), () => 1);
>pb2 : Promise<string | number>
>p.then(() => Promise.resolve("1"), () => 1) : Promise<string | number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => 1 : () => number
>1 : 1
const pb3 = p.then(() => Promise.resolve("1"), () => x);
>pb3 : Promise<any>
>p.then(() => Promise.resolve("1"), () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => x : () => any
>x : any
const pb4 = p.then(() => Promise.resolve("1"), () => undefined);
>pb4 : Promise<any>
>p.then(() => Promise.resolve("1"), () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => undefined : () => any
>undefined : undefined
const pb5 = p.then(() => Promise.resolve("1"), () => null);
>pb5 : Promise<any>
>p.then(() => Promise.resolve("1"), () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => null : () => any
>null : null
const pb6 = p.then(() => Promise.resolve("1"), () => {});
>pb6 : Promise<string | void>
>p.then(() => Promise.resolve("1"), () => {}) : Promise<string | void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => {} : () => void
const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1});
>pb7 : Promise<string>
>p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => {throw 1} : () => never
>1 : 1
const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1));
>pb8 : Promise<string | number>
>p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise<string | number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1));
>pb9 : Promise<string>
>p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise<string>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.resolve("1") : () => Promise<string>
>Promise.resolve("1") : Promise<string>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>"1" : "1"
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1
const pc0 = p.then(() => Promise.reject("1"), undefined);
>pc0 : Promise<never>
>p.then(() => Promise.reject("1"), undefined) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>undefined : undefined
const pc1 = p.then(() => Promise.reject("1"), null);
>pc1 : Promise<never>
>p.then(() => Promise.reject("1"), null) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>null : null
const pc2 = p.then(() => Promise.reject("1"), () => 1);
>pc2 : Promise<number>
>p.then(() => Promise.reject("1"), () => 1) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => 1 : () => number
>1 : 1
const pc3 = p.then(() => Promise.reject("1"), () => x);
>pc3 : Promise<any>
>p.then(() => Promise.reject("1"), () => x) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => x : () => any
>x : any
const pc4 = p.then(() => Promise.reject("1"), () => undefined);
>pc4 : Promise<any>
>p.then(() => Promise.reject("1"), () => undefined) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => undefined : () => any
>undefined : undefined
const pc5 = p.then(() => Promise.reject("1"), () => null);
>pc5 : Promise<any>
>p.then(() => Promise.reject("1"), () => null) : Promise<any>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => null : () => any
>null : null
const pc6 = p.then(() => Promise.reject("1"), () => {});
>pc6 : Promise<void>
>p.then(() => Promise.reject("1"), () => {}) : Promise<void>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => {} : () => void
const pc7 = p.then(() => Promise.reject("1"), () => {throw 1});
>pc7 : Promise<never>
>p.then(() => Promise.reject("1"), () => {throw 1}) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => {throw 1} : () => never
>1 : 1
const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1));
>pc8 : Promise<number>
>p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise<number>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => Promise.resolve(1) : () => Promise<number>
>Promise.resolve(1) : Promise<number>
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>Promise : PromiseConstructor
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
>1 : 1
const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
>pc9 : Promise<never>
>p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise<never>
>p.then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>p : Promise<boolean>
>then : <TResult1 = boolean, TResult2 = never>(onfulfilled?: (value: boolean) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>) => Promise<TResult1 | TResult2>
>() => Promise.reject("1") : () => Promise<never>
>Promise.reject("1") : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>"1" : "1"
>() => Promise.reject(1) : () => Promise<never>
>Promise.reject(1) : Promise<never>
>Promise.reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>Promise : PromiseConstructor
>reject : { (reason: any): Promise<never>; <T>(reason: any): Promise<T>; }
>1 : 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions