UNPKG

decaffeinate-parser

Version:

A better AST for CoffeeScript, inspired by CoffeeScriptRedux.

23 lines (22 loc) 991 B
"use strict"; exports.__esModule = true; var nodes_1 = require("decaffeinate-coffeescript2/lib/coffeescript/nodes"); var nodes_2 = require("../nodes"); var isCommentOnlyNode_1 = require("../util/isCommentOnlyNode"); var mapAny_1 = require("./mapAny"); function mapParens(context, node) { if (!(node.body instanceof nodes_1.Block)) { return mapAny_1["default"](context, node.body); } var expressions = node.body.expressions; expressions = expressions.filter(function (expr) { return !isCommentOnlyNode_1["default"](expr); }); if (expressions.length === 1) { return mapAny_1["default"](context, expressions[0]); } return expressions .map(function (expression) { return mapAny_1["default"](context, expression); }) .reduceRight(function (right, left) { return new nodes_2.SeqOp(left.line, left.column, left.start, right.end, context.source.slice(left.start, right.end), left, right); }); } exports["default"] = mapParens;