// Создано: 2026-04-10 // Простой калькулятор — возвращает HTML страницу с кнопками. // GET → HTML; POST с {a, op, b} → вычисление с результатом на странице. // Рантайм nodejs20 v0.1.3+ поддерживает HTML-ответ (строка начинающаяся с '<'). 'use strict'; const HTML = ` Калькулятор (Node.js)

Калькулятор

Node.js 20
0
RESULT_LINE
`; // Форматирует число — убирает лишний .0 для целых function fmt(n) { return n === Math.trunc(n) ? String(Math.trunc(n)) : String(n); } function buildPage(resultLine) { return HTML.replace('RESULT_LINE', resultLine || ''); } function compute(event) { // POST: тело приходит как JSON; поля a, op, b — строки из form const a = parseFloat(event.a); const b = parseFloat(event.b); const op = event.op; if (isNaN(a) || isNaN(b)) return buildPage('Некорректное число'); let res; switch (op) { case '+': res = a + b; break; case '-': res = a - b; break; case '*': res = a * b; break; case '/': if (b === 0) return buildPage('Деление на ноль'); res = a / b; break; default: return buildPage('Неизвестный оператор'); } return buildPage(`${fmt(a)} ${op} ${fmt(b)} = ${fmt(res)}`); } module.exports.handler = async function handler(event) { if (event._method === 'POST') return compute(event); return buildPage(''); };