Skip to content

Commit 3f45a87

Browse files
committed
Add the ability to add type annotations
1 parent a3e164f commit 3f45a87

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/rules/func-style.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ module.exports = {
9292
result.typeParameters = node.init.typeParameters && node.init.typeParameters.params && node.init.typeParameters.params.length ? node.init.typeParameters.params.map(t => sourceCode.getText(t)).join(", ") : null;
9393
}
9494

95+
if (result.typeAnnotation && !result.returnType) {
96+
result.returnType = `ReturnType<${result.typeAnnotation}>`;
97+
}
98+
9599
return result;
96100
}
97101

@@ -106,9 +110,9 @@ module.exports = {
106110
case "declaration":
107111
return `${data.async ? "async " : ""}function${data.name ? ` ${data.name}` : ""}${data.typeParameters ? `<${data.typeParameters}>` : ""}(${data.params ? data.params : ""})${data.returnType ? `: ${data.returnType}` : ""}`;
108112
case "expression":
109-
return `${data.kind} ${data.name} = ${data.async ? "async " : ""}function${data.typeParameters ? `<${data.typeParameters}>` : ""}(${data.params ? data.params : ""})${data.returnType ? `: ${data.returnType}` : ""}`;
113+
return `${data.kind} ${data.name}${data.typeAnnotation ? `: ${data.typeAnnotation}` : ""} = ${data.async ? "async " : ""}function${data.typeParameters ? `<${data.typeParameters}>` : ""}(${data.params ? data.params : ""})${data.returnType ? `: ${data.returnType}` : ""}`;
110114
case "arrow":
111-
return `${data.kind} ${data.name} = ${data.async ? "async " : ""}${data.typeParameters ? `<${data.typeParameters}>` : ""}(${data.params ? data.params : ""})${data.returnType ? `: ${data.returnType}` : ""} =>`;
115+
return `${data.kind} ${data.name}${data.typeAnnotation ? `: ${data.typeAnnotation}` : ""} = ${data.async ? "async " : ""}${data.typeParameters ? `<${data.typeParameters}>` : ""}(${data.params ? data.params : ""})${data.returnType ? `: ${data.returnType}` : ""} =>`;
112116
default:
113117
return null;
114118
}

0 commit comments

Comments
 (0)