Metacalc — вычисления формул
Библиотека Metarhia для оценки формул и выражений (как Excel-формулы). Используется для бизнес-логики с пользовательскими правилами.
Что это
Парсер и интерпретатор формул вроде =A1 + SUM(B2:B10) * 0.2. Электронные таблицы из коробки, низкокодовые сценарии.
Зачем
- Excel-подобные приложения (см. metacalc в репозитории Metarhia).
- Динамические бизнес-правила (бухгалтерия, налоги, скоринг).
- Low-code UI: пользователь вписывает формулу → бэкенд её исполняет.
Возможности
- Арифметика и логические операции.
- Функции (SUM, IF, AVG, и т.д. — расширяемые).
- Ссылки на ячейки и диапазоны.
- Рекурсивные вычисления (с защитой от циклов).
Пример
const calc = new Metacalc();
calc.set('A1', 10);
calc.set('A2', 20);
calc.set('A3', '=A1 + A2');
console.log(calc.get('A3')); // 30
В контексте стека
- Интегрировано с metaschema (типы значений).
- События пересчёта — через metacom event bus.
- Sandbox изолирует пользовательские формулы.
🎓 Источники
- 🎓 JavaScript — Практические задачи #4 — Open Source metacalc · 2022-05-15
- 🎓 Летняя школа 2022 #8 — рекурсия в metacalc, примеры metacom · 2022-07-28
- 🎓 Летняя школа 2022 #14 — ревью metacalc