@cornerstonejs/metadata 5.13.1 → 5.14.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/dist/esm/displayset/BaseDisplaySet.d.ts +3 -4
- package/dist/esm/displayset/BaseDisplaySet.js +1 -5
- package/dist/esm/displayset/IDisplaySet.d.ts +9 -3
- package/dist/esm/displayset/ImageStackDisplaySet.d.ts +1 -3
- package/dist/esm/displayset/ImageStackDisplaySet.js +0 -1
- package/dist/esm/displayset/__fixtures__/scenarioInstances.d.ts +12 -0
- package/dist/esm/displayset/__fixtures__/scenarioInstances.js +210 -0
- package/dist/esm/displayset/compileSplitRules.d.ts +3 -0
- package/dist/esm/displayset/compileSplitRules.js +197 -0
- package/dist/esm/displayset/compiledDisplaySetRules.d.ts +3 -0
- package/dist/esm/displayset/compiledDisplaySetRules.js +3 -0
- package/dist/esm/displayset/createDisplaySetFromGroup.js +54 -19
- package/dist/esm/displayset/displaySetContext.d.ts +150 -0
- package/dist/esm/displayset/displaySetContext.js +918 -0
- package/dist/esm/displayset/displaySetRules.d.ts +5 -0
- package/dist/esm/displayset/displaySetRules.js +142 -0
- package/dist/esm/displayset/displaySetRules.test.d.ts +1 -0
- package/dist/esm/displayset/displaySetRules.test.js +1306 -0
- package/dist/esm/displayset/displaySetRulesTypes.d.ts +34 -0
- package/dist/esm/displayset/displaySetRulesTypes.js +0 -0
- package/dist/esm/displayset/displayset.test.js +422 -130
- package/dist/esm/displayset/groupInstancesBySplitRules.d.ts +8 -2
- package/dist/esm/displayset/groupInstancesBySplitRules.js +174 -17
- package/dist/esm/displayset/index.d.ts +14 -4
- package/dist/esm/displayset/index.js +10 -3
- package/dist/esm/displayset/isEcgInstance.d.ts +2 -1
- package/dist/esm/displayset/isEcgInstance.js +4 -9
- package/dist/esm/displayset/isImageInstance.d.ts +2 -1
- package/dist/esm/displayset/isImageInstance.js +4 -44
- package/dist/esm/displayset/isReconstructableInstances.d.ts +2 -0
- package/dist/esm/displayset/isReconstructableInstances.js +91 -0
- package/dist/esm/displayset/isVideoInstance.d.ts +2 -1
- package/dist/esm/displayset/isVideoInstance.js +4 -30
- package/dist/esm/displayset/isWsiInstance.d.ts +2 -1
- package/dist/esm/displayset/isWsiInstance.js +4 -6
- package/dist/esm/displayset/metadataContext.d.ts +13 -0
- package/dist/esm/displayset/metadataContext.js +42 -0
- package/dist/esm/displayset/metadataContext.test.d.ts +1 -0
- package/dist/esm/displayset/metadataContext.test.js +62 -0
- package/dist/esm/displayset/scenarioFixtures.test.d.ts +1 -0
- package/dist/esm/displayset/scenarioFixtures.test.js +206 -0
- package/dist/esm/displayset/seriesContext.test.d.ts +1 -0
- package/dist/esm/displayset/seriesContext.test.js +238 -0
- package/dist/esm/displayset/seriesFunctions.d.ts +29 -0
- package/dist/esm/displayset/seriesFunctions.js +327 -0
- package/dist/esm/displayset/sopClassUidLists.d.ts +14 -0
- package/dist/esm/displayset/sopClassUidLists.js +100 -0
- package/dist/esm/displayset/sortInstances.d.ts +10 -0
- package/dist/esm/displayset/sortInstances.js +33 -0
- package/dist/esm/displayset/sortInstances.test.d.ts +1 -0
- package/dist/esm/displayset/sortInstances.test.js +56 -0
- package/dist/esm/displayset/splitImageIdsBySplitRules.d.ts +3 -3
- package/dist/esm/displayset/splitImageIdsBySplitRules.js +5 -5
- package/dist/esm/displayset/splitRuleSchema.d.ts +11 -0
- package/dist/esm/displayset/splitRuleSchema.js +168 -0
- package/dist/esm/displayset/splitRuleSet.d.ts +12 -0
- package/dist/esm/displayset/splitRuleSet.js +47 -0
- package/dist/esm/displayset/splitRuleSet.test.d.ts +1 -0
- package/dist/esm/displayset/splitRuleSet.test.js +119 -0
- package/dist/esm/displayset/types.d.ts +37 -4
- package/dist/esm/displayset/types.js +15 -0
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/safeFunctions/compile.d.ts +31 -0
- package/dist/esm/safeFunctions/compile.js +142 -0
- package/dist/esm/safeFunctions/compile.test.d.ts +1 -0
- package/dist/esm/safeFunctions/compile.test.js +82 -0
- package/dist/esm/safeFunctions/expression/compiler.d.ts +23 -0
- package/dist/esm/safeFunctions/expression/compiler.js +481 -0
- package/dist/esm/safeFunctions/expression/expression.test.d.ts +1 -0
- package/dist/esm/safeFunctions/expression/expression.test.js +325 -0
- package/dist/esm/safeFunctions/expression/index.d.ts +4 -0
- package/dist/esm/safeFunctions/expression/index.js +3 -0
- package/dist/esm/safeFunctions/expression/parser.d.ts +56 -0
- package/dist/esm/safeFunctions/expression/parser.js +248 -0
- package/dist/esm/safeFunctions/expression/tokenizer.d.ts +29 -0
- package/dist/esm/safeFunctions/expression/tokenizer.js +198 -0
- package/dist/esm/safeFunctions/index.d.ts +5 -0
- package/dist/esm/safeFunctions/index.js +4 -0
- package/dist/esm/safeFunctions/matchTests.d.ts +16 -0
- package/dist/esm/safeFunctions/matchTests.js +203 -0
- package/dist/esm/safeFunctions/schema.d.ts +72 -0
- package/dist/esm/safeFunctions/schema.js +361 -0
- package/dist/esm/safeFunctions/types.d.ts +47 -0
- package/dist/esm/safeFunctions/types.js +0 -0
- package/dist/esm/safeFunctions/values.d.ts +6 -0
- package/dist/esm/safeFunctions/values.js +71 -0
- package/dist/esm/utilities/Tags.d.ts +1 -0
- package/dist/esm/utilities/Tags.js +14 -2
- package/dist/esm/utilities/index.d.ts +1 -1
- package/dist/esm/utilities/index.js +1 -1
- package/dist/esm/utilities/toNumber.d.ts +1 -1
- package/dist/esm/utilities/toNumber.js +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
- package/dist/esm/displayset/defaultDisplaySetSplitRules.d.ts +0 -2
- package/dist/esm/displayset/defaultDisplaySetSplitRules.js +0 -93
- package/dist/esm/displayset/viewportTypes.d.ts +0 -4
- package/dist/esm/displayset/viewportTypes.js +0 -13
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { CompiledExpression, ExpressionRead, SchemaSite, TemplateSegment } from '../safeFunctions/index.js';
|
|
2
|
+
import type { NaturalizedInstance, SeriesContext, SeriesFacts, SeriesFieldScope, SeriesFunction, SeriesFunctionDefinition } from './types.js';
|
|
3
|
+
export type ContextValues = Readonly<Record<string, unknown>>;
|
|
4
|
+
export type InstanceContextFunction = (instance: NaturalizedInstance, values: ContextValues) => unknown;
|
|
5
|
+
export type ContextGroupEntry = {
|
|
6
|
+
function: string | SeriesFunction | SeriesFunctionDefinition;
|
|
7
|
+
args?: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
export type ContextEntry = number | boolean | null | readonly unknown[] | string | {
|
|
10
|
+
attribute: string;
|
|
11
|
+
vr?: string;
|
|
12
|
+
vm?: string;
|
|
13
|
+
} | {
|
|
14
|
+
template: string;
|
|
15
|
+
} | ContextGroupEntry | InstanceContextFunction;
|
|
16
|
+
export type DisplaySetContext = Readonly<Record<string, ContextEntry>>;
|
|
17
|
+
export declare const DISPLAY_SET_CONTEXT_FACT = "displaySetContext";
|
|
18
|
+
export declare const defaultMetadataContext: DisplaySetContext;
|
|
19
|
+
export declare function isTagKeyword(name: string): boolean;
|
|
20
|
+
type Scope = SeriesFieldScope;
|
|
21
|
+
type GroupArgument = {
|
|
22
|
+
name: string;
|
|
23
|
+
fixed?: unknown;
|
|
24
|
+
evaluate?: CompiledExpression;
|
|
25
|
+
reads: ExpressionRead[];
|
|
26
|
+
};
|
|
27
|
+
type Definition = {
|
|
28
|
+
name: string;
|
|
29
|
+
ruleId?: string;
|
|
30
|
+
site: SchemaSite;
|
|
31
|
+
identity: string;
|
|
32
|
+
kind: 'fixed' | 'declaration' | 'expression' | 'template' | 'group' | 'code';
|
|
33
|
+
reads: ExpressionRead[];
|
|
34
|
+
value?: unknown;
|
|
35
|
+
attribute?: string;
|
|
36
|
+
vr?: string;
|
|
37
|
+
vm?: string;
|
|
38
|
+
evaluate?: CompiledExpression;
|
|
39
|
+
aliasOf?: string;
|
|
40
|
+
segments?: TemplateSegment[];
|
|
41
|
+
compute?: SeriesFunction;
|
|
42
|
+
fields?: Readonly<Record<string, Scope>>;
|
|
43
|
+
args?: GroupArgument[];
|
|
44
|
+
fn?: InstanceContextFunction;
|
|
45
|
+
};
|
|
46
|
+
type Dependency = {
|
|
47
|
+
kind: 'keyword';
|
|
48
|
+
} | {
|
|
49
|
+
kind: 'attribute';
|
|
50
|
+
} | {
|
|
51
|
+
kind: 'entry';
|
|
52
|
+
bound: Bound;
|
|
53
|
+
} | {
|
|
54
|
+
kind: 'series';
|
|
55
|
+
inner: Dependency;
|
|
56
|
+
} | {
|
|
57
|
+
kind: 'displaySet';
|
|
58
|
+
fields: Map<string, Dependency>;
|
|
59
|
+
};
|
|
60
|
+
type Extras = Readonly<Record<string, unknown>>;
|
|
61
|
+
type Bound = {
|
|
62
|
+
key: string;
|
|
63
|
+
name: string;
|
|
64
|
+
scope: Scope;
|
|
65
|
+
group?: {
|
|
66
|
+
fields?: Readonly<Record<string, Scope>>;
|
|
67
|
+
};
|
|
68
|
+
deps: Map<string, Dependency>;
|
|
69
|
+
closure: ReadonlySet<string>;
|
|
70
|
+
ruleId?: string;
|
|
71
|
+
perDisplaySet: boolean;
|
|
72
|
+
layer?: ContextLayer;
|
|
73
|
+
definition?: Definition;
|
|
74
|
+
compute: (runtime: ContextRuntime, instance: NaturalizedInstance | undefined) => unknown;
|
|
75
|
+
};
|
|
76
|
+
export type ContextReader = (runtime: ContextRuntime, instance: NaturalizedInstance | undefined, extras?: Extras) => unknown;
|
|
77
|
+
export declare function isFixedValue(raw: unknown, arrays?: boolean): boolean;
|
|
78
|
+
export declare function withInstances(series: SeriesFacts, instances: readonly NaturalizedInstance[]): SeriesFacts;
|
|
79
|
+
export declare class DisplaySetContextValues {
|
|
80
|
+
readonly instances: readonly NaturalizedInstance[];
|
|
81
|
+
readonly seriesInstances: readonly NaturalizedInstance[];
|
|
82
|
+
private readonly split?;
|
|
83
|
+
private readonly runtimes;
|
|
84
|
+
constructor(instances: readonly NaturalizedInstance[], seriesInstances?: readonly NaturalizedInstance[], split?: DisplaySetContextValues);
|
|
85
|
+
runtime(program: ContextProgram): ContextRuntime;
|
|
86
|
+
}
|
|
87
|
+
export declare function displaySetContextFor(series: SeriesFacts | undefined, instances: readonly NaturalizedInstance[]): DisplaySetContextValues;
|
|
88
|
+
export declare class ContextRuntime {
|
|
89
|
+
readonly instances: readonly NaturalizedInstance[];
|
|
90
|
+
readonly seriesInstances: readonly NaturalizedInstance[];
|
|
91
|
+
private readonly split?;
|
|
92
|
+
private readonly seriesValues;
|
|
93
|
+
private readonly instanceValues;
|
|
94
|
+
private readonly views;
|
|
95
|
+
private readonly envs;
|
|
96
|
+
private readonly instanceEnvs;
|
|
97
|
+
private readonly inProgress;
|
|
98
|
+
constructor(instances: readonly NaturalizedInstance[], seriesInstances?: readonly NaturalizedInstance[], split?: ContextRuntime);
|
|
99
|
+
get seriesRuntime(): ContextRuntime;
|
|
100
|
+
value(bound: Bound, instance: NaturalizedInstance | undefined): unknown;
|
|
101
|
+
private compute;
|
|
102
|
+
groupView(bound: Bound, instance: NaturalizedInstance | undefined): unknown;
|
|
103
|
+
read(name: string, dependency: Dependency | undefined, instance: NaturalizedInstance | undefined, extras?: Extras): unknown;
|
|
104
|
+
env(bound: Pick<Bound, 'key' | 'deps' | 'layer' | 'definition'>, instance: NaturalizedInstance | undefined, extras?: Extras, fresh?: boolean): object;
|
|
105
|
+
envsOf(bound: Pick<Bound, 'key' | 'deps' | 'layer' | 'definition' | 'perDisplaySet'>, instances?: readonly NaturalizedInstance[], extras?: Extras): object[];
|
|
106
|
+
}
|
|
107
|
+
export declare class ContextLayer {
|
|
108
|
+
readonly program: ContextProgram;
|
|
109
|
+
readonly ruleId: string | undefined;
|
|
110
|
+
readonly local: ReadonlyMap<string, Definition>;
|
|
111
|
+
readonly memo: Map<Definition, Bound>;
|
|
112
|
+
private readonly dynamic;
|
|
113
|
+
constructor(program: ContextProgram, ruleId: string | undefined, local: ReadonlyMap<string, Definition>);
|
|
114
|
+
resolve(name: string, from?: Definition): Definition | undefined;
|
|
115
|
+
dynamicDependency(name: string, from?: Definition): Dependency | undefined;
|
|
116
|
+
}
|
|
117
|
+
export type ContextProgramOptions = {
|
|
118
|
+
seriesFunctions: Readonly<Record<string, SeriesFunction | SeriesFunctionDefinition>>;
|
|
119
|
+
site: SchemaSite;
|
|
120
|
+
deniedNames?: readonly string[];
|
|
121
|
+
};
|
|
122
|
+
export declare class ContextProgram {
|
|
123
|
+
readonly global: Map<string, Definition>;
|
|
124
|
+
private readonly bounds;
|
|
125
|
+
private readonly seriesFunctions;
|
|
126
|
+
private readonly empty;
|
|
127
|
+
private readonly denied;
|
|
128
|
+
private readonly deniedTags;
|
|
129
|
+
private fallbackLogged;
|
|
130
|
+
constructor(context: unknown, options: ContextProgramOptions);
|
|
131
|
+
readonly seriesHook: ({ instances, series }: SeriesContext) => SeriesFacts;
|
|
132
|
+
isDenied(name: string): boolean;
|
|
133
|
+
private parseExpression;
|
|
134
|
+
runtimeFrom(context: unknown, fallback: NaturalizedInstance | readonly NaturalizedInstance[]): ContextRuntime;
|
|
135
|
+
instanceValue(name: string, instance: NaturalizedInstance): unknown;
|
|
136
|
+
layer(ruleId: string, context: unknown, site: SchemaSite): ContextLayer;
|
|
137
|
+
readerAt(layer: ContextLayer, name: string, site: SchemaSite, options?: {
|
|
138
|
+
field?: string;
|
|
139
|
+
place?: string;
|
|
140
|
+
}): ContextReader;
|
|
141
|
+
attributeExpression(layer: ContextLayer, source: string, site: SchemaSite): (runtime: ContextRuntime, instances: readonly NaturalizedInstance[], extras: Extras) => unknown;
|
|
142
|
+
bind(definition: Definition, layer: ContextLayer, stack: Definition[]): Bound;
|
|
143
|
+
private dependencyOf;
|
|
144
|
+
private createBound;
|
|
145
|
+
private parseLayer;
|
|
146
|
+
private parseEntry;
|
|
147
|
+
private seriesFunctionOf;
|
|
148
|
+
private parseArguments;
|
|
149
|
+
}
|
|
150
|
+
export {};
|