Cherry-pick PR #34702 into release-3.7 (#34710)

Component commits:
7be925173c Exclude ?? operator from true/false literal check in createFlowCondition

b9802166ae Accept new API baselines

3d4c14c5f8 Add tests

7362545e8c Accept new baselines

2d1af77839 Address CR feedback

8f0de27784 Accept new API baselines
This commit is contained in:
TypeScript Bot
2019-10-24 16:05:34 -07:00
committed by Daniel Rosenwasser
parent db419ff5ab
commit 330c8acda2
8 changed files with 166 additions and 7 deletions
@@ -1,4 +1,5 @@
// @strict: true
// @allowUnreachableCode: false
declare const a1: string | undefined | null
declare const a2: string | undefined | null
@@ -39,4 +40,28 @@ const cc4 = c4 ?? true;
const dd1 = d1 ?? {b: 1};
const dd2 = d2 ?? {b: 1};
const dd3 = d3 ?? {b: 1};
const dd4 = d4 ?? {b: 1};
const dd4 = d4 ?? {b: 1};
// Repro from #34635
declare function foo(): void;
const maybeBool = false;
if (!(maybeBool ?? true)) {
foo();
}
if (maybeBool ?? true) {
foo();
}
else {
foo();
}
if (false ?? true) {
foo();
}
else {
foo();
}