Я написал канал, который отфильтровывает массив объектов на основе заданного запроса. Это прекрасно работает, но я хотел бы добавить функцию устранения дребезга напрямую в этот канал, а не добавлять ее в событие keyup ввода, если это возможно.
Я искал решение, но не могу найти ничего, что соответствовало бы тому, что я ищу.
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'filterBy'
})
export class FilterByPipe implements PipeTransform {
transform(value: any, args: string[]): any[] {
if (!args[0]) {
return value;
}
else if (value) {
return value.filter(item => {
// TODO: Allow args[1] to be null, therefore searching in all object properties
if ((typeof item[args[1]] === 'string' || item[args[1]] instanceof String) && (item[args[1]].toLowerCase().indexOf(args[0].toLowerCase()) !== -1)) {
return true;
}
});
}
}
}
Любые идеи о том, как я могу реализовать это в этой трубе?