move @babel/helper-optimise-call-expression to ts (#12411)
* move @babel/helper-optimise-call-expression to ts * chore: add flow interface
This commit is contained in:
parent
71f87874ce
commit
3266d2679a
@ -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<Array<BabelNodeExpression | BabelNodeSpreadElement>>,
|
||||
optional: boolean
|
||||
): BabelNodeCallExpression | BabelNodeOptionalCallExpression;
|
||||
}
|
||||
|
||||
@ -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<Array<Expression | SpreadElement>>} 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<Array<Expression | SpreadElement>>,
|
||||
optional: boolean,
|
||||
): CallExpression | OptionalCallExpression {
|
||||
if (
|
||||
Loading…
x
Reference in New Issue
Block a user