1 | const evaluate = require('static-eval');
|
2 | const parse = require('esprima').parse;
|
3 |
|
4 | const evaluator = {};
|
5 |
|
6 | evaluator.evaluateDialog = function(src, data) {
|
7 | let evaluation = null;
|
8 | try {
|
9 | const ast = parse(src).body[0].expression;
|
10 |
|
11 | evaluation = evaluate(ast, data);
|
12 | // eslint-disable-next-line no-empty
|
13 | } catch (e) {}
|
14 |
|
15 | return evaluation ? evaluation : src;
|
16 | };
|
17 | // !user.clickReserva ? 'pousada-do-engenho.reserva' : user.reserva ? 'pousada-do-engenho.reserva.sim' : 'pousada-do-engenho.reserva.nao'
|
18 |
|
19 | // console.log(evaluator.evaluateDialog("!user.clickReserva ? 'pousada-do-engenho.reserva' : user.clickReserva ? 'pousada-do-engenho.reserva.sim' : 'pousada-do-engenho.reserva.nao'", {user: {clickReserva: true}}));
|
20 |
|
21 | module.exports = evaluator;
|