rawsql-ts 0.11.2-beta → 0.11.4-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 (116) hide show
  1. package/README.md +53 -0
  2. package/dist/esm/index.js +2 -0
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/index.min.js +14 -14
  5. package/dist/esm/index.min.js.map +4 -4
  6. package/dist/esm/src/index.js +2 -0
  7. package/dist/esm/src/index.js.map +1 -1
  8. package/dist/esm/src/models/BinarySelectQuery.js +9 -0
  9. package/dist/esm/src/models/BinarySelectQuery.js.map +1 -1
  10. package/dist/esm/src/models/CTEError.js +31 -0
  11. package/dist/esm/src/models/CTEError.js.map +1 -0
  12. package/dist/esm/src/models/Clause.js +2 -1
  13. package/dist/esm/src/models/Clause.js.map +1 -1
  14. package/dist/esm/src/models/HintClause.js +37 -0
  15. package/dist/esm/src/models/HintClause.js.map +1 -0
  16. package/dist/esm/src/models/SelectQuery.js +1 -0
  17. package/dist/esm/src/models/SelectQuery.js.map +1 -1
  18. package/dist/esm/src/models/SimpleSelectQuery.js +229 -0
  19. package/dist/esm/src/models/SimpleSelectQuery.js.map +1 -1
  20. package/dist/esm/src/models/ValuesQuery.js +1 -1
  21. package/dist/esm/src/models/ValuesQuery.js.map +1 -1
  22. package/dist/esm/src/parsers/FromClauseParser.js +7 -0
  23. package/dist/esm/src/parsers/FromClauseParser.js.map +1 -1
  24. package/dist/esm/src/parsers/SelectClauseParser.js +13 -1
  25. package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
  26. package/dist/esm/src/parsers/SelectQueryParser.js +10 -0
  27. package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
  28. package/dist/esm/src/parsers/SqlPrintTokenParser.js +39 -4
  29. package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
  30. package/dist/esm/src/parsers/WhereClauseParser.js +5 -0
  31. package/dist/esm/src/parsers/WhereClauseParser.js.map +1 -1
  32. package/dist/esm/src/transformers/DynamicQueryBuilder.js +16 -5
  33. package/dist/esm/src/transformers/DynamicQueryBuilder.js.map +1 -1
  34. package/dist/esm/src/transformers/QueryBuilder.js +2 -0
  35. package/dist/esm/src/transformers/QueryBuilder.js.map +1 -1
  36. package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
  37. package/dist/esm/src/transformers/SqlParameterBinder.js +63 -0
  38. package/dist/esm/src/transformers/SqlParameterBinder.js.map +1 -0
  39. package/dist/esm/src/transformers/SqlPrinter.js +12 -2
  40. package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
  41. package/dist/esm/src/utils/CommentUtils.js +65 -0
  42. package/dist/esm/src/utils/CommentUtils.js.map +1 -0
  43. package/dist/esm/src/utils/ParameterDetector.js +49 -0
  44. package/dist/esm/src/utils/ParameterDetector.js.map +1 -0
  45. package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
  46. package/dist/esm/types/src/index.d.ts +3 -0
  47. package/dist/esm/types/src/models/BinarySelectQuery.d.ts +7 -0
  48. package/dist/esm/types/src/models/CTEError.d.ts +21 -0
  49. package/dist/esm/types/src/models/Clause.d.ts +3 -1
  50. package/dist/esm/types/src/models/HintClause.d.ts +24 -0
  51. package/dist/esm/types/src/models/SelectQuery.d.ts +12 -0
  52. package/dist/esm/types/src/models/SimpleSelectQuery.d.ts +166 -2
  53. package/dist/esm/types/src/models/ValuesQuery.d.ts +1 -1
  54. package/dist/esm/types/src/parsers/SqlPrintTokenParser.d.ts +5 -0
  55. package/dist/esm/types/src/transformers/SqlFormatter.d.ts +2 -0
  56. package/dist/esm/types/src/transformers/SqlParameterBinder.d.ts +36 -0
  57. package/dist/esm/types/src/transformers/SqlPrinter.d.ts +6 -0
  58. package/dist/esm/types/src/utils/CommentUtils.d.ts +21 -0
  59. package/dist/esm/types/src/utils/ParameterDetector.d.ts +32 -0
  60. package/dist/index.min.js +14 -14
  61. package/dist/index.min.js.map +4 -4
  62. package/dist/src/index.d.ts +3 -0
  63. package/dist/src/index.js +4 -1
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/models/BinarySelectQuery.d.ts +7 -0
  66. package/dist/src/models/BinarySelectQuery.js +9 -0
  67. package/dist/src/models/BinarySelectQuery.js.map +1 -1
  68. package/dist/src/models/CTEError.d.ts +21 -0
  69. package/dist/src/models/CTEError.js +37 -0
  70. package/dist/src/models/CTEError.js.map +1 -0
  71. package/dist/src/models/Clause.d.ts +3 -1
  72. package/dist/src/models/Clause.js +2 -1
  73. package/dist/src/models/Clause.js.map +1 -1
  74. package/dist/src/models/HintClause.d.ts +24 -0
  75. package/dist/src/models/HintClause.js +41 -0
  76. package/dist/src/models/HintClause.js.map +1 -0
  77. package/dist/src/models/SelectQuery.d.ts +12 -0
  78. package/dist/src/models/SelectQuery.js +5 -1
  79. package/dist/src/models/SelectQuery.js.map +1 -1
  80. package/dist/src/models/SimpleSelectQuery.d.ts +166 -2
  81. package/dist/src/models/SimpleSelectQuery.js +229 -0
  82. package/dist/src/models/SimpleSelectQuery.js.map +1 -1
  83. package/dist/src/models/ValuesQuery.d.ts +1 -1
  84. package/dist/src/models/ValuesQuery.js +1 -1
  85. package/dist/src/models/ValuesQuery.js.map +1 -1
  86. package/dist/src/parsers/FromClauseParser.js +7 -0
  87. package/dist/src/parsers/FromClauseParser.js.map +1 -1
  88. package/dist/src/parsers/SelectClauseParser.js +13 -1
  89. package/dist/src/parsers/SelectClauseParser.js.map +1 -1
  90. package/dist/src/parsers/SelectQueryParser.js +10 -0
  91. package/dist/src/parsers/SelectQueryParser.js.map +1 -1
  92. package/dist/src/parsers/SqlPrintTokenParser.d.ts +5 -0
  93. package/dist/src/parsers/SqlPrintTokenParser.js +39 -4
  94. package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
  95. package/dist/src/parsers/WhereClauseParser.js +5 -0
  96. package/dist/src/parsers/WhereClauseParser.js.map +1 -1
  97. package/dist/src/transformers/DynamicQueryBuilder.js +16 -5
  98. package/dist/src/transformers/DynamicQueryBuilder.js.map +1 -1
  99. package/dist/src/transformers/QueryBuilder.js +2 -0
  100. package/dist/src/transformers/QueryBuilder.js.map +1 -1
  101. package/dist/src/transformers/SqlFormatter.d.ts +2 -0
  102. package/dist/src/transformers/SqlFormatter.js.map +1 -1
  103. package/dist/src/transformers/SqlParameterBinder.d.ts +36 -0
  104. package/dist/src/transformers/SqlParameterBinder.js +70 -0
  105. package/dist/src/transformers/SqlParameterBinder.js.map +1 -0
  106. package/dist/src/transformers/SqlPrinter.d.ts +6 -0
  107. package/dist/src/transformers/SqlPrinter.js +12 -2
  108. package/dist/src/transformers/SqlPrinter.js.map +1 -1
  109. package/dist/src/utils/CommentUtils.d.ts +21 -0
  110. package/dist/src/utils/CommentUtils.js +69 -0
  111. package/dist/src/utils/CommentUtils.js.map +1 -0
  112. package/dist/src/utils/ParameterDetector.d.ts +32 -0
  113. package/dist/src/utils/ParameterDetector.js +53 -0
  114. package/dist/src/utils/ParameterDetector.js.map +1 -0
  115. package/dist/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SqlPrintTokenParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlPrintTokenParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlPrintTokenParser.js","sourceRoot":"","sources":["../../../src/parsers/SqlPrintTokenParser.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.WhereClauseParser = void 0;
