diff --git a/tests/cases/compiler/destructureOptionalParameter.ts b/tests/cases/compiler/destructureOptionalParameter.ts new file mode 100644 index 00000000000..55744b6de0a --- /dev/null +++ b/tests/cases/compiler/destructureOptionalParameter.ts @@ -0,0 +1,25 @@ +// @strictNullChecks: true +// @declaration: true + +declare function f1({ a, b }?: { a: number, b: string }): void; + +function f2({ a, b }: { a: number, b: number } = { a: 0, b: 0 }) { + a; + b; +} + +// Repro from #8681 + +interface Type { t: void } +interface QueryMetadata { q: void } + +interface QueryMetadataFactory { + (selector: Type | string, {descendants, read}?: { + descendants?: boolean; + read?: any; + }): ParameterDecorator; + new (selector: Type | string, {descendants, read}?: { + descendants?: boolean; + read?: any; + }): QueryMetadata; +}