Improve port parsing to support combined specifications #23
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.
The
readPortsRange
function was previously limited to a single keyword or range per call, making it difficult for users to define complex port sets. For instance, scanning the top 1000 ports and a specific custom port required extra logic outside the function.This commit refactors the function to parse a comma-separated string containing multiple specifications. It now supports combining keywords (
top1000
,reserved
), single ports, and ranges in one input, like"top1000,8080,9000-9100"
.The final list of ports is de-duplicated and sorted to ensure a clean, predictable output.