fhirpath-ts 0.2.0 → 0.2.2

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 (83) hide show
  1. package/README.md +12 -5
  2. package/dist/analyzer/analyze-dto.d.ts.map +1 -1
  3. package/dist/analyzer/analyze-dto.js +14 -8
  4. package/dist/analyzer/analyze-dto.js.map +1 -1
  5. package/dist/analyzer/analyze.d.ts +23 -12
  6. package/dist/analyzer/analyze.d.ts.map +1 -1
  7. package/dist/analyzer/analyze.js +138 -46
  8. package/dist/analyzer/analyze.js.map +1 -1
  9. package/dist/analyzer/declarations.d.ts +6 -0
  10. package/dist/analyzer/declarations.d.ts.map +1 -1
  11. package/dist/analyzer/declarations.js +7 -0
  12. package/dist/analyzer/declarations.js.map +1 -1
  13. package/dist/analyzer/expression-policy.d.ts +88 -14
  14. package/dist/analyzer/expression-policy.d.ts.map +1 -1
  15. package/dist/analyzer/expression-policy.js +296 -41
  16. package/dist/analyzer/expression-policy.js.map +1 -1
  17. package/dist/analyzer/operator-rules.d.ts.map +1 -1
  18. package/dist/analyzer/operator-rules.js +7 -6
  19. package/dist/analyzer/operator-rules.js.map +1 -1
  20. package/dist/analyzer/signatures.d.ts +49 -0
  21. package/dist/analyzer/signatures.d.ts.map +1 -1
  22. package/dist/analyzer/signatures.js +76 -31
  23. package/dist/analyzer/signatures.js.map +1 -1
  24. package/dist/analyzer/source-options.d.ts +17 -0
  25. package/dist/analyzer/source-options.d.ts.map +1 -0
  26. package/dist/analyzer/source-options.js +3 -0
  27. package/dist/analyzer/source-options.js.map +1 -0
  28. package/dist/api/dto.d.ts +9 -4
  29. package/dist/api/dto.d.ts.map +1 -1
  30. package/dist/api/dto.js +14 -3
  31. package/dist/api/dto.js.map +1 -1
  32. package/dist/api/strict.d.ts.map +1 -1
  33. package/dist/api/strict.js +8 -3
  34. package/dist/api/strict.js.map +1 -1
  35. package/dist/cli/dto-check.d.ts +9 -0
  36. package/dist/cli/dto-check.d.ts.map +1 -1
  37. package/dist/cli/dto-check.js +49 -6
  38. package/dist/cli/dto-check.js.map +1 -1
  39. package/dist/cli/fhirpath-check.js +161 -31
  40. package/dist/cli/fhirpath-check.js.map +1 -1
  41. package/dist/eslint/index.d.ts.map +1 -1
  42. package/dist/eslint/index.js +13 -8
  43. package/dist/eslint/index.js.map +1 -1
  44. package/dist/r4/generated/resources-data.d.ts +6 -2
  45. package/dist/r4/generated/resources-data.d.ts.map +1 -1
  46. package/dist/r4/generated/resources-data.js +626 -28627
  47. package/dist/r4/generated/resources-data.js.map +1 -1
  48. package/dist/r4/generated/types-data.d.ts +6 -2
  49. package/dist/r4/generated/types-data.d.ts.map +1 -1
  50. package/dist/r4/generated/types-data.js +84 -2204
  51. package/dist/r4/generated/types-data.js.map +1 -1
  52. package/dist/r4/index.d.ts.map +1 -1
  53. package/dist/r4/index.js +10 -4
  54. package/dist/r4/index.js.map +1 -1
  55. package/dist/r4/model-data.d.ts +17 -0
  56. package/dist/r4/model-data.d.ts.map +1 -1
  57. package/dist/r4/model-data.js +118 -1
  58. package/dist/r4/model-data.js.map +1 -1
  59. package/dist/sites/index.d.ts +31 -2
  60. package/dist/sites/index.d.ts.map +1 -1
  61. package/dist/sites/index.js +351 -30
  62. package/dist/sites/index.js.map +1 -1
  63. package/dist/typed/infer.d.ts +2 -0
  64. package/dist/typed/infer.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/src/analyzer/analyze-dto.ts +19 -9
  67. package/src/analyzer/analyze.ts +186 -54
  68. package/src/analyzer/declarations.ts +12 -0
  69. package/src/analyzer/expression-policy.ts +423 -47
  70. package/src/analyzer/operator-rules.ts +7 -6
  71. package/src/analyzer/signatures.ts +100 -36
  72. package/src/analyzer/source-options.ts +19 -0
  73. package/src/api/dto.ts +35 -9
  74. package/src/api/strict.ts +8 -3
  75. package/src/cli/dto-check.ts +56 -6
  76. package/src/cli/fhirpath-check.ts +180 -34
  77. package/src/eslint/index.ts +15 -12
  78. package/src/r4/generated/resources-data.ts +624 -28628
  79. package/src/r4/generated/types-data.ts +82 -2205
  80. package/src/r4/index.ts +11 -5
  81. package/src/r4/model-data.ts +127 -0
  82. package/src/sites/index.ts +428 -40
  83. package/src/typed/infer.ts +2 -2
