Optional line: booleanConvert a given arrow function into a normal ES5 function expression.
Optional __namedParameters: { Optional allowOptional allowOptional noOptional specOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse assertNumericLiteral
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse assertRegExpLiteral
Optional opts: objectOptional opts: objectUse assertRestElement
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse assertSpreadElement
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectThis checks whether or not we're in one of the following positions:
for (KEY in right); for (KEY;;);
This is because these spots allow VariableDeclarations AND normal expressions so we need to tell the path replacement that it's ok to replace this with an expression.
This checks whether we are swapping an arrow function's body between an expression and a block statement (or vice versa).
This is because arrow functions may implicitly return an expression, which is the same as containing a block statement.
Walk the input node and statically evaluate it.
Returns an object in the form { confident, value, deopt }. confident
indicates whether or not we had to drop out of evaluating the expression
because of hitting an unknown node that we couldn't confidently find the
value of, in which case deopt is the path of said node.
Example:
t.evaluate(parse("5 + 5")) // { confident: true, value: 10 } t.evaluate(parse("!true")) // { confident: true, value: false } t.evaluate(parse("foo + foo")) // { confident: false, value: undefined, deopt: NodePath }
Walk the input node and statically evaluate if it's truthy.
Returning true when we're sure that the expression will evaluate to a
truthy value, false if we're sure that it will evaluate to a falsy
value and undefined if we aren't sure. Because of this please do not
rely on coercion when using this method and check with === if it's false.
Optional context: boolean | TraversalContext<unknown>Optional context: boolean | TraversalContext<unknown>Optional outerOnly: booleanOptional duplicates: falseOptional outerOnly: booleanOptional duplicates: booleanOptional outerOnly: booleanOptional duplicates: falseOptional duplicates: booleanOptional duplicates: falseOptional duplicates: booleanOptional outerOnly: booleanOptional duplicates: falseOptional duplicates: booleanHoist the current node to the highest scope possible and return a UID referencing it.
Insert the provided nodes after the current one. When inserting nodes after an expression, ensure that the completion record is correct by pushing the current node.
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse isNumericLiteral
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse isRegExpLiteral
Optional opts: objectOptional opts: objectUse isRestElement
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectUse isSpreadElement
Optional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectOptional opts: objectMatch the current node if it matches the provided pattern.
For example, given the match React.createClass it would match the
parsed nodes of React.createClass and React["createClass"].
Optional allowPartial: booleanInsert child nodes at the end of the current node.
This method takes an array of statements nodes and then explodes it into expressions. This method retains completion records which is extremely important to retain original semantics.
Replace a node with an array of multiple. This method performs the following steps:
Parse a string as an expression and replace the current node with the result.
NOTE: This is typically not a good idea to use. Building source strings when transforming ASTs is an antipattern and SHOULD NOT be encouraged. Even if it's easier to use, your transforms will be extremely brittle.
Optional context: TraversalContext<unknown>Insert child nodes at the start of the current node.
Given an arbitrary function, process its content as if it were an arrow function, moving references to "this", "arguments", "super", and such into the function's parent scope. This method is useful if you have wrapped some set of items in an IIFE or other function, but want "this", "arguments", and super" to continue behaving as expected.
Static get
Give node
commentsof the specifiedtype.