diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index cceef1c9f0..15f39923ca 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -199,6 +199,13 @@ export function TypeParameter(node: Object) { if (node.bound) { this.print(node.bound, node); } + + if (node.default) { + this.space(); + this.push("="); + this.space(); + this.print(node.default, node); + } } export function TypeParameterInstantiation(node: Object) { diff --git a/packages/babel-generator/test/fixtures/flow/type-parameters/actual.js b/packages/babel-generator/test/fixtures/flow/type-parameters/actual.js new file mode 100644 index 0000000000..8c307485e8 --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/type-parameters/actual.js @@ -0,0 +1,21 @@ +type A = T; +type A = T; +type A = T; +type A = T; +type A = T; +class A {}; +class A {}; +class A {}; +class A {}; +(class A {}); +(class A {}); +(class A {}); +(class A {}); +declare class A {}; +declare class A {}; +declare class A {}; +declare class A {}; +interface A {}; +interface A {}; +interface A {}; +interface A {}; diff --git a/packages/babel-generator/test/fixtures/flow/type-parameters/expected.js b/packages/babel-generator/test/fixtures/flow/type-parameters/expected.js new file mode 100644 index 0000000000..8c307485e8 --- /dev/null +++ b/packages/babel-generator/test/fixtures/flow/type-parameters/expected.js @@ -0,0 +1,21 @@ +type A = T; +type A = T; +type A = T; +type A = T; +type A = T; +class A {}; +class A {}; +class A {}; +class A {}; +(class A {}); +(class A {}); +(class A {}); +(class A {}); +declare class A {}; +declare class A {}; +declare class A {}; +declare class A {}; +interface A {}; +interface A {}; +interface A {}; +interface A {};