Skip to content

Commit

Permalink
[Console] Fix code scanning alert (#194700)
Browse files Browse the repository at this point in the history
  • Loading branch information
sabarasaba authored Oct 3, 2024
1 parent c0e2d95 commit 3dbb7da
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions src/plugins/console/public/lib/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,28 @@ export function formatRequestBodyDoc(data: string[], indent: boolean) {
};
}

// Regular expression to match different types of comments:
// - Block comments, single and multiline (/* ... */)
// - Single-line comments (// ...)
// - Hash comments (# ...)
export function hasComments(data: string) {
// matches single line and multiline comments
const re = /(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(\/\/.*)|(#.*)/;
/*
1. (\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\/)
- (\/\*): Matches the start of a block comment
- [^*]*: Matches any number of characters that are NOT an asterisk (*), to avoid prematurely closing the comment.
- \*+: Matches one or more asterisks (*), which is part of the block comment closing syntax.
- (?:[^/*][^*]*\*+)*: This non-capturing group ensures that any characters between asterisks and slashes are correctly matched and prevents mismatching on nested or unclosed comments.
- \*\/: Matches the closing of a block comment
2. (\/\/.*)
- Matches single-line comments starting with '//'.
- .*: Matches any characters that follow until the end of the line.
3. (#.*)
- Matches single-line comments starting with a hash (#).
- .*: Matches any characters that follow until the end of the line.
*/
const re = /(\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\/)|(\/\/.*)|(#.*)/;
return re.test(data);
}

Expand Down

0 comments on commit 3dbb7da

Please sign in to comment.