UNPKG

angular-estree-parser

Version:

A parser that converts Angular source code into an ESTree-compatible form

28 lines (27 loc) 710 B
import { Binary } from "@angular/compiler"; //#region src/ast-transform/transforms/transform-binary-expression.ts const isLogicalOperator = (operator) => operator === "&&" || operator === "||" || operator === "??"; const visitBinary = (node, transformer) => { const { operation: operator } = node; const [left, right] = transformer.transformChildren([node.left, node.right]); if (isLogicalOperator(operator)) return { type: "LogicalExpression", operator, left, right }; if (Binary.isAssignmentOperation(operator)) return { type: "AssignmentExpression", left, right, operator }; return { left, right, type: "BinaryExpression", operator }; }; //#endregion export { visitBinary };