UNPKG

758 BJavaScriptView Raw
1const evaluate = require('static-eval');
2const parse = require('esprima').parse;
3
4const evaluator = {};
5
6evaluator.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
21module.exports = evaluator;