You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
667 B
26 lines
667 B
2 years ago
|
import getNode from './default.js';
|
||
|
import expressionFn from '../function/expression.js';
|
||
|
import varFn from '../function/var.js';
|
||
|
|
||
|
function isPlusMinusOperator(node) {
|
||
|
return (
|
||
|
node !== null &&
|
||
|
node.type === 'Operator' &&
|
||
|
(node.value[node.value.length - 1] === '-' || node.value[node.value.length - 1] === '+')
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export default {
|
||
|
getNode,
|
||
|
onWhiteSpace(next, children) {
|
||
|
if (isPlusMinusOperator(next)) {
|
||
|
next.value = ' ' + next.value;
|
||
|
}
|
||
|
if (isPlusMinusOperator(children.last)) {
|
||
|
children.last.value += ' ';
|
||
|
}
|
||
|
},
|
||
|
'expression': expressionFn,
|
||
|
'var': varFn
|
||
|
};
|