@@ -3,6 +3,8 @@ export interface StaticStateLike {
3
3
  types: string[] | undefined;
4
4
  /** True: at most one item. False: may hold several. Undefined: cardinality unknown. */
5
5
  single: boolean | undefined;
6
+ /** True: ordered. False: unordered. Undefined: ordering is unknown. */
7
+ ordered: boolean | undefined;
6
8
  /** Canonical resource types a Reference state may point to — resolve()'s result. */
7
9
  targets?: string[];
8
10
  }
@@ -24,6 +26,8 @@ export type ValueArgSpec = 'any' | ValueKind;
24
26
  export interface InputSpec {
25
27
  kind?: ValueKind;
26
28
  singleton?: boolean;
29
+ /** True: the function needs an input with a defined order (`first()`, `skip()`). */
30
+ ordered?: boolean;
27
31
  /** Canonical or local model type names ('CodeableConcept', 'System.String'). */
28
32
  types?: readonly string[];
29
33
  }
@@ -39,6 +43,8 @@ export interface CustomFunctionSignature {
39
43
  result?: {
40
44
  types?: readonly string[];
41
45
  single?: boolean;
46
+ /** True: ordered. False: unordered. Omit when the function does not declare ordering. */
47
+ ordered?: boolean;
42
48
  };
43
49
  }
44
50
  /**
@@ -50,8 +56,10 @@ export type ResultRule = {
50
56
  kind: 'fixed';
51
57
  types?: readonly string[];
52
58
  single?: boolean;
59
+ ordered?: boolean;
53
60
  } | {
54
61
  kind: 'input';
62
+ ordered?: true;
55
63
  } | {
56
64
  kind: 'input-item';
57
65
  } | {
@@ -61,12 +69,14 @@ export type ResultRule = {
61
69
  kind: 'union';
62
70
  sources: readonly ('input' | number)[];
63
71
  single: boolean | 'all';
72
+ sequential?: true;
64
73
  } | {
65
74
  kind: 'arguments-union';
66
75
  } | {
67
76
  kind: 'reference-targets';
68
77
  } | {
69
78
  kind: 'unknown';
79
+ ordered?: boolean;
70
80
  };
71
81
  export interface FunctionSignature {
72
82
  input?: InputSpec;
@@ -75,12 +85,20 @@ export interface FunctionSignature {
75
85
  }
76
86
  /** Interpret one declarative result rule for the runtime analyzer. */
77
87
  export declare function applyResultRule(rule: ResultRule, input: StaticStateLike, args: readonly (StaticStateLike | undefined)[]): StaticStateLike;
