Skip to content
# Class: CommentEditor

Defined in: packages/core/src/utils/CommentEditor.ts:8

Utility class for editing comments on SQL components. Provides functions to add, edit, delete, and search comments in SQL AST.

Constructors

Constructor

new CommentEditor(): CommentEditor

Returns

CommentEditor

Methods

addComment()

static addComment(component, comment, position): void

Defined in: packages/core/src/utils/CommentEditor.ts:17

Add a comment to a SQL component using positioned comments system For SelectQuery components, adds to headerComments for query-level comments For other components, adds as 'before' positioned comment

Parameters

component

SqlComponent

The SQL component to add comment to

comment

string

The comment text to add

position

Optional position for comment ('before' | 'after'), defaults to 'before'

"before" | "after"

Returns

void


editComment()

static editComment(component, index, newComment, position): void

Defined in: packages/core/src/utils/CommentEditor.ts:53

Edit an existing comment by index For SelectQuery components, edits headerComments For other components, edits positioned comments

Parameters

component

SqlComponent

The SQL component containing the comment

index

number

The index of the comment to edit (0-based)

newComment

string

The new comment text

position

Position to edit ('before' | 'after'), defaults to 'before' for non-SelectQuery components

"before" | "after"

Returns

void

Throws

Error if index is invalid


deleteComment()

static deleteComment(component, index, position): void

Defined in: packages/core/src/utils/CommentEditor.ts:82

Delete a comment by index For SelectQuery components, deletes from headerComments For other components, deletes from positioned comments

Parameters

component

SqlComponent

The SQL component containing the comment

index

number

The index of the comment to delete (0-based)

position

Position to delete from ('before' | 'after'), defaults to 'before' for non-SelectQuery components

"before" | "after"

Returns

void

Throws

Error if index is invalid


deleteAllComments()

static deleteAllComments(component): void

Defined in: packages/core/src/utils/CommentEditor.ts:116

Delete all comments from a component

Parameters

component

SqlComponent

The SQL component to clear comments from

Returns

void


getComments()

static getComments(component): string[]

Defined in: packages/core/src/utils/CommentEditor.ts:132

Get all comments from a component For SelectQuery components, returns headerComments For other components, returns all positioned comments as a flat array

Parameters

component

SqlComponent

The SQL component to get comments from

Returns

string[]

Array of comment strings (empty array if no comments)


findComponentsWithComment()

static findComponentsWithComment(root, searchText, caseSensitive): SqlComponent[]

Defined in: packages/core/src/utils/CommentEditor.ts:147

Find all components in the AST that have comments containing the search text

Parameters

root

SqlComponent

The root SQL component to search from

searchText

string

The text to search for in comments

caseSensitive

boolean = false

Whether the search should be case-sensitive (default: false)

Returns

SqlComponent[]

Array of components that have matching comments


replaceInComments()

static replaceInComments(root, searchText, replaceText, caseSensitive): number

Defined in: packages/core/src/utils/CommentEditor.ts:204

Replace all occurrences of a text in comments across the entire AST

Parameters

root

SqlComponent

The root SQL component to search and replace in

searchText

string

The text to search for

replaceText

string

The text to replace with

caseSensitive

boolean = false

Whether the search should be case-sensitive (default: false)

Returns

number

Number of replacements made


countComments()

static countComments(root): number

Defined in: packages/core/src/utils/CommentEditor.ts:283

Count total number of comments in the AST

Parameters

root

SqlComponent

The root SQL component to count comments in

Returns

number

Total number of comments


getAllComments()

static getAllComments(root): object[]

Defined in: packages/core/src/utils/CommentEditor.ts:324

Get all comments from the entire AST as a flat array with their source components

Parameters

root

SqlComponent

The root SQL component to extract comments from

Returns

object[]

Array of objects containing comment text and the component they belong to

Released under the MIT License.