json-rules-engine icon indicating copy to clipboard operation
json-rules-engine copied to clipboard

Operator availability - between operator

Open Meenakshise opened this issue 3 years ago • 1 comments

As between operator accepts 3 inputs ex : c is between a and b. But our operator just takes 2 inputs a and b. out of which one is fact and one is the actual value to compare against Is there any way I could solve this? Should I pass between range in the form of array for ex, if my requirement is is 7 between 20 and 30. Then a can be 7 and b can be array of 2 numbers which is [20, 30] and I can create a custom operator which is between and that accepts 2 numbers in the number. I this fine or is there any other way in which the between operator can be done.

Meenakshise avatar Oct 28 '22 08:10 Meenakshise

@Meenakshise I would suggest either using a 2 element array for min/mix or an object for your value for instance:

{
     "fact": "count",
     "operator": "between",
     "value": {
           "min": 1,
           "max": 10
     }
}

The advantage of an object is that you could have properties like "min", "minInclusive", "max", "maxInclusive" in order to specify the behavior at the edges if needed.

chris-pardy avatar Aug 25 '23 13:08 chris-pardy