@platforma-sdk/model 1.53.10 → 1.53.13
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/annotations/converter.cjs +11 -11
- package/dist/annotations/converter.cjs.map +1 -1
- package/dist/annotations/converter.d.ts +1 -1
- package/dist/annotations/converter.d.ts.map +1 -1
- package/dist/annotations/converter.js +11 -11
- package/dist/annotations/converter.js.map +1 -1
- package/dist/annotations/index.d.ts +2 -2
- package/dist/annotations/types.d.ts +4 -4
- package/dist/bconfig/index.d.ts +5 -5
- package/dist/bconfig/lambdas.d.ts +7 -7
- package/dist/bconfig/lambdas.d.ts.map +1 -1
- package/dist/bconfig/normalization.cjs.map +1 -1
- package/dist/bconfig/normalization.d.ts +3 -3
- package/dist/bconfig/normalization.js.map +1 -1
- package/dist/bconfig/types.cjs.map +1 -1
- package/dist/bconfig/types.d.ts +2 -2
- package/dist/bconfig/types.d.ts.map +1 -1
- package/dist/bconfig/types.js.map +1 -1
- package/dist/bconfig/util.d.ts +4 -4
- package/dist/bconfig/v3.d.ts +3 -3
- package/dist/block_api_v1.d.ts +2 -2
- package/dist/block_api_v1.d.ts.map +1 -1
- package/dist/block_api_v2.d.ts +2 -2
- package/dist/block_api_v2.d.ts.map +1 -1
- package/dist/block_api_v3.d.ts +3 -3
- package/dist/block_migrations.cjs +10 -10
- package/dist/block_migrations.cjs.map +1 -1
- package/dist/block_migrations.d.ts.map +1 -1
- package/dist/block_migrations.js +10 -10
- package/dist/block_migrations.js.map +1 -1
- package/dist/block_model.cjs +11 -11
- package/dist/block_model.cjs.map +1 -1
- package/dist/block_model.d.ts +8 -8
- package/dist/block_model.d.ts.map +1 -1
- package/dist/block_model.js +11 -11
- package/dist/block_model.js.map +1 -1
- package/dist/block_state_patch.d.ts +2 -2
- package/dist/block_state_util.cjs +1 -1
- package/dist/block_state_util.cjs.map +1 -1
- package/dist/block_state_util.d.ts +3 -3
- package/dist/block_state_util.js +1 -1
- package/dist/block_state_util.js.map +1 -1
- package/dist/block_storage.cjs +10 -10
- package/dist/block_storage.cjs.map +1 -1
- package/dist/block_storage.d.ts +2 -2
- package/dist/block_storage.d.ts.map +1 -1
- package/dist/block_storage.js +10 -10
- package/dist/block_storage.js.map +1 -1
- package/dist/block_storage_vm.cjs +22 -22
- package/dist/block_storage_vm.cjs.map +1 -1
- package/dist/block_storage_vm.d.ts +1 -1
- package/dist/block_storage_vm.d.ts.map +1 -1
- package/dist/block_storage_vm.js +22 -22
- package/dist/block_storage_vm.js.map +1 -1
- package/dist/builder.cjs +32 -23
- package/dist/builder.cjs.map +1 -1
- package/dist/builder.d.ts +7 -7
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +32 -23
- package/dist/builder.js.map +1 -1
- package/dist/components/PFrameForGraphs.cjs +7 -6
- package/dist/components/PFrameForGraphs.cjs.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +4 -4
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.js +7 -6
- package/dist/components/PFrameForGraphs.js.map +1 -1
- package/dist/components/PlAnnotations/filter.d.ts +14 -14
- package/dist/components/PlAnnotations/filter.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.cjs +46 -46
- package/dist/components/PlAnnotations/filters_ui.cjs.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.d.ts +10 -34
- package/dist/components/PlAnnotations/filters_ui.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.js +46 -46
- package/dist/components/PlAnnotations/filters_ui.js.map +1 -1
- package/dist/components/PlAnnotations/index.d.ts +2 -2
- package/dist/components/PlAnnotations/types.d.ts +2 -2
- package/dist/components/PlDataTable.cjs +19 -20
- package/dist/components/PlDataTable.cjs.map +1 -1
- package/dist/components/PlDataTable.d.ts +27 -27
- package/dist/components/PlDataTable.d.ts.map +1 -1
- package/dist/components/PlDataTable.js +19 -20
- package/dist/components/PlDataTable.js.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.cjs +2 -2
- package/dist/components/PlMultiSequenceAlignment.cjs.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.d.ts +6 -6
- package/dist/components/PlMultiSequenceAlignment.d.ts.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.js +2 -2
- package/dist/components/PlMultiSequenceAlignment.js.map +1 -1
- package/dist/components/PlSelectionModel.cjs.map +1 -1
- package/dist/components/PlSelectionModel.d.ts +1 -1
- package/dist/components/PlSelectionModel.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/config/actions.cjs +39 -39
- package/dist/config/actions.cjs.map +1 -1
- package/dist/config/actions.d.ts +9 -9
- package/dist/config/actions.d.ts.map +1 -1
- package/dist/config/actions.js +39 -39
- package/dist/config/actions.js.map +1 -1
- package/dist/config/actions_kinds.d.ts +30 -30
- package/dist/config/actions_kinds.d.ts.map +1 -1
- package/dist/config/index.d.ts +6 -6
- package/dist/config/model.d.ts +28 -28
- package/dist/config/model_meta.d.ts +1 -1
- package/dist/config/type_engine.d.ts +3 -3
- package/dist/config/type_util.d.ts +2 -2
- package/dist/env_value.cjs +1 -1
- package/dist/env_value.cjs.map +1 -1
- package/dist/env_value.js +1 -1
- package/dist/env_value.js.map +1 -1
- package/dist/filters/converter.cjs +36 -32
- package/dist/filters/converter.cjs.map +1 -1
- package/dist/filters/converter.d.ts +2 -2
- package/dist/filters/converter.d.ts.map +1 -1
- package/dist/filters/converter.js +36 -32
- package/dist/filters/converter.js.map +1 -1
- package/dist/filters/index.d.ts +2 -2
- package/dist/filters/types.d.ts +33 -33
- package/dist/filters/types.d.ts.map +1 -1
- package/dist/index.d.ts +24 -24
- package/dist/internal.cjs +7 -7
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.ts +4 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +7 -7
- package/dist/internal.js.map +1 -1
- package/dist/package.json.cjs +1 -1
- package/dist/package.json.js +1 -1
- package/dist/pframe.cjs +1 -1
- package/dist/pframe.cjs.map +1 -1
- package/dist/pframe.d.ts +1 -1
- package/dist/pframe.js +1 -1
- package/dist/pframe.js.map +1 -1
- package/dist/pframe_utils/columns.cjs +23 -15
- package/dist/pframe_utils/columns.cjs.map +1 -1
- package/dist/pframe_utils/columns.d.ts +3 -3
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/columns.js +23 -15
- package/dist/pframe_utils/columns.js.map +1 -1
- package/dist/pframe_utils/index.cjs +25 -25
- package/dist/pframe_utils/index.cjs.map +1 -1
- package/dist/pframe_utils/index.d.ts +3 -3
- package/dist/pframe_utils/index.d.ts.map +1 -1
- package/dist/pframe_utils/index.js +25 -25
- package/dist/pframe_utils/index.js.map +1 -1
- package/dist/platforma.d.ts +7 -7
- package/dist/platforma.d.ts.map +1 -1
- package/dist/raw_globals.cjs +4 -1
- package/dist/raw_globals.cjs.map +1 -1
- package/dist/raw_globals.d.ts +2 -2
- package/dist/raw_globals.d.ts.map +1 -1
- package/dist/raw_globals.js +4 -1
- package/dist/raw_globals.js.map +1 -1
- package/dist/ref_util.cjs +4 -4
- package/dist/ref_util.cjs.map +1 -1
- package/dist/ref_util.d.ts +1 -1
- package/dist/ref_util.js +4 -4
- package/dist/ref_util.js.map +1 -1
- package/dist/render/accessor.cjs +24 -24
- package/dist/render/accessor.cjs.map +1 -1
- package/dist/render/accessor.d.ts +10 -10
- package/dist/render/accessor.d.ts.map +1 -1
- package/dist/render/accessor.js +24 -24
- package/dist/render/accessor.js.map +1 -1
- package/dist/render/api.cjs +23 -23
- package/dist/render/api.cjs.map +1 -1
- package/dist/render/api.d.ts +11 -11
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/api.js +23 -23
- package/dist/render/api.js.map +1 -1
- package/dist/render/future.cjs.map +1 -1
- package/dist/render/future.d.ts +1 -1
- package/dist/render/future.js.map +1 -1
- package/dist/render/index.d.ts +6 -6
- package/dist/render/internal.cjs +4 -4
- package/dist/render/internal.cjs.map +1 -1
- package/dist/render/internal.d.ts +7 -7
- package/dist/render/internal.d.ts.map +1 -1
- package/dist/render/internal.js +4 -4
- package/dist/render/internal.js.map +1 -1
- package/dist/render/traversal_ops.d.ts +1 -1
- package/dist/render/util/axis_filtering.cjs +48 -44
- package/dist/render/util/axis_filtering.cjs.map +1 -1
- package/dist/render/util/axis_filtering.d.ts +2 -2
- package/dist/render/util/axis_filtering.js +48 -44
- package/dist/render/util/axis_filtering.js.map +1 -1
- package/dist/render/util/column_collection.cjs +42 -35
- package/dist/render/util/column_collection.cjs.map +1 -1
- package/dist/render/util/column_collection.d.ts +4 -4
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/column_collection.js +42 -35
- package/dist/render/util/column_collection.js.map +1 -1
- package/dist/render/util/index.d.ts +4 -4
- package/dist/render/util/label.cjs +15 -21
- package/dist/render/util/label.cjs.map +1 -1
- package/dist/render/util/label.d.ts +2 -2
- package/dist/render/util/label.d.ts.map +1 -1
- package/dist/render/util/label.js +15 -21
- package/dist/render/util/label.js.map +1 -1
- package/dist/render/util/pcolumn_data.cjs +56 -54
- package/dist/render/util/pcolumn_data.cjs.map +1 -1
- package/dist/render/util/pcolumn_data.d.ts +5 -5
- package/dist/render/util/pcolumn_data.d.ts.map +1 -1
- package/dist/render/util/pcolumn_data.js +56 -54
- package/dist/render/util/pcolumn_data.js.map +1 -1
- package/dist/render/util/pframe_upgraders.cjs +6 -6
- package/dist/render/util/pframe_upgraders.cjs.map +1 -1
- package/dist/render/util/pframe_upgraders.d.ts +1 -1
- package/dist/render/util/pframe_upgraders.d.ts.map +1 -1
- package/dist/render/util/pframe_upgraders.js +6 -6
- package/dist/render/util/pframe_upgraders.js.map +1 -1
- package/dist/render/util/split_selectors.d.ts +1 -1
- package/dist/render/util/split_selectors.d.ts.map +1 -1
- package/dist/sdk_info.cjs.map +1 -1
- package/dist/sdk_info.js.map +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +23 -21
- package/src/annotations/converter.test.ts +98 -101
- package/src/annotations/converter.ts +21 -17
- package/src/annotations/index.ts +2 -2
- package/src/annotations/types.ts +4 -4
- package/src/bconfig/index.ts +5 -5
- package/src/bconfig/lambdas.ts +10 -12
- package/src/bconfig/normalization.ts +5 -5
- package/src/bconfig/types.ts +3 -5
- package/src/bconfig/util.ts +3 -3
- package/src/bconfig/v3.ts +3 -3
- package/src/block_api_v1.ts +7 -3
- package/src/block_api_v2.ts +7 -3
- package/src/block_api_v3.ts +3 -3
- package/src/block_migrations.test.ts +66 -67
- package/src/block_migrations.ts +16 -16
- package/src/block_model.ts +76 -140
- package/src/block_state_patch.ts +2 -2
- package/src/block_state_util.ts +4 -4
- package/src/block_storage.test.ts +106 -99
- package/src/block_storage.ts +22 -25
- package/src/block_storage_vm.ts +41 -35
- package/src/builder.ts +107 -95
- package/src/components/PFrameForGraphs.test.ts +261 -255
- package/src/components/PFrameForGraphs.ts +35 -22
- package/src/components/PlAnnotations/filter.ts +21 -15
- package/src/components/PlAnnotations/filters_ui.test.ts +230 -73
- package/src/components/PlAnnotations/filters_ui.ts +138 -105
- package/src/components/PlAnnotations/index.ts +2 -2
- package/src/components/PlAnnotations/types.ts +2 -2
- package/src/components/PlDataTable.ts +177 -164
- package/src/components/PlMultiSequenceAlignment.ts +11 -18
- package/src/components/PlSelectionModel.ts +1 -1
- package/src/components/index.ts +5 -5
- package/src/config/actions.ts +64 -59
- package/src/config/actions_kinds.ts +38 -34
- package/src/config/index.ts +6 -6
- package/src/config/model.ts +28 -28
- package/src/config/model_meta.ts +1 -1
- package/src/config/type_engine.ts +3 -3
- package/src/config/type_util.ts +2 -2
- package/src/env_value.ts +2 -2
- package/src/filters/converter.test.ts +185 -144
- package/src/filters/converter.ts +47 -35
- package/src/filters/index.ts +2 -2
- package/src/filters/types.ts +44 -39
- package/src/global.d.ts +1 -1
- package/src/index.ts +24 -24
- package/src/internal.ts +27 -17
- package/src/pframe.ts +3 -3
- package/src/pframe_utils/columns.ts +81 -31
- package/src/pframe_utils/index.ts +65 -43
- package/src/platforma.ts +44 -21
- package/src/raw_globals.ts +13 -7
- package/src/ref_util.ts +6 -6
- package/src/render/accessor.ts +43 -44
- package/src/render/api.ts +102 -78
- package/src/render/future.ts +2 -2
- package/src/render/index.ts +6 -6
- package/src/render/internal.ts +11 -12
- package/src/render/traversal_ops.ts +1 -1
- package/src/render/util/axis_filtering.ts +67 -52
- package/src/render/util/column_collection.ts +171 -91
- package/src/render/util/index.ts +4 -4
- package/src/render/util/label.test.ts +139 -139
- package/src/render/util/label.ts +42 -33
- package/src/render/util/pcolumn_data.ts +111 -75
- package/src/render/util/pframe_upgraders.ts +24 -13
- package/src/render/util/split_selectors.ts +6 -1
- package/src/sdk_info.ts +1 -1
- package/src/typing.test.ts +56 -56
- package/src/version.ts +1 -1
|
@@ -1,48 +1,68 @@
|
|
|
1
1
|
// @DEPRECATED - use sdk/model/src/filters + sdk/model/src/annotations
|
|
2
|
-
import type { SUniversalPColumnId } from
|
|
3
|
-
import { describe, expect, it, test } from
|
|
4
|
-
import type {
|
|
5
|
-
|
|
2
|
+
import type { SUniversalPColumnId } from "@milaboratories/pl-model-common";
|
|
3
|
+
import { describe, expect, it, test } from "vitest";
|
|
4
|
+
import type {
|
|
5
|
+
AnnotationFilter,
|
|
6
|
+
AnnotationScript,
|
|
7
|
+
IsNA,
|
|
8
|
+
NotFilter,
|
|
9
|
+
NumericalComparisonFilter,
|
|
10
|
+
PatternFilter,
|
|
11
|
+
ValueRank,
|
|
12
|
+
} from "./filter";
|
|
13
|
+
import { compileAnnotationScript, compileFilter, type FilterUi } from "./filters_ui";
|
|
6
14
|
|
|
7
|
-
describe(
|
|
8
|
-
test(
|
|
9
|
-
const script = compileAnnotationScript({
|
|
10
|
-
|
|
15
|
+
describe("compileAnnotationScript", () => {
|
|
16
|
+
test("should compile an empty annotation script", () => {
|
|
17
|
+
const script = compileAnnotationScript({
|
|
18
|
+
title: "My Annotation",
|
|
19
|
+
mode: "byClonotype",
|
|
20
|
+
steps: [],
|
|
21
|
+
});
|
|
22
|
+
expect(script).toEqual({ title: "My Annotation", mode: "byClonotype", steps: [] });
|
|
11
23
|
});
|
|
12
24
|
|
|
13
|
-
test(
|
|
25
|
+
test("should compile an annotation script with steps", () => {
|
|
14
26
|
// Helper type for testing, refine if needed
|
|
15
27
|
type AnnotationStepUi = {
|
|
16
28
|
label: string;
|
|
17
|
-
filter: Extract<FilterUi, { type:
|
|
29
|
+
filter: Extract<FilterUi, { type: "and" | "or" }>;
|
|
18
30
|
};
|
|
19
|
-
const uiScript: { title: string; mode:
|
|
20
|
-
title:
|
|
21
|
-
mode:
|
|
31
|
+
const uiScript: { title: string; mode: "byClonotype"; steps: AnnotationStepUi[] } = {
|
|
32
|
+
title: "My Annotation",
|
|
33
|
+
mode: "byClonotype",
|
|
22
34
|
steps: [
|
|
23
35
|
{
|
|
24
|
-
label:
|
|
36
|
+
label: "Step 1",
|
|
25
37
|
filter: {
|
|
26
|
-
type:
|
|
38
|
+
type: "and",
|
|
27
39
|
filters: [
|
|
28
|
-
{ type:
|
|
29
|
-
{
|
|
40
|
+
{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
41
|
+
{
|
|
42
|
+
type: "patternEquals",
|
|
43
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
44
|
+
value: "abc",
|
|
45
|
+
},
|
|
30
46
|
],
|
|
31
47
|
},
|
|
32
48
|
},
|
|
33
49
|
],
|
|
34
50
|
};
|
|
35
51
|
const expectedScript: AnnotationScript = {
|
|
36
|
-
title:
|
|
37
|
-
mode:
|
|
52
|
+
title: "My Annotation",
|
|
53
|
+
mode: "byClonotype",
|
|
38
54
|
steps: [
|
|
39
55
|
{
|
|
40
|
-
label:
|
|
56
|
+
label: "Step 1",
|
|
41
57
|
filter: {
|
|
42
|
-
type:
|
|
58
|
+
type: "and",
|
|
43
59
|
filters: [
|
|
44
|
-
{ type:
|
|
45
|
-
{
|
|
60
|
+
{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
61
|
+
{
|
|
62
|
+
type: "pattern",
|
|
63
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
64
|
+
predicate: { type: "equals", value: "abc" },
|
|
65
|
+
},
|
|
46
66
|
],
|
|
47
67
|
},
|
|
48
68
|
},
|
|
@@ -53,95 +73,169 @@ describe('compileAnnotationScript', () => {
|
|
|
53
73
|
});
|
|
54
74
|
});
|
|
55
75
|
|
|
56
|
-
describe(
|
|
76
|
+
describe("compileFilter", () => {
|
|
57
77
|
it('should compile "or" filter', () => {
|
|
58
|
-
const uiFilter: FilterUi = {
|
|
59
|
-
|
|
78
|
+
const uiFilter: FilterUi = {
|
|
79
|
+
type: "or",
|
|
80
|
+
filters: [{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId }],
|
|
81
|
+
};
|
|
82
|
+
const expectedFilter: AnnotationFilter = {
|
|
83
|
+
type: "or",
|
|
84
|
+
filters: [{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId }],
|
|
85
|
+
};
|
|
60
86
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
61
87
|
});
|
|
62
88
|
|
|
63
89
|
it('should compile "and" filter', () => {
|
|
64
|
-
const uiFilter: FilterUi = {
|
|
65
|
-
|
|
90
|
+
const uiFilter: FilterUi = {
|
|
91
|
+
type: "and",
|
|
92
|
+
filters: [{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId }],
|
|
93
|
+
};
|
|
94
|
+
const expectedFilter: AnnotationFilter = {
|
|
95
|
+
type: "and",
|
|
96
|
+
filters: [{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId }],
|
|
97
|
+
};
|
|
66
98
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
67
99
|
});
|
|
68
100
|
|
|
69
101
|
it('should compile nested "and"/"or" filters', () => {
|
|
70
102
|
const uiFilter: FilterUi = {
|
|
71
|
-
type:
|
|
103
|
+
type: "and",
|
|
72
104
|
filters: [
|
|
73
|
-
{ type:
|
|
74
|
-
{
|
|
105
|
+
{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
106
|
+
{
|
|
107
|
+
type: "or",
|
|
108
|
+
filters: [
|
|
109
|
+
{
|
|
110
|
+
type: "patternEquals",
|
|
111
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
112
|
+
value: "test",
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
},
|
|
75
116
|
],
|
|
76
117
|
};
|
|
77
118
|
const expectedFilter: AnnotationFilter = {
|
|
78
|
-
type:
|
|
119
|
+
type: "and",
|
|
79
120
|
filters: [
|
|
80
|
-
{ type:
|
|
81
|
-
{
|
|
121
|
+
{ type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
122
|
+
{
|
|
123
|
+
type: "or",
|
|
124
|
+
filters: [
|
|
125
|
+
{
|
|
126
|
+
type: "pattern",
|
|
127
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
128
|
+
predicate: { type: "equals", value: "test" },
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
82
132
|
],
|
|
83
133
|
};
|
|
84
134
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
85
135
|
});
|
|
86
136
|
|
|
87
137
|
it('should compile "not" filter', () => {
|
|
88
|
-
const uiFilter: FilterUi = {
|
|
89
|
-
|
|
138
|
+
const uiFilter: FilterUi = {
|
|
139
|
+
type: "not",
|
|
140
|
+
filter: { type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
141
|
+
};
|
|
142
|
+
const expectedFilter: AnnotationFilter = {
|
|
143
|
+
type: "not",
|
|
144
|
+
filter: { type: "isNA", column: "colA" as unknown as SUniversalPColumnId },
|
|
145
|
+
};
|
|
90
146
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
91
147
|
});
|
|
92
148
|
|
|
93
149
|
it('should compile "isNA" filter', () => {
|
|
94
|
-
const uiFilter: FilterUi = { type:
|
|
95
|
-
const expectedFilter: AnnotationFilter = {
|
|
150
|
+
const uiFilter: FilterUi = { type: "isNA", column: "colA" as unknown as SUniversalPColumnId };
|
|
151
|
+
const expectedFilter: AnnotationFilter = {
|
|
152
|
+
type: "isNA",
|
|
153
|
+
column: "colA" as unknown as SUniversalPColumnId,
|
|
154
|
+
};
|
|
96
155
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
97
156
|
});
|
|
98
157
|
|
|
99
158
|
it('should compile "isNotNA" filter', () => {
|
|
100
|
-
const uiFilter: FilterUi = {
|
|
101
|
-
|
|
102
|
-
|
|
159
|
+
const uiFilter: FilterUi = {
|
|
160
|
+
type: "isNotNA",
|
|
161
|
+
column: "colA" as unknown as SUniversalPColumnId,
|
|
162
|
+
};
|
|
163
|
+
const expectedIsNA: IsNA = { type: "isNA", column: "colA" as unknown as SUniversalPColumnId };
|
|
164
|
+
const expectedFilter: NotFilter = { type: "not", filter: expectedIsNA };
|
|
103
165
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
104
166
|
});
|
|
105
167
|
|
|
106
168
|
it('should compile "patternEquals" filter', () => {
|
|
107
|
-
const uiFilter: FilterUi = {
|
|
108
|
-
|
|
169
|
+
const uiFilter: FilterUi = {
|
|
170
|
+
type: "patternEquals",
|
|
171
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
172
|
+
value: "abc",
|
|
173
|
+
};
|
|
174
|
+
const expectedFilter: AnnotationFilter = {
|
|
175
|
+
type: "pattern",
|
|
176
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
177
|
+
predicate: { type: "equals", value: "abc" },
|
|
178
|
+
};
|
|
109
179
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
110
180
|
});
|
|
111
181
|
|
|
112
182
|
it('should compile "patternNotEquals" filter', () => {
|
|
113
|
-
const uiFilter: FilterUi = {
|
|
183
|
+
const uiFilter: FilterUi = {
|
|
184
|
+
type: "patternNotEquals",
|
|
185
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
186
|
+
value: "abc",
|
|
187
|
+
};
|
|
114
188
|
const expectedPatternFilter: PatternFilter = {
|
|
115
|
-
type:
|
|
116
|
-
column:
|
|
117
|
-
predicate: { type:
|
|
189
|
+
type: "pattern",
|
|
190
|
+
column: "colB" as unknown as SUniversalPColumnId,
|
|
191
|
+
predicate: { type: "equals", value: "abc" },
|
|
118
192
|
};
|
|
119
|
-
const expectedFilter: NotFilter = { type:
|
|
193
|
+
const expectedFilter: NotFilter = { type: "not", filter: expectedPatternFilter };
|
|
120
194
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
121
195
|
});
|
|
122
196
|
|
|
123
197
|
it('should compile "patternContainSubsequence" filter', () => {
|
|
124
|
-
const uiFilter: FilterUi = {
|
|
125
|
-
|
|
198
|
+
const uiFilter: FilterUi = {
|
|
199
|
+
type: "patternContainSubsequence",
|
|
200
|
+
column: "colC" as unknown as SUniversalPColumnId,
|
|
201
|
+
value: "sub",
|
|
202
|
+
};
|
|
203
|
+
const expectedFilter: AnnotationFilter = {
|
|
204
|
+
type: "pattern",
|
|
205
|
+
column: "colC" as unknown as SUniversalPColumnId,
|
|
206
|
+
predicate: { type: "containSubsequence", value: "sub" },
|
|
207
|
+
};
|
|
126
208
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
127
209
|
});
|
|
128
210
|
|
|
129
211
|
it('should compile "patternNotContainSubsequence" filter', () => {
|
|
130
|
-
const uiFilter: FilterUi = {
|
|
212
|
+
const uiFilter: FilterUi = {
|
|
213
|
+
type: "patternNotContainSubsequence",
|
|
214
|
+
column: "colC" as unknown as SUniversalPColumnId,
|
|
215
|
+
value: "sub",
|
|
216
|
+
};
|
|
131
217
|
const expectedPatternFilter: PatternFilter = {
|
|
132
|
-
type:
|
|
133
|
-
column:
|
|
134
|
-
predicate: { type:
|
|
218
|
+
type: "pattern",
|
|
219
|
+
column: "colC" as unknown as SUniversalPColumnId,
|
|
220
|
+
predicate: { type: "containSubsequence", value: "sub" },
|
|
135
221
|
};
|
|
136
|
-
const expectedFilter: NotFilter = { type:
|
|
222
|
+
const expectedFilter: NotFilter = { type: "not", filter: expectedPatternFilter };
|
|
137
223
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
138
224
|
});
|
|
139
225
|
|
|
140
226
|
it('should compile "topN" filter (Top 5)', () => {
|
|
141
|
-
const uiFilter: FilterUi = {
|
|
142
|
-
|
|
227
|
+
const uiFilter: FilterUi = {
|
|
228
|
+
type: "topN",
|
|
229
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
230
|
+
n: 5,
|
|
231
|
+
};
|
|
232
|
+
const expectedRank: ValueRank = {
|
|
233
|
+
transformer: "rank",
|
|
234
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
235
|
+
descending: true,
|
|
236
|
+
};
|
|
143
237
|
const expectedFilter: NumericalComparisonFilter = {
|
|
144
|
-
type:
|
|
238
|
+
type: "numericalComparison",
|
|
145
239
|
lhs: expectedRank,
|
|
146
240
|
rhs: 5,
|
|
147
241
|
allowEqual: true,
|
|
@@ -150,10 +244,17 @@ describe('compileFilter', () => {
|
|
|
150
244
|
});
|
|
151
245
|
|
|
152
246
|
it('should compile "topN" filter (Bottom 3)', () => {
|
|
153
|
-
const uiFilter: FilterUi = {
|
|
154
|
-
|
|
247
|
+
const uiFilter: FilterUi = {
|
|
248
|
+
type: "bottomN",
|
|
249
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
250
|
+
n: 3,
|
|
251
|
+
};
|
|
252
|
+
const expectedRank: ValueRank = {
|
|
253
|
+
transformer: "rank",
|
|
254
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
255
|
+
};
|
|
155
256
|
const expectedFilter: NumericalComparisonFilter = {
|
|
156
|
-
type:
|
|
257
|
+
type: "numericalComparison",
|
|
157
258
|
lhs: expectedRank,
|
|
158
259
|
rhs: 3,
|
|
159
260
|
allowEqual: true,
|
|
@@ -162,38 +263,94 @@ describe('compileFilter', () => {
|
|
|
162
263
|
});
|
|
163
264
|
|
|
164
265
|
it('should compile "lessThan" filter', () => {
|
|
165
|
-
const uiFilter: FilterUi = {
|
|
166
|
-
|
|
266
|
+
const uiFilter: FilterUi = {
|
|
267
|
+
type: "lessThan",
|
|
268
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
269
|
+
x: 10,
|
|
270
|
+
};
|
|
271
|
+
const expectedFilter: AnnotationFilter = {
|
|
272
|
+
type: "numericalComparison",
|
|
273
|
+
lhs: "colNum" as unknown as SUniversalPColumnId,
|
|
274
|
+
rhs: 10,
|
|
275
|
+
};
|
|
167
276
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
168
277
|
});
|
|
169
278
|
|
|
170
279
|
it('should compile "greaterThan" filter', () => {
|
|
171
|
-
const uiFilter: FilterUi = {
|
|
172
|
-
|
|
280
|
+
const uiFilter: FilterUi = {
|
|
281
|
+
type: "greaterThan",
|
|
282
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
283
|
+
x: 5,
|
|
284
|
+
};
|
|
285
|
+
const expectedFilter: AnnotationFilter = {
|
|
286
|
+
type: "numericalComparison",
|
|
287
|
+
rhs: "colNum" as unknown as SUniversalPColumnId,
|
|
288
|
+
lhs: 5,
|
|
289
|
+
};
|
|
173
290
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
174
291
|
});
|
|
175
292
|
|
|
176
293
|
it('should compile "lessThanOrEqual" filter', () => {
|
|
177
|
-
const uiFilter: FilterUi = {
|
|
178
|
-
|
|
294
|
+
const uiFilter: FilterUi = {
|
|
295
|
+
type: "lessThanOrEqual",
|
|
296
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
297
|
+
x: 20,
|
|
298
|
+
};
|
|
299
|
+
const expectedFilter: AnnotationFilter = {
|
|
300
|
+
type: "numericalComparison",
|
|
301
|
+
lhs: "colNum" as unknown as SUniversalPColumnId,
|
|
302
|
+
rhs: 20,
|
|
303
|
+
allowEqual: true,
|
|
304
|
+
};
|
|
179
305
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
180
306
|
});
|
|
181
307
|
|
|
182
308
|
it('should compile "greaterThanOrEqual" filter', () => {
|
|
183
|
-
const uiFilter: FilterUi = {
|
|
184
|
-
|
|
309
|
+
const uiFilter: FilterUi = {
|
|
310
|
+
type: "greaterThanOrEqual",
|
|
311
|
+
column: "colNum" as unknown as SUniversalPColumnId,
|
|
312
|
+
x: 0,
|
|
313
|
+
};
|
|
314
|
+
const expectedFilter: AnnotationFilter = {
|
|
315
|
+
type: "numericalComparison",
|
|
316
|
+
rhs: "colNum" as unknown as SUniversalPColumnId,
|
|
317
|
+
lhs: 0,
|
|
318
|
+
allowEqual: true,
|
|
319
|
+
};
|
|
185
320
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
186
321
|
});
|
|
187
322
|
|
|
188
323
|
it('should compile "lessThanColumn" filter', () => {
|
|
189
|
-
const uiFilter: FilterUi = {
|
|
190
|
-
|
|
324
|
+
const uiFilter: FilterUi = {
|
|
325
|
+
type: "lessThanColumn",
|
|
326
|
+
column: "colNum1" as unknown as SUniversalPColumnId,
|
|
327
|
+
rhs: "colNum2" as unknown as SUniversalPColumnId,
|
|
328
|
+
minDiff: 5,
|
|
329
|
+
};
|
|
330
|
+
const expectedFilter: AnnotationFilter = {
|
|
331
|
+
type: "numericalComparison",
|
|
332
|
+
lhs: "colNum1" as unknown as SUniversalPColumnId,
|
|
333
|
+
rhs: "colNum2" as unknown as SUniversalPColumnId,
|
|
334
|
+
minDiff: 5,
|
|
335
|
+
allowEqual: undefined,
|
|
336
|
+
};
|
|
191
337
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
192
338
|
});
|
|
193
339
|
|
|
194
340
|
it('should compile "lessThanColumnOrEqual" filter', () => {
|
|
195
|
-
const uiFilter: FilterUi = {
|
|
196
|
-
|
|
341
|
+
const uiFilter: FilterUi = {
|
|
342
|
+
type: "lessThanColumnOrEqual",
|
|
343
|
+
column: "colNum1" as unknown as SUniversalPColumnId,
|
|
344
|
+
rhs: "colNum2" as unknown as SUniversalPColumnId,
|
|
345
|
+
minDiff: 6,
|
|
346
|
+
};
|
|
347
|
+
const expectedFilter: AnnotationFilter = {
|
|
348
|
+
type: "numericalComparison",
|
|
349
|
+
lhs: "colNum1" as unknown as SUniversalPColumnId,
|
|
350
|
+
rhs: "colNum2" as unknown as SUniversalPColumnId,
|
|
351
|
+
minDiff: 6,
|
|
352
|
+
allowEqual: true,
|
|
353
|
+
};
|
|
197
354
|
expect(compileFilter(uiFilter)).toEqual(expectedFilter);
|
|
198
355
|
});
|
|
199
356
|
});
|