Skip to content

Макросы

Встроенные макросы Runium.

$base64decode

Декодирует строку из формата Base64.

Параметры

ПараметрОбязательныйОписание
valueДаСтрока в формате Base64

Пример

json
{
  "decoded": "$base64decode(SGVsbG8gV29ybGQ=)"
}

Результат:

json
{
  "decoded": "Hello World"
}

$base64encode

Кодирует строку в формат Base64.

Параметры

ПараметрОбязательныйОписание
valueДаСтрока для кодирования

Пример

json
{
  "encoded": "$base64encode(Hello World)"
}

Результат:

json
{
  "encoded": "SGVsbG8gV29ybGQ="
}

$content

Читает содержимое файла.

Параметры

ПараметрОбязательныйОписание
pathДаПуть к файлу

Пример

json
{
  "fileContent": "$content(config.txt)"
}

Результат (если файл содержит "Hello World"):

json
{
  "fileContent": "Hello World"
}

$date

Возвращает текущую дату и время в формате YYYY-MM-DD hh:mm:ss.sss.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "createdAt": "$date()"
}

Результат:

json
{
  "createdAt": "2026-01-01 12:34:56.123"
}

$empty

Возвращает пустую строку.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "value": "$empty()"
}

Результат:

json
{
  "value": ""
}

$env

Возвращает значение переменной окружения.

Параметры

ПараметрОбязательныйОписание
nameДаИмя переменной окружения
defaultValueНетЗначение по умолчанию, если переменная окружения не задана

Примеры

Получение значения переменной окружения:

json
{
  "user": "$env(USER)"
}

С значением по умолчанию:

json
{
  "user": "$env(USER, guest)"
}

$eq

Возвращает одно из двух значений в зависимости от равенства двух входных значений.

Параметры

ПараметрОбязательныйОписание
value1ДаПервое значение для сравнения
value2ДаВторое значение для сравнения
trueValueНетЗначение, возвращаемое если value1 === value2 (по умолчанию пустая строка)
falseValueНетЗначение, возвращаемое если value1 !== value2 (по умолчанию пустая строка)

Примеры

Простое сравнение:

json
{
  "file": "$eq($env(USER), admin, admin.txt, user.txt)"
}

Если USER=admin, результат:

json
{
  "file": "admin.txt"
}

Если USER=guest, результат:

json
{
  "file": "user.txt"
}

Вложенные макросы:

json
{
  "config": "$eq($env(NODE_ENV), production, $path(config/prod.json), $path(config/dev.json))"
}

$homedir

Возвращает путь к домашнему каталогу текущего пользователя.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "home": "$homedir()"
}

Результат (Linux/macOS):

json
{
  "home": "/home/username"
}

$json

Создает JSON из строкового представления JavaScript объекта или примитива.

Параметры

ПараметрОбязательныйОписание
jsonStringДаСтроковое представление JavaScript объекта или примитива

TIP

Макрос не экранирует двойные кавычки.

Для получения значения в виде объекта, используйте служебный макрос $unwrap.

Примеры

Создание JSON:

json
{
  "value": "$unwrap($json({a: 12, b: true}))"
}

Результат:

json
{
  "value": { "a": 12, "b": true }
}

$max

Возвращает максимальное значение из переданных аргументов.

Параметры

ПараметрОбязательныйОписание
...valuesДаЧисла для сравнения

Пример

json
{
  "maxValue": "$max(10, 25, 5, 30, 15)"
}

Результат:

json
{
  "maxValue": "30"
}

$min

Возвращает минимальное значение из переданных аргументов.

Параметры

ПараметрОбязательныйОписание
...valuesДаЧисла для сравнения

Пример

json
{
  "minValue": "$min(10, 25, 5, 30, 15)"
}

Результат:

json
{
  "minValue": "5"
}

$ne

Возвращает одно из двух значений в зависимости от неравенства двух входных значений.

Параметры

ПараметрОбязательныйОписание
value1ДаПервое значение для сравнения
value2ДаВторое значение для сравнения
trueValueНетЗначение, возвращаемое если value1 !== value2 (по умолчанию пустая строка)
falseValueНетЗначение, возвращаемое если value1 === value2 (по умолчанию пустая строка)

Примеры

Простое сравнение:

json
{
  "mode": "$ne($env(DEBUG), true, development, production)"
}

Если DEBUG=false, результат:

json
{
  "mode": "development"
}

Если DEBUG=true, результат:

json
{
  "mode": "production"
}

$path

Возвращает абсолютный путь, вычисленный относительно текущего рабочего каталога.

Параметры

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

Примеры

Относительный путь:

json
{
  "configPath": "$path(config/app.json)"
}

Несколько сегментов пути:

json
{
  "dataPath": "$path(data, users, profile.json)"
}

Путь на уровень выше:

json
{
  "parentPath": "$path(../file.txt)"
}

$platform

Возвращает название платформы операционной системы.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "os": "$platform()"
}

Результат (на Linux):

json
{
  "os": "linux"
}

Возможные значения: linux, darwin, win32, freebsd, openbsd, sunos, aix.


$random

Генерирует случайное целое число в заданном диапазоне.

Параметры

ПараметрОбязательныйОписание
minНетМинимальное значение (по умолчанию 0)
maxНетМаксимальное значение (по умолчанию 2^53 − 1)

Примеры

Случайное число:

json
{
  "randomValue": "$random()"
}

Случайное число в диапазоне:

json
{
  "randomValue": "$random(1, 10)"
}

Результат:

json
{
  "randomValue": "7"
}

$timestamp

Возвращает текущее время в миллисекундах с начала эпохи Unix (Unix timestamp).

Параметры

Макрос не принимает параметров.

Пример

json
{
  "timestamp": "$timestamp()"
}

Результат:

json
{
  "timestamp": "1705328445123"
}

$tmpdir

Возвращает путь к временному каталогу операционной системы.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "tempDir": "$tmpdir()"
}

Результат (Linux):

json
{
  "tempDir": "/tmp"
}

$unwrap

Служебный макрос, удаляющий кавычки вокруг значения. Используется для получения нестроковых значений (чисел, булевых значений, объектов и т.п.) в JSON.

Параметры

ПараметрОбязательныйОписание
valueДаЗначение для удаления кавычек

Примеры

Получение числового значения:

json
{
  "timestamp": "$timestamp()"
}

Результат - значение в кавычках:

json
{
  "timestamp": "1705328445123"
}

Для удаления кавычек используем $unwrap:

json
{
  "timestamp": "$unwrap($timestamp())"
}

Результат:

json
{
  "timestamp": 1705328445123
}

$username

Возвращает имя текущего пользователя операционной системы.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "user": "$username()"
}

Результат:

json
{
  "user": "john"
}

$uuid

Генерирует уникальный идентификатор UUID v4.

Параметры

Макрос не принимает параметров.

Пример

json
{
  "id": "$uuid()"
}

Результат:

json
{
  "id": "fb97307e-5cc1-4109-8c6d-19074df9f5d1"
}

Вложенные макросы

Макросы можно вкладывать друг в друга для создания сложных выражений.

Примеры

Условный путь на основе переменной окружения:

json
{
  "logFile": "$eq($env(NODE_ENV), production, $path(logs/prod.log), $path(logs/dev.log))"
}

Использование домашнего каталога в пути:

json
{
  "configPath": "$path($homedir(), .config, myapp, config.json)"
}