Right now the followedBy operator will throw all matching objects into a queue. If the followedBy rule matches, the queue will be emptied completely (if possible).
This might not always be the behavior that we want. We should add some more options (to the match function):
first: only one element can be queued. all others will be discarded. This means that if the first matcher function matched on an object, it will not be presented with new objects until the followedBy rule matched.
last: only the last queued element will be processed, the others will be discarded. This means that no matter how many objects match on the first matcher function, only the last object that matched will be presented to the followedBy matcher function
combined: all queued elements will processed together. One object can match one multiple queued objects. This is the current behaviour.
single: all objects will be queued, but a followedBy rule can only match on one queued object, per new incoming object.
Right now the followedBy operator will throw all matching objects into a queue. If the
followedBy
rule matches, the queue will be emptied completely (if possible). This might not always be the behavior that we want. We should add some more options (to the match function):first
: only one element can be queued. all others will be discarded. This means that if the first matcher function matched on an object, it will not be presented with new objects until the followedBy rule matched.last
: only the last queued element will be processed, the others will be discarded. This means that no matter how many objects match on the first matcher function, only the last object that matched will be presented to the followedBy matcher functioncombined
: all queued elements will processed together. One object can match one multiple queued objects. This is the current behaviour.single
: all objects will be queued, but a followedBy rule can only match on one queued object, per new incoming object.