rawsql-ts 0.11.34-beta → 0.11.36-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 (111) hide show
  1. package/dist/esm/index.min.js +22 -22
  2. package/dist/esm/index.min.js.map +3 -3
  3. package/dist/esm/src/models/BinarySelectQuery.d.ts +2 -0
  4. package/dist/esm/src/models/BinarySelectQuery.js +2 -0
  5. package/dist/esm/src/models/BinarySelectQuery.js.map +1 -1
  6. package/dist/esm/src/models/Clause.d.ts +2 -0
  7. package/dist/esm/src/models/Clause.js +2 -0
  8. package/dist/esm/src/models/Clause.js.map +1 -1
  9. package/dist/esm/src/models/SelectQuery.d.ts +2 -0
  10. package/dist/esm/src/models/SelectQuery.js.map +1 -1
  11. package/dist/esm/src/models/SimpleSelectQuery.d.ts +2 -0
  12. package/dist/esm/src/models/SimpleSelectQuery.js +2 -0
  13. package/dist/esm/src/models/SimpleSelectQuery.js.map +1 -1
  14. package/dist/esm/src/models/ValueComponent.d.ts +2 -2
  15. package/dist/esm/src/models/ValueComponent.js +2 -2
  16. package/dist/esm/src/models/ValueComponent.js.map +1 -1
  17. package/dist/esm/src/models/ValuesQuery.d.ts +2 -0
  18. package/dist/esm/src/models/ValuesQuery.js +2 -0
  19. package/dist/esm/src/models/ValuesQuery.js.map +1 -1
  20. package/dist/esm/src/parsers/CommonTableParser.d.ts +1 -0
  21. package/dist/esm/src/parsers/CommonTableParser.js +9 -2
  22. package/dist/esm/src/parsers/CommonTableParser.js.map +1 -1
  23. package/dist/esm/src/parsers/FunctionExpressionParser.d.ts +8 -1
  24. package/dist/esm/src/parsers/FunctionExpressionParser.js +75 -7
  25. package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
  26. package/dist/esm/src/parsers/LiteralParser.js +5 -5
  27. package/dist/esm/src/parsers/LiteralParser.js.map +1 -1
  28. package/dist/esm/src/parsers/ParenExpressionParser.js +5 -0
  29. package/dist/esm/src/parsers/ParenExpressionParser.js.map +1 -1
  30. package/dist/esm/src/parsers/SelectClauseParser.js +7 -1
  31. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  32. package/dist/esm/src/parsers/SelectQueryParser.d.ts +6 -0
  33. package/dist/esm/src/parsers/SelectQueryParser.js +76 -14
  34. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  35. package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +2 -1
  36. package/dist/esm/src/parsers/SqlPrintTokenParser.js +104 -16
  37. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  38. package/dist/esm/src/parsers/ValueParser.js +6 -2
  39. package/dist/esm/src/parsers/ValueParser.js.map +1 -1
  40. package/dist/esm/src/parsers/WithClauseParser.d.ts +1 -0
  41. package/dist/esm/src/parsers/WithClauseParser.js +27 -3
  42. package/dist/esm/src/parsers/WithClauseParser.js.map +1 -1
  43. package/dist/esm/src/tokenReaders/LiteralTokenReader.js +7 -15
  44. package/dist/esm/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  45. package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js +2 -2
  46. package/dist/esm/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
  47. package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js +2 -2
  48. package/dist/esm/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
  49. package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js +2 -2
  50. package/dist/esm/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
  51. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  52. package/dist/esm/src/utils/CommentEditor.d.ts +11 -0
  53. package/dist/esm/src/utils/CommentEditor.js +141 -29
  54. package/dist/esm/src/utils/CommentEditor.js.map +1 -1
  55. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  56. package/dist/index.min.js +23 -23
  57. package/dist/index.min.js.map +3 -3
  58. package/dist/src/models/BinarySelectQuery.d.ts +2 -0
  59. package/dist/src/models/BinarySelectQuery.js +2 -0
  60. package/dist/src/models/BinarySelectQuery.js.map +1 -1
  61. package/dist/src/models/Clause.d.ts +2 -0
  62. package/dist/src/models/Clause.js +2 -0
  63. package/dist/src/models/Clause.js.map +1 -1
  64. package/dist/src/models/SelectQuery.d.ts +2 -0
  65. package/dist/src/models/SelectQuery.js.map +1 -1
  66. package/dist/src/models/SimpleSelectQuery.d.ts +2 -0
  67. package/dist/src/models/SimpleSelectQuery.js +2 -0
  68. package/dist/src/models/SimpleSelectQuery.js.map +1 -1
  69. package/dist/src/models/ValueComponent.d.ts +2 -2
  70. package/dist/src/models/ValueComponent.js +2 -2
  71. package/dist/src/models/ValueComponent.js.map +1 -1
  72. package/dist/src/models/ValuesQuery.d.ts +2 -0
  73. package/dist/src/models/ValuesQuery.js +2 -0
  74. package/dist/src/models/ValuesQuery.js.map +1 -1
  75. package/dist/src/parsers/CommonTableParser.d.ts +1 -0
  76. package/dist/src/parsers/CommonTableParser.js +9 -2
  77. package/dist/src/parsers/CommonTableParser.js.map +1 -1
  78. package/dist/src/parsers/FunctionExpressionParser.d.ts +8 -1
  79. package/dist/src/parsers/FunctionExpressionParser.js +75 -7
  80. package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
  81. package/dist/src/parsers/LiteralParser.js +5 -5
  82. package/dist/src/parsers/LiteralParser.js.map +1 -1
  83. package/dist/src/parsers/ParenExpressionParser.js +5 -0
  84. package/dist/src/parsers/ParenExpressionParser.js.map +1 -1
  85. package/dist/src/parsers/SelectClauseParser.js +7 -1
  86. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  87. package/dist/src/parsers/SelectQueryParser.d.ts +6 -0
  88. package/dist/src/parsers/SelectQueryParser.js +76 -14
  89. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  90. package/dist/src/parsers/SqlPrintTokenParser.d.ts +2 -1
  91. package/dist/src/parsers/SqlPrintTokenParser.js +104 -16
  92. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  93. package/dist/src/parsers/ValueParser.js +6 -2
  94. package/dist/src/parsers/ValueParser.js.map +1 -1
  95. package/dist/src/parsers/WithClauseParser.d.ts +1 -0
  96. package/dist/src/parsers/WithClauseParser.js +27 -3
  97. package/dist/src/parsers/WithClauseParser.js.map +1 -1
  98. package/dist/src/tokenReaders/LiteralTokenReader.js +7 -15
  99. package/dist/src/tokenReaders/LiteralTokenReader.js.map +1 -1
  100. package/dist/src/transformers/PostgresArrayEntityCteBuilder.js +2 -2
  101. package/dist/src/transformers/PostgresArrayEntityCteBuilder.js.map +1 -1
  102. package/dist/src/transformers/PostgresJsonQueryBuilder.js +2 -2
  103. package/dist/src/transformers/PostgresJsonQueryBuilder.js.map +1 -1
  104. package/dist/src/transformers/PostgresObjectEntityCteBuilder.js +2 -2
  105. package/dist/src/transformers/PostgresObjectEntityCteBuilder.js.map +1 -1
  106. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  107. package/dist/src/utils/CommentEditor.d.ts +11 -0
  108. package/dist/src/utils/CommentEditor.js +141 -29
  109. package/dist/src/utils/CommentEditor.js.map +1 -1
  110. package/dist/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +1 -1
