Тема: Collection v5
Показать сообщение отдельно
  #159 (permalink)  
Старый 11.07.2016, 12:48
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

На днях психанул и переписал всю билиотеку с нуля ЖВ Collection я пишу практически столько же времени, сколько пишу на JS, поэтому библиотека также меняется вместе с моими знаниями и опытом.

В общем из библиотеки было выкинуто всё, что не относится к итерациям, т.е. сейчас Collection - это микробиблиотека (всего 8кб полная сборка), которая предоставляет единый интерфейс для всех видов коллекций JS + гибкая настройка итераций (диапазон, направление, тип итератора и т.д.). А также Collection предоставляет невероятно удобную абстракцию легковесных потоков основанных на генераторах.

Итак:

1) Выкинута поддержка древних браузеров.
2) Полностью переработаны интерфейсы методов для более удобного использования.
3) Удалён весь "лишний" код, т.е. не относящийся к итерациям.
4) Удалён ряд методов итераций (их функционал делается через оставшиеся методы).
5) Метод filter теперь сам не осуществляет фильтрацию, а добавляет новый фильтр в операцию.

/// Всё будет сделано за один проход
$C(...)
  .filter(...)
  .filter(...)
  .filter(...)
  .filter(...)
  .map(...)


6) Все методы потоков теперь возвращают промисы и их оч удобно юзать с async-await

await $C(...).thread().forEach(...)


Тоже самое касается дочерних потоков.

В общем сегодня выпущу beta.1 и в течении нескольких недель стейбл релиз + дока. Также напишу короткую статью на хабр про реализацию потоков.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 11.07.2016 в 13:01.
Ответить с цитированием