Вступить в клуб →
сложнаяjavascriptПотоки, память и производительность процесса

Потоковый разбор NDJSON из кусков произвольной длины

Импорт принимает NDJSON — по одному JSON-объекту на строку. Данные приходят кусками, и граница куска может пройти посередине строки. Напишите createNdjsonParser(), который возвращает объект с двумя методами:

  • push(chunk) — принимает строку-кусок и возвращает массив объектов из строк, которые завершились переводом строки \n; незавершённый хвост запоминается;
  • end() — возвращает массив из последней строки без завершающего перевода, если она есть.

Пустые строки и строки из одних пробелов пропускаются. Если строка не является корректным JSON — метод, который её разбирает, бросает Error.

заготовка решения

function createNdjsonParser() {
  // ваш код
  return undefined;
}

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела