@actuarial-ts/core 0.5.0 → 0.6.1

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 (120) hide show
  1. package/README.md +65 -226
  2. package/dist/capping.d.ts.map +1 -1
  3. package/dist/capping.js +39 -6
  4. package/dist/capping.js.map +1 -1
  5. package/dist/casualtyDiagnostics.d.ts +19 -49
  6. package/dist/casualtyDiagnostics.d.ts.map +1 -1
  7. package/dist/casualtyDiagnostics.js +84 -116
  8. package/dist/casualtyDiagnostics.js.map +1 -1
  9. package/dist/diagnosticAggregation.d.ts +32 -0
  10. package/dist/diagnosticAggregation.d.ts.map +1 -0
  11. package/dist/diagnosticAggregation.js +73 -0
  12. package/dist/diagnosticAggregation.js.map +1 -0
  13. package/dist/diagnosticDefinitions.d.ts +289 -0
  14. package/dist/diagnosticDefinitions.d.ts.map +1 -0
  15. package/dist/diagnosticDefinitions.js +1688 -0
  16. package/dist/diagnosticDefinitions.js.map +1 -0
  17. package/dist/diagnosticDerivations.d.ts +35 -0
  18. package/dist/diagnosticDerivations.d.ts.map +1 -0
  19. package/dist/diagnosticDerivations.js +224 -0
  20. package/dist/diagnosticDerivations.js.map +1 -0
  21. package/dist/diagnosticExposure.d.ts +51 -0
  22. package/dist/diagnosticExposure.d.ts.map +1 -0
  23. package/dist/diagnosticExposure.js +273 -0
  24. package/dist/diagnosticExposure.js.map +1 -0
  25. package/dist/diagnosticExpressions.d.ts +56 -0
  26. package/dist/diagnosticExpressions.d.ts.map +1 -0
  27. package/dist/diagnosticExpressions.js +124 -0
  28. package/dist/diagnosticExpressions.js.map +1 -0
  29. package/dist/diagnosticFormulas.d.ts +198 -0
  30. package/dist/diagnosticFormulas.d.ts.map +1 -0
  31. package/dist/diagnosticFormulas.js +219 -0
  32. package/dist/diagnosticFormulas.js.map +1 -0
  33. package/dist/diagnosticIdentity.d.ts +251 -0
  34. package/dist/diagnosticIdentity.d.ts.map +1 -0
  35. package/dist/diagnosticIdentity.js +721 -0
  36. package/dist/diagnosticIdentity.js.map +1 -0
  37. package/dist/diagnosticOrdering.d.ts +8 -0
  38. package/dist/diagnosticOrdering.d.ts.map +1 -0
  39. package/dist/diagnosticOrdering.js +73 -0
  40. package/dist/diagnosticOrdering.js.map +1 -0
  41. package/dist/diagnosticPeriodAxis.d.ts +9 -0
  42. package/dist/diagnosticPeriodAxis.d.ts.map +1 -0
  43. package/dist/diagnosticPeriodAxis.js +69 -0
  44. package/dist/diagnosticPeriodAxis.js.map +1 -0
  45. package/dist/diagnosticPeriods.d.ts +15 -0
  46. package/dist/diagnosticPeriods.d.ts.map +1 -0
  47. package/dist/diagnosticPeriods.js +50 -0
  48. package/dist/diagnosticPeriods.js.map +1 -0
  49. package/dist/diagnosticPreparation.d.ts +131 -0
  50. package/dist/diagnosticPreparation.d.ts.map +1 -0
  51. package/dist/diagnosticPreparation.js +1539 -0
  52. package/dist/diagnosticPreparation.js.map +1 -0
  53. package/dist/diagnosticReview.d.ts +66 -0
  54. package/dist/diagnosticReview.d.ts.map +1 -0
  55. package/dist/diagnosticReview.js +490 -0
  56. package/dist/diagnosticReview.js.map +1 -0
  57. package/dist/diagnosticRules.d.ts +32 -0
  58. package/dist/diagnosticRules.d.ts.map +1 -0
  59. package/dist/diagnosticRules.js +32 -0
  60. package/dist/diagnosticRules.js.map +1 -0
  61. package/dist/diagnosticRunner.d.ts +86 -0
  62. package/dist/diagnosticRunner.d.ts.map +1 -0
  63. package/dist/diagnosticRunner.js +703 -0
  64. package/dist/diagnosticRunner.js.map +1 -0
  65. package/dist/diagnosticRuntime.d.ts +26 -0
  66. package/dist/diagnosticRuntime.d.ts.map +1 -0
  67. package/dist/diagnosticRuntime.js +243 -0
  68. package/dist/diagnosticRuntime.js.map +1 -0
  69. package/dist/diagnosticSourceOrdering.d.ts +6 -0
  70. package/dist/diagnosticSourceOrdering.d.ts.map +1 -0
  71. package/dist/diagnosticSourceOrdering.js +38 -0
  72. package/dist/diagnosticSourceOrdering.js.map +1 -0
  73. package/dist/index.d.ts +28 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +16 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/mack.d.ts +4 -0
  78. package/dist/mack.d.ts.map +1 -1
  79. package/dist/mack.js +32 -4
  80. package/dist/mack.js.map +1 -1
  81. package/dist/triangle.d.ts.map +1 -1
  82. package/dist/triangle.js +59 -9
  83. package/dist/triangle.js.map +1 -1
  84. package/dist/types.d.ts +21 -0
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/types.js +128 -0
  87. package/dist/types.js.map +1 -1
  88. package/dist/version.d.ts +3 -0
  89. package/dist/version.d.ts.map +1 -0
  90. package/dist/version.js +3 -0
  91. package/dist/version.js.map +1 -0
  92. package/package.json +4 -3
  93. package/src/capping.ts +109 -18
  94. package/src/casualtyDiagnostics.ts +79 -189
  95. package/src/diagnosticAggregation.ts +128 -0
  96. package/src/diagnosticDefinitions.ts +3624 -0
  97. package/src/diagnosticDerivations.ts +321 -0
  98. package/src/diagnosticExposure.ts +482 -0
  99. package/src/diagnosticExpressions.ts +255 -0
  100. package/src/diagnosticFormulas.ts +350 -0
  101. package/src/diagnosticIdentity.ts +1267 -0
  102. package/src/diagnosticOrdering.ts +106 -0
  103. package/src/diagnosticPeriodAxis.ts +92 -0
  104. package/src/diagnosticPeriods.ts +102 -0
  105. package/src/diagnosticPreparation.ts +2475 -0
  106. package/src/diagnosticReview.ts +897 -0
  107. package/src/diagnosticRules.ts +69 -0
  108. package/src/diagnosticRunner.ts +1114 -0
  109. package/src/diagnosticRuntime.ts +264 -0
  110. package/src/diagnosticSourceOrdering.ts +50 -0
  111. package/src/index.ts +184 -1
  112. package/src/mack.ts +72 -9
  113. package/src/triangle.ts +103 -13
  114. package/src/types.ts +196 -0
  115. package/src/version.ts +2 -0
  116. package/dist/metricDiagnostics.d.ts +0 -212
  117. package/dist/metricDiagnostics.d.ts.map +0 -1
  118. package/dist/metricDiagnostics.js +0 -627
  119. package/dist/metricDiagnostics.js.map +0 -1
  120. package/src/metricDiagnostics.ts +0 -876
