@@ -63,21 +63,27 @@ export const evaluateRulesOnDict = (dict, rules, customizations) => {
63
63
}
64
64
for ( const [ index , rule ] of rules . entries ( ) ) {
65
65
// Only check customizations that are specified
66
- if ( customizations . includes ( rule . customization ) ) {
67
- // if the row contains the specified field...
68
- if ( dict [ rule . field ] !== undefined && dict [ rule . field ] !== null ) {
69
- const realValue = dict [ rule . field ] . low ? dict [ rule . field ] . low : dict [ rule . field ] ;
70
- const ruleValue = rule . value ;
71
- if ( evaluateCondition ( realValue , rule . condition , ruleValue ) ) {
72
- return index ;
73
- }
74
- }
75
- }
66
+ return evaluateSingleRuleOnDict ( dict , rule , index , customizations )
76
67
}
77
68
// If no rules are met, return not found (index=-1)
78
69
return - 1 ;
79
70
} ;
80
71
72
+ export const evaluateSingleRuleOnDict = ( dict , rule , ruleIndex , customizations ) => {
73
+ if ( customizations . includes ( rule . customization ) ) {
74
+ // if the row contains the specified field...
75
+ if ( dict [ rule . field ] !== undefined && dict [ rule . field ] !== null ) {
76
+ const realValue = dict [ rule . field ] . low ? dict [ rule . field ] . low : dict [ rule . field ] ;
77
+ const ruleValue = rule . value ;
78
+ if ( evaluateCondition ( realValue , rule . condition , ruleValue ) ) {
79
+ return ruleIndex ;
80
+ }
81
+ }
82
+ }
83
+ return - 1 ;
84
+ }
85
+
86
+
81
87
/**
82
88
* Evaluates the specified rule set on a node object returned by the Neo4j driver.
83
89
* @param node - the node representation returned by the Neo4j driver.
0 commit comments