rawsql-ts 0.11.11-beta → 0.11.13-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +14 -14
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/src/index.d.ts +3 -0
- package/dist/esm/src/index.js +3 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/models/Lexeme.d.ts +12 -0
- package/dist/esm/src/models/SqlPrintToken.d.ts +6 -4
- package/dist/esm/src/models/SqlPrintToken.js +2 -0
- package/dist/esm/src/models/SqlPrintToken.js.map +1 -1
- package/dist/esm/src/parsers/FunctionExpressionParser.js +5 -4
- package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
- package/dist/esm/src/parsers/SelectQueryParser.js +3 -2
- package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
- package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +40 -0
- package/dist/esm/src/parsers/SqlPrintTokenParser.js +103 -8
- package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/src/parsers/ValueParser.js +4 -4
- package/dist/esm/src/parsers/ValueParser.js.map +1 -1
- package/dist/esm/src/reporting/models/DataFlowGraph.d.ts +3 -1
- package/dist/esm/src/reporting/models/DataFlowGraph.js +5 -27
- package/dist/esm/src/reporting/models/DataFlowGraph.js.map +1 -1
- package/dist/esm/src/reporting/models/DataFlowNode.d.ts +8 -2
- package/dist/esm/src/reporting/models/DataFlowNode.js +34 -10
- package/dist/esm/src/reporting/models/DataFlowNode.js.map +1 -1
- package/dist/esm/src/reporting/services/ProcessHandler.d.ts +6 -42
- package/dist/esm/src/reporting/services/ProcessHandler.js +9 -164
- package/dist/esm/src/reporting/services/ProcessHandler.js.map +1 -1
- package/dist/esm/src/tokenReaders/BaseTokenReader.d.ts +5 -1
- package/dist/esm/src/tokenReaders/BaseTokenReader.js +19 -13
- package/dist/esm/src/tokenReaders/BaseTokenReader.js.map +1 -1
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.d.ts +95 -0
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.js +189 -0
- package/dist/esm/src/transformers/CTEDependencyAnalyzer.js.map +1 -0
- package/dist/esm/src/transformers/CTEDisabler.d.ts +7 -2
- package/dist/esm/src/transformers/CTEDisabler.js +25 -2
- package/dist/esm/src/transformers/CTEDisabler.js.map +1 -1
- package/dist/esm/src/transformers/QueryFlowDiagramGenerator.js +11 -1
- package/dist/esm/src/transformers/QueryFlowDiagramGenerator.js.map +1 -1
- package/dist/esm/src/transformers/SqlPrinter.d.ts +47 -2
- package/dist/esm/src/transformers/SqlPrinter.js +138 -51
- package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
- package/dist/esm/src/utils/LexemeCursor.d.ts +57 -0
- package/dist/esm/src/utils/LexemeCursor.js +187 -0
- package/dist/esm/src/utils/LexemeCursor.js.map +1 -0
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/index.min.js +14 -14
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/Lexeme.d.ts +12 -0
- package/dist/src/models/SqlPrintToken.d.ts +6 -4
- package/dist/src/models/SqlPrintToken.js +2 -0
- package/dist/src/models/SqlPrintToken.js.map +1 -1
- package/dist/src/parsers/FunctionExpressionParser.js +5 -4
- package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
- package/dist/src/parsers/SelectQueryParser.js +3 -2
- package/dist/src/parsers/SelectQueryParser.js.map +1 -1
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +40 -0
- package/dist/src/parsers/SqlPrintTokenParser.js +103 -8
- package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/src/parsers/ValueParser.js +4 -4
- package/dist/src/parsers/ValueParser.js.map +1 -1
- package/dist/src/reporting/models/DataFlowGraph.d.ts +3 -1
- package/dist/src/reporting/models/DataFlowGraph.js +5 -27
- package/dist/src/reporting/models/DataFlowGraph.js.map +1 -1
- package/dist/src/reporting/models/DataFlowNode.d.ts +8 -2
- package/dist/src/reporting/models/DataFlowNode.js +34 -10
- package/dist/src/reporting/models/DataFlowNode.js.map +1 -1
- package/dist/src/reporting/services/ProcessHandler.d.ts +6 -42
- package/dist/src/reporting/services/ProcessHandler.js +9 -164
- package/dist/src/reporting/services/ProcessHandler.js.map +1 -1
- package/dist/src/tokenReaders/BaseTokenReader.d.ts +5 -1
- package/dist/src/tokenReaders/BaseTokenReader.js +19 -13
- package/dist/src/tokenReaders/BaseTokenReader.js.map +1 -1
- package/dist/src/transformers/CTEDependencyAnalyzer.d.ts +95 -0
- package/dist/src/transformers/CTEDependencyAnalyzer.js +193 -0
- package/dist/src/transformers/CTEDependencyAnalyzer.js.map +1 -0
- package/dist/src/transformers/CTEDisabler.d.ts +7 -2
- package/dist/src/transformers/CTEDisabler.js +23 -0
- package/dist/src/transformers/CTEDisabler.js.map +1 -1
- package/dist/src/transformers/QueryFlowDiagramGenerator.js +11 -1
- package/dist/src/transformers/QueryFlowDiagramGenerator.js.map +1 -1
- package/dist/src/transformers/SqlPrinter.d.ts +47 -2
- package/dist/src/transformers/SqlPrinter.js +138 -51
- package/dist/src/transformers/SqlPrinter.js.map +1 -1
- package/dist/src/utils/LexemeCursor.d.ts +57 -0
- package/dist/src/utils/LexemeCursor.js +191 -0
- package/dist/src/utils/LexemeCursor.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ export * from './models/SelectQuery';
|
|
|
5
5
|
export * from './models/ValueComponent';
|
|
6
6
|
export * from './models/ValuesQuery';
|
|
7
7
|
export * from './models/CTEError';
|
|
8
|
+
export * from './models/Lexeme';
|
|
8
9
|
export * from './transformers/CTECollector';
|
|
9
10
|
export * from './transformers/CTENormalizer';
|
|
11
|
+
export * from './transformers/CTEDependencyAnalyzer';
|
|
10
12
|
export * from './transformers/Formatter';
|
|
11
13
|
export * from './transformers/SqlFormatter';
|
|
12
14
|
export * from './transformers/PostgresJsonQueryBuilder';
|
|
@@ -35,3 +37,4 @@ export * from './utils/SqlSchemaValidator';
|
|
|
35
37
|
export * from './utils/JsonSchemaValidator';
|
|
36
38
|
export * from './utils/SchemaManager';
|
|
37
39
|
export * from './utils/CommentEditor';
|
|
40
|
+
export * from './utils/LexemeCursor';
|
package/dist/src/index.js
CHANGED
|
@@ -23,8 +23,10 @@ __exportStar(require("./models/SelectQuery"), exports);
|
|
|
23
23
|
__exportStar(require("./models/ValueComponent"), exports);
|
|
24
24
|
__exportStar(require("./models/ValuesQuery"), exports);
|
|
25
25
|
__exportStar(require("./models/CTEError"), exports);
|
|
26
|
+
__exportStar(require("./models/Lexeme"), exports);
|
|
26
27
|
__exportStar(require("./transformers/CTECollector"), exports);
|
|
27
28
|
__exportStar(require("./transformers/CTENormalizer"), exports);
|
|
29
|
+
__exportStar(require("./transformers/CTEDependencyAnalyzer"), exports);
|
|
28
30
|
__exportStar(require("./transformers/Formatter"), exports);
|
|
29
31
|
__exportStar(require("./transformers/SqlFormatter"), exports);
|
|
30
32
|
__exportStar(require("./transformers/PostgresJsonQueryBuilder"), exports);
|
|
@@ -59,5 +61,6 @@ __exportStar(require("./utils/SqlSchemaValidator"), exports);
|
|
|
59
61
|
__exportStar(require("./utils/JsonSchemaValidator"), exports);
|
|
60
62
|
__exportStar(require("./utils/SchemaManager"), exports);
|
|
61
63
|
__exportStar(require("./utils/CommentEditor"), exports);
|
|
64
|
+
__exportStar(require("./utils/LexemeCursor"), exports);
|
|
62
65
|
// Add more exports here if you want to expose additional public API
|
|
63
66
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AACrC,oDAAkC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,8DAA4C;AAC5C,8DAA4C;AAE5C,6DAA2C;AAC3C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC;AACrC,oDAAkC;AAClC,kDAAgC;AAEhC,8DAA4C;AAC5C,+DAA6C;AAC7C,uEAAqD;AACrD,2DAAyC;AACzC,8DAA4C;AAC5C,0EAAwD;AACxD,8DAA4C,CAAC,0BAA0B;AACvE,sEAAoD;AACpD,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,sEAAoD;AACpD,qEAAmD;AACnD,gFAQ+C;AAN3C,mIAAA,yBAAyB,OAAA;AACzB,oIAAA,0BAA0B,OAAA;AAM9B,wEAM2C;AALvC,6DAA6D;AAC7D,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,qHAAA,eAAe,OAAA;AACf,oHAAA,cAAc,OAAA;AAGlB,qEAAqE;AACrE,wEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,2EAAyD;AACzD,iFAA+D;AAE/D,iEAA+C;AAC/C,2EAAyD;AACzD,kEAAgD;AAChD,iEAA+C;AAC/C,uEAAqD;AACrD,qEAAmD;AAEnD,6DAA2C;AAC3C,8DAA4C;AAC5C,wDAAsC;AACtC,wDAAsC;AACtC,uDAAqC;AAGrC,oEAAoE"}
|
|
@@ -15,6 +15,17 @@ export declare enum TokenType {
|
|
|
15
15
|
StringSpecifier = 4096,// next token is string literal
|
|
16
16
|
Type = 8192
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Position information for a lexeme in the source text
|
|
20
|
+
*/
|
|
21
|
+
export interface LexemePosition {
|
|
22
|
+
startPosition: number;
|
|
23
|
+
endPosition: number;
|
|
24
|
+
startLine?: number;
|
|
25
|
+
startColumn?: number;
|
|
26
|
+
endLine?: number;
|
|
27
|
+
endColumn?: number;
|
|
28
|
+
}
|
|
18
29
|
/**
|
|
19
30
|
* Represents a lexical token in SQL parsing
|
|
20
31
|
*/
|
|
@@ -22,4 +33,5 @@ export interface Lexeme {
|
|
|
22
33
|
type: number;
|
|
23
34
|
value: string;
|
|
24
35
|
comments: string[] | null;
|
|
36
|
+
position?: LexemePosition;
|
|
25
37
|
}
|
|
@@ -5,12 +5,13 @@ export declare enum SqlPrintTokenType {
|
|
|
5
5
|
comma = 3,// Represents comma ','
|
|
6
6
|
parenthesis = 4,// Represents parentheses: ( ) { } [ ]
|
|
7
7
|
operator = 5,// Represents operators such as +, -, *, /
|
|
8
|
-
comment = 6
|
|
8
|
+
comment = 6,// SQL comments /* */ or --
|
|
9
9
|
parameter = 7,
|
|
10
10
|
dot = 8,
|
|
11
11
|
type = 9,
|
|
12
|
-
space = 10
|
|
13
|
-
argumentSplitter = 11
|
|
12
|
+
space = 10,// Whitespace characters
|
|
13
|
+
argumentSplitter = 11,
|
|
14
|
+
commentNewline = 12
|
|
14
15
|
}
|
|
15
16
|
export declare enum SqlPrintTokenContainerType {
|
|
16
17
|
ColumnReference = "ColumnReference",
|
|
@@ -76,7 +77,8 @@ export declare enum SqlPrintTokenContainerType {
|
|
|
76
77
|
UpdateClause = "UpdateClause",
|
|
77
78
|
ReturningClause = "ReturningClause",
|
|
78
79
|
SetClauseItem = "SetClauseItem",
|
|
79
|
-
CreateTableQuery = "CreateTableQuery"
|
|
80
|
+
CreateTableQuery = "CreateTableQuery",
|
|
81
|
+
CommentBlock = "CommentBlock"
|
|
80
82
|
}
|
|
81
83
|
export declare class SqlPrintToken {
|
|
82
84
|
/**
|
|
@@ -15,6 +15,7 @@ var SqlPrintTokenType;
|
|
|
15
15
|
SqlPrintTokenType[SqlPrintTokenType["type"] = 9] = "type";
|
|
16
16
|
SqlPrintTokenType[SqlPrintTokenType["space"] = 10] = "space";
|
|
17
17
|
SqlPrintTokenType[SqlPrintTokenType["argumentSplitter"] = 11] = "argumentSplitter";
|
|
18
|
+
SqlPrintTokenType[SqlPrintTokenType["commentNewline"] = 12] = "commentNewline";
|
|
18
19
|
})(SqlPrintTokenType || (exports.SqlPrintTokenType = SqlPrintTokenType = {}));
|
|
19
20
|
// Enum for container type, used for formatting and context
|
|
20
21
|
var SqlPrintTokenContainerType;
|
|
@@ -83,6 +84,7 @@ var SqlPrintTokenContainerType;
|
|
|
83
84
|
SqlPrintTokenContainerType["ReturningClause"] = "ReturningClause";
|
|
84
85
|
SqlPrintTokenContainerType["SetClauseItem"] = "SetClauseItem";
|
|
85
86
|
SqlPrintTokenContainerType["CreateTableQuery"] = "CreateTableQuery";
|
|
87
|
+
SqlPrintTokenContainerType["CommentBlock"] = "CommentBlock";
|
|
86
88
|
// Add more as needed
|
|
87
89
|
})(SqlPrintTokenContainerType || (exports.SqlPrintTokenContainerType = SqlPrintTokenContainerType = {}));
|
|
88
90
|
class SqlPrintToken {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlPrintToken.js","sourceRoot":"","sources":["../../../src/models/SqlPrintToken.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"SqlPrintToken.js","sourceRoot":"","sources":["../../../src/models/SqlPrintToken.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IACzB,mEAAa,CAAA;IACb,+DAAO,CAAA;IACP,2DAAK,CAAA;IACL,2DAAK,CAAA;IACL,uEAAW,CAAA;IACX,iEAAQ,CAAA;IACR,+DAAO,CAAA;IACP,mEAAS,CAAA;IACT,uDAAG,CAAA;IACH,yDAAI,CAAA;IACJ,4DAAK,CAAA;IACL,kFAAgB,CAAA;IAChB,8EAAc,CAAA;AAClB,CAAC,EAdW,iBAAiB,iCAAjB,iBAAiB,QAc5B;AAED,2DAA2D;AAC3D,IAAY,0BAmEX;AAnED,WAAY,0BAA0B;IAClC,iEAAmC,CAAA;IACnC,2DAA6B,CAAA;IAC7B,mEAAqC,CAAA;IACrC,yDAA2B,CAAA;IAC3B,qFAAuD,CAAA;IACvD,uCAAS,CAAA;IACT,qDAAuB,CAAA;IACvB,yDAA2B,CAAA;IAC3B,2DAA6B,CAAA;IAC7B,iEAAmC,CAAA;IACnC,mEAAqC,CAAA;IACrC,uEAAyC,CAAA;IACzC,uDAAyB,CAAA;IACzB,mEAAqC,CAAA;IACrC,6DAA+B,CAAA;IAC/B,6DAA+B,CAAA;IAC/B,iEAAmC,CAAA;IACnC,+DAAiC,CAAA;IACjC,+DAAiC,CAAA;IACjC,iEAAmC,CAAA;IACnC,qEAAuC,CAAA;IACvC,qDAAuB,CAAA;IACvB,iEAAmC,CAAA;IACnC,6EAA+C,CAAA;IAC/C,uDAAyB,CAAA;IACzB,2DAA6B,CAAA;IAC7B,uDAAyB,CAAA;IACzB,mEAAqC,CAAA;IACrC,uDAAyB,CAAA;IACzB,uDAAyB,CAAA;IACzB,2DAA6B,CAAA;IAC7B,iEAAmC,CAAA;IACnC,+DAAiC,CAAA;IACjC,6EAA+C,CAAA;IAC/C,qDAAuB,CAAA;IACvB,6DAA+B,CAAA;IAC/B,yDAA2B,CAAA;IAC3B,qEAAuC,CAAA;IACvC,6DAA+B,CAAA;IAC/B,6DAA+B,CAAA;IAC/B,2DAA6B,CAAA;IAC7B,+DAAiC,CAAA;IACjC,qEAAuC,CAAA;IACvC,qEAAuC,CAAA;IACvC,yDAA2B,CAAA;IAC3B,2DAA6B,CAAA;IAC7B,qDAAuB,CAAA;IACvB,2DAA6B,CAAA;IAC7B,qFAAuD,CAAA;IACvD,+CAAiB,CAAA;IACjB,yDAA2B,CAAA;IAC3B,uDAAyB,CAAA;IACzB,yDAA2B,CAAA;IAC3B,iEAAmC,CAAA;IACnC,+EAAiD,CAAA;IACjD,mFAAqD,CAAA;IACrD,yDAA2B,CAAA;IAC3B,iEAAmC,CAAA;IACnC,yDAA2B,CAAA;IAC3B,yDAA2B,CAAA;IAC3B,2DAA6B,CAAA;IAC7B,iEAAmC,CAAA;IACnC,6DAA+B,CAAA;IAC/B,mEAAqC,CAAA;IACrC,2DAA6B,CAAA;IAC7B,qBAAqB;AACzB,CAAC,EAnEW,0BAA0B,0CAA1B,0BAA0B,QAmErC;AAED,MAAa,aAAa;IAyBtB,YAAY,IAAuB,EAAE,OAAe,EAAE,EAAE,gBAA4C,0BAA0B,CAAC,IAAI;QALnI;;WAEG;QACH,gBAAW,GAAoB,EAAE,CAAC;QAG9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AA9BD,sCA8BC"}
|
|
@@ -8,6 +8,7 @@ const ValueParser_1 = require("./ValueParser");
|
|
|
8
8
|
const FullNameParser_1 = require("./FullNameParser");
|
|
9
9
|
const SelectQueryParser_1 = require("./SelectQueryParser");
|
|
10
10
|
const OrderByClauseParser_1 = require("./OrderByClauseParser");
|
|
11
|
+
const ParseError_1 = require("./ParseError");
|
|
11
12
|
class FunctionExpressionParser {
|
|
12
13
|
/**
|
|
13
14
|
* Parse ARRAY expressions - handles both ARRAY[...] (literal) and ARRAY(...) (query) syntax
|
|
@@ -151,7 +152,7 @@ class FunctionExpressionParser {
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
else {
|
|
154
|
-
throw
|
|
155
|
+
throw ParseError_1.ParseError.fromUnparsedLexemes(lexemes, idx, `Expected opening parenthesis after function name '${name.name}'.`);
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
static parseKeywordFunction(lexemes, index, keywords) {
|
|
@@ -186,7 +187,7 @@ class FunctionExpressionParser {
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
else if (required) {
|
|
189
|
-
throw
|
|
190
|
+
throw ParseError_1.ParseError.fromUnparsedLexemes(lexemes, idx, `Keyword '${key}' is required for ${name.name} function.`);
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
if (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.CloseParen)) {
|
|
@@ -212,11 +213,11 @@ class FunctionExpressionParser {
|
|
|
212
213
|
}
|
|
213
214
|
}
|
|
214
215
|
else {
|
|
215
|
-
throw
|
|
216
|
+
throw ParseError_1.ParseError.fromUnparsedLexemes(lexemes, idx, `Missing closing parenthesis for function '${name.name}'.`);
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
219
|
else {
|
|
219
|
-
throw
|
|
220
|
+
throw ParseError_1.ParseError.fromUnparsedLexemes(lexemes, idx, `Missing opening parenthesis for function '${name.name}'.`);
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
static parseTypeValue(lexemes, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionExpressionParser.js","sourceRoot":"","sources":["../../../src/parsers/FunctionExpressionParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FunctionExpressionParser.js","sourceRoot":"","sources":["../../../src/parsers/FunctionExpressionParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,13 +82,14 @@ class SelectQueryParser {
|
|
|
82
82
|
static parseSimpleSelectQuery(lexemes, index) {
|
|
83
83
|
let idx = index;
|
|
84
84
|
let withClauseResult = null;
|
|
85
|
-
// Capture comments from the first token for the query
|
|
86
|
-
const firstTokenComments = idx < lexemes.length ? lexemes[idx].comments : null;
|
|
87
85
|
// Parse optional WITH clause
|
|
88
86
|
if (idx < lexemes.length && lexemes[idx].value === 'with') {
|
|
89
87
|
withClauseResult = WithClauseParser_1.WithClauseParser.parseFromLexeme(lexemes, idx);
|
|
90
88
|
idx = withClauseResult.newIndex;
|
|
91
89
|
}
|
|
90
|
+
// Capture comments from the current token (after WITH clause if present)
|
|
91
|
+
// This avoids duplication with WITH clause comments
|
|
92
|
+
const firstTokenComments = idx < lexemes.length ? lexemes[idx].comments : null;
|
|
92
93
|
// Parse SELECT clause (required)
|
|
93
94
|
if (idx >= lexemes.length || lexemes[idx].value !== 'select') {
|
|
94
95
|
throw new Error(`Syntax error at position ${idx}: Expected 'SELECT' keyword but found "${idx < lexemes.length ? lexemes[idx].value : 'end of input'}". SELECT queries must start with the SELECT keyword.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectQueryParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectQueryParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SelectQueryParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectQueryParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,46 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
|
|
|
77
77
|
* Adds comment tokens to a SqlPrintToken based on the comments array
|
|
78
78
|
*/
|
|
79
79
|
private addCommentsToToken;
|
|
80
|
+
/**
|
|
81
|
+
* Creates CommentBlock containers for the given comments.
|
|
82
|
+
* Each CommentBlock contains: Comment -> CommentNewline -> Space
|
|
83
|
+
* This structure supports both oneliner and multiline formatting modes.
|
|
84
|
+
*/
|
|
85
|
+
private createCommentBlocks;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a single CommentBlock with the standard structure:
|
|
88
|
+
* Comment -> CommentNewline -> Space
|
|
89
|
+
*
|
|
90
|
+
* This structure supports both formatting modes:
|
|
91
|
+
* - Multiline mode: Comment + newline (space is filtered as leading space)
|
|
92
|
+
* - Oneliner mode: Comment + space (commentNewline is skipped)
|
|
93
|
+
*/
|
|
94
|
+
private createSingleCommentBlock;
|
|
95
|
+
/**
|
|
96
|
+
* Inserts comment blocks into a token and handles spacing logic.
|
|
97
|
+
* Adds separator spaces for clause-level containers and manages duplicate space removal.
|
|
98
|
+
*/
|
|
99
|
+
private insertCommentBlocksWithSpacing;
|
|
100
|
+
/**
|
|
101
|
+
* Determines whether a separator space should be added after comments for the given container type.
|
|
102
|
+
*
|
|
103
|
+
* Clause-level containers (SELECT, FROM, WHERE, etc.) need separator spaces because:
|
|
104
|
+
* - Comments appear before the main clause content
|
|
105
|
+
* - A space is needed to separate comment block from SQL tokens
|
|
106
|
+
*
|
|
107
|
+
* Item-level containers (SelectItem, etc.) don't need separator spaces because:
|
|
108
|
+
* - Comments are inline with the item content
|
|
109
|
+
* - Spacing is handled by existing token structure
|
|
110
|
+
*/
|
|
111
|
+
private shouldAddSeparatorSpace;
|
|
112
|
+
/**
|
|
113
|
+
* Checks if the container type represents a SQL clause (as opposed to an item within a clause).
|
|
114
|
+
*/
|
|
115
|
+
private isClauseLevelContainer;
|
|
116
|
+
/**
|
|
117
|
+
* Formats a comment string as a block comment.
|
|
118
|
+
*/
|
|
119
|
+
private formatBlockComment;
|
|
80
120
|
private visitValueList;
|
|
81
121
|
private visitColumnReference;
|
|
82
122
|
private visitFunctionCall;
|
|
@@ -342,20 +342,115 @@ class SqlPrintTokenParser {
|
|
|
342
342
|
if (!comments || comments.length === 0) {
|
|
343
343
|
return;
|
|
344
344
|
}
|
|
345
|
-
//
|
|
346
|
-
const
|
|
345
|
+
// Create CommentBlock containers for each comment
|
|
346
|
+
const commentBlocks = this.createCommentBlocks(comments);
|
|
347
|
+
// Insert comment blocks and handle spacing
|
|
348
|
+
if (commentBlocks.length > 0) {
|
|
349
|
+
this.insertCommentBlocksWithSpacing(token, commentBlocks);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Creates CommentBlock containers for the given comments.
|
|
354
|
+
* Each CommentBlock contains: Comment -> CommentNewline -> Space
|
|
355
|
+
* This structure supports both oneliner and multiline formatting modes.
|
|
356
|
+
*/
|
|
357
|
+
createCommentBlocks(comments) {
|
|
358
|
+
const commentBlocks = [];
|
|
347
359
|
for (const comment of comments) {
|
|
348
360
|
if (comment.trim()) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
361
|
+
commentBlocks.push(this.createSingleCommentBlock(comment));
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return commentBlocks;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Creates a single CommentBlock with the standard structure:
|
|
368
|
+
* Comment -> CommentNewline -> Space
|
|
369
|
+
*
|
|
370
|
+
* This structure supports both formatting modes:
|
|
371
|
+
* - Multiline mode: Comment + newline (space is filtered as leading space)
|
|
372
|
+
* - Oneliner mode: Comment + space (commentNewline is skipped)
|
|
373
|
+
*/
|
|
374
|
+
createSingleCommentBlock(comment) {
|
|
375
|
+
const commentBlock = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.container, '', SqlPrintToken_1.SqlPrintTokenContainerType.CommentBlock);
|
|
376
|
+
// Add comment token
|
|
377
|
+
const commentToken = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.comment, this.formatBlockComment(comment));
|
|
378
|
+
commentBlock.innerTokens.push(commentToken);
|
|
379
|
+
// Add conditional newline token for multiline mode
|
|
380
|
+
const commentNewlineToken = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.commentNewline, '');
|
|
381
|
+
commentBlock.innerTokens.push(commentNewlineToken);
|
|
382
|
+
// Add space token for oneliner mode spacing
|
|
383
|
+
const spaceToken = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.space, ' ');
|
|
384
|
+
commentBlock.innerTokens.push(spaceToken);
|
|
385
|
+
return commentBlock;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Inserts comment blocks into a token and handles spacing logic.
|
|
389
|
+
* Adds separator spaces for clause-level containers and manages duplicate space removal.
|
|
390
|
+
*/
|
|
391
|
+
insertCommentBlocksWithSpacing(token, commentBlocks) {
|
|
392
|
+
token.innerTokens.unshift(...commentBlocks);
|
|
393
|
+
// Add a separator space after comments only for certain container types
|
|
394
|
+
// where comments need to be separated from main content
|
|
395
|
+
const needsSeparatorSpace = this.shouldAddSeparatorSpace(token.containerType);
|
|
396
|
+
if (needsSeparatorSpace) {
|
|
397
|
+
const separatorSpace = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.space, ' ');
|
|
398
|
+
token.innerTokens.splice(commentBlocks.length, 0, separatorSpace);
|
|
399
|
+
// Remove the original space token after our separator if it exists
|
|
400
|
+
// This prevents duplicate spaces when comments are added
|
|
401
|
+
if (token.innerTokens.length > commentBlocks.length + 1 &&
|
|
402
|
+
token.innerTokens[commentBlocks.length + 1].type === SqlPrintToken_1.SqlPrintTokenType.space) {
|
|
403
|
+
token.innerTokens.splice(commentBlocks.length + 1, 1);
|
|
352
404
|
}
|
|
353
405
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
token.innerTokens.
|
|
406
|
+
else {
|
|
407
|
+
// For containers that don't need separator space, still remove duplicate spaces
|
|
408
|
+
if (token.innerTokens.length > commentBlocks.length &&
|
|
409
|
+
token.innerTokens[commentBlocks.length].type === SqlPrintToken_1.SqlPrintTokenType.space) {
|
|
410
|
+
token.innerTokens.splice(commentBlocks.length, 1);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Determines whether a separator space should be added after comments for the given container type.
|
|
416
|
+
*
|
|
417
|
+
* Clause-level containers (SELECT, FROM, WHERE, etc.) need separator spaces because:
|
|
418
|
+
* - Comments appear before the main clause content
|
|
419
|
+
* - A space is needed to separate comment block from SQL tokens
|
|
420
|
+
*
|
|
421
|
+
* Item-level containers (SelectItem, etc.) don't need separator spaces because:
|
|
422
|
+
* - Comments are inline with the item content
|
|
423
|
+
* - Spacing is handled by existing token structure
|
|
424
|
+
*/
|
|
425
|
+
shouldAddSeparatorSpace(containerType) {
|
|
426
|
+
return this.isClauseLevelContainer(containerType);
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Checks if the container type represents a SQL clause (as opposed to an item within a clause).
|
|
430
|
+
*/
|
|
431
|
+
isClauseLevelContainer(containerType) {
|
|
432
|
+
switch (containerType) {
|
|
433
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.SelectClause:
|
|
434
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.FromClause:
|
|
435
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.WhereClause:
|
|
436
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.GroupByClause:
|
|
437
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.HavingClause:
|
|
438
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.OrderByClause:
|
|
439
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.LimitClause:
|
|
440
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.OffsetClause:
|
|
441
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.WithClause:
|
|
442
|
+
case SqlPrintToken_1.SqlPrintTokenContainerType.SimpleSelectQuery:
|
|
443
|
+
return true;
|
|
444
|
+
default:
|
|
445
|
+
return false;
|
|
357
446
|
}
|
|
358
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Formats a comment string as a block comment.
|
|
450
|
+
*/
|
|
451
|
+
formatBlockComment(comment) {
|
|
452
|
+
return `/* ${comment} */`;
|
|
453
|
+
}
|
|
359
454
|
visitValueList(arg) {
|
|
360
455
|
const token = new SqlPrintToken_1.SqlPrintToken(SqlPrintToken_1.SqlPrintTokenType.container, '', SqlPrintToken_1.SqlPrintTokenContainerType.ValueList);
|
|
361
456
|
for (let i = 0; i < arg.values.length; i++) {
|