@actuarial-ts/core 0.10.0 → 0.12.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.
- package/README.md +9 -7
- package/dist/analysisRecipe.d.ts.map +1 -1
- package/dist/analysisRecipe.js +20 -1
- package/dist/analysisRecipe.js.map +1 -1
- package/dist/canonical.d.ts.map +1 -1
- package/dist/canonical.js +64 -5
- package/dist/canonical.js.map +1 -1
- package/dist/customizationContracts.d.ts +16 -1
- package/dist/customizationContracts.d.ts.map +1 -1
- package/dist/descriptiveStatistics.js +1 -1
- package/dist/descriptiveStatistics.js.map +1 -1
- package/dist/diagnosticAggregation.d.ts +26 -0
- package/dist/diagnosticAggregation.d.ts.map +1 -1
- package/dist/diagnosticAggregation.js +125 -11
- package/dist/diagnosticAggregation.js.map +1 -1
- package/dist/diagnosticAuditText.d.ts +11 -0
- package/dist/diagnosticAuditText.d.ts.map +1 -0
- package/dist/diagnosticAuditText.js +179 -0
- package/dist/diagnosticAuditText.js.map +1 -0
- package/dist/diagnosticFormulas.d.ts.map +1 -1
- package/dist/diagnosticFormulas.js +71 -12
- package/dist/diagnosticFormulas.js.map +1 -1
- package/dist/diagnosticFreeze.d.ts +15 -1
- package/dist/diagnosticFreeze.d.ts.map +1 -1
- package/dist/diagnosticFreeze.js +82 -31
- package/dist/diagnosticFreeze.js.map +1 -1
- package/dist/diagnosticKeys.d.ts +9 -0
- package/dist/diagnosticKeys.d.ts.map +1 -0
- package/dist/diagnosticKeys.js +20 -0
- package/dist/diagnosticKeys.js.map +1 -0
- package/dist/diagnosticOrdering.d.ts.map +1 -1
- package/dist/diagnosticOrdering.js +9 -2
- package/dist/diagnosticOrdering.js.map +1 -1
- package/dist/diagnosticPeriods.d.ts.map +1 -1
- package/dist/diagnosticPeriods.js +19 -1
- package/dist/diagnosticPeriods.js.map +1 -1
- package/dist/diagnosticPreparation.d.ts +19 -0
- package/dist/diagnosticPreparation.d.ts.map +1 -1
- package/dist/diagnosticPreparation.js +544 -231
- package/dist/diagnosticPreparation.js.map +1 -1
- package/dist/diagnosticReview.d.ts.map +1 -1
- package/dist/diagnosticReview.js +419 -186
- package/dist/diagnosticReview.js.map +1 -1
- package/dist/diagnosticReviewSources.d.ts +6 -1
- package/dist/diagnosticReviewSources.d.ts.map +1 -1
- package/dist/diagnosticReviewSources.js +59 -14
- package/dist/diagnosticReviewSources.js.map +1 -1
- package/dist/diagnosticReviewStore.d.ts.map +1 -1
- package/dist/diagnosticReviewStore.js +48 -7
- package/dist/diagnosticReviewStore.js.map +1 -1
- package/dist/diagnosticRunner.d.ts.map +1 -1
- package/dist/diagnosticRunner.js +112 -37
- package/dist/diagnosticRunner.js.map +1 -1
- package/dist/diagnosticRuntime.d.ts.map +1 -1
- package/dist/diagnosticRuntime.js +11 -1
- package/dist/diagnosticRuntime.js.map +1 -1
- package/dist/diagnosticSourceOrdering.d.ts +27 -0
- package/dist/diagnosticSourceOrdering.d.ts.map +1 -1
- package/dist/diagnosticSourceOrdering.js +98 -12
- package/dist/diagnosticSourceOrdering.js.map +1 -1
- package/dist/mack.d.ts.map +1 -1
- package/dist/mack.js +35 -0
- package/dist/mack.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/analysisRecipe.ts +18 -1
- package/src/canonical.ts +63 -5
- package/src/customizationContracts.ts +12 -1
- package/src/descriptiveStatistics.ts +1 -1
- package/src/diagnosticAggregation.ts +173 -9
- package/src/diagnosticAuditText.ts +187 -0
- package/src/diagnosticFormulas.ts +77 -27
- package/src/diagnosticFreeze.ts +75 -30
- package/src/diagnosticKeys.ts +22 -0
- package/src/diagnosticOrdering.ts +9 -8
- package/src/diagnosticPeriods.ts +21 -1
- package/src/diagnosticPreparation.ts +624 -272
- package/src/diagnosticReview.ts +566 -268
- package/src/diagnosticReviewSources.ts +69 -18
- package/src/diagnosticReviewStore.ts +48 -6
- package/src/diagnosticRunner.ts +133 -54
- package/src/diagnosticRuntime.ts +11 -1
- package/src/diagnosticSourceOrdering.ts +115 -11
- package/src/mack.ts +41 -0
- package/src/types.ts +1 -0
- package/src/version.ts +1 -1
|
@@ -113,7 +113,38 @@ function pointer(path, segment) {
|
|
|
113
113
|
const escaped = String(segment).replaceAll("~", "~0").replaceAll("/", "~1");
|
|
114
114
|
return `${path}/${escaped}`;
|
|
115
115
|
}
|
|
116
|
+
// Shared immutable empties for clean operands; every consumer copies or iterates.
|
|
117
|
+
const NO_REASONS = Object.freeze([]);
|
|
118
|
+
const NO_OVERFLOWS = Object.freeze([]);
|
|
119
|
+
const NO_SOURCES = Object.freeze([]);
|
|
120
|
+
// Path segments below the caller's root, pushed and popped during one
|
|
121
|
+
// synchronous evaluation. Rendering happens only when an overflow must cite a
|
|
122
|
+
// path, so the common case allocates nothing. A re-entrant call while the
|
|
123
|
+
// shared stack is in use gets its own stack.
|
|
124
|
+
let sharedSegments = [];
|
|
125
|
+
// A measure leaf never renders a path; it may evaluate against a fixed empty stack.
|
|
126
|
+
const LEAF_SEGMENTS = [];
|
|
116
127
|
export function evaluateDiagnosticMeasureExpression(expression, measures, path) {
|
|
128
|
+
if (expression.op === "measure")
|
|
129
|
+
return evaluateMeasureExpression(expression, measures, path, LEAF_SEGMENTS);
|
|
130
|
+
const segments = sharedSegments ?? [];
|
|
131
|
+
sharedSegments = null;
|
|
132
|
+
segments.length = 0;
|
|
133
|
+
try {
|
|
134
|
+
return evaluateMeasureExpression(expression, measures, path, segments);
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
sharedSegments = segments;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function renderPath(root, segments) {
|
|
141
|
+
let path = root;
|
|
142
|
+
for (let index = 0; index < segments.length; index++)
|
|
143
|
+
path = pointer(path, segments[index]);
|
|
144
|
+
return path;
|
|
145
|
+
}
|
|
146
|
+
/** Expression paths are only rendered when an overflow has to cite one. */
|
|
147
|
+
function evaluateMeasureExpression(expression, measures, root, segments) {
|
|
117
148
|
if (expression.op === "measure") {
|
|
118
149
|
const value = hasDiagnosticOwn(measures, expression.measureId)
|
|
119
150
|
? measures[expression.measureId]
|
|
@@ -122,19 +153,47 @@ export function evaluateDiagnosticMeasureExpression(expression, measures, path)
|
|
|
122
153
|
? {
|
|
123
154
|
value: value.quantity.value,
|
|
124
155
|
reasons: value.readiness,
|
|
125
|
-
overflows: value.expressionOverflows ??
|
|
126
|
-
sources: value.sources ??
|
|
156
|
+
overflows: value.expressionOverflows ?? NO_OVERFLOWS,
|
|
157
|
+
sources: value.sources ?? NO_SOURCES,
|
|
127
158
|
}
|
|
128
|
-
: {
|
|
159
|
+
: {
|
|
160
|
+
value: null,
|
|
161
|
+
reasons: ["missing"],
|
|
162
|
+
overflows: NO_OVERFLOWS,
|
|
163
|
+
sources: NO_SOURCES,
|
|
164
|
+
};
|
|
129
165
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
166
|
+
let children;
|
|
167
|
+
if (expression.op === "add") {
|
|
168
|
+
children = new Array(expression.terms.length);
|
|
169
|
+
segments.push("terms", 0);
|
|
170
|
+
try {
|
|
171
|
+
for (let index = 0; index < expression.terms.length; index++) {
|
|
172
|
+
segments[segments.length - 1] = index;
|
|
173
|
+
children[index] = evaluateMeasureExpression(expression.terms[index], measures, root, segments);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
finally {
|
|
177
|
+
segments.length -= 2;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
segments.push("left");
|
|
182
|
+
try {
|
|
183
|
+
const left = evaluateMeasureExpression(expression.left, measures, root, segments);
|
|
184
|
+
segments[segments.length - 1] = "right";
|
|
185
|
+
children = [left, evaluateMeasureExpression(expression.right, measures, root, segments)];
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
segments.length -= 1;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const reasons = children.every((child) => child.reasons.length === 0)
|
|
192
|
+
? NO_REASONS
|
|
193
|
+
: uniqueReasons(children.flatMap((child) => child.reasons));
|
|
194
|
+
const overflows = children.every((child) => child.overflows.length === 0)
|
|
195
|
+
? NO_OVERFLOWS
|
|
196
|
+
: children.flatMap((child) => child.overflows);
|
|
138
197
|
const sources = normalizeDiagnosticSourceLocations(children.flatMap((child) => child.sources));
|
|
139
198
|
if (children.some((child) => child.value === null))
|
|
140
199
|
return { value: null, reasons, overflows, sources };
|
|
@@ -145,7 +204,7 @@ export function evaluateDiagnosticMeasureExpression(expression, measures, path)
|
|
|
145
204
|
return {
|
|
146
205
|
value: null,
|
|
147
206
|
reasons: uniqueReasons([...reasons, "expression-overflow"]),
|
|
148
|
-
overflows: [...overflows, { expressionPath:
|
|
207
|
+
overflows: [...overflows, { expressionPath: renderPath(root, segments), sources }],
|
|
149
208
|
sources,
|
|
150
209
|
};
|
|
151
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticFormulas.js","sourceRoot":"","sources":["../src/diagnosticFormulas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnosticFormulas.js","sourceRoot":"","sources":["../src/diagnosticFormulas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import type { DiagnosticDeepReadonly } from "./diagnosticDefinitions.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Freeze an owned plain-data snapshot deeply. Every reachable child is visited
|
|
4
|
+
* and frozen, including children of an already frozen node, because a frozen
|
|
5
|
+
* root is no evidence that a caller-supplied child is immutable. The walk keeps
|
|
6
|
+
* no state between calls and allocates nothing for ordinary acyclic graphs.
|
|
7
|
+
*/
|
|
3
8
|
export declare function freezeDiagnosticGraph<T>(value: T): DiagnosticDeepReadonly<T>;
|
|
9
|
+
/**
|
|
10
|
+
* Freeze a graph that the SDK built entirely itself, where every node that is
|
|
11
|
+
* already frozen was frozen complete: preparation attaches contributions,
|
|
12
|
+
* statistics, citation lists and shared empties only after freezing them and
|
|
13
|
+
* every child below them. Such nodes are skipped instead of re-walked once per
|
|
14
|
+
* reference. Never use this on a graph that may hold a caller-frozen node with
|
|
15
|
+
* mutable children; `freezeDiagnosticGraph` exists for that case.
|
|
16
|
+
*/
|
|
17
|
+
export declare function freezeOwnedDiagnosticGraph<T>(value: T): DiagnosticDeepReadonly<T>;
|
|
4
18
|
//# sourceMappingURL=diagnosticFreeze.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticFreeze.d.ts","sourceRoot":"","sources":["../src/diagnosticFreeze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnosticFreeze.d.ts","sourceRoot":"","sources":["../src/diagnosticFreeze.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AA2DzE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAG5E;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAGjF"}
|
package/dist/diagnosticFreeze.js
CHANGED
|
@@ -1,37 +1,88 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
// Owned diagnostic graphs are JSON-shaped: shallow trees whose shared nodes are
|
|
2
|
+
// small leaves (source locations, statistics, findings). Visiting a shared leaf
|
|
3
|
+
// once per reference is far cheaper than remembering millions of visited nodes,
|
|
4
|
+
// so ancestors are tracked only past this depth. A cycle must exceed it and is
|
|
5
|
+
// then cut exactly where a visited-set walk would cut it.
|
|
6
|
+
const UNGUARDED_DEPTH = 64;
|
|
7
|
+
/** True when Object.prototype carries an enumerable key, so for-in needs an own-key guard. */
|
|
8
|
+
function objectPrototypeEnumerates() {
|
|
9
|
+
for (const key in {})
|
|
10
|
+
return key !== undefined;
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
function walk(value, skipFrozen) {
|
|
14
|
+
const guardInherited = objectPrototypeEnumerates();
|
|
15
|
+
let ancestors;
|
|
16
|
+
const visit = (node, depth) => {
|
|
17
|
+
if (node === null || typeof node !== "object")
|
|
18
|
+
return;
|
|
19
|
+
if (skipFrozen && Object.isFrozen(node))
|
|
14
20
|
return;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
const guarded = depth > UNGUARDED_DEPTH;
|
|
22
|
+
if (guarded) {
|
|
23
|
+
ancestors ??= new Set();
|
|
24
|
+
if (ancestors.has(node))
|
|
25
|
+
return;
|
|
26
|
+
ancestors.add(node);
|
|
27
|
+
}
|
|
28
|
+
// Scalars are checked inline: most children are numbers and strings, and a
|
|
29
|
+
// call per scalar would dominate the walk.
|
|
30
|
+
if (Array.isArray(node)) {
|
|
31
|
+
for (let index = 0; index < node.length; index++) {
|
|
32
|
+
const child = node[index];
|
|
33
|
+
if (child !== null && typeof child === "object")
|
|
34
|
+
visit(child, depth + 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// for-in visits own enumerable string keys in the same order as
|
|
39
|
+
// Object.keys without allocating a key array per node. Plain records
|
|
40
|
+
// inherit nothing enumerable unless Object.prototype was extended.
|
|
41
|
+
const record = node;
|
|
42
|
+
const prototype = Object.getPrototypeOf(record);
|
|
43
|
+
if (!guardInherited && (prototype === Object.prototype || prototype === null)) {
|
|
44
|
+
for (const key in record) {
|
|
45
|
+
const child = record[key];
|
|
46
|
+
if (child !== null && typeof child === "object")
|
|
47
|
+
visit(child, depth + 1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
for (const key in record) {
|
|
52
|
+
if (!Object.hasOwn(record, key))
|
|
53
|
+
continue;
|
|
54
|
+
const child = record[key];
|
|
55
|
+
if (child !== null && typeof child === "object")
|
|
56
|
+
visit(child, depth + 1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (guarded)
|
|
61
|
+
ancestors.delete(node);
|
|
18
62
|
Object.freeze(node);
|
|
19
63
|
};
|
|
20
|
-
visit(value);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
64
|
+
visit(value, 0);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Freeze an owned plain-data snapshot deeply. Every reachable child is visited
|
|
68
|
+
* and frozen, including children of an already frozen node, because a frozen
|
|
69
|
+
* root is no evidence that a caller-supplied child is immutable. The walk keeps
|
|
70
|
+
* no state between calls and allocates nothing for ordinary acyclic graphs.
|
|
71
|
+
*/
|
|
72
|
+
export function freezeDiagnosticGraph(value) {
|
|
73
|
+
walk(value, false);
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Freeze a graph that the SDK built entirely itself, where every node that is
|
|
78
|
+
* already frozen was frozen complete: preparation attaches contributions,
|
|
79
|
+
* statistics, citation lists and shared empties only after freezing them and
|
|
80
|
+
* every child below them. Such nodes are skipped instead of re-walked once per
|
|
81
|
+
* reference. Never use this on a graph that may hold a caller-frozen node with
|
|
82
|
+
* mutable children; `freezeDiagnosticGraph` exists for that case.
|
|
83
|
+
*/
|
|
84
|
+
export function freezeOwnedDiagnosticGraph(value) {
|
|
85
|
+
walk(value, true);
|
|
35
86
|
return value;
|
|
36
87
|
}
|
|
37
88
|
//# sourceMappingURL=diagnosticFreeze.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticFreeze.js","sourceRoot":"","sources":["../src/diagnosticFreeze.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"diagnosticFreeze.js","sourceRoot":"","sources":["../src/diagnosticFreeze.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `canonicalJson` for a flat array of JSON scalars through the native
|
|
3
|
+
* serializer. Arrays keep their order and each finite number, string, boolean
|
|
4
|
+
* and null has exactly one canonical rendering, so the text is byte-identical
|
|
5
|
+
* to `canonicalJson(values)`. Any other element defers to `canonicalJson`,
|
|
6
|
+
* including its errors, so callers keep the same contract on every input.
|
|
7
|
+
*/
|
|
8
|
+
export declare function canonicalScalarArrayJson(values: readonly unknown[]): string;
|
|
9
|
+
//# sourceMappingURL=diagnosticKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnosticKeys.d.ts","sourceRoot":"","sources":["../src/diagnosticKeys.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAY3E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { canonicalJson } from "./canonical.js";
|
|
2
|
+
/**
|
|
3
|
+
* `canonicalJson` for a flat array of JSON scalars through the native
|
|
4
|
+
* serializer. Arrays keep their order and each finite number, string, boolean
|
|
5
|
+
* and null has exactly one canonical rendering, so the text is byte-identical
|
|
6
|
+
* to `canonicalJson(values)`. Any other element defers to `canonicalJson`,
|
|
7
|
+
* including its errors, so callers keep the same contract on every input.
|
|
8
|
+
*/
|
|
9
|
+
export function canonicalScalarArrayJson(values) {
|
|
10
|
+
for (const value of values) {
|
|
11
|
+
if (typeof value === "string" ||
|
|
12
|
+
typeof value === "boolean" ||
|
|
13
|
+
value === null ||
|
|
14
|
+
(typeof value === "number" && Number.isFinite(value)))
|
|
15
|
+
continue;
|
|
16
|
+
return canonicalJson(values);
|
|
17
|
+
}
|
|
18
|
+
return JSON.stringify(values);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=diagnosticKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnosticKeys.js","sourceRoot":"","sources":["../src/diagnosticKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS;YAC1B,KAAK,KAAK,IAAI;YACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAErD,SAAS;QACX,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticOrdering.d.ts","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,iFAAiF;AACjF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb,MAAM,CAoBR;AAaD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CA4BR;
|
|
1
|
+
{"version":3,"file":"diagnosticOrdering.d.ts","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,iFAAiF;AACjF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb,MAAM,CAoBR;AAaD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CA4BR;AAKD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,6BAA6B,GACnC,MAAM,CAQR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,2BAA2B,EACjC,KAAK,EAAE,2BAA2B,GACjC,MAAM,CAQR"}
|
|
@@ -60,13 +60,20 @@ export function compareDiagnosticFindings(left, right) {
|
|
|
60
60
|
compareDiagnosticIdentityValues(left.offendingKey, right.offendingKey) ||
|
|
61
61
|
compareSources(left.sources, right.sources));
|
|
62
62
|
}
|
|
63
|
+
// Tuple comparisons are written out field by field: the section 15 order of two
|
|
64
|
+
// equal-length tuples is exactly the first non-zero field comparison, and this
|
|
65
|
+
// avoids allocating two arrays for every comparison inside large sorts.
|
|
63
66
|
export function compareDiagnosticContributions(left, right) {
|
|
64
|
-
return (compareDiagnosticIdentityValues(
|
|
67
|
+
return (compareDiagnosticIdentityValues(left.sourceId, right.sourceId) ||
|
|
68
|
+
compareDiagnosticIdentityValues(left.status, right.status) ||
|
|
69
|
+
compareDiagnosticIdentityValues(left.deduplicated, right.deduplicated) ||
|
|
65
70
|
compareSources(left.sources, right.sources) ||
|
|
66
71
|
compareDiagnosticIdentityValues(left, right));
|
|
67
72
|
}
|
|
68
73
|
export function compareDiagnosticBlockers(left, right) {
|
|
69
|
-
return (compareDiagnosticIdentityValues(
|
|
74
|
+
return (compareDiagnosticIdentityValues(left.code, right.code) ||
|
|
75
|
+
compareDiagnosticIdentityValues(left.message, right.message) ||
|
|
76
|
+
compareDiagnosticIdentityValues(left.sourceIds, right.sourceIds) ||
|
|
70
77
|
compareSources(left.sources, right.sources) ||
|
|
71
78
|
compareDiagnosticIdentityValues(left.finding, right.finding));
|
|
72
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticOrdering.js","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAGjF,iFAAiF;AACjF,MAAM,UAAU,+BAA+B,CAC7C,IAAa,EACb,KAAc;IAEd,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAClC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvD,OAAO,IAAI,GAAG,KAAK,CAAC;IACtB,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CACrB,IAAyC,EACzC,KAA0C;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAA6B,EAC7B,KAA8B;IAE9B,MAAM,MAAM,GAAG;QACb,UAAU;QACV,UAAU;QACV,MAAM;QACN,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,OAAO;QACP,QAAQ;QACR,WAAW;QACX,gBAAgB;QAChB,SAAS;QACT,UAAU;QACV,SAAS;QACT,aAAa;QACb,SAAS;KACD,CAAC;IACX,OAAO,CACL,+BAA+B,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAChC;QACD,+BAA+B,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACtE,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,IAAmC,EACnC,KAAoC;IAEpC,OAAO,CACL,+BAA+B,
|
|
1
|
+
{"version":3,"file":"diagnosticOrdering.js","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticPeriods.d.ts","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"diagnosticPeriods.d.ts","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AA2CD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,4BAA4B,EACxC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,GACZ,0BAA0B,CAO5B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,4BAA4B,EACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB;IACD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAgCA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,0BAA0B,EAChC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAKR"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { assertCompiledDiagnosticDefinition } from "./diagnosticDefinitions.js";
|
|
2
2
|
import { normalizeDiagnosticPeriodWithAxis, } from "./diagnosticPeriodAxis.js";
|
|
3
3
|
import { DiagnosticValidationError } from "./types.js";
|
|
4
|
+
// Labels repeat across every row, cell and query of a definition, and each
|
|
5
|
+
// normalized period is an immutable value. Cache per axis object and side,
|
|
6
|
+
// bounded so adversarial label streams cannot grow the tables without limit.
|
|
7
|
+
const MAX_MEMOIZED_LABELS = 100_000;
|
|
8
|
+
const normalizedByAxis = new WeakMap();
|
|
4
9
|
function normalizeWithAxis(axis, side, label) {
|
|
10
|
+
let tables = normalizedByAxis.get(axis);
|
|
11
|
+
if (!tables) {
|
|
12
|
+
tables = { origin: new Map(), valuation: new Map() };
|
|
13
|
+
normalizedByAxis.set(axis, tables);
|
|
14
|
+
}
|
|
15
|
+
const table = tables[side];
|
|
16
|
+
const cached = table.get(label);
|
|
17
|
+
if (cached !== undefined)
|
|
18
|
+
return cached;
|
|
5
19
|
const normalized = normalizeDiagnosticPeriodWithAxis(axis, side, label);
|
|
6
20
|
if (!normalized)
|
|
7
21
|
throw new DiagnosticValidationError([
|
|
@@ -14,7 +28,11 @@ function normalizeWithAxis(axis, side, label) {
|
|
|
14
28
|
: `Unknown ordered-axis ${side} label ${JSON.stringify(label)}`,
|
|
15
29
|
},
|
|
16
30
|
]);
|
|
17
|
-
|
|
31
|
+
const frozen = Object.freeze(normalized);
|
|
32
|
+
if (table.size >= MAX_MEMOIZED_LABELS)
|
|
33
|
+
table.clear();
|
|
34
|
+
table.set(label, frozen);
|
|
35
|
+
return frozen;
|
|
18
36
|
}
|
|
19
37
|
export function normalizeDiagnosticPeriod(definition, side, label) {
|
|
20
38
|
assertCompiledDiagnosticDefinition(definition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticPeriods.js","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EACL,iCAAiC,GAElC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAOvD,SAAS,iBAAiB,CACxB,IAA0B,EAC1B,IAA0B,EAC1B,KAAa;IAEb,MAAM,UAAU,GAAG,iCAAiC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,yBAAyB,CAAC;YAClC;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACjB,OAAO,EACL,IAAI,CAAC,IAAI,KAAK,UAAU;oBACtB,CAAC,CAAC,WAAW,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpH,CAAC,CAAC,wBAAwB,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;aACpE;SACF,CAAC,CAAC;IACL,
|
|
1
|
+
{"version":3,"file":"diagnosticPeriods.js","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,6 +156,25 @@ export interface NormalizedDiagnosticExpectedCellIdentity {
|
|
|
156
156
|
readonly valuation: string;
|
|
157
157
|
readonly source: NormalizedDiagnosticSourceLocationIdentity | null;
|
|
158
158
|
}
|
|
159
|
+
/** Source groups audited by an authentic preparation, when it recorded them. */
|
|
160
|
+
export declare function getPreparedSourceGroups(prepared: object): ReadonlySet<string> | undefined;
|
|
161
|
+
export interface DiagnosticAuditOrder {
|
|
162
|
+
readonly compare: (left: DiagnosticInputAuditRecord, right: DiagnosticInputAuditRecord) => number;
|
|
163
|
+
/** Canonical text of a record, serialized once per record for this order. */
|
|
164
|
+
readonly key: (record: DiagnosticInputAuditRecord["record"]) => string;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Every included/excluded audit variant in the comparator's order, built from
|
|
168
|
+
* the already sorted audit instead of re-sorting three copies of it. The audit
|
|
169
|
+
* holds each record once in comparator order, so when no two distinct records
|
|
170
|
+
* of one kind share a canonical text, the sorted variants are exactly: each
|
|
171
|
+
* audit record's variants in disposition order (stable for equal dispositions:
|
|
172
|
+
* the audit item, then its source-excluded, then its origin-excluded variant),
|
|
173
|
+
* with variants whose record is a re-labelled raw snapshot merged in by the
|
|
174
|
+
* same comparator. Any canonical-text tie falls back to the full stable sort.
|
|
175
|
+
* Exported for the equivalence test only.
|
|
176
|
+
*/
|
|
177
|
+
export declare function orderAuditVariants(audit: readonly DiagnosticInputAuditRecord[], excluded: ReadonlyMap<object, DiagnosticInputAuditRecord>, originExcluded: ReadonlyMap<object, DiagnosticInputAuditRecord>, order: DiagnosticAuditOrder): DiagnosticInputAuditRecord[];
|
|
159
178
|
export declare function prepareDiagnosticData(input: PrepareDiagnosticDataInput): PreparedDiagnosticData;
|
|
160
179
|
export declare function prepareDiagnosticDataCompact(input: PrepareDiagnosticDataInput): CompactPreparedDiagnosticData;
|
|
161
180
|
export declare function assertCompactPreparedDiagnosticData(value: unknown): asserts value is CompactPreparedDiagnosticData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticPreparation.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnosticPreparation.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparation.ts"],"names":[],"mappings":"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"}
|