UNPKG

siphon-cli

Version:

Simple bundler for web applications. 📦🔧🧡

29 lines (28 loc) • 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = require("../../../../../types"); var creator_1 = require("../helpers/creator"); function resolve_optional_chaining(node, path) { if (!node.optional) return; var condition = new types_1.ConditionalExpression(node.loc.start); var test = new types_1.LogicalExpression(node.loc.start); var left = new types_1.BinaryExpression(0); var right = new types_1.BinaryExpression(0); var void0 = new types_1.UnaryExpression(0); void0.operator = "void"; void0.argument = (0, creator_1.numberLiteral)(0); left.operator = right.operator = "==="; left.left = right.left = node.object; left.right = creator_1.null_; right.right = void0; test.operator = "||"; test.left = left; test.right = right; condition.test = test; condition.consequent = void0; condition.alternate = node; node.optional = false; return condition; } exports.default = resolve_optional_chaining;