@@ -0,0 +1,86 @@
1
+ import type { DiagnosticDeepReadonly, DiagnosticMetricPresentation, JsonValue } from "./diagnosticDefinitions.js";
2
+ import { type DiagnosticMetricFinding, type DiagnosticQuantity } from "./diagnosticFormulas.js";
3
+ import { type DiagnosticRuleEvaluation } from "./diagnosticRules.js";
4
+ import { type PreparedDiagnosticData } from "./diagnosticPreparation.js";
5
+ import type { DiagnosticMeasureStats } from "./diagnosticDefinitions.js";
6
+ import { type DiagnosticIdentityProjection } from "./diagnosticIdentity.js";
7
+ export interface RunMetricDiagnosticsInput {
8
+ readonly prepared: PreparedDiagnosticData;
9
+ readonly groupMap?: Readonly<Record<string, string>>;
10
+ readonly groupDimensions?: Readonly<Record<string, JsonValue>>;
11
+ }
12
+ export interface DiagnosticMetricEvaluation {
13
+ readonly instanceId: string;
14
+ readonly instanceVersion: string;
15
+ readonly formulaId: string;
16
+ readonly formulaVersion: string;
17
+ readonly semanticReferences: {
18
+ readonly amountBasisIds: readonly string[];
19
+ readonly countPopulationIds: readonly string[];
20
+ readonly exposureBasisIds: readonly string[];
21
+ };
22
+ readonly formulaFingerprint: string;
23
+ readonly calculationFingerprint: string;
24
+ readonly definitionIntegrity: string;
25
+ readonly calculation: {
26
+ readonly numerator: DiagnosticQuantity;
27
+ readonly denominator: DiagnosticQuantity;
28
+ readonly value: number | null;
29
+ };
30
+ readonly presentation: DiagnosticMetricPresentation & {
31
+ readonly value: number | null;
32
+ };
33
+ readonly components: Readonly<Record<string, DiagnosticMeasureStats>>;
34
+ readonly rules: readonly DiagnosticRuleEvaluation[];
35
+ readonly findings: readonly DiagnosticMetricFinding[];
36
+ }
37
+ export interface DiagnosticEmergencePoint {
38
+ readonly group: string;
39
+ readonly sourceGroups: readonly string[];
40
+ readonly dimensions?: JsonValue;
41
+ readonly origin: string;
42
+ readonly valuation: string;
43
+ readonly developmentAge: number;
44
+ readonly ageUnit: string;
45
+ readonly components: Readonly<Record<string, DiagnosticMeasureStats>>;
46
+ readonly metrics: Readonly<Record<string, DiagnosticMetricEvaluation>>;
47
+ readonly findings: readonly DiagnosticMetricFinding[];
48
+ }
49
+ export interface DiagnosticMetricTriangleCell {
50
+ readonly origin: string;
51
+ readonly valuation: string;
52
+ readonly developmentAge: number;
53
+ readonly ageUnit: string;
54
+ readonly evaluation: DiagnosticMetricEvaluation;
55
+ }
56
+ export interface DiagnosticMetricTriangle {
57
+ readonly group: string;
58
+ readonly instanceId: string;
59
+ readonly origins: readonly string[];
60
+ readonly developmentAges: readonly number[];
61
+ readonly ageUnit: string;
62
+ readonly calculationValues: readonly (readonly (number | null)[])[];
63
+ readonly presentationValues: readonly (readonly (number | null)[])[];
64
+ readonly cells: readonly (readonly (DiagnosticMetricTriangleCell | null)[])[];
65
+ }
66
+ export interface MetricDiagnosticsResult {
67
+ readonly definitionIntegrity: string;
68
+ readonly preparationFingerprint: string;
69
+ readonly ageUnit: string;
70
+ readonly emergence: readonly DiagnosticEmergencePoint[];
71
+ readonly triangles: readonly DiagnosticMetricTriangle[];
72
+ readonly latestDiagonal: readonly DiagnosticEmergencePoint[];
73
+ readonly findings: readonly DiagnosticMetricFinding[];
74
+ }
75
+ export interface CommonMaturityResult {
76
+ readonly developmentAge: number | null;
77
+ readonly ageUnit: string;
78
+ readonly points: readonly DiagnosticDeepReadonly<DiagnosticEmergencePoint>[];
79
+ }
80
+ export type NormalizedDiagnosticResultIdentity = DiagnosticIdentityProjection<DiagnosticDeepReadonly<MetricDiagnosticsResult>>;
81
+ export declare function validateDiagnosticGroupingConfiguration(input: RunMetricDiagnosticsInput): void;
82
+ export declare function runMetricDiagnostics(input: RunMetricDiagnosticsInput): DiagnosticDeepReadonly<MetricDiagnosticsResult>;
83
+ export declare function sameMaturity(result: DiagnosticDeepReadonly<MetricDiagnosticsResult>, developmentAge: number, outputGroups?: readonly string[]): readonly DiagnosticDeepReadonly<DiagnosticEmergencePoint>[];
84
+ export declare function commonMaturity(result: DiagnosticDeepReadonly<MetricDiagnosticsResult>, outputGroups: readonly string[]): DiagnosticDeepReadonly<CommonMaturityResult>;
85
+ export declare function getMetricDiagnosticsResultIdentity(result: DiagnosticDeepReadonly<MetricDiagnosticsResult>): NormalizedDiagnosticResultIdentity;
86
+ //# sourceMappingURL=diagnosticRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticRunner.d.ts","sourceRoot":"","sources":["../src/diagnosticRunner.ts"],"names":[],"mappings":"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"}