From d25918aa5db682581a94536ff5b2abb615438365 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Fri, 22 Dec 2017 21:55:40 +0300 Subject: [PATCH] Fix generation flow unnamed computed property (#7095) --- packages/babel-generator/src/generators/flow.js | 8 +++++--- .../test/fixtures/flow/object-literal-types/actual.js | 2 ++ .../test/fixtures/flow/object-literal-types/expected.js | 6 ++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/babel-generator/src/generators/flow.js b/packages/babel-generator/src/generators/flow.js index 156c0114ec..92f80deb24 100644 --- a/packages/babel-generator/src/generators/flow.js +++ b/packages/babel-generator/src/generators/flow.js @@ -420,9 +420,11 @@ export function ObjectTypeIndexer(node: Object) { } this._variance(node); this.token("["); - this.print(node.id, node); - this.token(":"); - this.space(); + if (node.id) { + this.print(node.id, node); + this.token(":"); + this.space(); + } this.print(node.key, node); this.token("]"); this.token(":"); diff --git a/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js b/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js index e7c44cbd0f..6d747ee65e 100644 --- a/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js +++ b/packages/babel-generator/test/fixtures/flow/object-literal-types/actual.js @@ -7,3 +7,5 @@ type T = { ...U, p: V, }; type T = { ...{}|{ p: V, }}; type T = { foo(): number } type T = { foo: () => number } +type T = { [string]: U }; +type T = { [param: string]: U }; diff --git a/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js b/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js index 4eb91613ba..e394e17da3 100644 --- a/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js +++ b/packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js @@ -22,3 +22,9 @@ type T = { type T = { foo: () => number }; +type T = { + [string]: U +}; +type T = { + [param: string]: U +};