sof-mssql 2.0.0 → 2.2.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 (91) hide show
  1. package/dist/load.d.ts.map +1 -1
  2. package/dist/load.js +3 -0
  3. package/dist/load.js.map +1 -1
  4. package/dist/loader/connection.d.ts.map +1 -1
  5. package/dist/loader/connection.js +6 -0
  6. package/dist/loader/connection.js.map +1 -1
  7. package/dist/loader/types.d.ts +2 -0
  8. package/dist/loader/types.d.ts.map +1 -1
  9. package/dist/parser.d.ts +10 -1
  10. package/dist/parser.d.ts.map +1 -1
  11. package/dist/parser.js +35 -1
  12. package/dist/parser.js.map +1 -1
  13. package/dist/queryGenerator/index.d.ts +0 -3
  14. package/dist/queryGenerator/index.d.ts.map +1 -1
  15. package/dist/queryGenerator/index.js +1 -7
  16. package/dist/queryGenerator/index.js.map +1 -1
  17. package/dist/queryGenerator/treeWalker/aliasGenerator.d.ts +26 -0
  18. package/dist/queryGenerator/treeWalker/aliasGenerator.d.ts.map +1 -0
  19. package/dist/queryGenerator/treeWalker/aliasGenerator.js +31 -0
  20. package/dist/queryGenerator/treeWalker/aliasGenerator.js.map +1 -0
  21. package/dist/queryGenerator/treeWalker/classify.d.ts +19 -0
  22. package/dist/queryGenerator/treeWalker/classify.d.ts.map +1 -0
  23. package/dist/queryGenerator/treeWalker/classify.js +36 -0
  24. package/dist/queryGenerator/treeWalker/classify.js.map +1 -0
  25. package/dist/queryGenerator/treeWalker/compile.d.ts +29 -0
  26. package/dist/queryGenerator/treeWalker/compile.d.ts.map +1 -0
  27. package/dist/queryGenerator/treeWalker/compile.js +98 -0
  28. package/dist/queryGenerator/treeWalker/compile.js.map +1 -0
  29. package/dist/queryGenerator/treeWalker/cteTemplates.d.ts +50 -0
  30. package/dist/queryGenerator/treeWalker/cteTemplates.d.ts.map +1 -0
  31. package/dist/queryGenerator/treeWalker/cteTemplates.js +95 -0
  32. package/dist/queryGenerator/treeWalker/cteTemplates.js.map +1 -0
  33. package/dist/queryGenerator/treeWalker/index.d.ts +6 -0
  34. package/dist/queryGenerator/treeWalker/index.d.ts.map +1 -0
  35. package/dist/queryGenerator/treeWalker/index.js +9 -0
  36. package/dist/queryGenerator/treeWalker/index.js.map +1 -0
  37. package/dist/queryGenerator/treeWalker/mergeSiblings.d.ts +28 -0
  38. package/dist/queryGenerator/treeWalker/mergeSiblings.d.ts.map +1 -0
  39. package/dist/queryGenerator/treeWalker/mergeSiblings.js +54 -0
  40. package/dist/queryGenerator/treeWalker/mergeSiblings.js.map +1 -0
  41. package/dist/queryGenerator/treeWalker/operators/columnsOnly.d.ts +40 -0
  42. package/dist/queryGenerator/treeWalker/operators/columnsOnly.d.ts.map +1 -0
  43. package/dist/queryGenerator/treeWalker/operators/columnsOnly.js +56 -0
  44. package/dist/queryGenerator/treeWalker/operators/columnsOnly.js.map +1 -0
  45. package/dist/queryGenerator/treeWalker/operators/forEach.d.ts +45 -0
  46. package/dist/queryGenerator/treeWalker/operators/forEach.d.ts.map +1 -0
  47. package/dist/queryGenerator/treeWalker/operators/forEach.js +144 -0
  48. package/dist/queryGenerator/treeWalker/operators/forEach.js.map +1 -0
  49. package/dist/queryGenerator/treeWalker/operators/group.d.ts +35 -0
  50. package/dist/queryGenerator/treeWalker/operators/group.d.ts.map +1 -0
  51. package/dist/queryGenerator/treeWalker/operators/group.js +56 -0
  52. package/dist/queryGenerator/treeWalker/operators/group.js.map +1 -0
  53. package/dist/queryGenerator/treeWalker/operators/repeat.d.ts +45 -0
  54. package/dist/queryGenerator/treeWalker/operators/repeat.d.ts.map +1 -0
  55. package/dist/queryGenerator/treeWalker/operators/repeat.js +110 -0
  56. package/dist/queryGenerator/treeWalker/operators/repeat.js.map +1 -0
  57. package/dist/queryGenerator/treeWalker/operators/unionAll.d.ts +54 -0
  58. package/dist/queryGenerator/treeWalker/operators/unionAll.d.ts.map +1 -0
  59. package/dist/queryGenerator/treeWalker/operators/unionAll.js +121 -0
  60. package/dist/queryGenerator/treeWalker/operators/unionAll.js.map +1 -0
  61. package/dist/queryGenerator/treeWalker/render.d.ts +34 -0
  62. package/dist/queryGenerator/treeWalker/render.d.ts.map +1 -0
  63. package/dist/queryGenerator/treeWalker/render.js +41 -0
  64. package/dist/queryGenerator/treeWalker/render.js.map +1 -0
  65. package/dist/queryGenerator/treeWalker/types.d.ts +66 -0
  66. package/dist/queryGenerator/treeWalker/types.d.ts.map +1 -0
  67. package/dist/queryGenerator/treeWalker/types.js +14 -0
  68. package/dist/queryGenerator/treeWalker/types.js.map +1 -0
  69. package/dist/queryGenerator/treeWalker/walker.d.ts +36 -0
  70. package/dist/queryGenerator/treeWalker/walker.d.ts.map +1 -0
  71. package/dist/queryGenerator/treeWalker/walker.js +58 -0
  72. package/dist/queryGenerator/treeWalker/walker.js.map +1 -0
  73. package/dist/queryGenerator.d.ts +8 -34
  74. package/dist/queryGenerator.d.ts.map +1 -1
  75. package/dist/queryGenerator.js +16 -110
  76. package/dist/queryGenerator.js.map +1 -1
  77. package/dist/types.d.ts +2 -0
  78. package/dist/types.d.ts.map +1 -1
  79. package/package.json +1 -1
  80. package/dist/queryGenerator/ForEachProcessor.d.ts +0 -127
  81. package/dist/queryGenerator/ForEachProcessor.d.ts.map +0 -1
  82. package/dist/queryGenerator/ForEachProcessor.js +0 -351
  83. package/dist/queryGenerator/ForEachProcessor.js.map +0 -1
  84. package/dist/queryGenerator/SelectClauseBuilder.d.ts +0 -63
  85. package/dist/queryGenerator/SelectClauseBuilder.d.ts.map +0 -1
  86. package/dist/queryGenerator/SelectClauseBuilder.js +0 -196
  87. package/dist/queryGenerator/SelectClauseBuilder.js.map +0 -1
  88. package/dist/queryGenerator/SelectCombinationExpander.d.ts +0 -42
  89. package/dist/queryGenerator/SelectCombinationExpander.d.ts.map +0 -1
  90. package/dist/queryGenerator/SelectCombinationExpander.js +0 -95
  91. package/dist/queryGenerator/SelectCombinationExpander.js.map +0 -1
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * T-SQL query generator for ViewDefinition structures.
3
- * Generates SQL queries that can be executed against MS SQL Server.
3
+ *
4
+ * Public façade over the tree-walker query compiler. Builds the base
5
+ * transpiler context (resource alias, constants, optional test id) and
6
+ * delegates SQL generation to `compileViewDefinition`.
4
7
  */
