Skip to content

Fix: handle null/undefined in in/notIn operators and add string support for contains#431

Open
Tommy1109255 wants to merge 1 commit intoCacheControl:masterfrom
Tommy1109255:fix-bug
Open

Fix: handle null/undefined in in/notIn operators and add string support for contains#431
Tommy1109255 wants to merge 1 commit intoCacheControl:masterfrom
Tommy1109255:fix-bug

Conversation

@Tommy1109255
Copy link

Bug Fixes:
Empty result handling: When rules don't match (e.g. accountId: 'washington'), the events array is empty and we no longer log incomplete strings like "washington is a ".
Missing error handling: Added .catch() to async calls in engine.addFact. If accountId is invalid or the third-party API fails, we now handle the rejection instead of crashing.
Comment typo: Fixed extra quote on line 41: 'status'''status'.
Enhancements:
Prevent runtime crashes: Added isCollection check for in / notIn operators. If value is null or undefined, the engine now returns false (or true for notIn) instead of throwing.
Extended string support: contains / doesNotContain now work with both String and Array types, not just Array.
Enhanced robustness: Updated numberValidator to safely handle comparisons when values aren't numeric.
Testing:
All 248 existing unit tests pass.
Manually verified: null/undefined cases no longer crash; string contains logic works as expected.
Confirmed empty events array no longer produces incomplete output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants