diff --git a/tests/baselines/reference/destructuringWithConstraint.js b/tests/baselines/reference/destructuringWithConstraint.js new file mode 100644 index 00000000000..2d28971b678 --- /dev/null +++ b/tests/baselines/reference/destructuringWithConstraint.js @@ -0,0 +1,20 @@ +//// [destructuringWithConstraint.ts] +// Repro from #22823 + +interface Props { + foo?: boolean; +} + +function foo

(props: Readonly

) { + let { foo = false } = props; + if (foo === true) { } +} + + +//// [destructuringWithConstraint.js] +"use strict"; +// Repro from #22823 +function foo(props) { + var _a = props.foo, foo = _a === void 0 ? false : _a; + if (foo === true) { } +} diff --git a/tests/baselines/reference/destructuringWithConstraint.symbols b/tests/baselines/reference/destructuringWithConstraint.symbols new file mode 100644 index 00000000000..aef7aad768e --- /dev/null +++ b/tests/baselines/reference/destructuringWithConstraint.symbols @@ -0,0 +1,26 @@ +=== tests/cases/compiler/destructuringWithConstraint.ts === +// Repro from #22823 + +interface Props { +>Props : Symbol(Props, Decl(destructuringWithConstraint.ts, 0, 0)) + + foo?: boolean; +>foo : Symbol(Props.foo, Decl(destructuringWithConstraint.ts, 2, 17)) +} + +function foo

(props: Readonly

) { +>foo : Symbol(foo, Decl(destructuringWithConstraint.ts, 4, 1)) +>P : Symbol(P, Decl(destructuringWithConstraint.ts, 6, 13)) +>Props : Symbol(Props, Decl(destructuringWithConstraint.ts, 0, 0)) +>props : Symbol(props, Decl(destructuringWithConstraint.ts, 6, 30)) +>Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>P : Symbol(P, Decl(destructuringWithConstraint.ts, 6, 13)) + + let { foo = false } = props; +>foo : Symbol(foo, Decl(destructuringWithConstraint.ts, 7, 9)) +>props : Symbol(props, Decl(destructuringWithConstraint.ts, 6, 30)) + + if (foo === true) { } +>foo : Symbol(foo, Decl(destructuringWithConstraint.ts, 7, 9)) +} + diff --git a/tests/baselines/reference/destructuringWithConstraint.types b/tests/baselines/reference/destructuringWithConstraint.types new file mode 100644 index 00000000000..a58745a6481 --- /dev/null +++ b/tests/baselines/reference/destructuringWithConstraint.types @@ -0,0 +1,29 @@ +=== tests/cases/compiler/destructuringWithConstraint.ts === +// Repro from #22823 + +interface Props { +>Props : Props + + foo?: boolean; +>foo : boolean | undefined +} + +function foo

(props: Readonly

) { +>foo :

(props: Readonly

) => void +>P : P +>Props : Props +>props : Readonly

+>Readonly : Readonly +>P : P + + let { foo = false } = props; +>foo : boolean +>false : false +>props : Readonly

+ + if (foo === true) { } +>foo === true : boolean +>foo : boolean +>true : true +} +