safe-evaluate-expression-operators
Version:
Advanced Operators ready for safe-evaluate-expression
31 lines (25 loc) • 927 B
JavaScript
const test = require('ava');
const operators = require('..');
const { getOperators } = require('..');
const { factory } = require('safe-evaluate-expression');
const evaluate = factory({
operators,
multipleParams: true,
translateLogical: true,
});
const q1 = `(dateRange(when_now, "2020-11-30T09:30:00.000Z÷2021-01-20T09:29:59.000Z") && dateRange(when_now, "2020-12-17T12:00:00.000Z÷2020-12-28T11:59:59.000Z"))`;
const q2 = `contains(title, "hola")`;
test(`data range in and`, async (t) => {
const result = evaluate(q1, { when_now: '2020-12-11T08:33:11.450Z' });
t.false(result);
});
test(`data range undefined`, async (t) => {
const result = evaluate(q2, {});
t.false(result);
});
test(`timezone`, async (t) => {
const operators1 = getOperators({ timezone: 'fantasyLand' });
const operators2 = getOperators();
t.deepEqual(operators1._tz, 'fantasyLand');
t.deepEqual(operators2._tz, undefined);
});