diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index 86088bdd40..75a1147535 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -198,8 +198,10 @@ export function FunctionTypeAnnotation(node: Object, parent: Object) { export function FunctionTypeParam(node: Object) { this.print(node.name, node); if (node.optional) this.token("?"); - this.token(":"); - this.space(); + if (node.name) { + this.token(":"); + this.space(); + } this.print(node.typeAnnotation, node); } diff --git a/packages/babel-generator/test/fixtures/flow/type-alias/input.js b/packages/babel-generator/test/fixtures/flow/type-alias/input.js index f53e79be1e..ed16c5d28d 100644 --- a/packages/babel-generator/test/fixtures/flow/type-alias/input.js +++ b/packages/babel-generator/test/fixtures/flow/type-alias/input.js @@ -12,3 +12,5 @@ type overloads = & ((x: string) => number) & ((x: number) => string) ; + +type func = string => string; diff --git a/packages/babel-generator/test/fixtures/flow/type-alias/output.js b/packages/babel-generator/test/fixtures/flow/type-alias/output.js index aeaaa87da9..dc12829d21 100644 --- a/packages/babel-generator/test/fixtures/flow/type-alias/output.js +++ b/packages/babel-generator/test/fixtures/flow/type-alias/output.js @@ -7,4 +7,5 @@ type union = { } | { type: "B" }; -type overloads = (x: string) => number & (x: number) => string; \ No newline at end of file +type overloads = (x: string) => number & (x: number) => string; +type func = (string) => string;