class Types/chain:factory

Создает последовательную цепочку вызовов, обрабатывающих коллекции различных типов.

Примеры

Выберем из массива имена персонажей женского пола, отсортированные по имени:

import {factory} from 'Types/chain';

interface ICharacter {
   name: string;
   gender: 'M' | 'F' | 'R';
}

factory([
    {name: 'Philip J. Fry', gender: 'M'},
    {name: 'Turanga Leela', gender: 'F'},
    {name: 'Professor Farnsworth', gender: 'M'},
    {name: 'Amy Wong', gender: 'F'},
    {name: 'Bender Bending Rodriguez', gender: 'R'}
])
    .filter((item) => item.gender === 'F')
    .map((item) => item.name)
    .sort((a, b) => a - b)
    .value();
//['Amy Wong', 'Turanga Leela']

Выберем из рекордсета персонажей женского пола, отсортированных по имени:

import {factory} from 'Types/chain';
import {RecordSet} from 'Types/collection';

interface ICharacter {
   name: string;
   gender: 'M' | 'F' | 'R';
}

factory(new RecordSet({rawData: [
    {name: 'Philip J. Fry', gender: 'M'},
    {name: 'Turanga Leela', gender: 'F'},
    {name: 'Professor Farnsworth', gender: 'M'},
    {name: 'Amy Wong', gender: 'F'},
    {name: 'Bender Bending Rodriguez', gender: 'R'}
]}))
    .filter((item) => item.get('gender') === 'F')
    .sort((a, b) => a.get('name') - b.get('name'))
    .value();
//[Model(Amy Wong), Model(Turanga Leela)]

Другие примеры смотрите в описании методов класса Types/chain:Abstract.

Примечание

Функция является дженериком вида factory<T[, U]>, где:

  • T: тип элемента цепочки;
  • [U]: тип индекса цепочки (для массива number по-умолчанию).

Методы

Создает последовательную цепочку вызовов, обрабатывающих коллекции различных типов.