diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index 19fb41ceeb029..89cf008adad80 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 0000000000000..f742b139d3265 --- /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."); + } +}`, +});