broncha / expression-language

Javascript implementation of Symfony/ExpressionLanguage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Javascript implementation of the Symfony/ExpressionLanguage

The idea is to be able to evaluate the same expressions client-side (in Javascript with this library) and server-side (in PHP with the Symfony/ExpressionLanguage).

Examples

Setup

import ExpressionLanguage from "expression-language";
let expressionLanguage = new ExpressionLanguage();

Basic

let result = expressionLanguage.evaluate('1 + 1');
// result is 2.

Multiple clauses

let result = expressionLanguage.evaluate(
    'a > 0 && b != a', 
    {
        a: 1, 
        b: 2
    }
);
// result is true

Object and Array access

let expression = 'a[2] === "three" and b.myMethod(a[1]) === "bar two"';
let values = {
    a: ["one", "two", "three"], 
    b: {
        myProperty: "foo", 
        myMethod: function(word) {
            return "bar " + word;
        }
    }
};
let result = expressionLanguage.evaluate(expression, values);
// result is true

About

Javascript implementation of Symfony/ExpressionLanguage


Languages

Language:JavaScript 100.0%