Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
safe-expr-eval — Secure expression evaluator - Drop-in replacement for expr-eval without CVE-2025-12735 vulnerability | Kitploit
Tools/GitHubGitHub/alecasg555/safe-expr-eval
General Purpose UtilitiesCode AnalysisScripting & Automation
GitHubalecasg555/safe-expr-eval

safe-expr-eval

Secure expression evaluator - Drop-in replacement for expr-eval without CVE-2025-12735 vulnerability

View Repository
4133 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

safe-expr-eval

Fast and lightweight expression evaluator for JavaScript and TypeScript.

A modern expression parser with a familiar API, zero dependencies, and full TypeScript support.


Features

  • Fast expression parsing and evaluation
  • Lightweight and dependency-free
  • Full TypeScript support
  • Simple and familiar API
  • Custom functions and constants
  • ES2020+ compatible
  • Well tested

Installation

root@kitploit:~
npm install safe-expr-eval

Quick Start

Basic Usage

root@kitploit:~
import { Parser } from 'safe-expr-eval';

const parser = new Parser();
const expr = parser.parse('2 * x + 1');

console.log(expr.evaluate({ x: 3 })); // 7
console.log(expr.evaluate({ x: 10 })); // 21

Direct Evaluation

root@kitploit:~
import { evaluate } from 'safe-expr-eval';

const result = evaluate('10 + 5 * 2');

console.log(result); // 20

Compiled Expressions

root@kitploit:~
import { compile } from 'safe-expr-eval';

const fn = compile('price * quantity * (1 - discount)');

console.log(
  fn({
    price: 100,
    quantity: 2,
    discount: 0.1
  })
); // 180

Supported Operations

Arithmetic

root@kitploit:~
+  -  *  /  %

Comparison

root@kitploit:~
==  !=  >  <  >=  <=

Logical

root@kitploit:~
and  or  not
&&   ||   !

Data Types

root@kitploit:~
Numbers   → 42, 3.14
Strings   → "hello"
Booleans  → true, false
Variables → price, user.name

Custom Functions

root@kitploit:~
const parser = new Parser();

parser.functions.max = Math.max;
parser.functions.min = Math.min;
parser.functions.round = Math.round;

const expr = parser.parse(
  'round(max(a, b) * 1.5)'
);

console.log(
  expr.evaluate({
    a: 10,
    b: 20
  })
); // 30

Constants

root@kitploit:~
const parser = new Parser();

parser.consts.PI = Math.PI;
parser.consts.TAX_RATE = 0.15;

const expr = parser.parse(
  'price * (1 + TAX_RATE)'
);

console.log(
  expr.evaluate({
    price: 100
  })
); // 115

API

Parser

Create parser

root@kitploit:~
new Parser()

Parse expression

root@kitploit:~
parser.parse(expression)

Evaluate expression

root@kitploit:~
parser.evaluate(expression, variables?)

Functions registry

root@kitploit:~
parser.functions

Constants registry

root@kitploit:~
parser.consts

Standalone Functions

evaluate

root@kitploit:~
evaluate(expression, variables?)

compile

root@kitploit:~
compile(expression)

Testing

root@kitploit:~
npm test
root@kitploit:~
npm run test:coverage

License

MIT

See the LICENSE file for details.


Contributing

Pull requests and contributions are welcome.


Issues

Please open an issue if you find a bug or have a feature request.


Author

Alejandro Castrillon

root@kitploit:~
GitHub: https://github.com/
Download Tool