rawsql-ts 0.17.0 → 0.19.0

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 (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/dist/esm/index.d.ts +4 -0
  4. package/dist/esm/index.js +4 -0
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/esm/index.min.js +10 -10
  7. package/dist/esm/index.min.js.map +4 -4
  8. package/dist/esm/models/Clause.d.ts +2 -1
  9. package/dist/esm/models/Clause.js.map +1 -1
  10. package/dist/esm/models/MergeQuery.d.ts +3 -1
  11. package/dist/esm/models/MergeQuery.js +2 -1
  12. package/dist/esm/models/MergeQuery.js.map +1 -1
  13. package/dist/esm/models/TableDefinitionModel.js +2 -1
  14. package/dist/esm/models/TableDefinitionModel.js.map +1 -1
  15. package/dist/esm/parsers/CommonTableParser.js +13 -2
  16. package/dist/esm/parsers/CommonTableParser.js.map +1 -1
  17. package/dist/esm/parsers/MergeQueryParser.js +12 -3
  18. package/dist/esm/parsers/MergeQueryParser.js.map +1 -1
  19. package/dist/esm/parsers/SqlPrintTokenParser.js +4 -0
  20. package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
  21. package/dist/esm/transformers/CTECollector.d.ts +1 -0
  22. package/dist/esm/transformers/CTECollector.js +37 -0
  23. package/dist/esm/transformers/CTECollector.js.map +1 -1
  24. package/dist/esm/transformers/CTEDependencyTracer.js +2 -1
  25. package/dist/esm/transformers/CTEDependencyTracer.js.map +1 -1
  26. package/dist/esm/transformers/ColumnReferenceCollector.d.ts +1 -0
  27. package/dist/esm/transformers/ColumnReferenceCollector.js +32 -0
  28. package/dist/esm/transformers/ColumnReferenceCollector.js.map +1 -1
  29. package/dist/esm/transformers/DynamicQueryBuilder.d.ts +9 -13
  30. package/dist/esm/transformers/DynamicQueryBuilder.js +8 -108
  31. package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
  32. package/dist/esm/transformers/ExistsPredicateInjector.js +2 -1
  33. package/dist/esm/transformers/ExistsPredicateInjector.js.map +1 -1
  34. package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +14 -2
  35. package/dist/esm/transformers/PruneOptionalConditionBranches.js +105 -37
  36. package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -1
  37. package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +30 -0
  38. package/dist/esm/transformers/SSSQLFilterBuilder.js +253 -0
  39. package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -0
  40. package/dist/esm/transformers/SchemaCollector.js +2 -1
  41. package/dist/esm/transformers/SchemaCollector.js.map +1 -1
  42. package/dist/esm/transformers/SelectValueCollector.js +2 -1
  43. package/dist/esm/transformers/SelectValueCollector.js.map +1 -1
  44. package/dist/esm/transformers/SqlParamInjector.js +2 -1
  45. package/dist/esm/transformers/SqlParamInjector.js.map +1 -1
  46. package/dist/esm/transformers/TableSourceCollector.d.ts +2 -0
  47. package/dist/esm/transformers/TableSourceCollector.js +47 -0
  48. package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
  49. package/dist/esm/transformers/UpstreamSelectQueryFinder.js +2 -1
  50. package/dist/esm/transformers/UpstreamSelectQueryFinder.js.map +1 -1
  51. package/dist/esm/utils/RelationGraph.d.ts +43 -0
  52. package/dist/esm/utils/RelationGraph.js +117 -0
  53. package/dist/esm/utils/RelationGraph.js.map +1 -0
  54. package/dist/esm/utils/ScopeResolver.js +2 -1
  55. package/dist/esm/utils/ScopeResolver.js.map +1 -1
  56. package/dist/index.js +4 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.min.js +10 -10
  59. package/dist/index.min.js.map +4 -4
  60. package/dist/models/Clause.js.map +1 -1
  61. package/dist/models/MergeQuery.js +2 -1
  62. package/dist/models/MergeQuery.js.map +1 -1
  63. package/dist/models/TableDefinitionModel.js +2 -1
  64. package/dist/models/TableDefinitionModel.js.map +1 -1
  65. package/dist/parsers/CommonTableParser.js +13 -2
  66. package/dist/parsers/CommonTableParser.js.map +1 -1
  67. package/dist/parsers/MergeQueryParser.js +12 -3
  68. package/dist/parsers/MergeQueryParser.js.map +1 -1
  69. package/dist/parsers/SqlPrintTokenParser.js +4 -0
  70. package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
  71. package/dist/src/index.d.ts +4 -0
  72. package/dist/src/models/Clause.d.ts +2 -1
  73. package/dist/src/models/MergeQuery.d.ts +3 -1
  74. package/dist/src/transformers/CTECollector.d.ts +1 -0
  75. package/dist/src/transformers/ColumnReferenceCollector.d.ts +1 -0
  76. package/dist/src/transformers/DynamicQueryBuilder.d.ts +9 -13
  77. package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +14 -2
  78. package/dist/src/transformers/SSSQLFilterBuilder.d.ts +30 -0
  79. package/dist/src/transformers/TableSourceCollector.d.ts +2 -0
  80. package/dist/src/utils/RelationGraph.d.ts +43 -0
  81. package/dist/transformers/CTECollector.js +37 -0
  82. package/dist/transformers/CTECollector.js.map +1 -1
  83. package/dist/transformers/CTEDependencyTracer.js +2 -1
  84. package/dist/transformers/CTEDependencyTracer.js.map +1 -1
  85. package/dist/transformers/ColumnReferenceCollector.js +32 -0
  86. package/dist/transformers/ColumnReferenceCollector.js.map +1 -1
  87. package/dist/transformers/DynamicQueryBuilder.js +8 -97
  88. package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
  89. package/dist/transformers/ExistsPredicateInjector.js +2 -1
  90. package/dist/transformers/ExistsPredicateInjector.js.map +1 -1
  91. package/dist/transformers/PruneOptionalConditionBranches.js +106 -37
  92. package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -1
  93. package/dist/transformers/SSSQLFilterBuilder.js +259 -0
  94. package/dist/transformers/SSSQLFilterBuilder.js.map +1 -0
  95. package/dist/transformers/SchemaCollector.js +2 -1
  96. package/dist/transformers/SchemaCollector.js.map +1 -1
  97. package/dist/transformers/SelectValueCollector.js +2 -1
  98. package/dist/transformers/SelectValueCollector.js.map +1 -1
  99. package/dist/transformers/SqlParamInjector.js +2 -1
  100. package/dist/transformers/SqlParamInjector.js.map +1 -1
  101. package/dist/transformers/TableSourceCollector.js +47 -0
  102. package/dist/transformers/TableSourceCollector.js.map +1 -1
  103. package/dist/transformers/UpstreamSelectQueryFinder.js +2 -1
  104. package/dist/transformers/UpstreamSelectQueryFinder.js.map +1 -1
  105. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  106. package/dist/utils/RelationGraph.js +123 -0
  107. package/dist/utils/RelationGraph.js.map +1 -0
  108. package/dist/utils/ScopeResolver.js +2 -1
  109. package/dist/utils/ScopeResolver.js.map +1 -1
  110. package/package.json +64 -65
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 MSugiura
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -37,13 +37,19 @@ Or use directly in the browser via CDN:
37
37
  ```typescript
38
38
  import { DynamicQueryBuilder, SqlFormatter } from "rawsql-ts";
39
39
 
40
- const baseSql = "SELECT id, name, email, created_at FROM users WHERE active = true";
40
+ const baseSql = `
41
+ SELECT id, name, email, status, created_at
42
+ FROM users
43
+ WHERE active = true
44
+ AND (:status IS NULL OR status = :status)
45
+ `;
41
46
 
42
47
  const builder = new DynamicQueryBuilder();
43
48
  const query = builder.buildQuery(baseSql, {
44
- filter: { status: "premium", created_at: { ">": "2024-01-01" } },
49
+ filter: { status: "premium" },
45
50
  sort: { created_at: { desc: true }, name: { asc: true } },
46
51
  paging: { page: 2, pageSize: 10 },
52
+ optionalConditionParameters: { status: "premium" },
47
53
  });
48
54
 
49
55
  const formatter = new SqlFormatter();
@@ -70,6 +70,7 @@ export { DuplicateDetectionMode } from './transformers/SelectableColumnCollector
70
70
  export * from './transformers/FilterableItemCollector';
71
71
  export { FixtureCteBuilder, FixtureTableDefinition, FixtureColumnDefinition } from './transformers/FixtureCteBuilder';
72
72
  export * from './transformers/DynamicQueryBuilder';
73
+ export * from './transformers/SSSQLFilterBuilder';
73
74
  export * from './transformers/PruneOptionalConditionBranches';
74
75
  export { SchemaInfo, optimizeUnusedLeftJoins, optimizeUnusedLeftJoinsToFixedPoint, optimizeUnusedCtes, optimizeUnusedCtesToFixedPoint } from './transformers/OptimizeUnusedLeftJoins';
75
76
  export * from './transformers/TableColumnResolver';
@@ -93,9 +94,12 @@ export * from './transformers/SqlParamInjector';
93
94
  export * from './transformers/SqlSortInjector';
94
95
  export * from './transformers/SqlPaginationInjector';
95
96
  export * from './transformers/DynamicQueryBuilder';
97
+ export * from './utils/ParameterHelper';
98
+ export * from './transformers/SqlParameterBinder';
96
99
  export * from './utils/SqlSchemaValidator';
97
100
  export * from './utils/JsonSchemaValidator';
98
101
  export * from './utils/SchemaManager';
102
+ export * from './utils/RelationGraph';
99
103
  export * from './utils/CommentEditor';
100
104
  export * from './utils/LexemeCursor';
101
105
  export type { LineColumn } from './utils/LexemeCursor';
package/dist/esm/index.js CHANGED
@@ -67,6 +67,7 @@ export { DuplicateDetectionMode } from './transformers/SelectableColumnCollector
67
67
  export * from './transformers/FilterableItemCollector';
68
68
  export { FixtureCteBuilder } from './transformers/FixtureCteBuilder';
69
69
  export * from './transformers/DynamicQueryBuilder';
70
+ export * from './transformers/SSSQLFilterBuilder';
70
71
  export * from './transformers/PruneOptionalConditionBranches';
71
72
  export { optimizeUnusedLeftJoins, optimizeUnusedLeftJoinsToFixedPoint, optimizeUnusedCtes, optimizeUnusedCtesToFixedPoint } from './transformers/OptimizeUnusedLeftJoins';
72
73
  export * from './transformers/TableColumnResolver';
@@ -90,9 +91,12 @@ export * from './transformers/SqlParamInjector';
90
91
  export * from './transformers/SqlSortInjector';
91
92
  export * from './transformers/SqlPaginationInjector';
92
93
  export * from './transformers/DynamicQueryBuilder';
94
+ export * from './utils/ParameterHelper';
95
+ export * from './transformers/SqlParameterBinder';
93
96
  export * from './utils/SqlSchemaValidator';
94
97
  export * from './utils/JsonSchemaValidator';
95
98
  export * from './utils/SchemaManager';
99
+ export * from './utils/RelationGraph';
96
100
  export * from './utils/CommentEditor';
97
101
  export * from './utils/LexemeCursor';
98
102
  export * from './utils/CTERegionDetector';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}