88
+ /** A collection known to hold at most one item is trivially ordered. */
89
+ export declare function singletonOrder(single: boolean | undefined, ordered: boolean | undefined): boolean | undefined;
90
+ /** Exactly one item of the given types — the state every literal produces. */
91
+ export declare function singleState(types: string[] | undefined): StaticStateLike;
78
92
  /**
79
93
  * The input's candidate types and reference targets at a different cardinality
80
94
  * — the composition every selection/projection result goes through, so target
81
95
  * metadata survives by construction instead of by per-function special cases.
82
96
  */
83
97
  export declare function withSingle(input: StaticStateLike, single: boolean | undefined): StaticStateLike;
98
+ /** Set ordering without losing type, cardinality, or Reference-target facts. */
99
+ export declare function withOrder(input: StaticStateLike, ordered: boolean | undefined): StaticStateLike;
100
+ /** Flattening ordered subcollections preserves order only when both levels do. */
101
+ export declare function sequentialOrder(a: boolean | undefined, b: boolean | undefined): boolean | undefined;
84
102
  /**
85
103
  * The union of several alternative states (iif branches, coalesce arguments,
86
104
  * merged collections): all candidate types, single only when every alternative
@@ -208,6 +226,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
208
226
  readonly args: readonly ["expression"];
209
227
  readonly result: {
210
228
  readonly kind: "unknown";
229
+ readonly ordered: false;
211
230
  };
212
231
  };
213
232
  readonly ofType: {
@@ -242,27 +261,42 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
242
261
  };
243
262
  };
244
263
  readonly first: {
264
+ readonly input: {
265
+ readonly ordered: true;
266
+ };
245
267
  readonly result: {
246
268
  readonly kind: "input-item";
247
269
  };
248
270
  };
249
271
  readonly last: {
272
+ readonly input: {
273
+ readonly ordered: true;
274
+ };
250
275
  readonly result: {
251
276
  readonly kind: "input-item";
252
277
  };
253
278
  };
254
279
  readonly tail: {
280
+ readonly input: {
281
+ readonly ordered: true;
282
+ };
255
283
  readonly result: {
256
284
  readonly kind: "input";
257
285
  };
258
286
  };
259
287
  readonly skip: {
288
+ readonly input: {
289
+ readonly ordered: true;
290
+ };
260
291
  readonly args: readonly ["Numeric"];
261
292
  readonly result: {
262
293
  readonly kind: "input";
263
294
  };
264
295
  };
265
296
  readonly take: {
297
+ readonly input: {
298
+ readonly ordered: true;
299
+ };
266
300
  readonly args: readonly ["Numeric"];
267
301
  readonly result: {
268
302
  readonly kind: "input";
@@ -286,6 +320,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
286
320
  readonly kind: "union";
287
321
  readonly sources: readonly ["input", 0];
288
322
  readonly single: false;
323
+ readonly sequential: true;
289
324
  };
290
325
  };
291
326
  readonly combine: {
@@ -294,6 +329,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
294
329
  readonly kind: "union";
295
330
  readonly sources: readonly ["input", 0];
296
331
  readonly single: false;
332
+ readonly sequential: true;
297
333
  };
298
334
  };
299
335
  readonly iif: {
@@ -323,11 +359,13 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
323
359
  readonly children: {
324
360
  readonly result: {
325
361
  readonly kind: "unknown";
362
+ readonly ordered: false;
326
363
  };
327
364
  };
328
365
  readonly descendants: {
329
366
  readonly result: {
330
367
  readonly kind: "unknown";
368
+ readonly ordered: false;
331
369
  };
332
370
  };
333
371
  readonly resolve: {
@@ -357,6 +395,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
357
395
  };
358
396
  readonly result: {
359
397
  readonly kind: "unknown";
398
+ readonly ordered: true;
360
399
  };
361
400
  };
362
401
  readonly htmlChecks: {
@@ -554,6 +593,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
554
593
  readonly kind: "fixed";
555
594
  readonly types: readonly ["System.String"];
556
595
  readonly single: false;
596
+ readonly ordered: true;
557
597
  };
558
598
  };
559
599
  readonly trim: {
@@ -577,6 +617,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
577
617
  readonly kind: "fixed";
578
618
  readonly types: readonly ["System.String"];
579
619
  readonly single: false;
620
+ readonly ordered: true;
580
621
  };
581
622
  };
582
623
  readonly join: {
@@ -644,6 +685,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
644
685
  };
645
686
  readonly result: {
646
687
  readonly kind: "unknown";
688
+ readonly ordered: true;
647
689
  };
648
690
  };
649
691
  readonly ceiling: {
@@ -744,6 +786,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
744
786
  readonly args: readonly ["Numeric"];
745
787
  readonly result: {
746
788
  readonly kind: "unknown";
789
+ readonly ordered: true;
747
790
  };
748
791
  };
749
792
  readonly aggregate: {
@@ -760,6 +803,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
760
803
  };
761
804
  readonly result: {
762
805
  readonly kind: "unknown";
806
+ readonly ordered: true;
763
807
  };
764
808
  };
765
809
  readonly min: {
@@ -768,6 +812,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
768
812
  };
769
813
  readonly result: {
770
814
  readonly kind: "unknown";
815
+ readonly ordered: true;
771
816
  };
772
817
  };
773
818
  readonly max: {
@@ -776,6 +821,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
776
821
  };
777
822
  readonly result: {
778
823
  readonly kind: "unknown";
824
+ readonly ordered: true;
779
825
  };
780
826
  };
781
827
  readonly avg: {
@@ -792,6 +838,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
792
838
  readonly args: readonly ["sort-key"];
793
839
  readonly result: {
794
840
  readonly kind: "input";
841
+ readonly ordered: true;
795
842
  };
796
843
  };
797
844
  readonly toBoolean: {
@@ -1114,6 +1161,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
1114
1161
  readonly args: readonly ["Numeric"];
1115
1162
  readonly result: {
1116
1163
  readonly kind: "unknown";
1164
+ readonly ordered: true;
1117
1165
  };
1118
1166
  };
1119
1167
  readonly highBoundary: {
@@ -1123,6 +1171,7 @@ declare const FUNCTION_SIGNATURE_DEFINITIONS: {
1123
1171
  readonly args: readonly ["Numeric"];
1124
1172
  readonly result: {
1125
1173
  readonly kind: "unknown";
1174
+ readonly ordered: true;
1126
1175
  };
1127
1176
  };
1128
1177
  readonly precision: {
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../src/analyzer/signatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../src/analyzer/signatures.ts"],"names":[],"mappings":"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"}
@@ -15,43 +15,81 @@ const DATETIME = { kind: 'fixed', types: ['System.DateTime'], single: true };
15
15
  const TIME = { kind: 'fixed', types: ['System.Time'], single: true };
16
16
  const QUANTITY = { kind: 'fixed', types: ['System.Quantity'], single: true };
17
17
  const UNKNOWN = { kind: 'unknown' };
18
+ // An unknown type that is at most one item at runtime (aggregates, singleton-input
19
+ // conversions), so its order is defined even when the input's is not.
20
+ const UNKNOWN_ITEM = { kind: 'unknown', ordered: true };
21
+ // Tree traversals return their matches in no defined order (spec §5.1).
22
+ const UNORDERED = { kind: 'unknown', ordered: false };
18
23
  const SAME = { kind: 'input' };
19
24
  const ITEM = { kind: 'input-item' };
20
25
  /** Interpret one declarative result rule for the runtime analyzer. */