4
4
  const Clause_1 = require("../models/Clause");
5
5
  const SqlTokenizer_1 = require("./SqlTokenizer");
6
6
  const ValueParser_1 = require("./ValueParser");
7
+ const CommentUtils_1 = require("../utils/CommentUtils");
7
8
  class WhereClauseParser {
8
9
  // Parse SQL string to AST (was: parse)
9
10
  static parse(query) {
@@ -20,6 +21,8 @@ class WhereClauseParser {
20
21
  // Parse from lexeme array (was: parse)
21
22
  static parseFromLexeme(lexemes, index) {
22
23
  let idx = index;
24
+ // Capture comments associated with the WHERE clause
25
+ const whereTokenComments = CommentUtils_1.CommentUtils.collectClauseComments(lexemes, idx, 'where');
23
26
  if (lexemes[idx].value !== 'where') {
24
27
  throw new Error(`Syntax error at position ${idx}: Expected 'WHERE' keyword but found "${lexemes[idx].value}". WHERE clauses must start with the WHERE keyword.`);
25
28
  }
@@ -29,6 +32,8 @@ class WhereClauseParser {
29
32
  }
30
33
  const item = ValueParser_1.ValueParser.parseFromLexeme(lexemes, idx);
31
34
  const clause = new Clause_1.WhereClause(item.value);
35
+ // Set comments from the WHERE token to the clause
36
+ clause.comments = whereTokenComments;
32
37
  return { value: clause, newIndex: item.newIndex };
33
38
  }
34
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WhereClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/WhereClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAE/C,iDAA8C;AAC9C,+CAA4C;AAE5C,MAAa,iBAAiB;IAC1B,uCAAuC;IAChC,MAAM,CAAC,KAAK,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEhD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,iEAAiE,CAAC,CAAC;QACxL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,yCAAyC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,qDAAqD,CAAC,CAAC;QACrK,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gHAAgH,CAAC,CAAC;QACtI,CAAC;QAED,MAAM,IAAI,GAAG,yBAAW,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"WhereClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/WhereClauseParser.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAE/C,iDAA8C;AAC9C,+CAA4C;AAC5C,wDAAqD;AAErD,MAAa,iBAAiB;IAC1B,uCAAuC;IAChC,MAAM,CAAC,KAAK,CAAC,KAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;QAErD,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEhD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,QAAQ,iEAAiE,CAAC,CAAC;QACxL,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,uCAAuC;IAChC,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAa;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC;QAEhB,oDAAoD;QACpD,MAAM,kBAAkB,GAAG,2BAAY,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAErF,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,yCAAyC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,qDAAqD,CAAC,CAAC;QACrK,CAAC;QACD,GAAG,EAAE,CAAC;QAEN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gHAAgH,CAAC,CAAC;QACtI,CAAC;QAED,MAAM,IAAI,GAAG,yBAAW,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,kDAAkD;QAClD,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QAErC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACJ;AAxCD,8CAwCC"}
@@ -7,6 +7,8 @@ const SqlSortInjector_1 = require("./SqlSortInjector");
7
7
  const SqlPaginationInjector_1 = require("./SqlPaginationInjector");
8
8
  const PostgresJsonQueryBuilder_1 = require("./PostgresJsonQueryBuilder");
9
9
  const QueryBuilder_1 = require("./QueryBuilder");
10
+ const SqlParameterBinder_1 = require("./SqlParameterBinder");
11
+ const ParameterDetector_1 = require("../utils/ParameterDetector");
10
12
  /**
11
13
  * DynamicQueryBuilder provides pure JavaScript SQL query building capabilities.
12
14
  * It combines SQL parsing with dynamic condition injection (filtering, sorting, pagination, serialization).
@@ -60,12 +62,21 @@ class DynamicQueryBuilder {
60
62
  }
61
63
  // Apply dynamic modifications in the correct order
62
64
  let modifiedQuery = parsedQuery;
63
- // 1. Apply filtering first (most selective, should reduce data early)
65
+ // 1. Bind hardcoded parameters first (before any other transformations)
64
66
  if (options.filter && Object.keys(options.filter).length > 0) {
65
- const paramInjector = new SqlParamInjector_1.SqlParamInjector(this.tableColumnResolver);
66
- // Ensure we have a SimpleSelectQuery for the injector
67
- const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
68
- modifiedQuery = paramInjector.inject(simpleQuery, options.filter);
67
+ const { hardcodedParams, dynamicFilters } = ParameterDetector_1.ParameterDetector.separateFilters(modifiedQuery, options.filter);
68
+ // Bind hardcoded parameters if any exist
69
+ if (Object.keys(hardcodedParams).length > 0) {
70
+ const parameterBinder = new SqlParameterBinder_1.SqlParameterBinder({ requireAllParameters: false });
71
+ modifiedQuery = parameterBinder.bind(modifiedQuery, hardcodedParams);
72
+ }
73
+ // Apply dynamic filtering only if there are non-hardcoded filters
74
+ if (Object.keys(dynamicFilters).length > 0) {
75
+ const paramInjector = new SqlParamInjector_1.SqlParamInjector(this.tableColumnResolver);
76
+ // Ensure we have a SimpleSelectQuery for the injector
77
+ const simpleQuery = QueryBuilder_1.QueryBuilder.buildSimpleQuery(modifiedQuery);
78
+ modifiedQuery = paramInjector.inject(simpleQuery, dynamicFilters);
79
+ }
69
80
  }
70
81
  // 2. Apply sorting second (after filtering to sort smaller dataset)
71
82
  if (options.sort && Object.keys(options.sort).length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicQueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/DynamicQueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ class QueryBuilder {
31
31
  throw new Error("At least two queries are required to create a BinarySelectQuery.");
32
32
  }
33
33
  // Always create a new BinarySelectQuery instance (never mutate input)
34
+ // Note: ValuesQuery requires conversion to SimpleSelectQuery because it lacks SELECT clause structure
35
+ // BinarySelectQuery and SimpleSelectQuery can be used directly in binary operations
34
36
  const wrap = (q) => q instanceof SelectQuery_1.ValuesQuery ? QueryBuilder.buildSimpleQuery(q) : q;
35
37
  let result = new SelectQuery_1.BinarySelectQuery(wrap(queries[0]), operator, wrap(queries[1]));
36
38
  CTENormalizer_1.CTENormalizer.normalize(result);
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/QueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../src/transformers/QueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export declare class SqlFormatter {
26
26
  keywordCase?: 'none' | 'upper' | 'lower';
27
27
  commaBreak?: CommaBreakStyle;
28
28
  andBreak?: AndBreakStyle;
29
+ exportComment?: boolean;
30
+ strictCommentPlacement?: boolean;
29
31
  }); /**
30
32
  * Formats a SQL query string with the given parameters.
31
33
  * @param sqlText The SQL query string to format.
@@ -1 +1 @@
1
- {"version":3,"file":"SqlFormatter.js","sourceRoot":"","sources":["../../../src/transformers/SqlFormatter.ts"],"names":[],"mappings":";;;AAAA,wEAA+F;AAC/F,6CAA0E;AAK1E,4CAA4C;AAC/B,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGnF;;GAEG;AACH,MAAa,YAAY;IAIrB,YAAY,UAWR,EAAE;;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,6BAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iCAAiC;QAC3F,CAAC;QAED,MAAM,aAAa,GAAG;YAClB,GAAG,YAAY,EAAE,6BAA6B;YAC9C,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,gBAAgB;YAC5E,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe;YACzE,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc;SACzE,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAI;;;;;OAKF;IACH,MAAM,CAAC,GAAiB;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;CACJ;AA5CD,oCA4CC"}
1
+ {"version":3,"file":"SqlFormatter.js","sourceRoot":"","sources":["../../../src/transformers/SqlFormatter.ts"],"names":[],"mappings":";;;AAAA,wEAA+F;AAC/F,6CAA0E;AAK1E,4CAA4C;AAC/B,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGnF;;GAEG;AACH,MAAa,YAAY;IAIrB,YAAY,UAaR,EAAE;;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,6BAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,iCAAiC;QAC3F,CAAC;QAED,MAAM,aAAa,GAAG;YAClB,GAAG,YAAY,EAAE,6BAA6B;YAC9C,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,gBAAgB;YAC5E,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe;YACzE,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc;SACzE,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAI;;;;;OAKF;IACH,MAAM,CAAC,GAAiB;QACpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;CACJ;AA9CD,oCA8CC"}
@@ -0,0 +1,36 @@
1
+ import { SelectQuery, SimpleSelectQuery } from "../models/SelectQuery";
2
+ /**
3
+ * Options for SqlParameterBinder
4
+ */
5
+ export interface SqlParameterBinderOptions {
6
+ /** Whether to throw an error if a parameter value is missing (defaults to true) */
7
+ requireAllParameters?: boolean;
8
+ }
9
+ /**
10
+ * SqlParameterBinder binds values to existing hardcoded parameters in SQL queries.
11
+ *
12
+ * This transformer is designed to work with SQL queries that already contain
13
+ * parameter placeholders (e.g., :param_name) and bind actual values to them.
14
+ *
15
+ * Unlike SqlParamInjector which creates new WHERE conditions, this transformer
16
+ * only sets values for parameters that already exist in the parsed SQL.
17
+ */
18
+ export declare class SqlParameterBinder {
19
+ private options;
20
+ constructor(options?: SqlParameterBinderOptions);
21
+ /**
22
+ * Binds values to existing hardcoded parameters in the query.
23
+ * @param query The SelectQuery to modify
24
+ * @param parameterValues A record of parameter names and values to bind
25
+ * @returns The modified SelectQuery with parameter values set
26
+ * @throws Error when required parameters are missing values
27
+ */
28
+ bind(query: SelectQuery, parameterValues: Record<string, any>): SelectQuery;
29
+ /**
30
+ * Convenience method to bind parameters to a SimpleSelectQuery.
31
+ * @param query The SimpleSelectQuery to modify
32
+ * @param parameterValues A record of parameter names and values to bind
33
+ * @returns The modified SelectQuery with parameter values set
34
+ */
35
+ bindToSimpleQuery(query: SimpleSelectQuery, parameterValues: Record<string, any>): SelectQuery;
36
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqlParameterBinder = void 0;
4
+ const ParameterHelper_1 = require("../utils/ParameterHelper");
5
+ const ParameterDetector_1 = require("../utils/ParameterDetector");
6
+ /**
7
+ * SqlParameterBinder binds values to existing hardcoded parameters in SQL queries.
8
+ *
9
+ * This transformer is designed to work with SQL queries that already contain
10
+ * parameter placeholders (e.g., :param_name) and bind actual values to them.
11
+ *
12
+ * Unlike SqlParamInjector which creates new WHERE conditions, this transformer
13
+ * only sets values for parameters that already exist in the parsed SQL.
14
+ */
15
+ class SqlParameterBinder {
16
+ constructor(options = {}) {
17
+ this.options = {
18
+ requireAllParameters: true,
19
+ ...options
20
+ };
21
+ }
22
+ /**
23
+ * Binds values to existing hardcoded parameters in the query.
24
+ * @param query The SelectQuery to modify
25
+ * @param parameterValues A record of parameter names and values to bind
26
+ * @returns The modified SelectQuery with parameter values set
27
+ * @throws Error when required parameters are missing values
28
+ */
29
+ bind(query, parameterValues) {
30
+ // Work directly with the query (ParameterHelper modifies in place)
31
+ // This is consistent with other transformers in the codebase
32
+ const modifiedQuery = query;
33
+ // Get all existing parameter names from the query
34
+ const existingParams = ParameterDetector_1.ParameterDetector.extractParameterNames(modifiedQuery);
35
+ // Validate that all parameters have values if required
36
+ if (this.options.requireAllParameters) {
37
+ const missingParams = existingParams.filter(paramName => !(paramName in parameterValues) || parameterValues[paramName] === undefined);
38
+ if (missingParams.length > 0) {
39
+ throw new Error(`Missing values for required parameters: ${missingParams.join(', ')}`);
40
+ }
41
+ }
42
+ // Bind values to existing parameters
43
+ for (const [paramName, value] of Object.entries(parameterValues)) {
44
+ if (existingParams.includes(paramName)) {
45
+ try {
46
+ ParameterHelper_1.ParameterHelper.set(modifiedQuery, paramName, value);
47
+ }
48
+ catch (error) {
49
+ // ParameterHelper.set throws if parameter not found, but we already checked
50
+ // This should not happen, but include for safety
51
+ throw new Error(`Failed to bind parameter '${paramName}': ${error instanceof Error ? error.message : 'Unknown error'}`);
52
+ }
53
+ }
54
+ // Silently ignore parameters that don't exist in the query
55
+ // (these might be intended for other transformers like SqlParamInjector)
56
+ }
57
+ return modifiedQuery;
58
+ }
59
+ /**
60
+ * Convenience method to bind parameters to a SimpleSelectQuery.
61
+ * @param query The SimpleSelectQuery to modify
62
+ * @param parameterValues A record of parameter names and values to bind
63
+ * @returns The modified SelectQuery with parameter values set
64
+ */
65
+ bindToSimpleQuery(query, parameterValues) {
66
+ return this.bind(query, parameterValues);
67
+ }
68
+ }
69
+ exports.SqlParameterBinder = SqlParameterBinder;
70
+ //# sourceMappingURL=SqlParameterBinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqlParameterBinder.js","sourceRoot":"","sources":["../../../src/transformers/SqlParameterBinder.ts"],"names":[],"mappings":";;;AACA,8DAA2D;AAC3D,kEAA+D;AAW/D;;;;;;;;GAQG;AACH,MAAa,kBAAkB;IAG3B,YAAY,UAAqC,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG;YACX,oBAAoB,EAAE,IAAI;YAC1B,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CACP,KAAkB,EAClB,eAAoC;QAEpC,mEAAmE;QACnE,6DAA6D;QAC7D,MAAM,aAAa,GAAG,KAAK,CAAC;QAE5B,kDAAkD;QAClD,MAAM,cAAc,GAAG,qCAAiB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE9E,uDAAuD;QACvD,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACpD,CAAC,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,SAAS,CAC9E,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;QAED,qCAAqC;QACrC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/D,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACD,iCAAe,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,4EAA4E;oBAC5E,iDAAiD;oBACjD,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;gBAC5H,CAAC;YACL,CAAC;YACD,2DAA2D;YAC3D,yEAAyE;QAC7E,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CACpB,KAAwB,EACxB,eAAoC;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC7C,CAAC;CACJ;AArED,gDAqEC"}
@@ -30,6 +30,10 @@ export declare class SqlPrinter {
30
30
  andBreak: AndBreakStyle;
31
31
  /** Keyword case style: 'none', 'upper' | 'lower' */
32
32
  keywordCase: 'none' | 'upper' | 'lower';
33
+ /** Whether to export comments in the output (default: false for compatibility) */
34
+ exportComment: boolean;
35
+ /** Whether to use strict comment placement (only clause-level comments, default: false) */
36
+ strictCommentPlacement: boolean;
33
37
  private linePrinter;
34
38
  private indentIncrementContainers;
35
39
  /**
@@ -42,6 +46,8 @@ export declare class SqlPrinter {
42
46
  commaBreak?: CommaBreakStyle;
43
47
  andBreak?: AndBreakStyle;
44
48
  keywordCase?: 'none' | 'upper' | 'lower';
49
+ exportComment?: boolean;
50
+ strictCommentPlacement?: boolean;
45
51
  indentIncrementContainerTypes?: string[];
46
52
  });
47
53
  /**
@@ -11,7 +11,7 @@ class SqlPrinter {
11
11
  * @param options Optional style settings for pretty printing
12
12
  */
13
13
  constructor(options) {
14
- var _a, _b, _c, _d, _e, _f, _g;
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
15
15
  this.indentChar = (_a = options === null || options === void 0 ? void 0 : options.indentChar) !== null && _a !== void 0 ? _a : '';
16
16
  this.indentSize = (_b = options === null || options === void 0 ? void 0 : options.indentSize) !== null && _b !== void 0 ? _b : 0;
17
17
  // The default newline character is set to a blank space (' ') to enable one-liner formatting.
@@ -20,9 +20,11 @@ class SqlPrinter {
20
20
  this.commaBreak = (_d = options === null || options === void 0 ? void 0 : options.commaBreak) !== null && _d !== void 0 ? _d : 'none';
21
21
  this.andBreak = (_e = options === null || options === void 0 ? void 0 : options.andBreak) !== null && _e !== void 0 ? _e : 'none';
22
22
  this.keywordCase = (_f = options === null || options === void 0 ? void 0 : options.keywordCase) !== null && _f !== void 0 ? _f : 'none';
23
+ this.exportComment = (_g = options === null || options === void 0 ? void 0 : options.exportComment) !== null && _g !== void 0 ? _g : false;
24
+ this.strictCommentPlacement = (_h = options === null || options === void 0 ? void 0 : options.strictCommentPlacement) !== null && _h !== void 0 ? _h : false;
23
25
  this.linePrinter = new LinePrinter_1.LinePrinter(this.indentChar, this.indentSize, this.newline);
24
26
  // Initialize
25
- this.indentIncrementContainers = new Set((_g = options === null || options === void 0 ? void 0 : options.indentIncrementContainerTypes) !== null && _g !== void 0 ? _g : [
27
+ this.indentIncrementContainers = new Set((_j = options === null || options === void 0 ? void 0 : options.indentIncrementContainerTypes) !== null && _j !== void 0 ? _j : [
26
28
  SqlPrintToken_1.SqlPrintTokenContainerType.SelectClause,
27
29
  SqlPrintToken_1.SqlPrintTokenContainerType.FromClause,
28
30
  SqlPrintToken_1.SqlPrintTokenContainerType.WhereClause,
@@ -124,6 +126,14 @@ class SqlPrinter {
124
126
  this.linePrinter.appendNewline(level);
125
127
  this.linePrinter.appendText(text);
126
128
  }
129
+ else if (token.type === SqlPrintToken_1.SqlPrintTokenType.comment) {
130
+ // Handle comments - only output if exportComment is true
131
+ if (this.exportComment) {
132
+ this.linePrinter.appendText(token.text);
133
+ // Always add a space after comment to ensure SQL structure safety
134
+ this.linePrinter.appendText(' ');
135
+ }
136
+ }
127
137
  else {
128
138
  this.linePrinter.appendText(token.text);
129
139
  }