8acc5ece12d3a9e796454797464c652d4d49f85e
[platform/framework/web/crosswalk-tizen.git] /
1 "use strict";
2
3 var _br = require('rocambole-linebreak');
4 var _tk = require('rocambole-token');
5 var _ws = require('rocambole-whitespace');
6
7
8 exports.format = function LogicalExpression(node) {
9   var operator = _tk.findNext(node.left.endToken, node.operator);
10   _ws.limit(operator, 'LogicalExpressionOperator');
11   // revert line breaks since parenthesis might not be part of
12   // node.startToken and node.endToken
13   if (node.parent.type === 'ExpressionStatement') {
14     var prev = _tk.findPrevNonEmpty(node.left.startToken);
15     if (prev && prev.value === '(') {
16       _br.limit(prev, 'ExpressionOpeningParentheses');
17       _ws.limit(prev, 'ExpressionOpeningParentheses');
18       node.startToken = prev;
19     }
20     var next = _tk.findNextNonEmpty(node.right.endToken);
21     if (next && next.value === ')') {
22       _br.limit(next, 'ExpressionClosingParentheses');
23       _ws.limit(next, 'ExpressionClosingParentheses');
24       node.endToken = next;
25     }
26   }
27 };