@opra/common
Version:
Opra common package
30 lines (29 loc) • 866 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArithmeticExpressionItem = exports.ArithmeticExpression = void 0;
const expression_js_1 = require("../abstract/expression.js");
class ArithmeticExpression extends expression_js_1.Expression {
constructor() {
super();
this.items = [];
}
append(op, expression) {
this.items.push(new ArithmeticExpressionItem({
op,
expression,
}));
return this;
}
toString() {
return this.items
.map((child, i) => (i > 0 ? child.op : '') + child.expression)
.join('');
}
}
exports.ArithmeticExpression = ArithmeticExpression;
class ArithmeticExpressionItem {
constructor(o) {
Object.assign(this, o);
}
}
exports.ArithmeticExpressionItem = ArithmeticExpressionItem;