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 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgGpC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAwC3C"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmGpC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CA8C3C"}
package/dist/load.js CHANGED
@@ -23,6 +23,7 @@ function getDryRunDatabaseConfig(commandOptions) {
23
23
  password: commandOptions.password ?? "dummy",
24
24
  database: commandOptions.database ?? "dummy",
25
25
  trustServerCertificate: commandOptions.trustServerCertificate,
26
+ requestTimeout: commandOptions.requestTimeout,
26
27
  };
27
28
  }
28
29
  /**
@@ -42,6 +43,7 @@ function buildLoaderOptions(directory, commandOptions) {
42
43
  password: commandOptions.password,
43
44
  database: commandOptions.database,
44
45
  trustServerCertificate: commandOptions.trustServerCertificate,
46
+ requestTimeout: commandOptions.requestTimeout,
45
47
  });
46
48
  return {
47
49
  directory,
@@ -96,6 +98,7 @@ function createLoadCommand() {
96
98
  .option("--password <password>", "Database password")
97
99
  .option("--database <database>", "Database name")
98
100
  .option("--trust-server-certificate", "Trust server certificate", false)
101
+ .option("--request-timeout <ms>", "Request timeout in milliseconds", parseInt, 300000)
99
102
  .option("--pattern <pattern>", "File naming pattern (default: {ResourceType}.ndjson)")
100
103
  .option("--resource-type <type>", "Only load specific resource type")
101
104
  .option("--table-name <name>", "Table name (default: fhir_resources)")
package/dist/load.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/loader/connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAY,EAAE,KAAK,cAAc,EAA4B,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED;;;;;;GAMG;AAEH,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,cAAc,CA8BhB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/loader/connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAY,EAAE,KAAK,cAAc,EAA4B,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;AAED;;;;;;GAMG;AAEH,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,cAAc,CAqChB"}
@@ -27,6 +27,7 @@ async function createConnectionPool(config) {
27
27
  user: config.user,
28
28
  password: config.password,
29
29
  database: config.database,
30
+ requestTimeout: config.requestTimeout,
30
31
  options: {
31
32
  trustServerCertificate: config.trustServerCertificate ?? false,
32
33
  // Enable multiple active result sets for parallel operations.
@@ -94,6 +95,10 @@ function getDatabaseConfigFromEnv(overrides) {
94
95
  (process.env.MSSQL_PORT ? parseInt(process.env.MSSQL_PORT, 10) : 1433);
95
96
  const trustServerCertificate = overrides?.trustServerCertificate ??
96
97
  process.env.MSSQL_TRUST_SERVER_CERTIFICATE === "true";
98
+ const requestTimeout = overrides?.requestTimeout ??
99
+ (process.env.MSSQL_REQUEST_TIMEOUT
100
+ ? parseInt(process.env.MSSQL_REQUEST_TIMEOUT, 10)
101
+ : undefined);
97
102
  return {
98
103
  host,
99
104
  port,
@@ -101,6 +106,7 @@ function getDatabaseConfigFromEnv(overrides) {
101
106
  password,
102
107
  database,
103
108
  trustServerCertificate,
109
+ requestTimeout,
104
110
  };
105
111
  }
106
112
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/loader/connection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAWH,oDA4BC;AAOD,kDAMC;AAQD,wCAOC;AAUD,4DAgCC;AA3GD,kDAA2E;AAG3E;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAsB;IAEtB,wCAAwC;IACxC,MAAM,SAAS,GAAc;QAC3B,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE;YACP,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,KAAK;YAC9D,8DAA8D;YAC9D,gBAAgB,EAAE,IAAI;SACvB;QACD,IAAI,EAAE;YACJ,iDAAiD;YACjD,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,CAAC;YACN,iBAAiB,EAAE,KAAK;SACzB;KACF,CAAC;IAEF,+BAA+B;IAC/B,MAAM,IAAI,GAAG,IAAI,eAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAErB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,IAAoB;IAC5D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,IAAoB;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,qFAAqF;AACrF,SAAgB,wBAAwB,CACtC,SAAmC;IAEnC,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACvD,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACnE,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEnE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,2CAA2C;YACzC,2DAA2D;YAC3D,kFAAkF,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GACR,SAAS,EAAE,IAAI;QACf,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEzE,MAAM,sBAAsB,GAC1B,SAAS,EAAE,sBAAsB;QACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,MAAM,CAAC;IAExD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,sBAAsB;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/loader/connection.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface DatabaseConfig {
19
19
  database: string;
20
20
  /** Whether to trust the server certificate. */
