rawsql-ts 0.6.0-beta → 0.7.0-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.
Files changed (188) hide show
  1. package/README.md +141 -121
  2. package/dist/esm/index.js +1 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/models/Clause.js +111 -43
  5. package/dist/esm/models/Clause.js.map +1 -1
  6. package/dist/esm/models/CreateTableQuery.js +12 -22
  7. package/dist/esm/models/CreateTableQuery.js.map +1 -1
  8. package/dist/esm/models/KeywordTrie.js +2 -0
  9. package/dist/esm/models/KeywordTrie.js.map +1 -1
  10. package/dist/esm/models/SimpleSelectQuery.js +17 -15
  11. package/dist/esm/models/SimpleSelectQuery.js.map +1 -1
  12. package/dist/esm/models/SqlPrintToken.js +94 -0
  13. package/dist/esm/models/SqlPrintToken.js.map +1 -0
  14. package/dist/esm/models/ValueComponent.js +86 -17
  15. package/dist/esm/models/ValueComponent.js.map +1 -1
  16. package/dist/esm/parsers/FetchClauseParser.js +84 -0
  17. package/dist/esm/parsers/FetchClauseParser.js.map +1 -0
  18. package/dist/esm/parsers/FullNameParser.js +6 -1
  19. package/dist/esm/parsers/FullNameParser.js.map +1 -1
  20. package/dist/esm/parsers/IdentifierDecorator.js +13 -0
  21. package/dist/esm/parsers/IdentifierDecorator.js.map +1 -0
  22. package/dist/esm/parsers/InsertQueryParser.js +1 -1
  23. package/dist/esm/parsers/JoinClauseParser.js +13 -35
  24. package/dist/esm/parsers/JoinClauseParser.js.map +1 -1
  25. package/dist/esm/parsers/JoinOnClauseParser.js +17 -0
  26. package/dist/esm/parsers/JoinOnClauseParser.js.map +1 -0
  27. package/dist/esm/parsers/JoinUsingClauseParser.js +19 -0
  28. package/dist/esm/parsers/JoinUsingClauseParser.js.map +1 -0
  29. package/dist/esm/parsers/LimitClauseParser.js +1 -13
  30. package/dist/esm/parsers/LimitClauseParser.js.map +1 -1
  31. package/dist/esm/parsers/OffsetClauseParser.js +38 -0
  32. package/dist/esm/parsers/OffsetClauseParser.js.map +1 -0
  33. package/dist/esm/parsers/ParameterDecorator.js +36 -0
  34. package/dist/esm/parsers/ParameterDecorator.js.map +1 -0
  35. package/dist/esm/parsers/SelectClauseParser.js +25 -2
  36. package/dist/esm/parsers/SelectClauseParser.js.map +1 -1
  37. package/dist/esm/parsers/SelectQueryParser.js +40 -13
  38. package/dist/esm/parsers/SelectQueryParser.js.map +1 -1
  39. package/dist/esm/parsers/SourceParser.js +17 -13
  40. package/dist/esm/parsers/SourceParser.js.map +1 -1
  41. package/dist/esm/parsers/SqlPrintTokenParser.js +1058 -0
  42. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -0
  43. package/dist/esm/parsers/WindowClauseParser.js +27 -15
  44. package/dist/esm/parsers/WindowClauseParser.js.map +1 -1
  45. package/dist/esm/tokenReaders/BaseTokenReader.js +3 -3
  46. package/dist/esm/tokenReaders/BaseTokenReader.js.map +1 -1
  47. package/dist/esm/tokenReaders/CommandTokenReader.js +8 -2
  48. package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
  49. package/dist/esm/transformers/CTECollector.js +9 -10
  50. package/dist/esm/transformers/CTECollector.js.map +1 -1
  51. package/dist/esm/transformers/CTEDisabler.js +10 -9
  52. package/dist/esm/transformers/CTEDisabler.js.map +1 -1
  53. package/dist/esm/transformers/CTEInjector.js +2 -2
  54. package/dist/esm/transformers/Formatter.js +19 -646
  55. package/dist/esm/transformers/Formatter.js.map +1 -1
  56. package/dist/esm/transformers/LinePrinter.js +81 -0
  57. package/dist/esm/transformers/LinePrinter.js.map +1 -0
  58. package/dist/esm/transformers/QueryBuilder.js +8 -18
  59. package/dist/esm/transformers/QueryBuilder.js.map +1 -1
  60. package/dist/esm/transformers/SelectableColumnCollector.js +26 -9
  61. package/dist/esm/transformers/SelectableColumnCollector.js.map +1 -1
  62. package/dist/esm/transformers/SqlFormatter.js +31 -0
  63. package/dist/esm/transformers/SqlFormatter.js.map +1 -0
  64. package/dist/esm/transformers/SqlOutputToken.js +9 -0
  65. package/dist/esm/transformers/SqlOutputToken.js.map +1 -0
  66. package/dist/esm/transformers/SqlPrinter.js +144 -0
  67. package/dist/esm/transformers/SqlPrinter.js.map +1 -0
  68. package/dist/esm/transformers/TableSourceCollector.js +32 -16
  69. package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
  70. package/dist/esm/types/index.d.ts +1 -0
  71. package/dist/esm/types/models/Clause.d.ts +64 -13
  72. package/dist/esm/types/models/SimpleSelectQuery.d.ts +20 -5
  73. package/dist/esm/types/models/SqlPrintToken.d.ts +102 -0
  74. package/dist/esm/types/models/ValueComponent.d.ts +43 -9
  75. package/dist/esm/types/parsers/FetchClauseParser.d.ts +24 -0
  76. package/dist/esm/types/parsers/FullNameParser.d.ts +1 -0
  77. package/dist/esm/types/parsers/IdentifierDecorator.d.ts +9 -0
  78. package/dist/esm/types/parsers/JoinClauseParser.d.ts +0 -2
  79. package/dist/esm/types/parsers/JoinOnClauseParser.d.ts +8 -0
  80. package/dist/esm/types/parsers/JoinUsingClauseParser.d.ts +8 -0
  81. package/dist/esm/types/parsers/OffsetClauseParser.d.ts +9 -0
  82. package/dist/esm/types/parsers/ParameterDecorator.d.ts +20 -0
  83. package/dist/esm/types/parsers/SelectClauseParser.d.ts +19 -2
  84. package/dist/esm/types/parsers/SqlPrintTokenParser.d.ts +144 -0
  85. package/dist/esm/types/parsers/WindowClauseParser.d.ts +3 -3
  86. package/dist/esm/types/transformers/Formatter.d.ts +8 -105
  87. package/dist/esm/types/transformers/LinePrinter.d.ts +41 -0
  88. package/dist/esm/types/transformers/SelectableColumnCollector.d.ts +2 -0
  89. package/dist/esm/types/transformers/SqlFormatter.d.ts +40 -0
  90. package/dist/esm/types/transformers/SqlOutputToken.d.ts +6 -0
  91. package/dist/esm/types/transformers/SqlPrinter.d.ts +54 -0
  92. package/dist/esm/types/transformers/TableSourceCollector.d.ts +2 -0
  93. package/dist/esm/utils/stringUtils.js +17 -0
  94. package/dist/esm/utils/stringUtils.js.map +1 -1
  95. package/dist/index.d.ts +1 -0
  96. package/dist/index.js +1 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/models/Clause.d.ts +64 -13
  99. package/dist/models/Clause.js +115 -44
  100. package/dist/models/Clause.js.map +1 -1
  101. package/dist/models/CreateTableQuery.js +12 -22
  102. package/dist/models/CreateTableQuery.js.map +1 -1
  103. package/dist/models/KeywordTrie.js +2 -0
  104. package/dist/models/KeywordTrie.js.map +1 -1
  105. package/dist/models/SimpleSelectQuery.d.ts +20 -5
  106. package/dist/models/SimpleSelectQuery.js +17 -15
  107. package/dist/models/SimpleSelectQuery.js.map +1 -1
  108. package/dist/models/SqlPrintToken.d.ts +102 -0
  109. package/dist/models/SqlPrintToken.js +98 -0
  110. package/dist/models/SqlPrintToken.js.map +1 -0
  111. package/dist/models/ValueComponent.d.ts +43 -9
  112. package/dist/models/ValueComponent.js +88 -18
  113. package/dist/models/ValueComponent.js.map +1 -1
  114. package/dist/parsers/FetchClauseParser.d.ts +24 -0
  115. package/dist/parsers/FetchClauseParser.js +89 -0
  116. package/dist/parsers/FetchClauseParser.js.map +1 -0
  117. package/dist/parsers/FullNameParser.d.ts +1 -0
  118. package/dist/parsers/FullNameParser.js +6 -1
  119. package/dist/parsers/FullNameParser.js.map +1 -1
  120. package/dist/parsers/IdentifierDecorator.d.ts +9 -0
  121. package/dist/parsers/IdentifierDecorator.js +17 -0
  122. package/dist/parsers/IdentifierDecorator.js.map +1 -0
  123. package/dist/parsers/InsertQueryParser.js +1 -1
  124. package/dist/parsers/JoinClauseParser.d.ts +0 -2
  125. package/dist/parsers/JoinClauseParser.js +12 -34
  126. package/dist/parsers/JoinClauseParser.js.map +1 -1
  127. package/dist/parsers/JoinOnClauseParser.d.ts +8 -0
  128. package/dist/parsers/JoinOnClauseParser.js +21 -0
  129. package/dist/parsers/JoinOnClauseParser.js.map +1 -0
  130. package/dist/parsers/JoinUsingClauseParser.d.ts +8 -0
  131. package/dist/parsers/JoinUsingClauseParser.js +23 -0
  132. package/dist/parsers/JoinUsingClauseParser.js.map +1 -0
  133. package/dist/parsers/LimitClauseParser.js +1 -13
  134. package/dist/parsers/LimitClauseParser.js.map +1 -1
  135. package/dist/parsers/OffsetClauseParser.d.ts +9 -0
  136. package/dist/parsers/OffsetClauseParser.js +42 -0
  137. package/dist/parsers/OffsetClauseParser.js.map +1 -0
  138. package/dist/parsers/ParameterDecorator.d.ts +20 -0
  139. package/dist/parsers/ParameterDecorator.js +40 -0
  140. package/dist/parsers/ParameterDecorator.js.map +1 -0
  141. package/dist/parsers/SelectClauseParser.d.ts +19 -2
  142. package/dist/parsers/SelectClauseParser.js +28 -4
  143. package/dist/parsers/SelectClauseParser.js.map +1 -1
  144. package/dist/parsers/SelectQueryParser.js +40 -13
  145. package/dist/parsers/SelectQueryParser.js.map +1 -1
  146. package/dist/parsers/SourceParser.js +17 -13
  147. package/dist/parsers/SourceParser.js.map +1 -1
  148. package/dist/parsers/SqlPrintTokenParser.d.ts +144 -0
  149. package/dist/parsers/SqlPrintTokenParser.js +1062 -0
  150. package/dist/parsers/SqlPrintTokenParser.js.map +1 -0
  151. package/dist/parsers/WindowClauseParser.d.ts +3 -3
  152. package/dist/parsers/WindowClauseParser.js +26 -14
  153. package/dist/parsers/WindowClauseParser.js.map +1 -1
  154. package/dist/tokenReaders/BaseTokenReader.js +3 -3
  155. package/dist/tokenReaders/BaseTokenReader.js.map +1 -1
  156. package/dist/tokenReaders/CommandTokenReader.js +8 -2
  157. package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
  158. package/dist/transformers/CTECollector.js +9 -10
  159. package/dist/transformers/CTECollector.js.map +1 -1
  160. package/dist/transformers/CTEDisabler.js +9 -8
  161. package/dist/transformers/CTEDisabler.js.map +1 -1
  162. package/dist/transformers/CTEInjector.js +2 -2
  163. package/dist/transformers/Formatter.d.ts +8 -105
  164. package/dist/transformers/Formatter.js +20 -647
  165. package/dist/transformers/Formatter.js.map +1 -1
  166. package/dist/transformers/LinePrinter.d.ts +41 -0
  167. package/dist/transformers/LinePrinter.js +86 -0
  168. package/dist/transformers/LinePrinter.js.map +1 -0
  169. package/dist/transformers/QueryBuilder.js +8 -18
  170. package/dist/transformers/QueryBuilder.js.map +1 -1
  171. package/dist/transformers/SelectableColumnCollector.d.ts +2 -0
  172. package/dist/transformers/SelectableColumnCollector.js +25 -8
  173. package/dist/transformers/SelectableColumnCollector.js.map +1 -1
  174. package/dist/transformers/SqlFormatter.d.ts +40 -0
  175. package/dist/transformers/SqlFormatter.js +35 -0
  176. package/dist/transformers/SqlFormatter.js.map +1 -0
  177. package/dist/transformers/SqlOutputToken.d.ts +6 -0
  178. package/dist/transformers/SqlOutputToken.js +13 -0
  179. package/dist/transformers/SqlOutputToken.js.map +1 -0
  180. package/dist/transformers/SqlPrinter.d.ts +54 -0
  181. package/dist/transformers/SqlPrinter.js +148 -0
  182. package/dist/transformers/SqlPrinter.js.map +1 -0
  183. package/dist/transformers/TableSourceCollector.d.ts +2 -0
  184. package/dist/transformers/TableSourceCollector.js +30 -14
  185. package/dist/transformers/TableSourceCollector.js.map +1 -1
  186. package/dist/utils/stringUtils.js +17 -0
  187. package/dist/utils/stringUtils.js.map +1 -1
  188. package/package.json +2 -1
