Главная страница Новости кинофильмов Игровые новости Новости спорта Новости технологий

Node CSV версии 0.2 с потоковым API

Новости

Только что был выпущен синтаксический анализатор Node CSV в версии 0.2. Эта версия является значительным улучшением, поскольку она привела синтаксический анализатор в соответствие с лучшими Node.js практикуйтесь в отношении ручьев. Анализатор CSV работает как в режиме записи потока, так и в режиме чтения потока.

Будьте осторожны, для достижения этой цели потребовалось внести несколько изменений в API, которые немного нарушили совместимость.

Миграция

Я пытаюсь запомнить все изменения в API. Я буду обновлять этот раздел с учетом ваших предложений на случай, если я забуду.

Функции «from*» и «to*» теперь переписаны как «from.» и «to.». Событие ‘данные’ теперь является событием ‘запись’. Теперь «Данные» получили сокращенную версию события ‘запись’.

Новый Stream API

Это самое важное усовершенствование, о котором было объявлено в моем последнем посте. Эта небольшая схема иллюстрирует структуру потоковой архитектуры из Node.js примененной к синтаксическому анализатору CSV:

|————| |———|———| |———| | | | | | | | | | | CSV | | | | | | | | | | | Stream | | Writer | Reader | | Stream | | Reader |.pipe(| API | АПИ |).pipe(|Writer |) | | | | | | | | | | | | | | |————| |———|———| |———|

Как вы можете видеть, эта новая версия полностью совместима с stream API. Это и средство записи потока для отправки входных данных, и средство чтения потока для доступа к выходным данным.

Пример:

fs.createReadStream( ‘./in’ ).pipe(csv()).pipe( fs.createWriteStream(‘./out’) )

Удобные функциональные возможности

Кроме того, он поставляется с удобными функциями, доступными через свойства from и to. Некоторые из этих функций уже присутствовали в версии 0.1 и были просто переименованы. Например, функция csv.fromPath() теперь называется csv.from.path(). Добавлены новые функции, такие как csv.to.string.

Пример:

csv().from.path( ‘./in’ ).to.string(функция(данные){ console.log(данные) } )

Документация

Как я уже делал в прошлом во многих проектах, таких как Mecano, а теперь и Nikita, содержание readme было сведено к минимуму, и документация генерируется непосредственно из исходного кода. Специально для этой цели был написан небольшой скрипт. Идея состоит в том, чтобы документировать каждую функцию комментариями, написанными в синтаксисе markdown. Простой анализатор регулярных выражений считывает каждый файл, извлекает комментарий и записывает markdown-файл в папку “./doc”. Папка doc, наконец, скопирована в каталог Jekyll веб-сайта.

Обратите внимание, что на момент написания этой статьи скрипт нуждается в некоторых улучшениях, а документация по API нуждается в пересмотре и дополнении (проверьте синтаксис markdown, опечатки). То, что вы не являетесь носителем английского языка, тоже не помогает. Как всегда, мы ценим ваш вклад.

Заключение

Пожалуйста, попробуйте новую версию и дайте мне знать, как она вам нравится.


Другие новости: