Functions & Logical Operators

Навігація:
- Logical Operators - Арифметика, порівняння та логіка.
- General Functions - Перевірка та типи даних.
- Math Functions - Обчислення.
- Text Functions - Робота з рядками.
- Date and Time Functions - Робота з часом.
- Array Functions - Робота зі списками.
Важливі правила використання:
- Режим EXP (Expression): Функції та оператори працюють виключно в полях, переключених у режим EXP. У режимі TXT будь-який символ буде сприйматися платформою як звичайний текст.
- Комбінування: Ви можете вкладати функції одну в одну та поєднувати їх з операторами, будуючи складні логічні ланцюжки. Наприклад:
IF(INPUT.price > 100 && ISSET(INPUT.discount), "Sale", "Regular"). - Розташування: Повний список функцій та операторів доступний при натисканні на поле у вкладці Expression -> Functions / Operators.

Logical Operators (Expression Logic)
─────────────────────────────────────────────────────────────-
Окрім функцій, платформа підтримує логічні та порівняльні оператори, які використовуються для побудови умов, перевірок і складних логічних виразів.
Operators працюють у тому ж режимі EXP, що й функції, та знаходяться в тому самому меню Expression, поруч із ними. Вони є частиною єдиного механізму обробки виразів.

Ключова відмінність:
- Functions — виконують операції над даними (обчислення, трансформації).
- Logical Operators — визначають логіку порівняння та умови виконання.
Де використовуються логічні оператори
Найчастіше вони застосовуються у таких сценаріях:
- В умовах блоку IF.
- У полях із режимом EXP (наприклад, Validation Status, Message, Key, Value).
- У комбінації з функціями для складних перевірок.
- Для перевірки відповідей API, порожності значень, статусів, прав доступу.
Принцип роботи
Логічні оператори працюють безпосередньо з даними або результатами функцій. Вони можуть комбінуватися між собою та вкладатися у функції (наприклад, IF, EMPTY).
Головна особливість — вони повертають логічний результат (true/false або 1/0), який використовується далі у флоу.
Приклади комбінування з функціями:
Перевірка статусу та наявності даних:
IF(body.status == "success" && !EMPTY(body.data), "OK", "ERROR")
Перевірка наявності елементів у масиві або конкретного об'єкта:IF(COUNT(body.items) > 0 || ISSET(body.item), 1, 0)
Перевірка прав доступу через масив ролей:
IF(!IN_ARRAY("admin", body.roles), "Access denied", "Access granted")
General Functions
─────────────────────────────────────────────────────────────-
Призначені для перевірки стану змінних та приведення типів даних.
IF
Повертає одне зі значень залежно від умови.
EMPTY
Перевіряє, чи є значення порожнім (NULL, порожній рядок або порожній масив).
ISSET
Перевіряє, чи існує ключ або змінна в об'єкті.
IFEMPTY
Повертає вказане значення, а якщо воно порожнє — значення за замовчуванням.
TO_NUMBER
Примусово перетворює вхідне значення на число. Результат: 123.45
TO_BOOL
Перетворює на логічне значення. Результат: true
TO_STRING
Перетворює вхідне значення будь-якого типу на текстовий рядок. Результат: "456"
MIME_TYPE
Визначає тип вмісту (MIME-тип) на основі розширення файлу або його структури.
Math Functions
─────────────────────────────────────────────────────────────-
Для розрахунків та роботи з числами.
MIN
Знаходить найменше значення серед усіх переданих аргументів. Результат: 5
MAX
Знаходить найбільше значення серед усіх переданих аргументів. Результат: 20
SUM
Обчислює загальну суму всіх переданих числових аргументів. Результат: 30
MATH_PI
Повертає математичну константу числа Пі. Результат: 3.141592653589793
RND
Генерує випадкове число з плаваючою крапкою в діапазоні від 0 до 1. Результат: 0.92627
AVERAGE
Обчислює середнє арифметичне значення набору чисел. Результат: 4
MEDIAN
Знаходить медіану набору даних. Результат: 10
ABS
Повертає модуль (абсолютне позитивне значення) числа. Результат: 42
TRUNC
Відсікає дробову частину числа, залишаючи лише цілу частину без округлення. Результат: 10
CEIL
Округлює число вгору до найближчого більшого цілого числа. Результат: 11
FLOOR
Округлює число вниз до найближчого меншого цілого числа. Результат: 10
ROUND
Округлює число до вказаної кількості знаків після коми. Результат: 10.56
Text Functions
─────────────────────────────────────────────────────────────-
Для обробки, очищення та форматування рядків.
FORMAT_NUMBER
Перетворює число у форматований рядок із роздільниками тисяч та десятих. Результат: 1,500.00
LENGTH
Визначає загальну кількість символів у текстовому рядку. Результат: 5
LOWER
Перетворює всі символи текстового рядка на нижній регістр. Результат: "hello"
UPPER
Перетворює всі символи текстового рядка на верхній регістр. Результат: "HELLO"
CAPITALIZE
Робить першу літеру текстового рядка великою. Результат: "Hello world"
CAPITALIZE_WORDS
Робить великою першу літеру кожного слова в текстовому рядку. Результат: "Hello World"
REPLACE
Замінює частину тексту на інше значення. Результат: "Hello User"
TRIM
Видаляє пробіли на початку та в кінці рядка. Результат: "text"
SUBSTR
Вирізає частину тексту, починаючи з вказаного індексу та заданої довжини. Результат: "Hello"
STRPOS
Знаходить порядковий номер першого входження вказаного символу або слова в тексті. Результат: 4
CONTAIN
Перевіряє, чи міститься вказаний фрагмент тексту всередині рядка. Результат: 1(true)
STRSTR
Повертає частину рядка починаючи з першого входження підрядка. Результат: "@gmail.com"
JSON_ENCODE
Перетворює програмний об'єкт або масив у текстовий рядок формату JSON.
JSON_DECODE
Перетворює JSON-рядок назад у зрозумілий платформі об'єкт.
URL_ENCODE
Кодує рядок для безпечної передачі в URL-адресі, замінюючи спецсимволи. Результат: "hello%20world%21"
URL_DECODE
Декодує рядок, який був закодований для URL. Результат: "hello world!"
HTML_ESCAPE
Екранує HTML-символи для безпечного виводу. Результат: "<br>"
STRIP_TAGS
Видаляє HTML-теги з тексту. Результат: "Hello"
Date and Time Functions
─────────────────────────────────────────────────────────────-
Дозволяють працювати з часовими мітками та форматами.
NOW
Повертає поточний час у форматі UNIX timestamp.
ADD_SECONDS
Додає вказану кількість секунд до дати.
ADD_MINUTES
Додає вказану кількість хвилин до дати.
ADD_HOURS
Додає вказану кількість годин до дати.
ADD_DAYS
Додає вказану кількість днів до поточної дати.
ADD_MONTHS
Додає вказану кількість місяців до дати.
ADD_YEARS
Додає вказану кількість років до дати.
SET_SECOND
Встановлює конкретне значення секунд для заданої дати.
SET_MINUTE
Встановлює конкретне значення хвилин для заданої дати.
SET_HOUR
Встановлює конкретну годину в часовій мітці дати.
SET_DAY
Встановлює конкретне число місяця для вказаної дати.
SET_MONTH
Встановлює конкретний місяць для вказаної дати.
SET_YEARS
Встановлює конкретний рік для вказаної дати.
FORMAT_DATE
Перетворює дату з UNIX timestamp у текстовий формат за заданим шаблоном. Результат: "2026-01-05 13:13:43"
GMDATE
Форматує дату та час за стандартами GMT/UTC. Результат: "2026-01-05 11:17:05"
PARSE_DATE
Аналізує текстовий рядок із датою та перетворює його на UNIX timestamp.
Array Functions
─────────────────────────────────────────────────────────────-
Для маніпуляцій зі списками даних.
SPLIT
Розділяє рядок на масив підрядків, використовуючи заданий роздільник. Результат: ["apple", "banana", "cherry"]
PREG_SPLIT
Розділяє рядок на масив за допомогою регулярного виразу.
JOIN
Об'єднує всі елементи масиву в один рядок, розділяючи їх вказаним символом.
IN_ARRAY
Перевіряє, чи міститься конкретне значення у вказаному масиві. Результат: 1(true) / 0 (false)
IS_ARRAY
Перевіряє, чи є вхідна змінна масивом. Результат: 1(true) / 0 (false)
COUNT
Повертає кількість елементів у масиві.
KEYS
Повертає список ключів об'єкта або асоціативного масиву.
SLICE
Вирізає та повертає частину масиву, починаючи з вказаного зміщення.
MERGE
Об'єднує кілька масивів в один.
FIRST
Отримує перший елемент масиву.
LAST
Отримує останній елемент масиву.
FLATTERN
Перетворює багатовимірний (вкладений) масив на простий плоский список.
DISTINCT
Видаляє всі дублікати та повертає масив лише з унікальними значеннями. Результат: [1, 2, 3]
HTTP_BUILD_QUERY
Генерує URL-кодований рядок запиту з асоціативного масиву параметрів. Результат: "name=John&age=30"