Skip to content

Add INBETWEEN-like overload for version field #17

@mf366-dev

Description

@mf366-dev

The Idea

A group would be like [>= 10 OR < 6] or [windows OR macOS].

Makes no sense to have AND, because a system can't be Windows and macOS, a CPU can't be x64 and x86. However, a version can be >= 7 AND < 10.

But instead of creating AND just for that, I think I'm going to either: use intervals; or use something like SQL's INBETWEEN.

So like [[7;10)] would be between 7 and 10, excluding 10 (the outer brackets are because this is still a group nonetheless). With INBETWEEN, it'd be like INBETWEEN 7 10. Problem is exclusion would have to be done like INBETWEEN 7 9 but it's undeniably easier to implement and simpler to explain.

Nesting

To make this even better, nesting!!

[>= 10 OR [INBETWEEN 5 7]]

By the way, OR is a LRS operator (left and right sides) while INBETWEEN is a RrS operator (Right and Corner Right sides).

They need to be enclosed. [>= 10 OR == 5 OR == 7] is invalid. Do something like [>= 10 OR [== 5 OR == 7]] instead.

Summary

In summary:

  • [>= 10 OR < 6] greater than 10 or lower than 6 or equal to 10
  • [windows OR macOS] either windows or macOS
  • still deciding on INBETWEEN or intervals
  • nesting is fun!!
  • rules

Metadata

Metadata

Assignees

Labels

FeatureNew feature or request

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions