UNPKG

angel-eval

Version:

A conditional expression parser and interpreter.

42 lines (30 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _isArray = _interopRequireDefault(require("lodash/isArray")); var _get = _interopRequireDefault(require("lodash/get")); var _Evaluatable = _interopRequireDefault(require("../Evaluatable")); var _utils = require("../utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class Variable extends _Evaluatable.default { constructor(name) { super(); this.variableName = name; } evaluateVariableName(variableName, context) { if ((0, _isArray.default)(variableName)) { // console.log(variableName); // we can have nested variables return variableName.map(n => (0, _utils.evaluateNode)(n, context)); } return variableName; } evaluate(context) { const variableName = this.evaluateVariableName(this.variableName, context); return (0, _get.default)(context, variableName); } } var _default = Variable; exports.default = _default;