Skip to content

faustienf/effector-fsp

Repository files navigation

☄️ Effector FSP

flowchart LR
  subgraph Combine
    direction LR
    Filter --> Sort
    Sort --> Paginate
  end
  Data -.-> Combine
  Combine -.-> FSP
const $todos = createStore<Todo[]>([]);

Filter

const filters = createFilters($todos, (todo, field, value) =>
  String(todo[field]).toLowerCase().includes(value.toLowerCase())
);

Sort

const sorting = createSorting({
  $allRecords: filters.$filtredRecords,
  comparator: todoComparator,
  initialField: 'id' as keyof Todo,
  initialOrder: 'desc',
});

Paginate

const pagination = createPagination(sorting.$sortedRecords, 10);