From 193a8a74c8374604686b671d6e8283336f7726ec Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 16 Dec 2022 21:51:41 +0200 Subject: [PATCH] skip optional parameters in js files (#51924) --- src/services/codefixes/helpers.ts | 2 +- .../codeFixAddMissingProperties26.ts | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/codeFixAddMissingProperties26.ts diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index 19fb41ceeb0..89cf008adad 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -400,7 +400,7 @@ export function createSignatureDeclarationFromSignature( parameterDecl.modifiers, parameterDecl.dotDotDotToken, parameterDecl.name, - parameterDecl.questionToken, + isJs ? undefined : parameterDecl.questionToken, type, parameterDecl.initializer ); diff --git a/tests/cases/fourslash/codeFixAddMissingProperties26.ts b/tests/cases/fourslash/codeFixAddMissingProperties26.ts new file mode 100644 index 00000000000..f742b139d32 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingProperties26.ts @@ -0,0 +1,20 @@ +/// + +// @allowJs: true +// @checkJs: true +// @filename: /a.js +/////** +//// * @type {{ f: (x?: string) => number }} +//// */ +////[|export const foo = {}|] + +verify.codeFix({ + index: 0, + description: ts.Diagnostics.Add_missing_properties.message, + newRangeContent: +`export const foo = { + f: function(x) { + throw new Error("Function not implemented."); + } +}`, +});