From bb874a4e46b7fac9dc31b99ac0bd35d2d29ba512 Mon Sep 17 00:00:00 2001 From: Sam Goldman Date: Wed, 23 Dec 2015 16:26:29 -0500 Subject: [PATCH] Add babel-generator support for mixins to Babel 6.x --- packages/babel-generator/src/generators/flow.js | 4 ++++ .../test/fixtures/flow/declare-statements/actual.js | 1 + .../test/fixtures/flow/declare-statements/expected.js | 1 + 3 files changed, 6 insertions(+) diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index 20d29d7cc4..decdde9d74 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -104,6 +104,10 @@ export function _interfaceish(node: Object) { this.push(" extends "); this.printJoin(node.extends, node, { separator: ", " }); } + if (node.mixins.length) { + this.push(" mixins "); + this.printJoin(node.mixins, node, { separator: ", " }); + } this.space(); this.print(node.body, node); } diff --git a/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js b/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js index 369f608fa2..0a6f430654 100644 --- a/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js +++ b/packages/babel-generator/test/fixtures/flow/declare-statements/actual.js @@ -9,3 +9,4 @@ declare class A extends B { x: number } declare class A { static foo(): number; static x : string } declare class A { static [ indexer: number]: string } declare class A { static () : number } +declare class A mixins B, C {} diff --git a/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js b/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js index 323cc86f70..840c9b4004 100644 --- a/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js +++ b/packages/babel-generator/test/fixtures/flow/declare-statements/expected.js @@ -9,3 +9,4 @@ declare class A extends B { x: number } declare class A { static foo(): number; static x: string; } declare class A { static [indexer: number]: string } declare class A { static (): number } +declare class A mixins B, C {}