Skip to content

Latest commit

 

History

History

decorators

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

👈 Вернуться на главную

Декораторы

Функции-декораторы предназначены для декорирования значений, например добавления определенной функциональности, или данных к существующей коллекции. Используются с методом pipe, хотя могут использоваться обособленно без контейнеров.

Добавляет индекс к каждому элементу итерируемой коллекции. Создаёт итератор, который возвращает пары [индекс, значение] для каждого элемента исходной коллекции.

enumerable<T>(iterable: Iterable<T>): IterableIterator<[number, T]>;

Использование:

import { from, enumerable } from 'iterity';

const collection = from(['one', 'two']).pipe(enumerable); // OUTPUT: [[1, "one"], [2, "two"]]

Добавляет индекс к каждому элементу итерируемой коллекции. Создаёт асинхронный итератор, который возвращает пары [индекс, значение] для каждого элемента исходной коллекции.

enumerableAsync<T>(iterable: AsyncIterable<T>): AsyncIterableIterator<[number, T]>;

Использование:

import { AsyncCollection, enumerableAsync } from 'iterity';

const collection = new AsyncCollection(['one', 'two']).pipe(enumerableAsync); // OUTPUT: [[1, "one"], [2, "two"]]

Создает итератор, который возвращает те же элементы, что и исходная коллекция, но позволяет выполнить заданное действие (эффект) для каждого элемента при прохождении по ним.

tap<T>(effect: (value: T) => void): (iterable: Iterable<T>) => IterableIterator<T>;

Использование:

import { from, tap } from 'iterity';

const collection = from([1, 2, 3]).pipe(tap((value) => console.log(value))); // OUTPUT: [1, 2, 3]

Создает асинхронный итератор, который возвращает те же элементы, что и исходная коллекция, но позволяет выполнить заданное действие (эффект) для каждого элемента при прохождении по ним.

tapAsync<T>(effect: (value: T) => void): (iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

Использование:

import { AsyncCollection, tapAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3]).pipe(
  tapAsync((value) => console.log(value))
); // OUTPUT: [1, 2, 3]