3 var _tk = require('rocambole-token');
4 var _ws = require('rocambole-whitespace');
7 exports.format = function MemberExpression(node) {
8 var opening = _tk.findPrevNonEmpty(node.property.startToken),
9 closing = _tk.findNextNonEmpty(node.property.endToken);
10 if (opening && closing && opening.value === '[' && closing.value === ']') {
11 _ws.limitAfter(opening, "MemberExpressionOpening");
12 _ws.limitBefore(closing, "MemberExpressionClosing");
17 exports.getIndentEdges = function(node) {
19 edge.startToken = node.object.endToken;
21 if (node.object.type !== 'CallExpression') {
22 edge.startToken = edge.startToken.next;
25 edge.endToken = node.endToken;
26 if (node.parent.type === 'CallExpression' &&
27 node.parent.callee.type === 'MemberExpression') {
28 edge.endToken = node.parent.endToken;
31 // only indent if on a different line
32 if (!_tk.findInBetween(edge.startToken, node.property.startToken, _tk.isBr)) {