21
26
  export function applyResultRule(rule, input, args) {
22
27
  switch (rule.kind) {
23
28
  case 'fixed':
24
- return { types: rule.types === undefined ? undefined : [...rule.types], single: rule.single };
29
+ return {
30
+ types: rule.types === undefined ? undefined : [...rule.types],
31
+ single: rule.single,
32
+ ordered: singletonOrder(rule.single, rule.ordered),
33
+ };
25
34
  case 'input':
26
- return input;
35
+ return rule.ordered === true ? withOrder(input, true) : input;
27
36
  case 'input-item':
28
37
  return withSingle(input, true);
29
38
  case 'argument': {
30
- const argument = args[rule.index] ?? { types: undefined, single: undefined };
31
- return withSingle(argument, singleAnd(input.single, argument.single));
39
+ const argument = args[rule.index] ?? { types: undefined, single: undefined, ordered: undefined };
40
+ const result = withSingle(argument, singleAnd(input.single, argument.single));
41
+ return withOrder(result, sequentialOrder(input.ordered, argument.ordered));
32
42
  }
33
43
  case 'union': {
34
44
  const states = rule.sources.map(source => (source === 'input' ? input : args[source]));
35
45
  const merged = unionStates(states);
36
- return rule.single === 'all' ? merged : withSingle(merged, rule.single);
46
+ const result = rule.single === 'all' ? merged : withSingle(merged, rule.single);
47
+ if (rule.sequential !== true) {
48
+ return result;
49
+ }
50
+ const present = states.filter((state) => state !== undefined);
51
+ return withOrder(result, present.map(state => state.ordered).reduce(sequentialOrder, true));
37
52
  }
38
53
  case 'arguments-union':
39
54
  return unionStates([...args]);
40
55
  case 'reference-targets':
41
- return { types: input.targets, single: input.single };
56
+ return { types: input.targets, single: input.single, ordered: input.ordered };
42
57
  case 'unknown':
43
- return { types: undefined, single: undefined };
58
+ return { types: undefined, single: undefined, ordered: rule.ordered ?? input.ordered };
44
59
  }
45
60
  }
61
+ /** A collection known to hold at most one item is trivially ordered. */
62
+ export function singletonOrder(single, ordered) {
63
+ return single === true ? true : ordered;
64
+ }
65
+ /** Exactly one item of the given types — the state every literal produces. */
66
+ export function singleState(types) {
67
+ return { types, single: true, ordered: true };
68
+ }
46
69
  /**
47
70
  * The input's candidate types and reference targets at a different cardinality
48
71
  * — the composition every selection/projection result goes through, so target
49
72
  * metadata survives by construction instead of by per-function special cases.
50
73
  */
51
74
  export function withSingle(input, single) {
75
+ const ordered = singletonOrder(single, input.ordered);
52
76
  return input.targets === undefined
53
- ? { types: input.types, single }
54
- : { types: input.types, single, targets: input.targets };
77
+ ? { types: input.types, single, ordered }
78
+ : { types: input.types, single, ordered, targets: input.targets };
79
+ }
80
+ /** Set ordering without losing type, cardinality, or Reference-target facts. */
81
+ export function withOrder(input, ordered) {
82
+ const normalized = singletonOrder(input.single, ordered);
83
+ return input.targets === undefined
84
+ ? { types: input.types, single: input.single, ordered: normalized }
85
+ : { types: input.types, single: input.single, ordered: normalized, targets: input.targets };
86
+ }
87
+ /** Flattening ordered subcollections preserves order only when both levels do. */
88
+ export function sequentialOrder(a, b) {
89
+ if (a === false || b === false) {
90
+ return false;
91
+ }
92
+ return a === true && b === true ? true : undefined;
55
93
  }
