File tree Expand file tree Collapse file tree 1 file changed +23
-14
lines changed Expand file tree Collapse file tree 1 file changed +23
-14
lines changed Original file line number Diff line number Diff line change 446446 dataValue = ''
447447 let logicalOperator = query [ i ] . logicalOperator || 'and'
448448 let queryValues = query [ i ] . value
449+
450+ let queryIsArray = false
449451 if ( ! Array . isArray ( queryValues ) )
450452 queryValues = [ queryValues ]
453+ else
454+ queryIsArray = true
455+
451456
452457 let queryStatus = false
453458 for ( let queryValue of queryValues ) {
462467 dataValue = new Date ( dataValue )
463468 queryValue = new Date ( queryValue )
464469 }
465-
466470 switch ( query [ i ] . operator ) {
467471 case '$includes' :
468472 case 'includes' :
506510 queryStatus = true
507511 break ;
508512 case '$in' :
509- if ( Array . isArray ( dataValue ) && dataValue . some ( x => queryValue . includes ( x ) ) )
510- queryStatus = true
513+ if ( Array . isArray ( dataValue ) ) {
514+ queryStatus = dataValue . some ( element => queryValue . includes ( element ) ) ;
515+ } else {
516+ queryStatus = queryValue . includes ( dataValue ) ;
517+ }
511518 break ;
512519 case '$nin' :
513520 if ( Array . isArray ( dataValue ) ) {
532539 queryStatus = true
533540 break ;
534541 }
535-
536- switch ( logicalOperator ) {
537- case 'and' :
538- if ( queryStatus == false )
539- return false
540- break ;
541- // case 'or':
542- // if (queryStatus == true)
543- // queryResult = queryStatus
544- // break;
545- }
542+ if ( ! queryIsArray || query [ i ] . operator === "$nin" ) {
543+ switch ( logicalOperator ) {
544+ case 'and' :
545+ if ( queryStatus == false )
546+ return false
547+ break ;
548+ // case 'or':
549+ // if (queryStatus == true)
550+ // queryResult = queryStatus
551+ // break;
552+ }
553+ } else if ( queryStatus && query [ i ] . operator === "$in" )
554+ return true
546555 queryResult = queryStatus
547556 }
548557 }
You can’t perform that action at this time.
0 commit comments