umbot
    Preparing search index...
    • Проверяет, есть ли в NLU-объекте платформы хоть какие-то данные.

      Голосовые платформы (Алиса, Маруся) присылают поле nlu всегда — оно есть в протоколе, но в большинстве запросов оказывается пустым ({} либо с ключами без значений). Записывать пустой nlu нет смысла: setNlu({}) семантически идентичен отсутствию вызова, а геттер controller.nlu аллоцирует объект Nlu при первом же обращении.

      Тип параметра — object: интерфейсы платформенных nlu (IAlisaNlu, IMarusiaNlu) расширяют INlu без индекс-сигнатуры, поэтому Record<string, unknown> их не принимает.

      Parameters

      • nlu: object | null | undefined

        Поле request.nlu из запроса платформы

      Returns boolean

      true, если в nlu есть хотя бы один ключ с данными

      hasAnyNluKey({}); // -> false — записывать нечего
      hasAnyNluKey({ tokens: [], entities: [] }); // -> false — только пустые массивы
      hasAnyNluKey({ entities: [{ type: 'YANDEX.FIO' }] }); // -> true
      hasAnyNluKey(null); // -> false