56
94
  /**
57
95
  * The union of several alternative states (iif branches, coalesce arguments,
@@ -63,13 +101,20 @@ export function unionStates(states) {
63
101
  const present = states.filter((state) => state !== undefined);
64
102
  const single = present.length > 0 ? present.map(state => state.single).reduce(singleAnd, true) : undefined;
65
103
  const contributing = present.filter(state => state.types === undefined || state.types.length > 0);
104
+ const ordered = contributing.length === 0
105
+ ? true
106
+ : contributing.every(state => state.ordered === true)
107
+ ? true
108
+ : contributing.every(state => state.ordered === false)
109
+ ? false
110
+ : undefined;
66
111
  const targets = contributing.length > 0 && contributing.every(state => state.targets !== undefined)
67
112
  ? [...new Set(contributing.flatMap(state => state.targets))]
68
113
  : undefined;
69
114
  const types = present.length === 0 || present.some(state => state.types === undefined)
70
115
  ? undefined
71
116
  : [...new Set(present.flatMap(state => state.types))];
72
- return targets === undefined ? { types, single } : { types, single, targets };
117
+ return targets === undefined ? { types, single, ordered } : { types, single, ordered, targets };
73
118
  }
74
119
  const STRING_FN = {
75
120
  input: { kind: 'String', singleton: true },
@@ -106,22 +151,22 @@ const FUNCTION_SIGNATURE_DEFINITIONS = {
106
151
  // the input and the projection body are single.
107
152
  result: { kind: 'argument', index: 0 },
108
153
  },
109
- repeat: { args: ['expression'], result: UNKNOWN },
154
+ repeat: { args: ['expression'], result: UNORDERED },
110
155
  // ofType/as results narrow to the named type; the analyzer computes that with
111
156
  // the model (walkCall), so their table results are never consulted.
112
157
  ofType: { args: ['type-name'], result: UNKNOWN },
113
158
  is: { input: { singleton: true }, args: ['type-name'], result: BOOLEAN },
114
159
  as: { input: { singleton: true }, args: ['type-name'], result: UNKNOWN },
115
160
  single: { result: ITEM },
116
- first: { result: ITEM },
117
- last: { result: ITEM },
118
- tail: { result: SAME },
119
- skip: { args: ['Numeric'], result: SAME },
120
- take: { args: ['Numeric'], result: SAME },
161
+ first: { input: { ordered: true }, result: ITEM },
162
+ last: { input: { ordered: true }, result: ITEM },
163
+ tail: { input: { ordered: true }, result: SAME },
164
+ skip: { input: { ordered: true }, args: ['Numeric'], result: SAME },
165
+ take: { input: { ordered: true }, args: ['Numeric'], result: SAME },
121
166
  intersect: { args: ['any'], result: SAME },
122
167
  exclude: { args: ['any'], result: SAME },
123
- union: { args: ['any'], result: { kind: 'union', sources: ['input', 0], single: false } },
124
- combine: { args: ['any'], result: { kind: 'union', sources: ['input', 0], single: false } },
168
+ union: { args: ['any'], result: { kind: 'union', sources: ['input', 0], single: false, sequential: true } },
169
+ combine: { args: ['any'], result: { kind: 'union', sources: ['input', 0], single: false, sequential: true } },
125
170
  iif: {
126
171
  args: ['condition', 'expression', 'expression'],
127
172
  // The union of the branch states; a missing else-branch contributes empty.
@@ -130,14 +175,14 @@ const FUNCTION_SIGNATURE_DEFINITIONS = {
130
175
  // not() takes anything a Boolean test accepts (0/1, single items), so no kind pin.
131
176
  not: { input: { singleton: true }, result: BOOLEAN },
132
177
  trace: { args: ['String', 'expression'], result: SAME },
133
- children: { result: UNKNOWN },
134
- descendants: { result: UNKNOWN },
178
+ children: { result: UNORDERED },
179
+ descendants: { result: UNORDERED },
135
180
  // A reference resolves to its declared target types (Reference.targetProfile,
136
181
  // HAPI's TypeDetails.targets); an unconstrained reference stays unknown.
137
182
  resolve: { result: { kind: 'reference-targets' } },
138
183
  extension: { args: ['String'], result: UNKNOWN },
139
184
  hasValue: { input: { singleton: true }, result: BOOLEAN },
140
- getValue: { input: { singleton: true }, result: UNKNOWN },
185
+ getValue: { input: { singleton: true }, result: UNKNOWN_ITEM },
141
186
  htmlChecks: { input: { singleton: true }, result: BOOLEAN },
142
187
  comparable: { input: { kind: 'Quantity', singleton: true }, args: ['Quantity'], result: BOOLEAN },
143
188
  conformsTo: { input: { singleton: true }, args: ['String'], result: BOOLEAN },
@@ -156,20 +201,20 @@ const FUNCTION_SIGNATURE_DEFINITIONS = {
156
201
  replaceMatches: { input: { kind: 'String', singleton: true }, args: ['String', 'String'], result: STRING },
157
202
  toChars: {
158
203
  input: { kind: 'String', singleton: true },
159
- result: { kind: 'fixed', types: ['System.String'], single: false },
204
+ result: { kind: 'fixed', types: ['System.String'], single: false, ordered: true },
160
205
  },
161
206
  trim: { input: { kind: 'String', singleton: true }, result: STRING },
162
207
  split: {
163
208
  input: { kind: 'String', singleton: true },
164
209
  args: ['String'],
165
- result: { kind: 'fixed', types: ['System.String'], single: false },
210
+ result: { kind: 'fixed', types: ['System.String'], single: false, ordered: true },
166
211
  },
167
212
  join: { input: { kind: 'String' }, args: ['String'], result: STRING },
168
213
  encode: STRING_FN,
169
214
  decode: STRING_FN,
170
215
  escape: STRING_FN,
171
216
  unescape: STRING_FN,
172
- abs: { input: { singleton: true }, result: UNKNOWN },
217
+ abs: { input: { singleton: true }, result: UNKNOWN_ITEM },
173
218
  ceiling: { input: { kind: 'Numeric', singleton: true }, result: INTEGER },
174
219
  floor: { input: { kind: 'Numeric', singleton: true }, result: INTEGER },
175
220
  truncate: { input: { kind: 'Numeric', singleton: true }, result: INTEGER },
@@ -178,15 +223,15 @@ const FUNCTION_SIGNATURE_DEFINITIONS = {
178
223
  ln: MATH_FN,
179
224
  sqrt: MATH_FN,
180
225
  log: { input: { kind: 'Numeric', singleton: true }, args: ['Numeric'], result: DECIMAL },
181
- power: { input: { kind: 'Numeric', singleton: true }, args: ['Numeric'], result: UNKNOWN },
226
+ power: { input: { kind: 'Numeric', singleton: true }, args: ['Numeric'], result: UNKNOWN_ITEM },
182
227
  // Each iteration replaces the accumulator with the aggregator result. An
183
228
  // empty input returns init, when supplied, so both arguments can contribute.
184
229
  aggregate: { args: ['expression', 'any'], result: { kind: 'union', sources: [0, 1], single: 'all' } },
185
- sum: { input: { kind: 'Numeric' }, result: UNKNOWN },
186
- min: { input: { kind: 'Numeric' }, result: UNKNOWN },
187
- max: { input: { kind: 'Numeric' }, result: UNKNOWN },
230
+ sum: { input: { kind: 'Numeric' }, result: UNKNOWN_ITEM },
231
+ min: { input: { kind: 'Numeric' }, result: UNKNOWN_ITEM },
232
+ max: { input: { kind: 'Numeric' }, result: UNKNOWN_ITEM },
188
233
  avg: { input: { kind: 'Numeric' }, result: DECIMAL },
189
- sort: { args: ['sort-key'], result: SAME },
234
+ sort: { args: ['sort-key'], result: { kind: 'input', ordered: true } },
190
235
  toBoolean: { input: { singleton: true }, result: BOOLEAN },
191
236
  toInteger: { input: { singleton: true }, result: INTEGER },
192
237
  toLong: { input: { singleton: true }, result: LONG },
@@ -222,8 +267,8 @@ const FUNCTION_SIGNATURE_DEFINITIONS = {
222
267
  timezoneOffsetOf: { input: { kind: 'Temporal', singleton: true }, result: DECIMAL },
223
268
  dateOf: { input: { kind: 'Temporal', singleton: true }, result: DATE },
224
269
  timeOf: { input: { kind: 'Temporal', singleton: true }, result: TIME },
225
- lowBoundary: { input: { singleton: true }, args: ['Numeric'], result: UNKNOWN },
226
- highBoundary: { input: { singleton: true }, args: ['Numeric'], result: UNKNOWN },
270
+ lowBoundary: { input: { singleton: true }, args: ['Numeric'], result: UNKNOWN_ITEM },
271
+ highBoundary: { input: { singleton: true }, args: ['Numeric'], result: UNKNOWN_ITEM },
227
272
  precision: { input: { singleton: true }, result: INTEGER },
228
273
  defineVariable: { args: ['String', 'expression'], result: SAME },
229
274
  // Variadic: the analyzer repeats the last arg spec for every position, so one
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../src/analyzer/signatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../src/analyzer/signatures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AnalyzerVariable } from './declarations.ts';
2
+ /** Internal source-analysis metadata. A symbol keeps it out of the public AnalyzeOptions contract. */
3
+ export declare const SOURCE_VARIABLE_DEFAULTS: unique symbol;
4
+ export interface SourceVariableDefaults {
5
+ /** Final normalized engine-default vars value names in Object.entries order. */
6
+ values: readonly string[];
7
+ /** Engine-default varTypes declarations. */
8
+ declarations: Readonly<Record<string, AnalyzerVariable>>;
9
+ }
10
+ /** Ordered vars metadata shared by source extraction and loaded-context analysis. */
11
+ export interface SourceVariablePlan {
12
+ values: readonly string[];
13
+ declarations: Readonly<Record<string, AnalyzerVariable>>;
14
+ inheritsDeclarations: boolean;
15
+ before?: string;
16
+ }
17
+ //# sourceMappingURL=source-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-options.d.ts","sourceRoot":"","sources":["../../src/analyzer/source-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,sGAAsG;AACtG,eAAO,MAAM,wBAAwB,eAAmC,CAAA;AAExE,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,4CAA4C;IAC5C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;CACzD;AAED,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACxD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
@@ -0,0 +1,3 @@
1
+ /** Internal source-analysis metadata. A symbol keeps it out of the public AnalyzeOptions contract. */
2
+ export const SOURCE_VARIABLE_DEFAULTS = Symbol('sourceVariableDefaults');
3
+ //# sourceMappingURL=source-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-options.js","sourceRoot":"","sources":["../../src/analyzer/source-options.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA"}
package/dist/api/dto.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import '../functions/install.ts';
2
- import type { FhirTypeName } from '../typed/infer.ts';
2
+ import type { FhirpathTypeDeclarations, FhirTypeName } from '../typed/infer.ts';
3
3
  import type { TypedValue } from '../values/typed-value.ts';
