UNPKG

asksuite-core

Version:
22 lines (15 loc) 758 B
const evaluate = require('static-eval'); const parse = require('esprima').parse; const evaluator = {}; evaluator.evaluateDialog = function(src, data) { let evaluation = null; try { const ast = parse(src).body[0].expression; evaluation = evaluate(ast, data); // eslint-disable-next-line no-empty } catch (e) {} return evaluation ? evaluation : src; }; // !user.clickReserva ? 'pousada-do-engenho.reserva' : user.reserva ? 'pousada-do-engenho.reserva.sim' : 'pousada-do-engenho.reserva.nao' // 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}})); module.exports = evaluator;