Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
safe-expr-eval — Безопасный вычислитель выражений — готовая замена expr-eval без уязвимости CVE-2025-12735 | Kitploit
Инструменты/GitHubGitHub/alecasg555/safe-expr-eval
Утилиты общего назначенияАнализ КодаСкриптинг и автоматизация
GitHubalecasg555/safe-expr-eval

safe-expr-eval

Безопасный вычислитель выражений — готовая замена expr-eval без уязвимости CVE-2025-12735

Репозиторий
412 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

safe-expr-eval

Быстрый и легковесный вычислитель выражений для JavaScript и TypeScript.

Современный парсер выражений с привычным API, без зависимостей и полной поддержкой TypeScript.


Возможности

  • Быстрый разбор и вычисление выражений
  • Легковесный и без зависимостей
  • Полная поддержка TypeScript
  • Простой и знакомый API
  • Пользовательские функции и константы
  • Совместимость с ES2020+
  • Хорошо протестирован

Установка

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

Быстрый старт

Базовое использование

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

Прямое вычисление

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

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

console.log(result); // 20

Скомпилированные выражения

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

Поддерживаемые операции

Арифметика

root@kitploit:~
+  -  *  /  %

Сравнение

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

Логические операции

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

Типы данных

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

Пользовательские функции

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

Константы

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

Создание парсера

root@kitploit:~
new Parser()

Разбор выражения

root@kitploit:~
parser.parse(expression)

Вычисление выражения

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

Реестр функций

root@kitploit:~
parser.functions

Реестр констант

root@kitploit:~
parser.consts

Отдельные функции

evaluate

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

compile

root@kitploit:~
compile(expression)

Тестирование

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

Лицензия

MIT

Подробности см. в файле LICENSE.


Вклад в проект

Приветствуются pull requests и вклад в проект.


Проблемы

Пожалуйста, создайте issue, если вы нашли ошибку или у вас есть предложение по функциональности.


Автор

Alejandro Castrillon

root@kitploit:~
GitHub: https://github.com/
Скачать инструмент