Pull to refresh

Новости из мира Node: DataCollection.js, Supererror, Readability

Reading time2 min
Views5.2K
Original author: Alex Young

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');

Результат:
image

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
Tags:
Hubs:
Total votes 21: ↑17 and ↓4+13
Comments8

Articles