From 8ce258c105a514d6bcdc12d5e779ac1b68edd381 Mon Sep 17 00:00:00 2001 From: Marcin Chrzanowski Date: Fri, 14 Jul 2017 23:55:05 -0400 Subject: Update index.js --- index.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/index.js b/index.js index e69de29..8cdfe1e 100644 --- a/index.js +++ b/index.js @@ -0,0 +1,26 @@ +const P = require('./src/parser.js') +const D = require('./src/dice.js') + +const interpret = tree => { + switch(tree.type) { + case 'constant': + return D.constant(tree.value) + case 'd': + return D.d(interpret(tree.left), interpret(tree.right)) + case 'add': + return D.add(interpret(tree.left), interpret(tree.right)) + case 'subtract': + return D.subtract(interpret(tree.left), interpret(tree.right)) + case 'negative': + return D.negative(interpret(tree.value)) + } +} + +const parse = expressionString => { + const tree = P.parse(expressionString) + return interpret(tree) +} + +exports.parse = parse +exports.roll = D.roll +exports.pool = D.pool -- cgit v1.2.3