@@ -21,10 +21,8 @@ export class LiteralParser {
21
21
  }
22
22
  // Otherwise, treat it as a string
23
23
  else {
24
- // Check if it's a dollar-quoted string
25
- // Pattern: $tag$ content $tag$ where tag can be empty
26
- const isDollarString = /^\$[^$]*\$[\s\S]*\$[^$]*\$$/.test(valueText);
27
- if (isDollarString) {
24
+ // Check if it's a dollar-quoted string or regular quoted string
25
+ if (/^\$[^$]*\$[\s\S]*\$[^$]*\$$/.test(valueText)) {
28
26
  // For dollar-quoted strings, store the entire string including tags
29
27
  parsedValue = valueText;
30
28
  }
@@ -35,8 +33,10 @@ export class LiteralParser {
35
33
  else {
36
34
  parsedValue = valueText;
37
35
  }
36
+ // Check if it was originally a quoted string literal
37
+ const isStringLiteral = valueText.startsWith("'") && valueText.endsWith("'");
38
38
  idx++;
39
- const value = new LiteralValue(parsedValue, isDollarString);
39
+ const value = new LiteralValue(parsedValue, undefined, isStringLiteral);
40
40
  return { value, newIndex: idx };
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LiteralParser.js","sourceRoot":"","sources":["../../../../src/parsers/LiteralParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,OAAO,aAAa;IACf,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,wBAAwB;QACxB,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,WAA6C,CAAC;QAElD,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,GAAG,EAAE,CAAA;YACL,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,0BAA0B;QAC1B,IAAI,mCAAmC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,GAAG,EAAE,CAAA;YACL,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,kCAAkC;aAC7B,CAAC;YACF,uCAAuC;YACvC,sDAAsD;YACtD,MAAM,cAAc,GAAG,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErE,IAAI,cAAc,EAAE,CAAC;gBACjB,oEAAoE;gBACpE,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;iBAAM,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,mCAAmC;gBACnC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;YAED,GAAG,EAAE,CAAA;YACL,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC5D,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"LiteralParser.js","sourceRoot":"","sources":["../../../../src/parsers/LiteralParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,OAAO,aAAa;IACf,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,wBAAwB;QACxB,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,WAA6C,CAAC;QAElD,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,GAAG,EAAE,CAAA;YACL,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,0BAA0B;QAC1B,IAAI,mCAAmC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,GAAG,EAAE,CAAA;YACL,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,kCAAkC;aAC7B,CAAC;YACF,gEAAgE;YAChE,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,oEAAoE;gBACpE,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;iBAAM,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,mCAAmC;gBACnC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;YAED,qDAAqD;YACrD,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE7E,GAAG,EAAE,CAAA;YACL,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACxE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}
@@ -14,8 +14,13 @@ export class ParenExpressionParser {
14
14
  if (idx >= lexemes.length || lexemes[idx].type !== TokenType.CloseParen) {
15
15
  throw new Error(`Expected ')' at index ${idx}, but found ${lexemes[idx].value}`);
16
16
  }
17
+ // Capture comments from the closing parenthesis
18
+ const closingComments = lexemes[idx].comments;
17
19
  idx++; // Skip the ')' token
18
20
  const value = new InlineQuery(result.value);
21
+ if (closingComments && closingComments.length > 0) {
22
+ value.comments = closingComments;
23
+ }
19
24
  return { value, newIndex: idx };
20
25
  }
21
26
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ParenExpressionParser.js","sourceRoot":"","sources":["../../../../src/parsers/ParenExpressionParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAkB,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,qBAAqB;IACvB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,qBAAqB;QACrB,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,IAAI,CACvE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAClH,EAAE,CAAC;YACA,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;YAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/D,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,gCAAgC;YAChC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,eAAe,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,GAAG,EAAE,CAAC,CAAC,qBAAqB;YAE5B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACpG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"ParenExpressionParser.js","sourceRoot":"","sources":["../../../../src/parsers/ParenExpressionParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAkB,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,qBAAqB;IACvB,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,qBAAqB;QACrB,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,IAAI,CACvE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAClH,EAAE,CAAC;YACA,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;YAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/D,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,gCAAgC;YAChC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,eAAe,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,gDAAgD;YAChD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC9C,GAAG,EAAE,CAAC,CAAC,qBAAqB;YAE5B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACpG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEtB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}
@@ -98,9 +98,15 @@ export class SelectItemParser {
98
98
  }
99
99
  if (idx < lexemes.length && (lexemes[idx].type & TokenType.Identifier)) {
100
100
  const alias = lexemes[idx].value;
101
+ const aliasComments = lexemes[idx].comments; // Capture comments from alias token
101
102
  idx++;
103
+ const selectItem = new SelectItem(value, alias);
104
+ // Set comments from the alias token to the SelectItem
105
+ if (aliasComments && aliasComments.length > 0) {
106
+ selectItem.comments = aliasComments;
107
+ }
102
108
  return {
103
- value: new SelectItem(value, alias),
109
+ value: selectItem,
104
110
  newIndex: idx,
105
111
  };
106
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectClauseParser.js","sourceRoot":"","sources":["../../../../src/parsers/SelectClauseParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectClauseParser.js","sourceRoot":"","sources":["../../../../src/parsers/SelectClauseParser.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,12 @@ export declare class SelectQueryParser {
31
31
  static parseAsync(query: string): Promise<SelectQuery>;
32
32
  private static unionCommandSet;
33
33
  private static selectCommandSet;
34
+ /**
35
+ * Transfer headerComments from source query to target query and clear from source
36
+ * @param source Source query to transfer headerComments from
37
+ * @param target Target query to receive headerComments
38
+ */
39
+ private static transferHeaderComments;
34
40
  static parseFromLexeme(lexemes: Lexeme[], index: number): {
35
41
  value: SelectQuery;
36
42
  newIndex: number;
@@ -125,6 +125,18 @@ export class SelectQueryParser {
125
125
  return Promise.resolve(this.parse(query));
126
126
  });
127
127
  }
128
+ /**
129
+ * Transfer headerComments from source query to target query and clear from source
130
+ * @param source Source query to transfer headerComments from
131
+ * @param target Target query to receive headerComments
132
+ */
133
+ static transferHeaderComments(source, target) {
134
+ if (source.headerComments) {
135
+ target.headerComments = source.headerComments;
136
+ // Clear headerComments from the source query to avoid duplication
137
+ source.headerComments = null;
138
+ }
139
+ }
128
140
  // Parse from lexeme array (was: parse)
129
141
  static parseFromLexeme(lexemes, index) {
130
142
  let idx = index;
@@ -143,7 +155,9 @@ export class SelectQueryParser {
143
155
  idx = firstResult.newIndex;
144
156
  // check 'union'
145
157
  while (idx < lexemes.length && this.unionCommandSet.has(lexemes[idx].value.toLowerCase())) {
146
- const operator = lexemes[idx].value.toLowerCase();
158
+ const operatorLexeme = lexemes[idx];
159
+ const operator = operatorLexeme.value.toLowerCase();
160
+ const unionComments = operatorLexeme.comments; // Comments from UNION keyword
147
161
  idx++;
148
162
  if (idx >= lexemes.length) {
149
163
  throw new Error(`Syntax error at position ${idx}: Expected a query after '${operator.toUpperCase()}' but found end of input.`);
@@ -151,12 +165,37 @@ export class SelectQueryParser {
151
165
  const nextToken = lexemes[idx].value.toLowerCase();
152
166
  if (this.selectCommandSet.has(nextToken)) {
153
167
  const result = this.parseSimpleSelectQuery(lexemes, idx);
154
- query = new BinarySelectQuery(query, operator, result.value);
168
+ const binaryQuery = new BinarySelectQuery(query, operator, result.value);
169
+ // Transfer headerComments from the first query to the BinarySelectQuery
170
+ this.transferHeaderComments(query, binaryQuery);
171
+ // Assign UNION comments to right query (common usage pattern)
172
+ if (unionComments && unionComments.length > 0) {
173
+ if (result.value.comments) {
174
+ // Prepend UNION comments to existing comments
175
+ result.value.comments = [...unionComments, ...result.value.comments];
176
+ }
177
+ else {
178
+ result.value.comments = unionComments;
179
+ }
180
+ }
181
+ query = binaryQuery;
155
182
  idx = result.newIndex;
156
183
  }
157
184
  else if (nextToken === 'values') {
158
185
  const result = this.parseValuesQuery(lexemes, idx);
159
- query = new BinarySelectQuery(query, operator, result.value);
186
+ const binaryQuery = new BinarySelectQuery(query, operator, result.value);
187
+ // Transfer headerComments from the first query to the BinarySelectQuery
188
+ this.transferHeaderComments(query, binaryQuery);
189
+ // Assign UNION comments to the right side query
190
+ if (unionComments && unionComments.length > 0) {
191
+ if (result.value.comments) {
192
+ result.value.comments = [...unionComments, ...result.value.comments];
193
+ }
194
+ else {
195
+ result.value.comments = unionComments;
196
+ }
197
+ }
198
+ query = binaryQuery;
160
199
  idx = result.newIndex;
161
200
  }
162
201
  else {
@@ -168,26 +207,48 @@ export class SelectQueryParser {
168
207
  static parseSimpleSelectQuery(lexemes, index) {
169
208
  let idx = index;
170
209
  let withClauseResult = null;
210
+ // Collect headerComments before WITH clause or SELECT clause
211
+ const headerComments = [];
212
+ // headerComments will be collected from SELECT token itself or WITH clause
171
213
  // Parse optional WITH clause
172
214
  if (idx < lexemes.length && lexemes[idx].value === 'with') {
173
215
  withClauseResult = WithClauseParser.parseFromLexeme(lexemes, idx);
174
216
  idx = withClauseResult.newIndex;
217
+ // Collect headerComments from WithClauseParser
218
+ if (withClauseResult.headerComments) {
219
+ headerComments.push(...withClauseResult.headerComments);
220
+ }
221
+ }
222
+ // Collect comments from WITH clause
223
+ const withTrailingComments = [];
224
+ // Get trailing comments from WITH clause (these are comments after WITH clause, meant for main query)
225
+ if (withClauseResult === null || withClauseResult === void 0 ? void 0 : withClauseResult.value.trailingComments) {
226
+ withTrailingComments.push(...withClauseResult.value.trailingComments);
227
+ }
228
+ // Collect comments that appear between WITH clause end and SELECT keyword
229
+ // These should be applied to query level (appearing between WITH and SELECT)
230
+ const queryLevelComments = [...withTrailingComments];
231
+ let tempIdx = idx;
232
+ while (tempIdx < lexemes.length && lexemes[tempIdx].value.toLowerCase() !== 'select') {
233
+ const tokenComments = lexemes[tempIdx].comments;
234
+ if (tokenComments && tokenComments.length > 0) {
235
+ queryLevelComments.push(...tokenComments);
236
+ }
237
+ tempIdx++;
175
238
  }
176
- // Capture comments from the current token (after WITH clause if present)
177
- // This avoids duplication with WITH clause comments
178
- const firstTokenComments = idx < lexemes.length ? lexemes[idx].comments : null;
179
239
  // Parse SELECT clause (required)
180
240
  if (idx >= lexemes.length || lexemes[idx].value !== 'select') {
181
241
  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.`);
182
242
  }
243
+ // Also collect comments attached to the SELECT token itself as headerComments
244
+ const selectTokenComments = lexemes[idx].comments;
245
+ if (selectTokenComments && selectTokenComments.length > 0) {
246
+ headerComments.push(...selectTokenComments);
247
+ // Clear the comments from the SELECT token to avoid duplication
248
+ lexemes[idx].comments = null;
249
+ }
183
250
  const selectClauseResult = SelectClauseParser.parseFromLexeme(lexemes, idx);
184
251
  idx = selectClauseResult.newIndex;
185
- // If the select clause has the same comments as what we captured, clear them from the clause
186
- // to avoid duplication (the query-level comments take precedence)
187
- if (firstTokenComments && selectClauseResult.value.comments &&
188
- JSON.stringify(firstTokenComments) === JSON.stringify(selectClauseResult.value.comments)) {
189
- selectClauseResult.value.comments = null;
190
- }
191
252
  // Parse FROM clause (optional)
192
253
  let fromClauseResult = null;
193
254
  if (idx < lexemes.length && lexemes[idx].value === 'from') {
@@ -263,8 +324,9 @@ export class SelectQueryParser {
263
324
  fetchClause: fetchClauseResult ? fetchClauseResult.value : null,
264
325
  forClause: forClauseResult ? forClauseResult.value : null
265
326
  });
266
- // Set comments from the first token to the query object
267
- selectQuery.comments = firstTokenComments;
327
+ // Set headerComments and query-level comments from collected sources to the query object
328
+ selectQuery.comments = queryLevelComments.length > 0 ? queryLevelComments : null;
329
+ selectQuery.headerComments = headerComments.length > 0 ? headerComments : null;
268
330
  return { value: selectQuery, newIndex: idx };
269
331
  }
270
332
  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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"}
@@ -114,7 +114,8 @@ export declare class SqlPrintTokenParser implements SqlComponentVisitor<SqlPrint
114
114
  */
115
115
  private isClauseLevelContainer;
116
116
  /**
117
- * Formats a comment string as a block comment.
117
+ * Formats a comment string as a block comment with security sanitization.
118
+ * Prevents SQL injection by removing dangerous comment sequences.
118
119
  */
119
120
  private formatBlockComment;
120
121
  private visitValueList;
@@ -218,6 +218,12 @@ export class SqlPrintTokenParser {
218
218
  */
219
219
  visitBinarySelectQuery(arg) {
220
220
  const token = new SqlPrintToken(SqlPrintTokenType.container, '');
221
+ // Add headerComments at the very beginning (before the first query)
222
+ if (arg.headerComments && arg.headerComments.length > 0) {
223
+ const headerCommentBlocks = this.createCommentBlocks(arg.headerComments);
224
+ token.innerTokens.push(...headerCommentBlocks);
225
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
226
+ }
221
227
  token.innerTokens.push(this.visit(arg.left));
222
228
  token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
223
229
  token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, arg.operator.value, SqlPrintTokenContainerType.BinarySelectQueryOperator));
@@ -326,8 +332,13 @@ export class SqlPrintTokenParser {
326
332
  const handler = this.handlers.get(arg.getKind());
327
333
  if (handler) {
328
334
  const token = handler(arg);
329
- // Add comments to the token if they exist
330
- this.addCommentsToToken(token, arg.comments);
335
+ // Check if component handles its own comments to avoid double processing
336
+ const handlesOwnComments = 'handlesOwnComments' in arg && typeof arg.handlesOwnComments === 'function'
337
+ ? arg.handlesOwnComments()
338
+ : arg.getKind() === SimpleSelectQuery.kind; // Fallback for existing SimpleSelectQuery
339
+ if (!handlesOwnComments) {
340
+ this.addCommentsToToken(token, arg.comments);
341
+ }
331
342
  return token;
332
343
  }
333
344
  throw new Error(`[SqlPrintTokenParser] No handler for kind: ${arg.getKind().toString()}`);
@@ -386,6 +397,26 @@ export class SqlPrintTokenParser {
386
397
  * Adds separator spaces for clause-level containers and manages duplicate space removal.
387
398
  */
388
399
  insertCommentBlocksWithSpacing(token, commentBlocks) {
400
+ // For SelectItem, append comments at the end with proper spacing
401
+ if (token.containerType === SqlPrintTokenContainerType.SelectItem) {
402
+ // Add space before comment if not already present
403
+ if (token.innerTokens.length > 0) {
404
+ const lastToken = token.innerTokens[token.innerTokens.length - 1];
405
+ if (lastToken.type !== SqlPrintTokenType.space) {
406
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
407
+ }
408
+ }
409
+ token.innerTokens.push(...commentBlocks);
410
+ return;
411
+ }
412
+ // Special handling for SelectClause to add space between keyword and comment
413
+ if (token.containerType === SqlPrintTokenContainerType.SelectClause) {
414
+ // For SelectClause, comments need to be inserted after the keyword with a space separator
415
+ // Current structure: [keyword text, space, other tokens...]
416
+ // Desired structure: [keyword text, space, comments, space, other tokens...]
417
+ token.innerTokens.unshift(SqlPrintTokenParser.SPACE_TOKEN, ...commentBlocks);
418
+ return;
419
+ }
389
420
  token.innerTokens.unshift(...commentBlocks);
390
421
  // Add a separator space after comments only for certain container types
391
422
  // where comments need to be separated from main content
@@ -443,10 +474,21 @@ export class SqlPrintTokenParser {
443
474
  }
444
475
  }
445
476
  /**
446
- * Formats a comment string as a block comment.
477
+ * Formats a comment string as a block comment with security sanitization.
478
+ * Prevents SQL injection by removing dangerous comment sequences.
447
479
  */
448
480
  formatBlockComment(comment) {
449
- return `/* ${comment} */`;
481
+ // Remove dangerous comment termination sequences to prevent SQL injection
482
+ const sanitizedComment = comment
483
+ .replace(/\*\//g, '*') // Remove comment close sequences
484
+ .replace(/\/\*/g, '*') // Remove comment open sequences
485
+ .replace(/\r?\n/g, ' ') // Replace newlines with spaces for single-line comments
486
+ .trim(); // Remove leading/trailing whitespace
487
+ // Return empty string if comment becomes empty after sanitization
488
+ if (!sanitizedComment) {
489
+ return '';
490
+ }
491
+ return `/* ${sanitizedComment} */`;
450
492
  }
451
493
  visitValueList(arg) {
452
494
  const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.ValueList);
@@ -474,7 +516,17 @@ export class SqlPrintTokenParser {
474
516
  token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
475
517
  token.innerTokens.push(this.visit(arg.internalOrderBy));
476
518
  }
477
- token.innerTokens.push(SqlPrintTokenParser.PAREN_CLOSE_TOKEN);
519
+ // Use FunctionCall comments if available, otherwise use static token
520
+ if (arg.comments && arg.comments.length > 0) {
521
+ const closingParenToken = new SqlPrintToken(SqlPrintTokenType.parenthesis, ')');
522
+ this.addCommentsToToken(closingParenToken, arg.comments);
523
+ token.innerTokens.push(closingParenToken);
524
+ // Clear the comments from arg to prevent duplicate output by the general comment handler
525
+ arg.comments = null;
526
+ }
527
+ else {
528
+ token.innerTokens.push(SqlPrintTokenParser.PAREN_CLOSE_TOKEN);
529
+ }
478
530
  if (arg.withOrdinality) {
479
531
  token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
480
532
  token.innerTokens.push(new SqlPrintToken(SqlPrintTokenType.keyword, 'with ordinality'));
@@ -512,18 +564,17 @@ export class SqlPrintTokenParser {
512
564
  }
513
565
  visitLiteralValue(arg) {
514
566
  let text;
515
- if (typeof arg.value === "string") {
516
- if (arg.isDollarString) {
517
- // For dollar-quoted strings, return the original format
518
- text = arg.value;
519
- }
520
- else {
521
- text = `'${arg.value.replace(/'/g, "''")}'`;
522
- }
523
- }
524
- else if (arg.value === null) {
567
+ if (arg.value === null) {
525
568
  text = "null";
526
569
  }
570
+ else if (arg.isStringLiteral) {
571
+ // For originally quoted string literals, preserve quotes
572
+ text = `'${arg.value.replace(/'/g, "''")}'`;
573
+ }
574
+ else if (typeof arg.value === "string") {
575
+ // For dollar-quoted strings or other string values, use as-is
576
+ text = arg.value;
577
+ }
527
578
  else {
528
579
  text = arg.value.toString();
529
580
  }
@@ -1097,9 +1148,26 @@ export class SqlPrintTokenParser {
1097
1148
  // query
1098
1149
  visitSimpleQuery(arg) {
1099
1150
  const token = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.SimpleSelectQuery);
1151
+ // Add headerComments at the very beginning (before WITH clause)
1152
+ if (arg.headerComments && arg.headerComments.length > 0) {
1153
+ const headerCommentBlocks = this.createCommentBlocks(arg.headerComments);
1154
+ token.innerTokens.push(...headerCommentBlocks);
1155
+ if (arg.withClause) {
1156
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
1157
+ }
1158
+ }
1100
1159
  if (arg.withClause) {
1101
1160
  token.innerTokens.push(arg.withClause.accept(this));
1102
1161
  }
1162
+ // Add regular comments between WITH clause and SELECT clause if they exist
1163
+ if (arg.comments && arg.comments.length > 0) {
1164
+ const commentBlocks = this.createCommentBlocks(arg.comments);
1165
+ token.innerTokens.push(...commentBlocks);
1166
+ // Add a space separator after comments if there are more tokens coming
1167
+ if (arg.selectClause) {
1168
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
1169
+ }
1170
+ }
1103
1171
  token.innerTokens.push(arg.selectClause.accept(this));
1104
1172
  if (!arg.fromClause) {
1105
1173
  return token;
@@ -1155,6 +1223,14 @@ export class SqlPrintTokenParser {
1155
1223
  }
1156
1224
  visitValuesQuery(arg) {
1157
1225
  const token = new SqlPrintToken(SqlPrintTokenType.keyword, 'values', SqlPrintTokenContainerType.ValuesQuery);
1226
+ // Add headerComments before VALUES keyword
1227
+ if (arg.headerComments && arg.headerComments.length > 0) {
1228
+ const headerCommentBlocks = this.createCommentBlocks(arg.headerComments);
1229
+ for (const commentBlock of headerCommentBlocks) {
1230
+ token.innerTokens.push(commentBlock);
1231
+ token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
1232
+ }
1233
+ }
1158
1234
  token.innerTokens.push(SqlPrintTokenParser.SPACE_TOKEN);
1159
1235
  const values = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.Values);
1160
1236
  for (let i = 0; i < arg.tuples.length; i++) {
@@ -1164,6 +1240,8 @@ export class SqlPrintTokenParser {
1164
1240
  values.innerTokens.push(arg.tuples[i].accept(this));
1165
1241
  }
1166
1242
  token.innerTokens.push(values);
1243
+ // Add regular comments to the token
1244
+ this.addCommentsToToken(token, arg.comments);
1167
1245
  return token;
1168
1246
  }
1169
1247
  visitInlineQuery(arg) {
@@ -1172,7 +1250,17 @@ export class SqlPrintTokenParser {
1172
1250
  const queryToken = new SqlPrintToken(SqlPrintTokenType.container, '', SqlPrintTokenContainerType.InlineQuery);
1173
1251
  queryToken.innerTokens.push(arg.selectQuery.accept(this));
1174
1252
  token.innerTokens.push(queryToken);
1175
- token.innerTokens.push(SqlPrintTokenParser.PAREN_CLOSE_TOKEN);
1253
+ // Add comments from the InlineQuery to the closing parenthesis
1254
+ if (arg.comments && arg.comments.length > 0) {
1255
+ const closingParenToken = new SqlPrintToken(SqlPrintTokenType.parenthesis, ')');
1256
+ this.addCommentsToToken(closingParenToken, arg.comments);
1257
+ token.innerTokens.push(closingParenToken);
1258
+ // Clear the comments from arg to prevent duplicate output by the general comment handler
1259
+ arg.comments = null;
1260
+ }
1261
+ else {
1262
+ token.innerTokens.push(SqlPrintTokenParser.PAREN_CLOSE_TOKEN);
1263
+ }
1176
1264
  return token;
1177
1265
  }
1178
1266
  visitInsertQuery(arg) {