diff options
Diffstat (limited to 'node_modules/terser/lib/utils/first_in_statement.js')
| -rw-r--r-- | node_modules/terser/lib/utils/first_in_statement.js | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/node_modules/terser/lib/utils/first_in_statement.js b/node_modules/terser/lib/utils/first_in_statement.js deleted file mode 100644 index 6aa46280..00000000 --- a/node_modules/terser/lib/utils/first_in_statement.js +++ /dev/null @@ -1,53 +0,0 @@ -import { - AST_Binary, - AST_Conditional, - AST_Chain, - AST_Dot, - AST_Object, - AST_Sequence, - AST_Statement, - AST_Sub, - AST_UnaryPostfix, - AST_PrefixedTemplateString -} from "../ast.js"; - -// return true if the node at the top of the stack (that means the -// innermost node in the current output) is lexically the first in -// a statement. -function first_in_statement(stack) { - let node = stack.parent(-1); - for (let i = 0, p; p = stack.parent(i); i++) { - if (p instanceof AST_Statement && p.body === node) - return true; - if ((p instanceof AST_Sequence && p.expressions[0] === node) || - (p.TYPE === "Call" && p.expression === node) || - (p instanceof AST_PrefixedTemplateString && p.prefix === node) || - (p instanceof AST_Dot && p.expression === node) || - (p instanceof AST_Sub && p.expression === node) || - (p instanceof AST_Chain && p.expression === node) || - (p instanceof AST_Conditional && p.condition === node) || - (p instanceof AST_Binary && p.left === node) || - (p instanceof AST_UnaryPostfix && p.expression === node) - ) { - node = p; - } else { - return false; - } - } -} - -// Returns whether the leftmost item in the expression is an object -function left_is_object(node) { - if (node instanceof AST_Object) return true; - if (node instanceof AST_Sequence) return left_is_object(node.expressions[0]); - if (node.TYPE === "Call") return left_is_object(node.expression); - if (node instanceof AST_PrefixedTemplateString) return left_is_object(node.prefix); - if (node instanceof AST_Dot || node instanceof AST_Sub) return left_is_object(node.expression); - if (node instanceof AST_Chain) return left_is_object(node.expression); - if (node instanceof AST_Conditional) return left_is_object(node.condition); - if (node instanceof AST_Binary) return left_is_object(node.left); - if (node instanceof AST_UnaryPostfix) return left_is_object(node.expression); - return false; -} - -export { first_in_statement, left_is_object }; |
