Skip to content

Commit

Permalink
Preserve comment for last arg of ObjectMethod (#1216)
Browse files Browse the repository at this point in the history
* Preserve comment after last arg of ObjectMethod

* Preserve comment after last arg with default value
  • Loading branch information
existentialism authored and vjeux committed Apr 12, 2017
1 parent ea957ed commit 3a7559b
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/comments.js
Expand Up @@ -567,11 +567,13 @@ function handleLastFunctionArgComments(
// Real functions
if (
precedingNode &&
precedingNode.type === "Identifier" &&
(precedingNode.type === "Identifier" ||
precedingNode.type === "AssignmentPattern") &&
enclosingNode &&
(enclosingNode.type === "ArrowFunctionExpression" ||
enclosingNode.type === "FunctionExpression" ||
enclosingNode.type === "FunctionDeclaration" ||
enclosingNode.type === "ObjectMethod" ||
enclosingNode.type === "ClassMethod") &&
getNextNonSpaceNonCommentCharacter(text, comment) === ")"
) {
Expand Down
38 changes: 38 additions & 0 deletions tests/comments/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -692,6 +692,26 @@ function f(
): number {
return a + 1;
}
var x = {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {
}
}
class X {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData = ['unknown']
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
type f = (
currentRequest: { a: number }
Expand Down Expand Up @@ -727,6 +747,24 @@ function f(
return a + 1;
}
var x = {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {}
};
class X {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData = ["unknown"]
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {}
}
`;
exports[`preserve-new-line-last.js 1`] = `
Expand Down
20 changes: 20 additions & 0 deletions tests/comments/last-arg.js
Expand Up @@ -31,3 +31,23 @@ function f(
): number {
return a + 1;
}

var x = {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {
}
}

class X {
getSectionMode(
pageMetaData: PageMetaData,
sectionMetaData: SectionMetaData = ['unknown']
/* $FlowFixMe This error was exposed while converting keyMirror
* to keyMirrorRecursive */
): $Enum<SectionMode> {
}
}

0 comments on commit 3a7559b

Please sign in to comment.