11import { FilterListInterface } from './FilterInterfaces' ;
2+ import { isDefined } from '../../utils/utilities' ;
23
34export const FilterItems = ( items : any [ ] , filterItem : FilterListInterface ) => {
45 switch ( filterItem . operation ) {
@@ -33,7 +34,7 @@ export const FilterItems = (items: any[], filterItem: FilterListInterface) => {
3334
3435
3536const contains = ( items : any [ ] , filterItem : FilterListInterface ) => {
36- if ( filterItem . value ) {
37+ if ( isDefined ( filterItem . value ) ) {
3738 return items . filter ( ( obj ) => {
3839 const item = getFilteredPath ( filterItem . path , obj ) ;
3940
@@ -45,7 +46,7 @@ const contains = (items: any[], filterItem: FilterListInterface) => {
4546} ;
4647
4748const notcontains = ( items : any [ ] , filterItem : FilterListInterface ) => {
48- if ( filterItem . value ) {
49+ if ( isDefined ( filterItem . value ) ) {
4950 return items . filter ( ( obj ) => {
5051 const item = getFilteredPath ( filterItem . path , obj ) ;
5152
@@ -57,7 +58,7 @@ const notcontains = (items: any[], filterItem: FilterListInterface) => {
5758} ;
5859
5960const greater = ( items : any [ ] , filterItem : FilterListInterface ) => {
60- if ( filterItem . value ) {
61+ if ( isDefined ( filterItem . value ) ) {
6162 return items . filter ( ( obj ) => {
6263 const item = getFilteredPath ( filterItem . path , obj ) ;
6364
@@ -69,7 +70,7 @@ const greater = (items: any[], filterItem: FilterListInterface) => {
6970} ;
7071
7172const greaterOrEqual = ( items : any [ ] , filterItem : FilterListInterface ) => {
72- if ( filterItem . value ) {
73+ if ( isDefined ( filterItem . value ) ) {
7374 return items . filter ( ( obj ) => {
7475 const item = getFilteredPath ( filterItem . path , obj ) ;
7576
@@ -81,7 +82,7 @@ const greaterOrEqual = (items: any[], filterItem: FilterListInterface) => {
8182} ;
8283
8384const less = ( items : any [ ] , filterItem : FilterListInterface ) => {
84- if ( filterItem . value ) {
85+ if ( isDefined ( filterItem . value ) ) {
8586 return items . filter ( ( obj ) => {
8687 const item = getFilteredPath ( filterItem . path , obj ) ;
8788
@@ -93,7 +94,7 @@ const less = (items: any[], filterItem: FilterListInterface) => {
9394} ;
9495
9596const lessOrEqual = ( items : any [ ] , filterItem : FilterListInterface ) => {
96- if ( filterItem . value ) {
97+ if ( isDefined ( filterItem . value ) ) {
9798 return items . filter ( ( obj ) => {
9899 const item = getFilteredPath ( filterItem . path , obj ) ;
99100
@@ -105,31 +106,31 @@ const lessOrEqual = (items: any[], filterItem: FilterListInterface) => {
105106} ;
106107
107108const equal = ( items : any [ ] , filterItem : FilterListInterface ) => {
108- if ( filterItem . value ) {
109+ if ( isDefined ( filterItem . value ) ) {
109110 return items . filter ( ( obj ) => {
110111 const item = getFilteredPath ( filterItem . path , obj ) ;
111112
112- return item . toString ( ) . toLowerCase ( ) === filterItem . value . toLowerCase ( ) ;
113+ return item ? .toString ( ) . toLowerCase ( ) === filterItem . value ?. toString ( ) . toLowerCase ( ) ;
113114 } ) ;
114115 } else {
115116 return items ;
116117 }
117118} ;
118119
119120const notequal = ( items : any [ ] , filterItem : FilterListInterface ) => {
120- if ( filterItem . value ) {
121+ if ( isDefined ( filterItem . value ) ) {
121122 return items . filter ( ( obj ) => {
122123 const item = getFilteredPath ( filterItem . path , obj ) ;
123124
124- return item . toString ( ) . toLowerCase ( ) !== filterItem . value . toLowerCase ( ) ;
125+ return item ? .toString ( ) . toLowerCase ( ) !== filterItem . value ? .toLowerCase ( ) ;
125126 } ) ;
126127 } else {
127128 return items ;
128129 }
129130} ;
130131
131132const between = ( items : any [ ] , filterItem : FilterListInterface ) => {
132- if ( filterItem . value ) {
133+ if ( isDefined ( filterItem . value ) ) {
133134 return items . filter ( ( obj ) => {
134135 const item = getFilteredPath ( filterItem . path , obj ) ;
135136
@@ -141,7 +142,7 @@ const between = (items: any[], filterItem: FilterListInterface) => {
141142} ;
142143
143144const notbetween = ( items : any [ ] , filterItem : FilterListInterface ) => {
144- if ( filterItem . value ) {
145+ if ( isDefined ( filterItem . value ) ) {
145146 return items . filter ( ( obj ) => {
146147 const item = getFilteredPath ( filterItem . path , obj ) ;
147148
0 commit comments