Skip to content

Latest commit

 

History

History

selectors

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Селекторы

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

Функция для фильтрации коллекции по условию, заданному в предикате:

filter<T>(predicate: (value: T) => boolean): (iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, filter } from 'iterity';

const collection = from([1, 6, 2, 8]).pipe(filter((num) => num > 2)); // OUTPUT: [6, 8]

Функция для фильтрации асинхронной коллекции по условию, заданному в предикате:

filterAsync<T>(predicate: (value: T) => boolean): (iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, filterAsync } from 'iterity';

const collection = new AsyncCollection([1, 6, 2, 8]).pipe(
  filterAsync((num) => num > 2)
); // OUTPUT: [6, 8]

Функция для создания итератора, исключающего N первых элементов исходного итератора:

skip(amount: number): <T>(iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, skip } from 'iterity';

const collection = from([1, 2, 3, 4]).pipe(skip(1)); // OUTPUT: [2, 3, 4]

Функция для создания асинхронного итератора, исключающего N первых элементов исходного итератора:

skipAsync(amount: number): <T>(iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, skipAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3, 4]).pipe(skipAsync(1)); // OUTPUT: [2, 3, 4]

Функция для создания итератора, исключающего первые элементы исходного итератора, пока соблюдается условие:

skipWhile<T>(predicate: (value: T) => boolean): (iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, skipWhile } from 'iterity';

const collection = from([1, 2, 3, 4]).pipe(skipWhile((num) => num < 3)); // OUTPUT: [3, 4]

Функция для создания асинхронного итератора, исключающего первые элементы исходного итератора, пока соблюдается условие:

skipWhileAsync<T>(predicate: (value: T) => boolean): (iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, skipWhileAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3, 4]).pipe(
  skipWhileAsync((num) => num < 3)
); // OUTPUT: [3, 4]

Функция для создания итератора для определённого диапазона значений исходного итератора:

slice(from: number, to: number): <T>(iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, slice } from 'iterity';

const collection = from([1, 2, 3, 4]).pipe(slice(1, 3)); // OUTPUT: [2, 3]

Функция для создания асинхронного итератора для определённого диапазона значений исходного итератора:

sliceAsync(from: number, to: number): <T>(iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, sliceAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3, 4]).pipe(sliceAsync(1, 3)); // OUTPUT: [2, 3]

Функция для создания итератора для первых N элементов исходного итератора:

take(limit: number): <T>(iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, take } from 'iterity';

const collection = from([1, 2, 3, 4]).pipe(take(3)); // OUTPUT: [1, 2, 3]

Функция для создания асинхронного итератора для первых N элементов исходного итератора:

takeAsync(limit: number): <T>(iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, takeAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3, 4]).pipe(takeAsync(3)); // OUTPUT: [1, 2, 3]

Функция для создания итератора, перебирающего первые элементы исходного итератора, пока соблюдается условие:

takeWhile<T>(predicate: (value: T) => boolean): (iterable: Iterable<T>) => IterableIterator<T>;

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

import { from, takeWhile } from 'iterity';

const collection = from([1, 2, 3, 4]).pipe(takeWhile((num) => num < 3)); // OUTPUT: [1, 2]

Функция для создания асинхронного итератора, перебирающего первые элементы исходного итератора, пока соблюдается условие:

takeWhileAsync<T>(predicate: (value: T) => boolean): (iterable: AsyncIterable<T>) => AsyncIterableIterator<T>;

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

import { AsyncCollection, takeWhileAsync } from 'iterity';

const collection = new AsyncCollection([1, 2, 3, 4]).pipe(
  takeWhileAsync((num) => num < 3)
); // OUTPUT: [1, 2]