From 6ae7efcb4aadd26ce44efc25f2f7faadbf3540e9 Mon Sep 17 00:00:00 2001 From: Tan Li Hau Date: Fri, 14 Jun 2019 22:14:17 +0800 Subject: [PATCH] fix typescript for babel-types --- packages/babel-types/scripts/generators/typescript.js | 5 +++++ packages/babel-types/src/definitions/experimental.js | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/babel-types/scripts/generators/typescript.js b/packages/babel-types/scripts/generators/typescript.js index b6019ec37324..f3aef23e59d5 100644 --- a/packages/babel-types/scripts/generators/typescript.js +++ b/packages/babel-types/scripts/generators/typescript.js @@ -100,6 +100,11 @@ for (const type in t.NODE_FIELDS) { lines.push( `export function ${toFunctionName(type)}(${args.join(", ")}): ${type};` ); + } else { + lines.push( + `declare function _${toFunctionName(type)}(${args.join(", ")}): ${type};`, + `export { _${toFunctionName(type)} as ${toFunctionName(type)}}` + ); } } diff --git a/packages/babel-types/src/definitions/experimental.js b/packages/babel-types/src/definitions/experimental.js index ed088af74bd6..a9983c87de6b 100644 --- a/packages/babel-types/src/definitions/experimental.js +++ b/packages/babel-types/src/definitions/experimental.js @@ -146,8 +146,8 @@ defineType("OptionalCallExpression", { }); defineType("ClassPrivateProperty", { - visitor: ["key", "value"], - builder: ["key", "value"], + visitor: ["key", "value", "decorators"], + builder: ["key", "value", "decorators"], aliases: ["Property", "Private"], fields: { key: { @@ -157,6 +157,13 @@ defineType("ClassPrivateProperty", { validate: assertNodeType("Expression"), optional: true, }, + decorators: { + validate: chain( + assertValueType("array"), + assertEach(assertNodeType("Decorator")), + ), + optional: true, + }, }, });