@platforma-sdk/model 1.30.24 → 1.30.26
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/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +622 -608
- package/dist/index.mjs.map +1 -1
- package/dist/render/api.d.ts +2 -1
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/util/column_collection.d.ts +3 -1
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/label.d.ts +2 -0
- package/dist/render/util/label.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/render/api.ts +2 -0
- package/src/render/util/column_collection.ts +18 -1
- package/src/render/util/label.test.ts +78 -0
- package/src/render/util/label.ts +8 -1
package/dist/render/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyFunction, AxisId, DataInfo, Option, PColumn, PColumnSelector, PColumnSpec, PColumnValues, PFrameDef, PFrameHandle, PObject, PObjectSpec, PSpecPredicate, PTableDef, PTableHandle, PTableRecordFilter, PTableSorting, PlRef, ResolveAnchorsOptions, ResultCollection, SUniversalPColumnId, ValueOrError, AnchoredIdDeriver } from '@milaboratories/pl-model-common';
|
|
1
|
+
import { AnchoredPColumnSelector, AnyFunction, AxisId, DataInfo, Option, PColumn, PColumnSelector, PColumnSpec, PColumnValues, PFrameDef, PFrameHandle, PObject, PObjectSpec, PSpecPredicate, PTableDef, PTableHandle, PTableRecordFilter, PTableSorting, PlRef, ResolveAnchorsOptions, ResultCollection, SUniversalPColumnId, ValueOrError, AnchoredIdDeriver } from '@milaboratories/pl-model-common';
|
|
2
2
|
import { Optional } from 'utility-types';
|
|
3
3
|
import { TreeNodeAccessor } from './accessor';
|
|
4
4
|
import { FutureRef } from './future';
|
|
@@ -12,6 +12,7 @@ export type UniversalColumnOption = {
|
|
|
12
12
|
type UniversalPColumnOpts = {
|
|
13
13
|
labelOps?: LabelDerivationOps;
|
|
14
14
|
dontWaitAllData?: boolean;
|
|
15
|
+
exclude?: AnchoredPColumnSelector | AnchoredPColumnSelector[];
|
|
15
16
|
} & ResolveAnchorsOptions;
|
|
16
17
|
type GetOptionsOpts = {
|
|
17
18
|
/**
|
package/dist/render/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/render/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,eAAe,EACf,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,EAEP,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iBAAiB,EAalB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAS,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAiBxE,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAoBlF,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/render/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnchoredIdDeriver, AxisId, DataInfo, PColumn, PColumnSelector, PColumnSpec, PObjectId, SUniversalPColumnId, ResolveAnchorsOptions } from '@milaboratories/pl-model-common';
|
|
1
|
+
import { AnchoredIdDeriver, AxisId, DataInfo, PColumn, PColumnSelector, PColumnSpec, PObjectId, SUniversalPColumnId, AnchoredPColumnSelector, ResolveAnchorsOptions } from '@milaboratories/pl-model-common';
|
|
2
2
|
import { TreeNodeAccessor } from '../accessor';
|
|
3
3
|
import { LabelDerivationOps } from './label';
|
|
4
4
|
import { APColumnSelectorWithSplit, PColumnSelectorWithSplit } from './split_selectors';
|
|
@@ -20,6 +20,8 @@ export type PColumnEntryUniversal = PColumnEntryWithLabel & {
|
|
|
20
20
|
id: SUniversalPColumnId;
|
|
21
21
|
};
|
|
22
22
|
type UniversalPColumnOptsNoDeriver = {
|
|
23
|
+
/** If provided, columns matching the provided selectors will be excluded from the result. */
|
|
24
|
+
exclude?: AnchoredPColumnSelector | AnchoredPColumnSelector[];
|
|
23
25
|
labelOps?: LabelDerivationOps;
|
|
24
26
|
/** If true, incomplete data will cause the column to be skipped instead of returning undefined for the whole request. */
|
|
25
27
|
dontWaitAllData?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column_collection.d.ts","sourceRoot":"","sources":["../../../src/render/util/column_collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,SAAS,EACT,mBAAmB,
|
|
1
|
+
{"version":3,"file":"column_collection.d.ts","sourceRoot":"","sources":["../../../src/render/util/column_collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export type LabelDerivationOps = {
|
|
|
13
13
|
separator?: string;
|
|
14
14
|
/** If true, label will be added as suffix (at the end of the generated label). By default label added as a prefix. */
|
|
15
15
|
addLabelAsSuffix?: boolean;
|
|
16
|
+
/** Trace elements list that will be forced to be included in the label. */
|
|
17
|
+
forceTraceElements?: string[];
|
|
16
18
|
};
|
|
17
19
|
export declare const TraceEntry: z.ZodObject<{
|
|
18
20
|
type: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/render/util/label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sHAAsH;IACtH,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/render/util/label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sHAAsH;IACtH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAKrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAGpD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;WAAsB,CAAC;AACzC,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAI1C,KAAK,mBAAmB,GAAG,WAAW,GAAG;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B,CAAC;AAOF,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,EAAE,EACX,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,mBAAmB,EAC9C,GAAG,GAAE,kBAAuB,GAC3B,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAoJvB"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PlatformaSDKVersion = "1.30.
|
|
1
|
+
export declare const PlatformaSDKVersion = "1.30.26";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
package/src/render/api.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type {
|
|
2
|
+
AnchoredPColumnSelector,
|
|
2
3
|
AnyFunction,
|
|
3
4
|
AxisId,
|
|
4
5
|
DataInfo,
|
|
@@ -88,6 +89,7 @@ PColumn<PColumnValues | AccessorHandle | DataInfo<AccessorHandle>> {
|
|
|
88
89
|
type UniversalPColumnOpts = {
|
|
89
90
|
labelOps?: LabelDerivationOps;
|
|
90
91
|
dontWaitAllData?: boolean;
|
|
92
|
+
exclude?: AnchoredPColumnSelector | AnchoredPColumnSelector[];
|
|
91
93
|
} & ResolveAnchorsOptions;
|
|
92
94
|
|
|
93
95
|
type GetOptionsOpts = {
|
|
@@ -150,6 +150,8 @@ function getSplitAxisIndices(selector: APColumnSelectorWithSplit | ((spec: PColu
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
type UniversalPColumnOptsNoDeriver = {
|
|
153
|
+
/** If provided, columns matching the provided selectors will be excluded from the result. */
|
|
154
|
+
exclude?: AnchoredPColumnSelector | AnchoredPColumnSelector[];
|
|
153
155
|
labelOps?: LabelDerivationOps;
|
|
154
156
|
/** If true, incomplete data will cause the column to be skipped instead of returning undefined for the whole request. */
|
|
155
157
|
dontWaitAllData?: boolean;
|
|
@@ -212,13 +214,27 @@ export class PColumnCollection {
|
|
|
212
214
|
public getUniversalEntries(
|
|
213
215
|
predicateOrSelectors: ((spec: PColumnSpec) => boolean) | APColumnSelectorWithSplit | APColumnSelectorWithSplit[],
|
|
214
216
|
opts?: Optional<UniversalPColumnOpts, 'anchorCtx'>): (PColumnEntryWithLabel | PColumnEntryUniversal)[] | undefined {
|
|
215
|
-
const { anchorCtx, labelOps: rawLabelOps, dontWaitAllData = false, overrideLabelAnnotation = false } = opts ?? {};
|
|
217
|
+
const { anchorCtx, labelOps: rawLabelOps, dontWaitAllData = false, overrideLabelAnnotation = false, exclude } = opts ?? {};
|
|
216
218
|
|
|
217
219
|
const labelOps: LabelDerivationOps = {
|
|
218
220
|
...(overrideLabelAnnotation && rawLabelOps?.includeNativeLabel !== false ? { includeNativeLabel: true } : {}),
|
|
219
221
|
...(rawLabelOps ?? {}),
|
|
220
222
|
};
|
|
221
223
|
|
|
224
|
+
let excludePredicate: ((spec: PColumnSpec) => boolean) = () => false;
|
|
225
|
+
if (exclude) {
|
|
226
|
+
const excludePredicartes = (Array.isArray(exclude) ? exclude : [exclude])
|
|
227
|
+
.map((selector) => {
|
|
228
|
+
if (hasAnchors(selector)) {
|
|
229
|
+
if (!anchorCtx)
|
|
230
|
+
throw new Error('Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.');
|
|
231
|
+
return selectorsToPredicate(resolveAnchors(anchorCtx.anchors, selector, opts));
|
|
232
|
+
} else
|
|
233
|
+
return selectorsToPredicate(selector);
|
|
234
|
+
});
|
|
235
|
+
excludePredicate = (spec) => excludePredicartes.some((predicate) => predicate(spec));
|
|
236
|
+
}
|
|
237
|
+
|
|
222
238
|
const selectorsArray = typeof predicateOrSelectors === 'function'
|
|
223
239
|
? [predicateOrSelectors]
|
|
224
240
|
: Array.isArray(predicateOrSelectors)
|
|
@@ -244,6 +260,7 @@ export class PColumnCollection {
|
|
|
244
260
|
for (const provider of this.providers) {
|
|
245
261
|
const providerColumns = provider.selectColumns(currentSelector);
|
|
246
262
|
for (const col of providerColumns) {
|
|
263
|
+
if (excludePredicate(col.spec)) continue;
|
|
247
264
|
if (selectedIds.has(col.id))
|
|
248
265
|
throw new Error(`Duplicate column id ${col.id} in provider ${provider.constructor.name}`);
|
|
249
266
|
const nativeId = deriveNativeId(col.spec);
|
|
@@ -118,3 +118,81 @@ test('test fallback to native labels in label derivation', () => {
|
|
|
118
118
|
'Label'
|
|
119
119
|
]);
|
|
120
120
|
});
|
|
121
|
+
|
|
122
|
+
test.each<{ name: string; traces: Trace[]; labels: string[]; forceTraceElements: string[] }>([
|
|
123
|
+
{
|
|
124
|
+
name: 'force one element',
|
|
125
|
+
traces: [
|
|
126
|
+
[
|
|
127
|
+
{ type: 't1', label: 'T1L1' },
|
|
128
|
+
{ type: 't2', label: 'T2L1' }
|
|
129
|
+
],
|
|
130
|
+
[
|
|
131
|
+
{ type: 't1', label: 'T1L2' },
|
|
132
|
+
{ type: 't2', label: 'T2L2' }
|
|
133
|
+
]
|
|
134
|
+
],
|
|
135
|
+
labels: ['T1L1', 'T1L2'],
|
|
136
|
+
forceTraceElements: ['t1']
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: 'force multiple elements',
|
|
140
|
+
traces: [
|
|
141
|
+
[
|
|
142
|
+
{ type: 't1', label: 'T1L1' },
|
|
143
|
+
{ type: 't2', label: 'T2L1' },
|
|
144
|
+
{ type: 't3', label: 'T3L1' }
|
|
145
|
+
],
|
|
146
|
+
[
|
|
147
|
+
{ type: 't1', label: 'T1L2' },
|
|
148
|
+
{ type: 't2', label: 'T2L2' },
|
|
149
|
+
{ type: 't3', label: 'T3L2' }
|
|
150
|
+
]
|
|
151
|
+
],
|
|
152
|
+
labels: ['T1L1 / T3L1', 'T1L2 / T3L2'],
|
|
153
|
+
forceTraceElements: ['t1', 't3']
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: 'force element not in all traces',
|
|
157
|
+
traces: [
|
|
158
|
+
[
|
|
159
|
+
{ type: 't1', label: 'T1L1' },
|
|
160
|
+
{ type: 't2', label: 'T2L1' }
|
|
161
|
+
],
|
|
162
|
+
[{ type: 't2', label: 'T2L2' }]
|
|
163
|
+
],
|
|
164
|
+
labels: ['T1L1 / T2L1', 'T2L2'],
|
|
165
|
+
forceTraceElements: ['t1']
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: 'force element with includeNativeLabel',
|
|
169
|
+
traces: [
|
|
170
|
+
[
|
|
171
|
+
{ type: 't1', label: 'T1L1' },
|
|
172
|
+
{ type: 't2', label: 'T2L1' }
|
|
173
|
+
],
|
|
174
|
+
[
|
|
175
|
+
{ type: 't1', label: 'T1L2' },
|
|
176
|
+
{ type: 't2', label: 'T2L2' }
|
|
177
|
+
]
|
|
178
|
+
],
|
|
179
|
+
labels: ['T1L1', 'T1L2'],
|
|
180
|
+
forceTraceElements: ['t1']
|
|
181
|
+
}
|
|
182
|
+
])(
|
|
183
|
+
'test label derivation with forceTraceElements: $name',
|
|
184
|
+
({ name, traces, labels, forceTraceElements }) => {
|
|
185
|
+
expect(
|
|
186
|
+
deriveLabels(tracesToSpecs(traces), (s) => s, { forceTraceElements }).map((r) => r.label)
|
|
187
|
+
).toEqual(labels);
|
|
188
|
+
|
|
189
|
+
if (name === 'force element with includeNativeLabel') {
|
|
190
|
+
expect(
|
|
191
|
+
deriveLabels(tracesToSpecs(traces), (s) => s, {
|
|
192
|
+
forceTraceElements,
|
|
193
|
+
includeNativeLabel: true
|
|
194
|
+
}).map((r) => r.label)
|
|
195
|
+
).toEqual(labels.map(l => 'Label / ' + l));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
);
|
package/src/render/util/label.ts
CHANGED
|
@@ -16,6 +16,8 @@ export type LabelDerivationOps = {
|
|
|
16
16
|
separator?: string;
|
|
17
17
|
/** If true, label will be added as suffix (at the end of the generated label). By default label added as a prefix. */
|
|
18
18
|
addLabelAsSuffix?: boolean;
|
|
19
|
+
/** Trace elements list that will be forced to be included in the label. */
|
|
20
|
+
forceTraceElements?: string[];
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
export const TraceEntry = z.object({
|
|
@@ -50,6 +52,10 @@ export function deriveLabels<T>(
|
|
|
50
52
|
): RecordsWithLabel<T>[] {
|
|
51
53
|
const importances = new Map<string, number>();
|
|
52
54
|
|
|
55
|
+
const forceTraceElements = (ops.forceTraceElements !== undefined && ops.forceTraceElements.length > 0)
|
|
56
|
+
? new Set(ops.forceTraceElements)
|
|
57
|
+
: undefined;
|
|
58
|
+
|
|
53
59
|
// number of times certain type occurred among all of the
|
|
54
60
|
const numberOfRecordsWithType = new Map<string, number>();
|
|
55
61
|
|
|
@@ -134,7 +140,8 @@ export function deriveLabels<T>(
|
|
|
134
140
|
for (let i = 0; i < enrichedRecords.length; i++) {
|
|
135
141
|
const r = enrichedRecords[i];
|
|
136
142
|
const includedTrace = r.fullTrace
|
|
137
|
-
.filter((fm) => includedTypes.has(fm.fullType)
|
|
143
|
+
.filter((fm) => includedTypes.has(fm.fullType)
|
|
144
|
+
|| (forceTraceElements && forceTraceElements.has(fm.type)));
|
|
138
145
|
if (includedTrace.length === 0) {
|
|
139
146
|
if (force)
|
|
140
147
|
result.push({
|