CacheControl/json-rules-engine

Operator availability - between operator

Meenakshise opened this issue · 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 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.