def test_string_vs_ast(): expression = "2 * (3 + 4)" parsed = parser.parse(expression) assert evaljs(expression) == evaljs(parsed)
def test_expressions(expression, names): assert eval(expression, names) == evaljs(expression, names)
def test_jsonly_expressions(expression, output, names): assert evaljs(expression, names) == output
def eval_vegajs(expression: str, datum: ibis.Expr = None) -> ibis.Expr: """Evaluate a vega expression""" namespace = {"datum": datum} if datum is not None else {} namespace.update(VEGAJS_NAMESPACE) return evaljs(expression, namespace)