21
21
  trustServerCertificate?: boolean;
22
+ /** Request timeout in milliseconds (default: 300000). */
23
+ requestTimeout?: number;
22
24
  }
23
25
  /**
24
26
  * Discovered NDJSON file with metadata.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loader/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/loader/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
package/dist/parser.d.ts CHANGED
@@ -28,9 +28,18 @@ export declare class ViewDefinitionParser {
28
28
  */
29
29
  private static validateSelectStructure;
30
30
  /**
31
- * Validate forEach and forEachOrNull expressions.
31
+ * Validate forEach, forEachOrNull, and repeat expressions.
32
+ * Ensures mutual exclusivity between these iteration directives.
32
33
  */
33
34
  private static validateSelectExpressions;
35
+ /**
36
+ * Validate that repeat is an array of non-empty strings.
37
+ */
38
+ private static validateRepeatExpression;
39
+ /**
40
+ * Enforce mutual exclusivity: only one of forEach, forEachOrNull, or repeat.
41
+ */
42
+ private static validateIterationDirectiveMutualExclusivity;
34
43
  /**
35
44
  * Validate columns in a select element.
36
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EAIT,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc;IAWjE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUvD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqCpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAQtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA6B5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0BhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAiC5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA0CtC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CA+BxC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EAIT,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc;IAWjE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUvD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqCpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAQtC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAexC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAgBvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2CAA2C;IAkB1D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAY/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA6B5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0BhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAiC5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA0CtC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CA+BxC"}
package/dist/parser.js CHANGED
@@ -90,7 +90,8 @@ class ViewDefinitionParser {
90
90
  }
91
91
  }
92
92
  /**
93
- * Validate forEach and forEachOrNull expressions.
93
+ * Validate forEach, forEachOrNull, and repeat expressions.
94
+ * Ensures mutual exclusivity between these iteration directives.
94
95
  */