5
8
  import { TranspilationResult, ViewDefinition } from "./types.js";
6
9
  export interface QueryGeneratorOptions {
@@ -10,52 +13,23 @@ export interface QueryGeneratorOptions {
10
13
  resourceJsonColumn?: string;
11
14
  }
12
15
  /**
13
- * Main query generator that orchestrates SQL generation from ViewDefinitions.
16
+ * Compiles a SQL on FHIR `ViewDefinition` to a T-SQL query.
14
17
  */
15
18
  export declare class QueryGenerator {
16
19
  private readonly options;
17
- private readonly pathParser;
18
- private readonly combinationExpander;
19
- private readonly forEachProcessor;
20
- private readonly selectClauseBuilder;
21
- private readonly whereClauseBuilder;
22
- private readonly columnGenerator;
23
20
  constructor(options?: QueryGeneratorOptions);
24
21
  /**
25
22
  * Generate a T-SQL query from a ViewDefinition.
26
23
  */
27
24
  generateQuery(viewDef: ViewDefinition, testId?: string): TranspilationResult;
28
25
  /**
29
- * Generate all complete SELECT statements, handling unionAll properly.
30
- */
31
- private generateAllSelectStatements;
32
- /**
33
- * Generate a complete SQL statement for a specific combination.
34
- */
35
- private generateStatementForCombination;
36
- /**
37
- * Generate a simple SELECT statement without forEach.
38
- */
39
- private generateSimpleStatement;
40
- /**
41
- * Generate a SELECT statement with forEach using CROSS APPLY.
42
- */
43
- private generateForEachStatement;
44
- /**
45
- * Generate the FROM clause.
46
- */
47
- private generateFromClause;
48
- /**
49
- * Create the base transpiler context.
26
+ * Create the base transpiler context with resource alias and constants.
50
27
  */
51
28
  private createBaseContext;
52
29
  /**
53
- * Extract the value from a ViewDefinitionConstant.
30
+ * Extract the value from a ViewDefinitionConstant. Throws if zero or more
31
+ * than one `value[x]` element is set.
54
32
  */
55
33
  private getConstantValue;
56
- /**
57
- * Collect all column definitions from select elements.
58
- */
59
- private collectAllColumns;
60
34
  }
61
35
  //# sourceMappingURL=queryGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryGenerator.d.ts","sourceRoot":"","sources":["../src/queryGenerator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,EAEL,mBAAmB,EACnB,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;gBAEhD,OAAO,GAAE,qBAA0B;IAkB/C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAoB5E;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAsBnC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA0B1B"}
1
+ {"version":3,"file":"queryGenerator.d.ts","sourceRoot":"","sources":["../src/queryGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EACL,mBAAmB,EACnB,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,OAAO,GAAE,qBAA0B;IAU/C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAc5E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CA6CzB"}
@@ -1,23 +1,19 @@
1
1
  "use strict";
2
2
  /**
3
3
  * T-SQL query generator for ViewDefinition structures.
4
- * Generates SQL queries that can be executed against MS SQL Server.
4
+ *
5
+ * Public façade over the tree-walker query compiler. Builds the base
6
+ * transpiler context (resource alias, constants, optional test id) and
7
+ * delegates SQL generation to `compileViewDefinition`.
5
8
  */
6
9
  Object.defineProperty(exports, "__esModule", { value: true });
7
10
  exports.QueryGenerator = void 0;
8
- const transpiler_js_1 = require("./fhirpath/transpiler.js");
9
- const index_js_1 = require("./queryGenerator/index.js");
11
+ const index_js_1 = require("./queryGenerator/treeWalker/index.js");
10
12
  /**
11
- * Main query generator that orchestrates SQL generation from ViewDefinitions.
13
+ * Compiles a SQL on FHIR `ViewDefinition` to a T-SQL query.
12
14
  */
13
15
  class QueryGenerator {
14
16
  options;
15
- pathParser;
16
- combinationExpander;
17
- forEachProcessor;
18
- selectClauseBuilder;
19
- whereClauseBuilder;
20
- columnGenerator;
21
17
  constructor(options = {}) {
22
18
  this.options = {
23
19
  tableName: "fhir_resources",
@@ -26,92 +22,26 @@ class QueryGenerator {
26
22
  resourceJsonColumn: "json",
27
23
  ...options,
28
24
  };
29
- // Initialise specialised processors.
30
- this.pathParser = new index_js_1.PathParser();
31
- this.combinationExpander = new index_js_1.SelectCombinationExpander();
32
- this.columnGenerator = new index_js_1.ColumnExpressionGenerator();
33
- this.forEachProcessor = new index_js_1.ForEachProcessor(this.pathParser);
34
- this.selectClauseBuilder = new index_js_1.SelectClauseBuilder(this.columnGenerator);
35
- this.whereClauseBuilder = new index_js_1.WhereClauseBuilder();
36
25
  }
37
26
  /**
38
27
  * Generate a T-SQL query from a ViewDefinition.
39
28
  */
40
29
  generateQuery(viewDef, testId) {
41
30
  try {
42
- const context = this.createBaseContext(viewDef, testId);
43
- const columns = this.collectAllColumns(viewDef.select);
44
- const statements = this.generateAllSelectStatements(viewDef, context);
45
- const sql = statements.length > 1
46
- ? statements.join("\nUNION ALL\n")
47
- : statements[0];
48
- return {
49
- sql,
50
- columns,
51
- };
31
+ const transpilerCtx = this.createBaseContext(viewDef, testId);
32
+ return (0, index_js_1.compileViewDefinition)(viewDef, {
33
+ tableName: this.options.tableName,
34
+ schemaName: this.options.schemaName,
35
+ testId,
36
+ transpilerCtx,
37
+ });
52
38
  }
53
39
  catch (error) {
54
40
  throw new Error(`Failed to generate query for ViewDefinition: ${error}`);
55
41
  }
56
42
  }
57
43
  /**
58
- * Generate all complete SELECT statements, handling unionAll properly.
59
- */
60
- generateAllSelectStatements(viewDef, context) {
61
- const unionCombinations = this.combinationExpander.expandCombinations(viewDef.select);
62
- const statements = [];
63
- for (const combination of unionCombinations) {
64
- const statement = this.generateStatementForCombination(combination, viewDef, context);
65
- statements.push(statement);
66
- }
67
- return statements;
68
- }
69
- /**
70
- * Generate a complete SQL statement for a specific combination.
71
- */
72
- generateStatementForCombination(combination, viewDef, context) {
73
- const hasForEach = this.forEachProcessor.combinationHasForEach(combination);
74
- return hasForEach
75
- ? this.generateForEachStatement(combination, viewDef, context)
76
- : this.generateSimpleStatement(combination, viewDef, context);
77
- }
78
- /**
79
- * Generate a simple SELECT statement without forEach.
80
- */
81
- generateSimpleStatement(combination, viewDef, context) {
82
- const selectClause = this.selectClauseBuilder.generateSimpleSelectClause(combination, context);
83
- const fromClause = this.generateFromClause(context);
84
- const whereClause = this.whereClauseBuilder.buildWhereClause(viewDef.resource, context.resourceAlias, context.testId, viewDef.where, context);
85
- let statement = `${selectClause}\n${fromClause}`;
86
- if (whereClause !== null) {
87
- statement += `\n${whereClause}`;
88
- }
89
- return statement;
90
- }
91
- /**
92
- * Generate a SELECT statement with forEach using CROSS APPLY.
93
- */
94
- generateForEachStatement(combination, viewDef, context) {
95
- const fromClause = this.generateFromClause(context);
96
- const { forEachContextMap, topLevelForEach } = this.forEachProcessor.buildForEachContextMap(combination.selects, context, combination);
97
- const applyClauses = this.forEachProcessor.buildApplyClauses(forEachContextMap, topLevelForEach, combination);
98
- const selectClause = this.selectClauseBuilder.generateForEachSelectClause(combination, context, forEachContextMap);
99
- const whereClause = this.whereClauseBuilder.buildWhereClause(viewDef.resource, context.resourceAlias, context.testId, viewDef.where, context);
100
- let statement = `${selectClause}\n${fromClause}${applyClauses}`;
101
- if (whereClause !== null) {
102
- statement += `\n${whereClause}`;
103
- }
104
- return statement;
105
- }
106
- /**
107
- * Generate the FROM clause.
108
- */
109
- generateFromClause(context) {
110
- const tableName = `[${this.options.schemaName}].[${this.options.tableName}]`;
111
- return `FROM ${tableName} AS [${context.resourceAlias}]`;
112
- }
113
- /**
114
- * Create the base transpiler context.
44
+ * Create the base transpiler context with resource alias and constants.
115
45
  */
116
46
  createBaseContext(viewDef, testId) {
117
47
  const constants = {};
@@ -127,7 +57,8 @@ class QueryGenerator {
127
57
  };
128
58
  }
129
59
  /**
130
- * Extract the value from a ViewDefinitionConstant.
60
+ * Extract the value from a ViewDefinitionConstant. Throws if zero or more
61
+ * than one `value[x]` element is set.
131
62
  */
132
63
  getConstantValue(constant) {
133
64
  const primitiveKeys = [
@@ -162,31 +93,6 @@ class QueryGenerator {
162
93
  const key = definedValues[0];
163
94
  return constant[key];
164
95
  }
165
- /**
166
- * Collect all column definitions from select elements.
167
- */
168
- collectAllColumns(selects) {
169
- const columns = [];
170
- for (const select of selects) {
171
- if (select.column) {
172
- for (const column of select.column) {
173
- columns.push({
174
- name: column.name,
175
- type: transpiler_js_1.Transpiler.inferSqlType(column.type, column.tag),
176
- nullable: true, // FHIR data is generally nullable.
177
- description: column.description,
178
- });
179
- }
180
- }
181
- if (select.select) {
182
- columns.push(...this.collectAllColumns(select.select));
183
- }
184
- if (select.unionAll) {
185
- columns.push(...this.collectAllColumns(select.unionAll));
186
- }
187
- }
188
- return columns;
189
- }
190
96
  }
191
97
  exports.QueryGenerator = QueryGenerator;
192
98
  //# sourceMappingURL=queryGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryGenerator.js","sourceRoot":"","sources":["../src/queryGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryGenerator.js","sourceRoot":"","sources":["../src/queryGenerator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,mEAA6E;AAc7E;;GAEG;AACH,MAAa,cAAc;IACR,OAAO,CAAkC;IAE1D,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,gBAAgB;YAC3B,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,MAAM;YAC1B,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAuB,EAAE,MAAe;QACpD,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,OAAO,IAAA,gCAAqB,EAAC,OAAO,EAAE;gBACpC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,MAAM;gBACN,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,OAAuB,EACvB,MAAe;QAEf,MAAM,SAAS,GAAwD,EAAE,CAAC;QAE1E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE,GAAG;YAClB,SAAS;YACT,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,QAAgC;QAEhC,MAAM,aAAa,GAAqC;YACtD,aAAa;YACb,cAAc;YACd,cAAc;YACd,cAAc;YACd,WAAW;YACX,eAAe;YACf,WAAW;YACX,cAAc;YACd,WAAW;YACX,SAAS;YACT,UAAU;YACV,UAAU;YACV,gBAAgB;YAChB,WAAW;YACX,UAAU;YACV,eAAe;YACf,mBAAmB;YACnB,kBAAkB;YAClB,kBAAkB;YAClB,gBAAgB;SACjB,CAAC;QAEF,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CACrC,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,CAAC,IAAI,kDAAkD,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,CAAC,IAAI,6DAA6D,aAAa,CAAC,MAAM,EAAE,CAC9G,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC,GAAG,CAA8B,CAAC;IACpD,CAAC;CACF;AArGD,wCAqGC"}
package/dist/types.d.ts CHANGED
@@ -36,6 +36,7 @@ export interface UnvalidatedSelect {
36
36
  select?: UnvalidatedSelect[];
37
37
  forEach?: unknown;
38
38
  forEachOrNull?: unknown;
39
+ repeat?: unknown;
39
40
  unionAll?: UnvalidatedSelect[];
40
41
  where?: unknown[];
41
42
  [key: string]: unknown;
@@ -86,6 +87,7 @@ export interface ViewDefinitionSelect extends UnvalidatedSelect {
86
87
  select?: ViewDefinitionSelect[];
87
88
  forEach?: string;
88
89
  forEachOrNull?: string;
90
+ repeat?: string[];
89
91
  unionAll?: ViewDefinitionSelect[];
90
92
  where?: ViewDefinitionWhere[];
91
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sof-mssql",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "A SQL on FHIR view runner that transpiles view definitions into T-SQL queries for MS SQL Server",
5
5
  "author": "Australian e-Health Research Centre, CSIRO",
6
6
  "contributors": [
@@ -1,127 +0,0 @@
1
- /**
2
- * Processes forEach operations and generates CROSS APPLY clauses.
3
- */
4
- import { TranspilerContext } from "../fhirpath/transpiler.js";
5
- import { ViewDefinitionSelect } from "../types.js";
6
- import { SelectCombination } from "./SelectCombinationExpander.js";
7
- import { PathParser } from "./PathParser.js";
8
- /**
9
- * Result of building forEach context map.
10
- */
11
- interface ForEachContextMapResult {
12
- forEachContextMap: Map<ViewDefinitionSelect, TranspilerContext>;
13
- topLevelForEach: ViewDefinitionSelect[];
14
- }
15
- /**
16
- * Handles all forEach-related processing and CROSS APPLY generation.
17
- */
18
- export declare class ForEachProcessor {
19
- private readonly pathParser;
20
- constructor(pathParser: PathParser);
21
- /**
22
- * Check if a specific combination has forEach operations.
23
- */
24
- combinationHasForEach(combination: SelectCombination): boolean;
25
- /**
26
- * Check if a single select has forEach operations (including nested).
27
- */
28
- selectHasForEach(select: ViewDefinitionSelect): boolean;
29
- /**
30
- * Check if any select in the tree has forEach operations.
31
- */
32
- private hasForEachInSelects;
33
- /**
34
- * Check if any unionAll option has forEach operations.
35
- */
36
- private unionAllHasForEach;
37
- /**
38
- * Build the forEach context map by generating contexts for all forEach.
39
- */
40
- buildForEachContextMap(selects: ViewDefinitionSelect[], context: TranspilerContext, combination?: SelectCombination): ForEachContextMapResult;
41
- /**
42
- * Collect all forEach that should be treated as top-level.
43
- */
44
- private collectTopLevelForEach;
45
- /**
46
- * Process a select for forEach, handling both direct forEach and nested selects.
47
- */
48
- private processSelectForEach;
49
- /**
50
- * Process a select with a unionAll choice from a combination.
51
- */
52
- private processUnionAllChoice;
53
- /**
54
- * Add forEach from a select array to the topLevelForEach list.
55
- */
56
- private addForEachFromSelectArray;
57
- /**
58
- * Check if a select is a forEach or forEachOrNull.
59
- */
60
- private isForEachSelect;
61
- /**
62
- * Generate forEach contexts recursively.
63
- */
64
- private generateForEachContexts;
65
- /**
66
- * Create a transpiler context specific to a forEach.
67
- */
68
- private createForEachContext;
69
- /**
70
- * Generate nested forEach contexts within this forEach's select and unionAll options.
71
- */
72
- private generateNestedForEachContexts;
73
- /**
74
- * Generate forEach contexts for nested selects.
75
- */
76
- private generateNestedSelectContexts;
77
- /**
78
- * Generate forEach contexts for nested unionAll options.
79
- */
80
- private generateNestedUnionAllContexts;
81
- /**
82
- * Build CROSS APPLY clauses in reverse order for forEach processing.
83
- */
84
- buildApplyClauses(forEachContextMap: Map<ViewDefinitionSelect, TranspilerContext>, topLevelForEach: ViewDefinitionSelect[], combination: SelectCombination): string;
85
- /**
86
- * Generate CROSS APPLY clauses for a forEach and its nested forEach.
87
- */
88
- private generateForEachClause;
89
- /**
90
- * Build the APPLY clause for a forEach using its pre-generated context.
91
- */
92
- private buildApplyClause;
93
- /**
94
- * Build a simple APPLY clause for single array paths.
95
- */
96
- private buildSimpleApplyClause;
97
- /**
98
- * Build WHERE clauses for APPLY operations.
99
- */
100
- private buildWhereClauses;
101
- /**
102
- * Build nested CROSS APPLY clauses for array flattening.
103
- */
104
- private buildNestedForEachClause;
105
- /**
106
- * Build WHERE clause conditions for nested array filtering.
107
- */
108
- private buildNestedWhereClauses;
109
- /**
110
- * Build APPLY clause with optional WHERE conditions.
111
- */
112
- private buildApplyWithOptionalWhere;
113
- /**
114
- * Process nested forEach within this forEach's select.
115
- */
116
- private processNestedSelectClauses;
117
- /**
118
- * Process nested forEach within this forEach's unionAll options.
119
- */
120
- private processNestedUnionAllClauses;
121
- /**
122
- * Get the selected unionAll option for a forEach in a combination.
123
- */
124
- private getSelectedUnionOption;
125
- }
126
- export {};
127
- //# sourceMappingURL=ForEachProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ForEachProcessor.d.ts","sourceRoot":"","sources":["../../src/queryGenerator/ForEachProcessor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C;;GAEG;AACH,UAAU,uBAAuB;IAC/B,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IAChE,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO;IAoB9D;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;IAYvD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,sBAAsB,CACpB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,iBAAiB,GAC9B,uBAAuB;IAsB1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA4BrC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;OAEG;IACH,iBAAiB,CACf,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,EAC/D,eAAe,EAAE,oBAAoB,EAAE,EACvC,WAAW,EAAE,iBAAiB,GAC7B,MAAM;IAkBT;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAqB/B"}