@@ -23,6 +23,8 @@ const ForClauseParser_1 = require("./ForClauseParser");
23
23
  const SqlTokenizer_1 = require("./SqlTokenizer");
24
24
  const WithClauseParser_1 = require("./WithClauseParser");
25
25
  const ValuesQueryParser_1 = require("./ValuesQueryParser");
26
+ const FetchClauseParser_1 = require("./FetchClauseParser");
27
+ const OffsetClauseParser_1 = require("./OffsetClauseParser");
26
28
  class SelectQueryParser {
27
29
  // Parse SQL string to AST (was: parse)
28
30
  static parse(query) {
@@ -92,58 +94,70 @@ class SelectQueryParser {
92
94
  let idx = index;
93
95
  let withClauseResult = null;
94
96
  // Parse optional WITH clause
95
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'with') {
97
+ if (idx < lexemes.length && lexemes[idx].value === 'with') {
96
98
  withClauseResult = WithClauseParser_1.WithClauseParser.parseFromLexeme(lexemes, idx);
97
99
  idx = withClauseResult.newIndex;
98
100
  }
99
101
  // Parse SELECT clause (required)
100
- if (idx >= lexemes.length || lexemes[idx].value.toLowerCase() !== 'select') {
102
+ if (idx >= lexemes.length || lexemes[idx].value !== 'select') {
101
103
  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.`);
102
104
  }
103
105
  const selectClauseResult = SelectClauseParser_1.SelectClauseParser.parseFromLexeme(lexemes, idx);
104
106
  idx = selectClauseResult.newIndex;
105
107
  // Parse FROM clause (optional)
106
108
  let fromClauseResult = null;
107
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'from') {
109
+ if (idx < lexemes.length && lexemes[idx].value === 'from') {
108
110
  fromClauseResult = FromClauseParser_1.FromClauseParser.parseFromLexeme(lexemes, idx);
109
111
  idx = fromClauseResult.newIndex;
110
112
  }
111
113
  // Parse WHERE clause (optional)
112
114
  let whereClauseResult = null;
113
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'where') {
115
+ if (idx < lexemes.length && lexemes[idx].value === 'where') {
114
116
  whereClauseResult = WhereClauseParser_1.WhereClauseParser.parseFromLexeme(lexemes, idx);
115
117
  idx = whereClauseResult.newIndex;
116
118
  }
117
119
  // Parse GROUP BY clause (optional)
118
120
  let groupByClauseResult = null;
119
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'group by') {
121
+ if (idx < lexemes.length && lexemes[idx].value === 'group by') {
120
122
  groupByClauseResult = GroupByParser_1.GroupByClauseParser.parseFromLexeme(lexemes, idx);
121
123
  idx = groupByClauseResult.newIndex;
122
124
  }
123
125
  // Parse HAVING clause (optional)
124
126
  let havingClauseResult = null;
125
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'having') {
127
+ if (idx < lexemes.length && lexemes[idx].value === 'having') {
126
128
  havingClauseResult = HavingParser_1.HavingClauseParser.parseFromLexeme(lexemes, idx);
127
129
  idx = havingClauseResult.newIndex;
128
130
  }
129
131
  // Parse WINDOW clause (optional)
130
- let windowFrameClauseResult = null;
131
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'window') {
132
- windowFrameClauseResult = WindowClauseParser_1.WindowClauseParser.parseFromLexeme(lexemes, idx);
133
- idx = windowFrameClauseResult.newIndex;
132
+ let windowClauseResult = null;
133
+ if (idx < lexemes.length && lexemes[idx].value === 'window') {
134
+ windowClauseResult = WindowClauseParser_1.WindowClauseParser.parseFromLexeme(lexemes, idx);
135
+ idx = windowClauseResult.newIndex;
134
136
  }
135
137
  // Parse ORDER BY clause (optional)
136
138
  let orderByClauseResult = null;
137
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'order by') {
139
+ if (idx < lexemes.length && lexemes[idx].value === 'order by') {
138
140
  orderByClauseResult = OrderByClauseParser_1.OrderByClauseParser.parseFromLexeme(lexemes, idx);
139
141
  idx = orderByClauseResult.newIndex;
140
142
  }
141
143
  // Parse LIMIT clause (optional)
142
144
  let limitClauseResult = null;
143
- if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'limit') {
145
+ if (idx < lexemes.length && lexemes[idx].value === 'limit') {
144
146
  limitClauseResult = LimitClauseParser_1.LimitClauseParser.parseFromLexeme(lexemes, idx);
145
147
  idx = limitClauseResult.newIndex;
146
148
  }
149
+ // Parse OFFSET clause (optional)
150
+ let offsetClauseResult = null;
151
+ if (idx < lexemes.length && lexemes[idx].value === 'offset') {
152
+ offsetClauseResult = OffsetClauseParser_1.OffsetClauseParser.parseFromLexeme(lexemes, idx);
153
+ idx = offsetClauseResult.newIndex;
154
+ }
155
+ // Parse FETCH clause (optional)
156
+ let fetchClauseResult = null;
157
+ if (idx < lexemes.length && lexemes[idx].value === 'fetch') {
158
+ fetchClauseResult = FetchClauseParser_1.FetchClauseParser.parseFromLexeme(lexemes, idx);
159
+ idx = fetchClauseResult.newIndex;
160
+ }
147
161
  // Parse FOR clause (optional)
148
162
  let forClauseResult = null;
149
163
  if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'for') {
@@ -151,7 +165,20 @@ class SelectQueryParser {
151
165
  idx = forClauseResult.newIndex;
152
166
  }
153
167
  // Create and return the SelectQuery object
154
- const selectQuery = new SelectQuery_1.SimpleSelectQuery(withClauseResult ? withClauseResult.value : null, selectClauseResult.value, fromClauseResult ? fromClauseResult.value : null, whereClauseResult ? whereClauseResult.value : null, groupByClauseResult ? groupByClauseResult.value : null, havingClauseResult ? havingClauseResult.value : null, orderByClauseResult ? orderByClauseResult.value : null, windowFrameClauseResult ? windowFrameClauseResult.value : null, limitClauseResult ? limitClauseResult.value : null, forClauseResult ? forClauseResult.value : null);
168
+ const selectQuery = new SelectQuery_1.SimpleSelectQuery({
169
+ withClause: withClauseResult ? withClauseResult.value : null,
170
+ selectClause: selectClauseResult.value,
171
+ fromClause: fromClauseResult ? fromClauseResult.value : null,
172
+ whereClause: whereClauseResult ? whereClauseResult.value : null,
173
+ groupByClause: groupByClauseResult ? groupByClauseResult.value : null,
174
+ havingClause: havingClauseResult ? havingClauseResult.value : null,
175
+ orderByClause: orderByClauseResult ? orderByClauseResult.value : null,
176
+ windowClause: windowClauseResult ? windowClauseResult.value : null,
177
+ limitClause: limitClauseResult ? limitClauseResult.value : null,
178
+ offsetClause: offsetClauseResult ? offsetClauseResult.value : null,
179
+ fetchClause: fetchClauseResult ? fetchClauseResult.value : null,
180
+ forClause: forClauseResult ? forClauseResult.value : null
181
+ });
155
182
  return { value: selectQuery, newIndex: idx };
156
183
  }
157
184
  static parseValuesQuery(lexemes, index) {
@@ -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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"}
@@ -31,34 +31,38 @@ class SourceParser {
31
31
  * @returns An object containing the parsed TableSource and the new index.
32
32
  */
33
33
  static parseTableSourceFromLexemes(lexemes, index) {
34
- return this.parseTableSource(lexemes, index);
34
+ const fullNameResult = FullNameParser_1.FullNameParser.parseFromLexeme(lexemes, index);
35
+ return this.parseTableSource(fullNameResult);
35
36
  }
36
37
  // Parse from lexeme array (was: parse)
37
38
  static parseFromLexeme(lexemes, index) {
38
- const idx = index;
39
+ let idx = index;
39
40
  // Handle subquery
40
41
  if (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.OpenParen)) {
41
42
  return this.parseParenSource(lexemes, idx);
42
43
  }
43
- // Handle function-based source
44
- if (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.Function)) {
45
- return this.parseFunctionSource(lexemes, idx);
44
+ // Retrieve the full name only once and reuse the result
45
+ const fullNameResult = FullNameParser_1.FullNameParser.parseFromLexeme(lexemes, idx);
46
+ // Handle function-based source (determine by lastTokenType)
47
+ if (fullNameResult.lastTokenType & Lexeme_1.TokenType.Function) {
48
+ // Also use fullNameResult as argument for parseFunctionSource
49
+ return SourceParser.parseFunctionSource(lexemes, fullNameResult);
46
50
  }
47
51
  // Handle table source (regular table, potentially schema-qualified)
48
- return this.parseTableSource(lexemes, idx);
52
+ return SourceParser.parseTableSource(fullNameResult);
49
53
  }
50
- static parseTableSource(lexemes, index) {
51
- const { namespaces, name, newIndex } = FullNameParser_1.FullNameParser.parseFromLexeme(lexemes, index);
54
+ static parseTableSource(fullNameResult) {
55
+ const { namespaces, name, newIndex } = fullNameResult;
52
56
  const value = new Clause_1.TableSource(namespaces, name.name);
53
57
  return { value, newIndex };
54
58
  }
55
- static parseFunctionSource(lexemes, index) {
56
- let idx = index;
57
- const functionName = lexemes[idx].value;
58
- idx++;
59
+ static parseFunctionSource(lexemes, fullNameResult) {
60
+ let idx = fullNameResult.newIndex;
61
+ const { namespaces, name } = fullNameResult;
59
62
  const argument = ValueParser_1.ValueParser.parseArgument(Lexeme_1.TokenType.OpenParen, Lexeme_1.TokenType.CloseParen, lexemes, idx);
60
63
  idx = argument.newIndex;
61
- const result = new Clause_1.FunctionSource(functionName, argument.value);
64
+ const functionName = name.name;
65
+ const result = new Clause_1.FunctionSource({ namespaces: namespaces, name: functionName }, argument.value);
62
66
  return { value: result, newIndex: idx };
63
67
  }
64
68
  static parseParenSource(lexemes, index) {
@@ -1 +1 @@
1
- {"version":3,"file":"SourceParser.js","sourceRoot":"","sources":["../../src/parsers/SourceParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceParser.js","sourceRoot":"","sources":["../../src/parsers/SourceParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { FromClause, JoinClause, JoinOnClause, JoinUsingClause, FunctionSource, SourceAliasExpression, WhereClause, GroupByClause, HavingClause, SubQuerySource, WindowFrameClause, LimitClause, ForClause, OffsetClause, WindowsClause as WindowClause, CommonTable, WithClause, FetchClause, FetchExpression, UpdateClause, SetClause, ReturningClause, SetClauseItem } from "../models/Clause";
2
+ import { SimpleSelectQuery, ValuesQuery } from "../models/SelectQuery";
3
+ import { SqlComponent, SqlComponentVisitor } from "../models/SqlComponent";
4
+ import { SqlPrintToken } from "../models/SqlPrintToken";
5
+ import { InlineQuery } from "../models/ValueComponent";
6
+ import { IdentifierDecorator } from "./IdentifierDecorator";
7
+ import { ParameterDecorator } from "./ParameterDecorator";
8
+ import { CreateTableQuery } from "../models/CreateTableQuery";
9
+ export declare enum ParameterStyle {
10
+ Anonymous = "anonymous",
11
+ Indexed = "indexed",
12
+ Named = "named"
13
+ }
14
+ export interface FormatterConfig {
15
+ identifierEscape?: {
16
+ start: string;
17
+ end: string;
18
+ };
19
+ parameterSymbol?: string | {
20
+ start: string;
21
+ end: string;
22
+ };
23
+ /**
24
+ * Parameter style: anonymous (?), indexed ($1), or named (:name)
25
+ */
26
+ parameterStyle?: ParameterStyle;
27
+ }
28
+ export declare const PRESETS: Record<string, FormatterConfig>;
29
+ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrintToken> {
30
+ private static readonly SPACE_TOKEN;
31
+ private static readonly COMMA_TOKEN;
32
+ private static readonly ARGUMENT_SPLIT_COMMA_TOKEN;
33
+ private static readonly PAREN_OPEN_TOKEN;
34
+ private static readonly PAREN_CLOSE_TOKEN;
35
+ private static readonly DOT_TOKEN;
36
+ private handlers;
37
+ parameterDecorator: ParameterDecorator;
38
+ identifierDecorator: IdentifierDecorator;
39
+ index: number;
40
+ constructor(options?: {
41
+ preset?: FormatterConfig;
42
+ identifierEscape?: {
43
+ start: string;
44
+ end: string;
45
+ };
46
+ parameterSymbol?: string | {
47
+ start: string;
48
+ end: string;
49
+ };
50
+ parameterStyle?: 'anonymous' | 'indexed' | 'named';
51
+ });
52
+ /**
53
+ * Pretty-prints a BinarySelectQuery (e.g., UNION, INTERSECT, EXCEPT).
54
+ * This will recursively print left and right queries, separated by the operator.
55
+ * @param arg BinarySelectQuery
56
+ */
57
+ private visitBinarySelectQuery;
58
+ /**
59
+ * Returns an array of tokens representing a comma followed by a space.
60
+ * This is a common pattern in SQL pretty-printing.
61
+ */
62
+ private static commaSpaceTokens;
63
+ private static argumentCommaSpaceTokens;
64
+ private visitQualifiedName;
65
+ private visitPartitionByClause;
66
+ private visitOrderByClause;
67
+ /**
68
+ * Print an OrderByItem (expression [asc|desc] [nulls first|last])
69
+ */
70
+ private visitOrderByItem;
71
+ parse(arg: SqlComponent): {
72
+ token: SqlPrintToken;
73
+ params: any[] | Record<string, any>[] | Record<string, any>;
74
+ };
75
+ visit(arg: SqlComponent): SqlPrintToken;
76
+ private visitValueList;
77
+ private visitColumnReference;
78
+ private visitFunctionCall;
79
+ private visitUnaryExpression;
80
+ private visitBinaryExpression;
81
+ private visitLiteralValue;
82
+ private visitParameterExpression;
83
+ private visitSwitchCaseArgument;
84
+ private createElseToken;
85
+ private visitCaseKeyValuePair;
86
+ private visitRawString;
87
+ private visitIdentifierString;
88
+ private visitParenExpression;
89
+ private visitCastExpression;
90
+ private visitCaseExpression;
91
+ private visitArrayExpression;
92
+ private visitBetweenExpression;
93
+ private visitStringSpecifierExpression;
94
+ private visitTypeValue;
95
+ private visitTupleExpression;
96
+ private visitWindowFrameExpression;
97
+ private visitWindowFrameSpec;
98
+ /**
99
+ * Prints a window frame boundary value, such as "5 preceding" or "3 following".
100
+ * @param arg WindowFrameBoundaryValue
101
+ */
102
+ private visitWindowFrameBoundaryValue;
103
+ /**
104
+ * Prints a static window frame bound, such as "unbounded preceding", "current row", or "unbounded following".
105
+ * @param arg WindowFrameBoundStatic
106
+ */
107
+ private visitWindowFrameBoundStatic;
108
+ private visitSelectItem;
109
+ private visitSelectClause;
110
+ private visitDistinct;
111
+ private visitDistinctOn;
112
+ private visitTableSource;
113
+ private visitSourceExpression;
114
+ visitFromClause(arg: FromClause): SqlPrintToken;
115
+ visitJoinClause(arg: JoinClause): SqlPrintToken;
116
+ visitJoinOnClause(arg: JoinOnClause): SqlPrintToken;
117
+ visitJoinUsingClause(arg: JoinUsingClause): SqlPrintToken;
118
+ visitFunctionSource(arg: FunctionSource): SqlPrintToken;
119
+ visitSourceAliasExpression(arg: SourceAliasExpression): SqlPrintToken;
120
+ visitWhereClause(arg: WhereClause): SqlPrintToken;
121
+ visitGroupByClause(arg: GroupByClause): SqlPrintToken;
122
+ visitHavingClause(arg: HavingClause): SqlPrintToken;
123
+ visitWindowClause(arg: WindowClause): SqlPrintToken;
124
+ visitWindowFrameClause(arg: WindowFrameClause): SqlPrintToken;
125
+ visitLimitClause(arg: LimitClause): SqlPrintToken;
126
+ visitOffsetClause(arg: OffsetClause): SqlPrintToken;
127
+ visitFetchClause(arg: FetchClause): SqlPrintToken;
128
+ visitFetchExpression(arg: FetchExpression): SqlPrintToken;
129
+ visitForClause(arg: ForClause): SqlPrintToken;
130
+ visitWithClause(arg: WithClause): SqlPrintToken;
131
+ visitCommonTable(arg: CommonTable): SqlPrintToken;
132
+ visitSimpleQuery(arg: SimpleSelectQuery): SqlPrintToken;
133
+ visitSubQuerySource(arg: SubQuerySource): SqlPrintToken;
134
+ visitValuesQuery(arg: ValuesQuery): SqlPrintToken;
135
+ visitInlineQuery(arg: InlineQuery): SqlPrintToken;
136
+ private visitInsertQuery;
137
+ private visitInsertClause;
138
+ private visitUpdateQuery;
139
+ visitUpdateClause(arg: UpdateClause): SqlPrintToken;
140
+ visitSetClause(arg: SetClause): SqlPrintToken;
141
+ visitSetClauseItem(arg: SetClauseItem): SqlPrintToken;
142
+ visitReturningClause(arg: ReturningClause): SqlPrintToken;
143
+ visitCreateTableQuery(arg: CreateTableQuery): SqlPrintToken;
144
+ }