refactor: optimize broadcastEvent() with event mapping #2520
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why is this change needed?
This change improves the performance, readability, and maintainability of the broadcastEvent() method by replacing multiple if-else conditions with a structured mapping of event handlers.
Key improvements:
Performance: Eliminates unnecessary condition checks by returning early when an event match is found.
Readability: Uses a Map-like structure to store event handlers, making it clear which conditions trigger which events.
Maintainability: Adding new event types now requires only updating the event handlers list, instead of modifying multiple if-else conditions.
Merge Checklist
Choose all relevant options below by adding an
x
now or at any time before submitting for reviewPR-Codex overview
This PR refactors the
broadcastEvent
method in thestoreEventHandler.ts
file to improve its structure by using an array of event handlers instead of multipleif-else
statements, enhancing readability and maintainability.Detailed summary
if-else
statements with an array of tuples containing event handler functions and their corresponding event names.for
loop to iterate through the event handlers, emitting the appropriate event if a handler matches.