Проверяет, есть ли в NLU-объекте платформы хоть какие-то данные.
Голосовые платформы (Алиса, Маруся) присылают поле nlu всегда — оно есть в
протоколе, но в большинстве запросов оказывается пустым ({} либо с ключами
без значений). Записывать пустой nlu нет смысла: setNlu({}) семантически
идентичен отсутствию вызова, а геттер controller.nlu аллоцирует объект Nlu
при первом же обращении.
Тип параметра — object: интерфейсы платформенных nlu (IAlisaNlu,
IMarusiaNlu) расширяют INlu без индекс-сигнатуры, поэтому Record<string, unknown>
их не принимает.
Проверяет, есть ли в NLU-объекте платформы хоть какие-то данные.
Голосовые платформы (Алиса, Маруся) присылают поле nlu всегда — оно есть в протоколе, но в большинстве запросов оказывается пустым (
{}либо с ключами без значений). Записывать пустой nlu нет смысла:setNlu({})семантически идентичен отсутствию вызова, а геттерcontroller.nluаллоцирует объект Nlu при первом же обращении.Тип параметра —
object: интерфейсы платформенных nlu (IAlisaNlu, IMarusiaNlu) расширяют INlu без индекс-сигнатуры, поэтомуRecord<string, unknown>их не принимает.