У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

Akita

Строгий менеджер состояний для приложений на javascript

Поделится

API

  • selectAll(options: { asObject: boolean; filterBy?: Function; limitTo?: number })

Выберет всю коллекцию сущностей хранилища:

this.todos$ = this.query.selectAll();

this.todos$ = this.query.selectAll({
  asObject: true
});

this.todos$ = this.query.selectAll({
  filterBy: entity => entity.completed === true
});

/** This will perform AND logic */
this.todos$ = this.query.selectAll({  
   filterBy: [   
    (entity, index) => index % 2 === 0,   
    entity => entity.completed === true  
  ]
});

this.todos$ = this.query.selectAll({
  limitTo: 5
});
  • selectMany(ids: ID[], options: { asObject: boolean, filterUndefined = true })

Выберет несколько объектов из хранилища:

this.todos$ = this.query.selectMany([1, 4, 6]);

this.todos$ = this.query.selectMany([1, 4 ,6], {
  filterUndefined: false
});

this.todos$ = this.query.selectMany([1, 4 ,6], {
  asObject: true
});
  • selectEntity(id: ID, project?: ( entity: E ) => R )

Выберет объект или часть объекта:

this.todo$ = this.query.selectEntity(1);
this.todo$ = this.query.selectEntity(1, entity => entity.title);
  • selectFirst(project?: (entity: E) => R)

Выберет первую сущность из хранилища:

this.firstTodo$ = this.query.selectFirst();
this.firstTodoTitle$ = this.query.selectFirst(todo => todo.title);
  • selectLast(project?: (entity: E) => R)

Выберет последний объект из хранилища:

this.lastTodo$ = this.query.selectLast();
this.lastTodoTitle$ = this.query.selectLast(todo => todo.title);
  • selectCount(predicate?: ( entity: E ) => boolean )

Выберет длину коллекции сущностей хранилища:

this.count$ = this.query.selectCount();
this.completedCount$ = this.query.selectCount(entity => entity.complete);
  • selectLoading()

Выберет состояние загрузки хранилища:

this.loading$ = this.query.selectLoading();
  • selectError()

Выберет состояние ошибки хранилища:

this.error$ = this.query.selectError();