95
96
  static validateSelectExpressions(select) {
96
97
  if (select.forEach && typeof select.forEach !== "string") {
@@ -99,6 +100,39 @@ class ViewDefinitionParser {
99
100
  if (select.forEachOrNull && typeof select.forEachOrNull !== "string") {
100
101
  throw new TypeError("forEachOrNull must be a string FHIRPath expression.");
101
102
  }
103
+ this.validateRepeatExpression(select.repeat);
104
+ this.validateIterationDirectiveMutualExclusivity(select);
105
+ }
106
+ /**
107
+ * Validate that repeat is an array of non-empty strings.
108
+ */
109
+ static validateRepeatExpression(repeat) {
110
+ if (repeat === undefined) {
111
+ return;
112
+ }
113
+ if (!Array.isArray(repeat)) {
114
+ throw new TypeError("repeat must be an array of FHIRPath expressions.");
115
+ }
116
+ for (const path of repeat) {
117
+ if (typeof path !== "string" || path.trim().length === 0) {
118
+ throw new TypeError("Each repeat path must be a non-empty string FHIRPath expression.");
119
+ }
120
+ }
121
+ }
122
+ /**
123
+ * Enforce mutual exclusivity: only one of forEach, forEachOrNull, or repeat.
124
+ */
125
+ static validateIterationDirectiveMutualExclusivity(select) {
126
+ const directiveCount = [
127
+ select.forEach,
128
+ select.forEachOrNull,
129
+ select.repeat,
130
+ ].filter((d) => d !== undefined).length;
131
+ if (directiveCount > 1) {
132
+ throw new Error("A select element cannot have multiple iteration directives " +
133
+ "(forEach, forEachOrNull, repeat) at the same level. " +
134
+ "Use nested select to combine them.");
135
+ }
102
136
  }
103
137
  /**
104
138
  * Validate columns in a select element.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,6 @@
2
2
  * Query generator components for building T-SQL from ViewDefinitions.
3
3
  */
4
4
  export { PathParser } from "./PathParser.js";
5
- export { SelectCombination, SelectCombinationExpander, } from "./SelectCombinationExpander.js";
6
- export { ForEachProcessor } from "./ForEachProcessor.js";
7
- export { SelectClauseBuilder } from "./SelectClauseBuilder.js";
8
5
  export { WhereClauseBuilder } from "./WhereClauseBuilder.js";
9
6
  export { ColumnExpressionGenerator } from "./ColumnExpressionGenerator.js";
10
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queryGenerator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queryGenerator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -3,15 +3,9 @@
3
3
  * Query generator components for building T-SQL from ViewDefinitions.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ColumnExpressionGenerator = exports.WhereClauseBuilder = exports.SelectClauseBuilder = exports.ForEachProcessor = exports.SelectCombinationExpander = exports.PathParser = void 0;
6
+ exports.ColumnExpressionGenerator = exports.WhereClauseBuilder = exports.PathParser = void 0;
7
7
  var PathParser_js_1 = require("./PathParser.js");
8
8
  Object.defineProperty(exports, "PathParser", { enumerable: true, get: function () { return PathParser_js_1.PathParser; } });
9
- var SelectCombinationExpander_js_1 = require("./SelectCombinationExpander.js");
10
- Object.defineProperty(exports, "SelectCombinationExpander", { enumerable: true, get: function () { return SelectCombinationExpander_js_1.SelectCombinationExpander; } });
11
- var ForEachProcessor_js_1 = require("./ForEachProcessor.js");
12
- Object.defineProperty(exports, "ForEachProcessor", { enumerable: true, get: function () { return ForEachProcessor_js_1.ForEachProcessor; } });
13
- var SelectClauseBuilder_js_1 = require("./SelectClauseBuilder.js");
14
- Object.defineProperty(exports, "SelectClauseBuilder", { enumerable: true, get: function () { return SelectClauseBuilder_js_1.SelectClauseBuilder; } });
15
9
  var WhereClauseBuilder_js_1 = require("./WhereClauseBuilder.js");
16
10
  Object.defineProperty(exports, "WhereClauseBuilder", { enumerable: true, get: function () { return WhereClauseBuilder_js_1.WhereClauseBuilder; } });
17
11
  var ColumnExpressionGenerator_js_1 = require("./ColumnExpressionGenerator.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queryGenerator/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,+EAGwC;AADtC,yIAAA,yBAAyB,OAAA;AAE3B,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queryGenerator/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Sole producer of all SQL aliases generated by the tree walker.
3
+ *
4
+ * Routing every alias through here guarantees uniqueness across the whole
5
+ * compile (the counter lives on Context.cteCounter and is shared by every
6
+ * recursive walk call).
7
+ */
8
+ import type { Context } from "./types.js";
9
+ /**
10
+ * Generates a globally unique SQL alias for the current compilation.
11
+ *
12
+ * Increments the shared `ctx.cteCounter` (a mutable reference threaded
13
+ * through every recursive walk call) and returns `"<prefix>_<n>"`. Because
14
+ * the counter is shared, aliases produced across different branches and depths
15
+ * of the tree are guaranteed to be distinct within a single
16
+ * `compileViewDefinition` call.
17
+ *
18
+ * @param ctx - The current walker context; its `cteCounter.value` is
19
+ * incremented as a side effect.
20
+ * @param prefix - A human-readable prefix that identifies the operator
21
+ * creating the alias (e.g. `"forEach"`, `"repeat"`, `"ua"`).
22
+ * @returns A string of the form `"<prefix>_<n>"` that is unique within the
23
+ * current compilation.
24
+ */
25
+ export declare function freshAlias(ctx: Context, prefix: string): string;
26
+ //# sourceMappingURL=aliasGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliasGenerator.d.ts","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/aliasGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG/D"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Sole producer of all SQL aliases generated by the tree walker.
4
+ *
5
+ * Routing every alias through here guarantees uniqueness across the whole
6
+ * compile (the counter lives on Context.cteCounter and is shared by every
7
+ * recursive walk call).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.freshAlias = freshAlias;
11
+ /**
12
+ * Generates a globally unique SQL alias for the current compilation.
13
+ *
14
+ * Increments the shared `ctx.cteCounter` (a mutable reference threaded
15
+ * through every recursive walk call) and returns `"<prefix>_<n>"`. Because
16
+ * the counter is shared, aliases produced across different branches and depths
17
+ * of the tree are guaranteed to be distinct within a single
18
+ * `compileViewDefinition` call.
19
+ *
20
+ * @param ctx - The current walker context; its `cteCounter.value` is
21
+ * incremented as a side effect.
22
+ * @param prefix - A human-readable prefix that identifies the operator
23
+ * creating the alias (e.g. `"forEach"`, `"repeat"`, `"ua"`).
24
+ * @returns A string of the form `"<prefix>_<n>"` that is unique within the
25
+ * current compilation.
26
+ */
27
+ function freshAlias(ctx, prefix) {
28
+ const id = ctx.cteCounter.value++;
29
+ return `${prefix}_${id}`;
30
+ }
31
+ //# sourceMappingURL=aliasGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliasGenerator.js","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/aliasGenerator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoBH,gCAGC;AAnBD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,UAAU,CAAC,GAAY,EAAE,MAAc;IACrD,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Classifies a ViewDefinition select node into one of the walker's NodeKinds.
3
+ */
4
+ import type { ViewDefinitionSelect } from "../../types.js";
5
+ import type { NodeKind } from "./types.js";
6
+ /**
7
+ * Classifies a ViewDefinition select node into one of the walker's NodeKinds.
8
+ *
9
+ * Operators are tested outer-to-inner: `forEachOrNull` first, then `forEach`,
10
+ * `repeat`, `unionAll`, `select` (Group), and finally `ColumnsOnly` as the
11
+ * base case. A node that carries multiple operator fields is classified as the
12
+ * outermost one; inner operators surface when the walker descends.
13
+ *
14
+ * @param node - The select node to classify.
15
+ * @returns The `NodeKind` string discriminant that determines which operator
16
+ * walker handles this node.
17
+ */
18
+ export declare function classifyNode(node: ViewDefinitionSelect): NodeKind;
19
+ //# sourceMappingURL=classify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAWjE"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * Classifies a ViewDefinition select node into one of the walker's NodeKinds.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.classifyNode = classifyNode;
7
+ /**
8
+ * Classifies a ViewDefinition select node into one of the walker's NodeKinds.
9
+ *
10
+ * Operators are tested outer-to-inner: `forEachOrNull` first, then `forEach`,
11
+ * `repeat`, `unionAll`, `select` (Group), and finally `ColumnsOnly` as the
12
+ * base case. A node that carries multiple operator fields is classified as the
13
+ * outermost one; inner operators surface when the walker descends.
14
+ *
15
+ * @param node - The select node to classify.
16
+ * @returns The `NodeKind` string discriminant that determines which operator
17
+ * walker handles this node.
18
+ */
19
+ function classifyNode(node) {
20
+ // Operators are ordered outer-to-inner. A node with multiple operators
21
+ // (e.g. `{forEach, unionAll}`) is processed as the outer one; the inner
22
+ // operator surfaces when the walker descends into the node's
23
+ // `{column, select, unionAll}` sub-node.
24
+ if (node.forEachOrNull !== undefined)
25
+ return "ForEachOrNull";
26
+ if (node.forEach !== undefined)
27
+ return "ForEach";
28
+ if (node.repeat && node.repeat.length > 0)
29
+ return "Repeat";
30
+ if (node.unionAll && node.unionAll.length > 0)
31
+ return "UnionAll";
32
+ if (node.select && node.select.length > 0)
33
+ return "Group";
34
+ return "ColumnsOnly";
35
+ }
36
+ //# sourceMappingURL=classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/classify.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiBH,oCAWC;AAvBD;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,IAA0B;IACrD,uEAAuE;IACvE,wEAAwE;IACxE,6DAA6D;IAC7D,yCAAyC;IACzC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAC7D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACjE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1D,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Public entry point for the tree-walker query generator.
3
+ *
4
+ * Wraps viewDef.select as a synthetic Group node, walks it, and renders
5
+ * the resulting Fragment as a single T-SQL statement.
6
+ */
7
+ import { TranspilerContext } from "../../fhirpath/transpiler.js";
8
+ import type { TranspilationResult, ViewDefinition } from "../../types.js";
9
+ export interface CompileOptions {
10
+ tableName: string;
11
+ schemaName: string;
12
+ testId?: string;
13
+ transpilerCtx: TranspilerContext;
14
+ }
15
+ /**
16
+ * Compiles a ViewDefinition into a T-SQL query string and column metadata.
17
+ *
18
+ * Wraps `viewDef.select` as a synthetic root Group node, walks the entire
19
+ * select tree to produce a Fragment, then renders that Fragment into a
20
+ * complete T-SQL statement (WITH … SELECT … FROM … WHERE).
21
+ *
22
+ * @param viewDef - The parsed ViewDefinition whose `select` tree is compiled.
23
+ * @param options - Compilation options including table/schema names, an
24
+ * optional test-isolation ID, and the FHIRPath transpiler context.
25
+ * @returns A `TranspilationResult` containing the generated SQL string and
26
+ * an ordered array of column metadata matching the view's output shape.
27
+ */
28
+ export declare function compileViewDefinition(viewDef: ViewDefinition, options: CompileOptions): TranspilationResult;
29
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/compile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,GACtB,mBAAmB,CAuBrB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * Public entry point for the tree-walker query generator.
4
+ *
5
+ * Wraps viewDef.select as a synthetic Group node, walks it, and renders
6
+ * the resulting Fragment as a single T-SQL statement.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.compileViewDefinition = compileViewDefinition;
10
+ const transpiler_js_1 = require("../../fhirpath/transpiler.js");
11
+ const ColumnExpressionGenerator_js_1 = require("../ColumnExpressionGenerator.js");
12
+ const PathParser_js_1 = require("../PathParser.js");
13
+ const WhereClauseBuilder_js_1 = require("../WhereClauseBuilder.js");
14
+ const render_js_1 = require("./render.js");
15
+ const types_js_1 = require("./types.js");
16
+ const walker_js_1 = require("./walker.js");
17
+ const columnGenerator = new ColumnExpressionGenerator_js_1.ColumnExpressionGenerator();
18
+ const pathParser = new PathParser_js_1.PathParser();
19
+ const whereClauseBuilder = new WhereClauseBuilder_js_1.WhereClauseBuilder();
20
+ /**
21
+ * Compiles a ViewDefinition into a T-SQL query string and column metadata.
22
+ *
23
+ * Wraps `viewDef.select` as a synthetic root Group node, walks the entire
24
+ * select tree to produce a Fragment, then renders that Fragment into a
25
+ * complete T-SQL statement (WITH … SELECT … FROM … WHERE).
26
+ *
27
+ * @param viewDef - The parsed ViewDefinition whose `select` tree is compiled.
28
+ * @param options - Compilation options including table/schema names, an
29
+ * optional test-isolation ID, and the FHIRPath transpiler context.
30
+ * @returns A `TranspilationResult` containing the generated SQL string and
31
+ * an ordered array of column metadata matching the view's output shape.
32
+ */
33
+ function compileViewDefinition(viewDef, options) {
34
+ const resourceAlias = options.transpilerCtx.resourceAlias;
35
+ const ctx = buildRootContext(resourceAlias, options.transpilerCtx);
36
+ const rootNode = { select: viewDef.select };
37
+ const walk = (0, walker_js_1.makeWalker)({
38
+ columnGenerator,
39
+ pathParser,
40
+ schemaName: options.schemaName,
41
+ tableName: options.tableName,
42
+ });
43
+ const fragment = walk(rootNode, ctx);
44
+ const sql = (0, render_js_1.renderRoot)(fragment, viewDef, {
45
+ resourceAlias,
46
+ schemaName: options.schemaName,
47
+ tableName: options.tableName,
48
+ testId: options.testId,
49
+ whereClauseBuilder,
50
+ transpilerCtx: options.transpilerCtx,
51
+ });
52
+ return { sql, columns: collectColumnMetadata(viewDef.select) };
53
+ }
54
+ function buildRootContext(resourceAlias, transpilerCtx) {
55
+ const idKey = {
56
+ name: "id",
57
+ sqlExpr: `[${resourceAlias}].[id]`,
58
+ sqlType: types_js_1.SQL_INT,
59
+ };
60
+ return {
61
+ resourceAlias,
62
+ // Use unbracketed `r.json` for the JSON source: matches the FHIRPath
63
+ // transpiler's expectations (see visitor.ts handleJsonQueryMember which
64
+ // pattern-matches on the source string).
65
+ source: `${resourceAlias}.json`,
66
+ partitionKeys: [idKey],
67
+ ancestorApplies: "",
68
+ nullable: false,
69
+ cteCounter: { value: 0 },
70
+ transpilerCtx,
71
+ };
72
+ }
73
+ /**
74
+ * Walk the select tree and collect ColumnInfo metadata in lexical order.
75
+ * Mirrors the behaviour of QueryGenerator.collectAllColumns so the public
76
+ * TranspilationResult.columns shape is unchanged.
77
+ */
78
+ function collectColumnMetadata(selects) {
79
+ const out = [];
80
+ for (const select of selects) {
81
+ if (select.column) {
82
+ for (const column of select.column) {
83
+ out.push({
84
+ name: column.name,
85
+ type: transpiler_js_1.Transpiler.inferSqlType(column.type, column.tag),
86
+ nullable: true,
87
+ description: column.description,
88
+ });
89
+ }
90
+ }
91
+ if (select.select)
92
+ out.push(...collectColumnMetadata(select.select));
93
+ if (select.unionAll)
94
+ out.push(...collectColumnMetadata(select.unionAll));
95
+ }
96
+ return out;
97
+ }
98
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SQL string templates for the recursive CTE produced by `repeat`.
3
+ *
4
+ * Builds the anchor + recursive members, propagating partition keys and
5
+ * baked scalar columns through both. Multi-segment paths chain CROSS APPLY
6
+ * OPENJSON per segment.
7
+ *
8
+ * Note: `__path` is built by string-concatenating each child's `[key]`.
9
+ * If a JSON object key contains a literal `.`, two distinct nodes could
10
+ * theoretically produce equal `__path` strings. FHIR JSON keys do not
11
+ * contain dots in practice; not a blocker.
12
+ */
13
+ import type { CteDefinition, PartitionKey } from "./types.js";
14
+ export interface BuildRepeatCteArgs {
15
+ cteAlias: string;
16
+ /** FHIRPath strings — first is the anchor path; all are recursive paths. */
17
+ paths: string[];
18
+ /** JSON source expression for the anchor (e.g. "r.json", "forEach_0.value"). */
19
+ source: string;
20
+ /** "FROM <table> AS [r]" — the resource table reference for the anchor. */
21
+ fromClause: string;
22
+ /** CROSS/OUTER APPLY chain inherited from ancestors (each starts with "\n"). */
23
+ ancestorApplies: string;
24
+ /** Partition keys propagated through anchor and recursive members. */
25
+ partitionKeys: PartitionKey[];
26
+ /** Resource-level WHERE applied to the anchor (or null to omit). */
27
+ resourcePredicate: string | null;
28
+ }
29
+ /**
30
+ * Builds the SQL body of the recursive CTE used by the Repeat operator.
31
+ *
32
+ * Produces a `CteDefinition` whose body is an anchor SELECT followed by one
33
+ * `UNION ALL` recursive SELECT per path in `args.paths`. The anchor starts
34
+ * at the resource root and expands each array element via `OPENJSON`; each
35
+ * recursive member re-expands from the CTE's own `item_json` column,
36
+ * appending `.[key]` to the `__path` accumulator for stable per-element
37
+ * identity. Multi-segment paths (e.g. `"a.b.c"`) produce a chain of nested
38
+ * `CROSS APPLY OPENJSON` calls.
39
+ *
40
+ * @param args - Parameters controlling CTE generation: the CTE alias, the
41
+ * FHIRPath repeat paths, the JSON source expression for the anchor, the
42
+ * resource table FROM clause, any ancestor APPLY chain, the partition keys
43
+ * to propagate, and an optional resource-level WHERE predicate for the
44
+ * anchor.
45
+ * @returns A `CteDefinition` with `alias` set to `args.cteAlias` and `body`
46
+ * containing the full anchor + recursive SQL (without the outer
47
+ * `alias AS (...)` wrapper, which `renderRoot` adds).
48
+ */
49
+ export declare function buildRepeatCte(args: BuildRepeatCteArgs): CteDefinition;
50
+ //# sourceMappingURL=cteTemplates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cteTemplates.d.ts","sourceRoot":"","sources":["../../../src/queryGenerator/treeWalker/cteTemplates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAOtE"}