From 840e13b6fb01127c675228ae7c0cbbb7ad7cb21b Mon Sep 17 00:00:00 2001 From: boryslevytskyi Date: Sun, 28 May 2017 00:43:28 +0300 Subject: [PATCH] extracted classes into their own files --- src/app/expression.js | 21 ++++--------------- src/app/expression/ListOfNumbersExpression.js | 11 ++++++++++ .../expression/MultipleOperandsExpression.js | 6 ++++++ 3 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 src/app/expression/ListOfNumbersExpression.js create mode 100644 src/app/expression/MultipleOperandsExpression.js diff --git a/src/app/expression.js b/src/app/expression.js index fc7d6a9..17d9c89 100644 --- a/src/app/expression.js +++ b/src/app/expression.js @@ -1,9 +1,13 @@ import Operand from './expression/Operand'; import ExpressionOperand from './expression/ExpressionOperand' +import ListOfNumbersExpression from './expression/ListOfNumbersExpression'; +import MultipleOperandsExpression from './expression/MultipleOperandsExpression'; export { default as Operand } from './expression/Operand'; export { default as ExpressionError } from './expression/ExpressionError'; export { default as ExpressionOperand } from './expression/ExpressionOperand'; +export { default as ListOfNumbersExpression } from './expression/ListOfNumbersExpression'; +export { default as MultipleOperandsExpression } from './expression/MultipleOperandsExpression'; var expression = { factories:[], @@ -112,25 +116,8 @@ var expression = { // Expression like 1|2 or 4^5 -export class MultipleOperandsExpression { - constructor(expressionString, expressions) { - this.expressionString = expressionString; - this.expressions = expressions; - } -} -export class ListOfNumbersExpression { - constructor(expressionString, numbers) { - this.expressionString = expressionString; - this.numbers = numbers; - this.maxBitsLegnth = numbers.map(n => n.lengthInBits).reduce((n , c) => n >= c ? n : c, 0); - } - toString() { - return this.numbers.map(n => n.value.toString()).join(' '); - } -} - export var parser = expression; diff --git a/src/app/expression/ListOfNumbersExpression.js b/src/app/expression/ListOfNumbersExpression.js new file mode 100644 index 0000000..672be76 --- /dev/null +++ b/src/app/expression/ListOfNumbersExpression.js @@ -0,0 +1,11 @@ +export default class ListOfNumbersExpression { + constructor(expressionString, numbers) { + this.expressionString = expressionString; + this.numbers = numbers; + this.maxBitsLegnth = numbers.map(n => n.lengthInBits).reduce((n , c) => n >= c ? n : c, 0); + } + + toString() { + return this.numbers.map(n => n.value.toString()).join(' '); + } +} \ No newline at end of file diff --git a/src/app/expression/MultipleOperandsExpression.js b/src/app/expression/MultipleOperandsExpression.js new file mode 100644 index 0000000..d7e910e --- /dev/null +++ b/src/app/expression/MultipleOperandsExpression.js @@ -0,0 +1,6 @@ +export default class MultipleOperandsExpression { + constructor(expressionString, expressions) { + this.expressionString = expressionString; + this.expressions = expressions; + } +} \ No newline at end of file