diff --git a/src/babel/generation/generators/flow.js b/src/babel/generation/generators/flow.js index 1c55f9ee5b..df9257b02f 100644 --- a/src/babel/generation/generators/flow.js +++ b/src/babel/generation/generators/flow.js @@ -173,7 +173,13 @@ export function ObjectTypeAnnotation(node, print) { print.list(props, { separator: false, - indent: true + indent: true, + iterator: () => { + if (props.length !== 1) { + this.semicolon(); + this.space(); + } + } }); this.space(); @@ -185,7 +191,6 @@ export function ObjectTypeAnnotation(node, print) { export function ObjectTypeCallProperty(node, print) { if (node.static) this.push("static "); print(node.value); - this.semicolon(); } export function ObjectTypeIndexer(node, print) { @@ -199,7 +204,6 @@ export function ObjectTypeIndexer(node, print) { this.push(":"); this.space(); print(node.value); - this.semicolon(); } export function ObjectTypeProperty(node, print) { @@ -211,7 +215,6 @@ export function ObjectTypeProperty(node, print) { this.space(); } print(node.value); - this.semicolon(); } export function QualifiedTypeIdentifier(node, print) { diff --git a/test/core/fixtures/generation/flow/call-properties/expected.js b/test/core/fixtures/generation/flow/call-properties/expected.js index de9b3990f4..11d4f2a107 100644 --- a/test/core/fixtures/generation/flow/call-properties/expected.js +++ b/test/core/fixtures/generation/flow/call-properties/expected.js @@ -1,5 +1,5 @@ var a: { (): number }; var a: { (): number }; -var a: { y: string; (): number; (x: string): string }; +var a: { y: string; (): number; (x: string): string; }; var a: { (x: T): number }; interface A { (): number }; diff --git a/test/core/fixtures/generation/flow/declare-statements/expected.js b/test/core/fixtures/generation/flow/declare-statements/expected.js index 35dd159647..323cc86f70 100644 --- a/test/core/fixtures/generation/flow/declare-statements/expected.js +++ b/test/core/fixtures/generation/flow/declare-statements/expected.js @@ -6,6 +6,6 @@ declare function foo(): void; declare function foo(x: number, y: string): void; declare class A {} declare class A extends B { x: number } -declare class A { static foo(): number; static x: string } +declare class A { static foo(): number; static x: string; } declare class A { static [indexer: number]: string } declare class A { static (): number } diff --git a/test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js b/test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js index 898993197d..90aafb539e 100644 --- a/test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js +++ b/test/core/fixtures/generation/flow/interfaces-module-and-script/expected.js @@ -2,7 +2,7 @@ interface A {}; interface A extends B {}; interface A extends B, C {}; interface A { foo(): number }; -interface Dictionary { length: number; [index: string]: string }; +interface Dictionary { length: number; [index: string]: string; }; class Foo implements Bar {} class Foo extends Bar implements Bat, Man {} class Foo extends class Bar implements Bat {} {} diff --git a/test/core/fixtures/generation/flow/type-annotations/expected.js b/test/core/fixtures/generation/flow/type-annotations/expected.js index cf88fc2c4b..ffd122ae4d 100644 --- a/test/core/fixtures/generation/flow/type-annotations/expected.js +++ b/test/core/fixtures/generation/flow/type-annotations/expected.js @@ -37,14 +37,14 @@ var numVal: number; var numVal: number = otherNumVal; var a: { numVal: number }; var a: { numVal: number }; -var a: { numVal: number; [indexer: string]: number }; +var a: { numVal: number; [indexer: string]: number; }; var a: ?{ numVal: number }; -var a: { numVal: number; strVal: string }; +var a: { numVal: number; strVal: string; }; var a: { subObj: { strVal: string } }; var a: { subObj: ?{ strVal: string } }; -var a: { param1: number; param2: string }; -var a: { param1: number; param2?: string }; -var a: { [a: number]: string; [b: number]: string }; +var a: { param1: number; param2: string; }; +var a: { param1: number; param2?: string; }; +var a: { [a: number]: string; [b: number]: string; }; var a: { add(x: number, ...y: Array): void }; var a: { id(x: T): T }; var a: Array = [1, 2, 3]; diff --git a/test/core/fixtures/generation/flow/typecasts/expected.js b/test/core/fixtures/generation/flow/typecasts/expected.js index 893c96f51f..69c9dc4b93 100644 --- a/test/core/fixtures/generation/flow/typecasts/expected.js +++ b/test/core/fixtures/generation/flow/typecasts/expected.js @@ -1,4 +1,4 @@ (xxx: number); -({ xxx: 0, yyy: "hey" }: { xxx: number; yyy: string }); +({ xxx: 0, yyy: "hey" }: { xxx: number; yyy: string; }); (xxx => xxx + 1: (xxx: number) => number); (xxx: number), (yyy: string);