[Перевод] Новости из мира Node: DataCollection.js, Supererror, Readability
DataCollection.js DataCollection.js* — представляет собой библиотеку для выполнения запросов к источнику данных. Вы можете использовать ее как в браузере так и на стороне Node. Пример в документации использует массив объектов, над которым выполняются операции по отбору (фильтрации) используя представление ключ/значение, а так же используются некоторые около sql-ные операторы, такие как max и distinct.Авторы заявляют что данный продукт быстр, несмотря на то что я не могу подтвердить этот факт. Хотя библиотека включает в себя такие возможности, как создание индексов для определенных ключей. DataCollection.js хорошо документированный проект и имеет тестовое покрытие равное 95.5%.Создание:
var characters = [ { id: 1, first_name: 'Jon', last_name: 'Snow', gender: 'm', age: 14, location: 'Winterfell' } // … , ];
var charDC = new DataCollection (characters); Применение: // Will return Jon, Eddard and Ramsay charDC.query () .filter ({gender: 'm', age__lt: 40}) .values ();
// Updates location charDC.query () .filter ({location: 'Winterfell'}) .exclude ({first_name: 'Jon'}) .update ({location: 'King\'s Landing'}); Supererror Вам, наверняка, приходилось работать над проектами, в которых вы записывали (регистрировали) ошибки с помощью инструкции console.error. Скорее всего в таких ситуациях вам бы хотелось получить больше полезной информации (например номер линии) без изменения исходного кода. Если это ваш случай то вам наверняка будет интересен проект supererror**.Данный проект изменяет console.error, добавляя в него подсветку, номер линии, и стеки вызовов для объекта Error.
Использование:
require ('supererror');
console.error ('Some', new Error ('transient error'), 'happened using', { some: 'value' }); console.error (); // no info added console.error ('Using %d as a %s.', 42, 'number'); Результат: Readability Проект Readability*** меняет формат веб страницы на упрощенный вариант HTML Arc90. Для этого используется jsdom. Так же данный продукт поддерживает большое количество кодировок таких как GB2312, и еще readability поддерживает относительные URL-адреса, благодаря чему изображения продолжают отображаться.Я кажется припоминаю об имевших место проблемах с кодировкой и относительными адресами изображений в других ответвлениях проекта Readability, так что вышеуказанное утверждение выглядит неплохо.
Пометки * (GitHub: thestorefront/DataCollection.js, Лицензия: MIT, npm: data-collection) от Storefront.** (GitHub: nebulade/supererror, Лицензия: MIT, npm: supererror) от Johannes Zellner.*** (GitHub: luin/node-readability, Лицензия: Apache 2.0, npm: node-readability) от Zihua Li