From a46a8ea486a4a7d2b6daf3ddd22bf83f88bc2951 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Fri, 27 Nov 2020 12:26:29 -0500 Subject: [PATCH 1/2] move @babel/helper-optimise-call-expression to ts --- .../src/{index.js => index.ts} | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) rename packages/babel-helper-optimise-call-expression/src/{index.js => index.ts} (73%) diff --git a/packages/babel-helper-optimise-call-expression/src/index.js b/packages/babel-helper-optimise-call-expression/src/index.ts similarity index 73% rename from packages/babel-helper-optimise-call-expression/src/index.js rename to packages/babel-helper-optimise-call-expression/src/index.ts index 362588bd8598..703a26d29c18 100644 --- a/packages/babel-helper-optimise-call-expression/src/index.js +++ b/packages/babel-helper-optimise-call-expression/src/index.ts @@ -1,20 +1,26 @@ import * as t from "@babel/types"; +import type { + CallExpression, + Expression, + OptionalCallExpression, + SpreadElement, +} from "@babel/types"; /** * A helper function that generates a new call expression with given thisNode. It will also optimize `(...arguments)` to `.apply(arguments)` * * @export - * @param {Node} callee The callee of call expression - * @param {Node} thisNode The desired this of call expression - * @param {Node[]} args The arguments of call expression + * @param {Expression} callee The callee of call expression + * @param {Expression} thisNode The desired this of call expression + * @param {Readonly>} args The arguments of call expression * @param {boolean} optional Whether the call expression is optional * @returns {CallExpression | OptionalCallExpression} The generated new call expression */ -export default function ( - callee: Node, - thisNode: Node, - args: Node[], +export default function optimiseCallExpression( + callee: Expression, + thisNode: Expression, + args: Readonly>, optional: boolean, ): CallExpression | OptionalCallExpression { if ( From 34c189d88ff0e76d7bb8420301c5c6c1f60a59fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Tue, 1 Dec 2020 09:59:46 -0500 Subject: [PATCH 2/2] chore: add flow interface --- lib/babel-packages.js.flow | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/babel-packages.js.flow b/lib/babel-packages.js.flow index 2f2c9a61bcfe..11c681b051ee 100644 --- a/lib/babel-packages.js.flow +++ b/lib/babel-packages.js.flow @@ -34,3 +34,12 @@ declare module "@babel/template" { program: Program, }; } + +declare module "@babel/helper-optimise-call-expression" { + declare export default function optimiseCallExpression( + callee: BabelNodeExpression, + thisNode: BabelNodeExpression, + args: $Readonly>, + optional: boolean + ): BabelNodeCallExpression | BabelNodeOptionalCallExpression; +}