4
4
  import type { AnyExpression, Compiler, EvaluateOptions } from './compile.ts';
5
5
  import type { ColumnOptions, ColumnResult, ProjectionColumn } from './project.ts';
@@ -65,8 +65,11 @@ export type DtoRow<C extends DtoClass> = InstanceType<C>;
65
65
  export interface DtoOptions {
66
66
  /** Per-row bindings the columns read (EvaluateOptions.vars semantics; may reference per-call env). */
67
67
  vars?: Record<string, AnyExpression | readonly TypedValue[]>;
68
- /** Environment names supplied by `project()`, declared so DTO checks can resolve them. */
69
- callerEnv?: readonly string[];
68
+ /**
69
+ * Environment supplied by `project()`. Use names when only presence is known,
70
+ * or declarations when DTO vars navigate through those values.
71
+ */
72
+ callerEnv?: readonly string[] | FhirpathTypeDeclarations;
70
73
  }
71
74
  /** Everything a DTO class was declared with; `project()`, the engine, and `analyzeDto` all read it from here. */
72
75
  export interface DtoDefinition {
@@ -77,7 +80,9 @@ export interface DtoDefinition {
77
80
  readonly env: Record<string, unknown> | undefined;
78
81
  readonly vars: Record<string, AnyExpression | readonly TypedValue[]> | undefined;
79
82
  /** Env names the projecting call supplies (see DtoOptions.callerEnv). */
80
- readonly callerEnv: readonly string[] | undefined;
83
+ readonly callerEnvNames: readonly string[];
84
+ /** Static types for the caller environment, when declared. */
85
+ readonly callerEnvTypes: FhirpathTypeDeclarations | undefined;
81
86
  }
82
87
  /**
83
88
  * Creates a DTO base for one FHIR resource or datatype. The type becomes the
@@ -1 +1 @@
1
- {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../src/api/dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../src/api/dto.ts"],"names":[],"mappings":"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"}