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