import { Pipe , PipeTransform } from "@angular/core" ; @ Pipe ( { name : "search" , } ) export class SearchPipe implements PipeTransform { transform ( items , searchText , prop1 ? , prop2 ? , prop3 ? ) { if ( items == null || items . length === 0 ) { return [ ] ; } if ( searchText == null || searchText . length < 2 ) { return items ; } searchText = searchText . trim ( ) . toLowerCase ( ) ; return items . filter ( ( i ) => { if ( prop1 != null && i [ prop1 ] != null && i [ prop1 ] . toString ( ) . toLowerCase ( ) . indexOf ( searchText ) > - 1 ) { return true ; } if ( prop2 != null && i [ prop2 ] != null && i [ prop2 ] . toString ( ) . toLowerCase ( ) . indexOf ( searchText ) > - 1 ) { return true ; } if ( prop3 != null && i [ prop3 ] != null && i [ prop3 ] . toString ( ) . toLowerCase ( ) . indexOf ( searchText ) > - 1 ) { return true ; } return false ; } ) ; } }