После анонса версии 0.2.0 приложения Node.js Анализатор CSV в начале октября мы выпускаем новую версию 0.2.1. В основном это исправление ошибок с расширенной документацией. Однако он также предоставляет несколько интересных функциональных возможностей. Документация по синтаксическому анализатору была обновлена, чтобы отразить этот новый выпуск.
Смотрите выпуски #52 и #54 на GitHub.
Спасибо Дэну Кернсу за обнаружение этой ошибки и Дугу Уилсону за предоставление такого замечательного исправления. Это важное исправление, и оно подразумевает, что все пользователи версии 0.2.0 должны перейти на эту версию.
Смотрите выпуск GitHub #30.
Похоже, это самая востребованная функция, представленная в этом выпуске. Синтаксический анализатор CSV теперь может поддерживать два типа обратных вызовов: синхронный и асинхронный. Различие проводится после подписи аргумента обратного вызова. Предполагается, что он будет вызван асинхронно, если определены 3 аргумента, в противном случае он будет выполняться синхронно. В следующих двух примерах столбцы в каждой строке меняются местами.Синхронный пример: csv().from(‘a,bn1,2’).to(console.log).transform (данные, индекс, обратный вызов) -> data.reverse()Асинхронный пример:
csv().from(‘a,bn1,2’).to(console.log).transform (данные, индекс, обратный вызов) -> process.nextTick -> обратный вызов null, data.reverse()
Смотрите выпуск #40 на GitHub.
Спасибо E. Timothy Uy за то, что он отправил запрос. Идея состоит в том, чтобы дополнить синтаксический анализ сообщения об ошибке указанием номера строки, в которой произошла ошибка. Кроме того, мы вводим новое свойство номера строки, доступное через csv().parser.lines.
Смотрите выпуск #53 на GitHub.
Эта функция была запрошена Алексом Зилманом, которому нужен был способ чтобы напечатать пользовательские имена столбцов в его выходном файле. Оставшееся решение состояло в том, чтобы разрешить параметрам from.options.columns и to.options.columns определяться как объект. Вот пример:
data = ‘field1,field2,field3nval1,val2,val3’ csv().from(данные, столбцы: true).to (данные) -> data.should.eql ‘column1,column3nval1,val3’ далее() , столбцы: {поле 1: ‘column1’, поле 3: ‘column3’}, заголовок: true
Смотрите выпуски #36 и #55 на GitHub.
Эта функция была предложена Э. Тимоти Уи и исправлена Дугом Уилсоном, который стал разработчиком серьезный участник проекта.
Смотрите выпуск #56 на GitHub.
Спасибо Кевину Олду, который нашел время чтобы просмотреть каждый образец и привести его в соответствие с API версии 0.2.0.
Это это незначительная ошибка, возникшая после обновления версии 0.2 и перехода на Node.js версия 0.8. Путь.exists был переименован в fs.exists. Исправить это было просто, создав функцию fs.exists на случай, если она не существует. Вот выдержка из исходного кода:
fs = требуется ‘fs’ path = требуется ‘путь’ fs.exists ?= путь.существует
В журнале изменений описаны другие улучшения: