Вкладка Script в настройках ноды
Вкладка Script предназначена для размещения кода JavaScript, отвечающего за программную логику ноды. Здесь вы определяете, что именно делает ваша нода - обрабатывает ли она текст, вызывает API, трансформирует данные или выполняет вычисления.

Структура кода
Все ноды Piper, включая кастомные, следуют определенной структуре JavaScript:
export async function run({ inputs }) {
const { FatalError, NextNode } = DEFINITIONS;
// Ваш код здесь
return NextNode.from({
outputs: {
// Ваши результаты
}
});
}
Эта структура гарантирует, что ваша нода может правильно получать данные от предыдущих нод и передавать результаты следующим в вашем пайплайне.
Оригинальный код Input Text
Базовая нода Input Text имеет эту простую структуру:
export async function run({ inputs }) {
const { FatalError, NextNode } = DEFINITIONS;
const text = inputs.input_text;
return NextNode.from({
outputs: {
output_text: text
}
});
}
Кастомный код Merge Text to JSON
Нам нужно заменить это логикой, которая обрабатывает несколько строковых входов и создает JSON массив:
export async function run({ inputs }) {
const { FatalError, NextNode } = DEFINITIONS;
const jsonArray = [];
if (inputs.string1) {
jsonArray.push(inputs.string1);
}
if (inputs.string2) {
jsonArray.push(inputs.string2);
}
if (inputs.string3) {
jsonArray.push(inputs.string3);
}
if (inputs.string4) {
jsonArray.push(inputs.string4);
}
return NextNode.from({
outputs: {
json_output: jsonArray
}
});
}
Понимание кастомной логики
Кастомный скрипт реализует следующую логику:
- Инициализация пустого массива -
const jsonArray = []создает пустой массив для хранения наших текстовых строк - Проверка каждого входа - Условия
ifпроверяют, что каждый вход имеет значение перед добавлением - Построение массива - Только непустые входы добавляются в
jsonArrayс помощьюpush() - Возврат JSON выхода - Финальный массив возвращается как
json_output, соответствуя нашей конфигурации во вкладке Design
Этот подход гарантирует, что:
- Пустые или неопределенные входы игнорируются
- Только валидные текстовые строки включаются в финальный JSON массив
- Формат выхода соответствует JSON типу, который мы определили во вкладке Design
Типы выполнения
Выберите подходящий тип выполнения в зависимости от того, сколько времени требуется вашей ноде для работы:
| Тип | Время | Описание |
|---|---|---|
| Rapid | 0-20 sec | Быстрые операции |
| Regular | 21-60 sec | Стандартная обработка |
| Deferred | 60-120 sec | Сложные операции |
| Protracted | 120-300 sec | Тяжелые задачи обработки |
Для нашей ноды Merge text to JSON подходит выполнение Rapid, поскольку мы только манипулируем текстовыми строками и нет обращений к стороннему сервису по API.
Сохранение изменений
Всегда сохраняйте изменения в скрипте, нажимая кнопку Save внизу интерфейса. Любые изменения в коде следует сохранять по нажатию клавиши Save внизу интерфейса.
Вкладка Script - это ядро функциональности вашей ноды, где вы преобразуете входные данные в выходные с помощью кода JavaScript.