Я пишу компонент, который имеет один обязательный IP-адрес и три дополнительных IP-адреса. Загвоздка в том, что хотя три последних IP-адреса являются необязательными, хотя бы один из них обязателен. Это выглядит примерно так:
@inPorts.add 'search_term', new noflo.InPort datatype: 'string'
@inPorts.add 'category1', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category2', new noflo.InPort datatype: 'boolean'
@inPorts.add 'category3', new noflo.InPort datatype: 'boolean'
Итак, по сути, компонент должен выполнять поиск в какой-то (хотя бы одной!) категории или комбинации категорий.
Проблема в том, что компонент должен ждать, пока он соберет данные со всех подключенных входов, затем искать и отправлять результат вперед.
Я просмотрел хелперы wirePattern
/groupedInput
, но не могу понять, поддерживается ли этот тип необязательной группировки. Я пропустил что-то тривиальное здесь? Есть ли более простой способ добиться такого поведения? Я также просмотрел вариант required
для IP-адресов, но он не работает.