UNPKG

siphon-cli

Version:

Simple bundler for web applications. 📦🔧🧡

29 lines (28 loc) • 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = require("../../../../../types"); var creator_1 = require("../helpers/creator"); function resolve_nullish_coalescing(node, path) { if (node.operator !== "??") return; var condition = new types_1.ConditionalExpression(node.loc.start); var test = new types_1.UnaryExpression(node.loc.start); var testInner = new types_1.LogicalExpression(node.loc.start); var innerL = new types_1.BinaryExpression(node.loc.start); var innerR = new types_1.BinaryExpression(node.loc.start); innerL.left = innerR.left = node.left; innerL.operator = innerR.operator = "==="; innerL.right = creator_1.null_; innerR.right = creator_1.undefined_; testInner.left = innerL; testInner.right = innerR; testInner.operator = "||"; test.operator = "!"; test.prefix = true; test.argument = testInner; condition.test = test; condition.consequent = node.left; condition.alternate = node.right; return condition; } exports.default = resolve_nullish_coalescing;