@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.
Files changed (288) hide show
  1. package/dist/annotations/converter.cjs +11 -11
  2. package/dist/annotations/converter.cjs.map +1 -1
  3. package/dist/annotations/converter.d.ts +1 -1
  4. package/dist/annotations/converter.d.ts.map +1 -1
  5. package/dist/annotations/converter.js +11 -11
  6. package/dist/annotations/converter.js.map +1 -1
  7. package/dist/annotations/index.d.ts +2 -2
  8. package/dist/annotations/types.d.ts +4 -4
  9. package/dist/bconfig/index.d.ts +5 -5
  10. package/dist/bconfig/lambdas.d.ts +7 -7
  11. package/dist/bconfig/lambdas.d.ts.map +1 -1
  12. package/dist/bconfig/normalization.cjs.map +1 -1
  13. package/dist/bconfig/normalization.d.ts +3 -3
  14. package/dist/bconfig/normalization.js.map +1 -1
  15. package/dist/bconfig/types.cjs.map +1 -1
  16. package/dist/bconfig/types.d.ts +2 -2
  17. package/dist/bconfig/types.d.ts.map +1 -1
  18. package/dist/bconfig/types.js.map +1 -1
  19. package/dist/bconfig/util.d.ts +4 -4
  20. package/dist/bconfig/v3.d.ts +3 -3
  21. package/dist/block_api_v1.d.ts +2 -2
  22. package/dist/block_api_v1.d.ts.map +1 -1
  23. package/dist/block_api_v2.d.ts +2 -2
  24. package/dist/block_api_v2.d.ts.map +1 -1
  25. package/dist/block_api_v3.d.ts +3 -3
  26. package/dist/block_migrations.cjs +10 -10
  27. package/dist/block_migrations.cjs.map +1 -1
  28. package/dist/block_migrations.d.ts.map +1 -1
  29. package/dist/block_migrations.js +10 -10
  30. package/dist/block_migrations.js.map +1 -1
  31. package/dist/block_model.cjs +11 -11
  32. package/dist/block_model.cjs.map +1 -1
  33. package/dist/block_model.d.ts +8 -8
  34. package/dist/block_model.d.ts.map +1 -1
  35. package/dist/block_model.js +11 -11
  36. package/dist/block_model.js.map +1 -1
  37. package/dist/block_state_patch.d.ts +2 -2
  38. package/dist/block_state_util.cjs +1 -1
  39. package/dist/block_state_util.cjs.map +1 -1
  40. package/dist/block_state_util.d.ts +3 -3
  41. package/dist/block_state_util.js +1 -1
  42. package/dist/block_state_util.js.map +1 -1
  43. package/dist/block_storage.cjs +10 -10
  44. package/dist/block_storage.cjs.map +1 -1
  45. package/dist/block_storage.d.ts +2 -2
  46. package/dist/block_storage.d.ts.map +1 -1
  47. package/dist/block_storage.js +10 -10
  48. package/dist/block_storage.js.map +1 -1
  49. package/dist/block_storage_vm.cjs +22 -22
  50. package/dist/block_storage_vm.cjs.map +1 -1
  51. package/dist/block_storage_vm.d.ts +1 -1
  52. package/dist/block_storage_vm.d.ts.map +1 -1
  53. package/dist/block_storage_vm.js +22 -22
  54. package/dist/block_storage_vm.js.map +1 -1
  55. package/dist/builder.cjs +32 -23
  56. package/dist/builder.cjs.map +1 -1
  57. package/dist/builder.d.ts +7 -7
  58. package/dist/builder.d.ts.map +1 -1
  59. package/dist/builder.js +32 -23
  60. package/dist/builder.js.map +1 -1
  61. package/dist/components/PFrameForGraphs.cjs +7 -6
  62. package/dist/components/PFrameForGraphs.cjs.map +1 -1
  63. package/dist/components/PFrameForGraphs.d.ts +4 -4
  64. package/dist/components/PFrameForGraphs.d.ts.map +1 -1
  65. package/dist/components/PFrameForGraphs.js +7 -6
  66. package/dist/components/PFrameForGraphs.js.map +1 -1
  67. package/dist/components/PlAnnotations/filter.d.ts +14 -14
  68. package/dist/components/PlAnnotations/filter.d.ts.map +1 -1
  69. package/dist/components/PlAnnotations/filters_ui.cjs +46 -46
  70. package/dist/components/PlAnnotations/filters_ui.cjs.map +1 -1
  71. package/dist/components/PlAnnotations/filters_ui.d.ts +10 -34
  72. package/dist/components/PlAnnotations/filters_ui.d.ts.map +1 -1
  73. package/dist/components/PlAnnotations/filters_ui.js +46 -46
  74. package/dist/components/PlAnnotations/filters_ui.js.map +1 -1
  75. package/dist/components/PlAnnotations/index.d.ts +2 -2
  76. package/dist/components/PlAnnotations/types.d.ts +2 -2
  77. package/dist/components/PlDataTable.cjs +19 -20
  78. package/dist/components/PlDataTable.cjs.map +1 -1
  79. package/dist/components/PlDataTable.d.ts +27 -27
  80. package/dist/components/PlDataTable.d.ts.map +1 -1
  81. package/dist/components/PlDataTable.js +19 -20
  82. package/dist/components/PlDataTable.js.map +1 -1
  83. package/dist/components/PlMultiSequenceAlignment.cjs +2 -2
  84. package/dist/components/PlMultiSequenceAlignment.cjs.map +1 -1
  85. package/dist/components/PlMultiSequenceAlignment.d.ts +6 -6
  86. package/dist/components/PlMultiSequenceAlignment.d.ts.map +1 -1
  87. package/dist/components/PlMultiSequenceAlignment.js +2 -2
  88. package/dist/components/PlMultiSequenceAlignment.js.map +1 -1
  89. package/dist/components/PlSelectionModel.cjs.map +1 -1
  90. package/dist/components/PlSelectionModel.d.ts +1 -1
  91. package/dist/components/PlSelectionModel.js.map +1 -1
  92. package/dist/components/index.d.ts +5 -5
  93. package/dist/config/actions.cjs +39 -39
  94. package/dist/config/actions.cjs.map +1 -1
  95. package/dist/config/actions.d.ts +9 -9
  96. package/dist/config/actions.d.ts.map +1 -1
  97. package/dist/config/actions.js +39 -39
  98. package/dist/config/actions.js.map +1 -1
  99. package/dist/config/actions_kinds.d.ts +30 -30
  100. package/dist/config/actions_kinds.d.ts.map +1 -1
  101. package/dist/config/index.d.ts +6 -6
  102. package/dist/config/model.d.ts +28 -28
  103. package/dist/config/model_meta.d.ts +1 -1
  104. package/dist/config/type_engine.d.ts +3 -3
  105. package/dist/config/type_util.d.ts +2 -2
  106. package/dist/env_value.cjs +1 -1
  107. package/dist/env_value.cjs.map +1 -1
  108. package/dist/env_value.js +1 -1
  109. package/dist/env_value.js.map +1 -1
  110. package/dist/filters/converter.cjs +36 -32
  111. package/dist/filters/converter.cjs.map +1 -1
  112. package/dist/filters/converter.d.ts +2 -2
  113. package/dist/filters/converter.d.ts.map +1 -1
  114. package/dist/filters/converter.js +36 -32
  115. package/dist/filters/converter.js.map +1 -1
  116. package/dist/filters/index.d.ts +2 -2
  117. package/dist/filters/types.d.ts +33 -33
  118. package/dist/filters/types.d.ts.map +1 -1
  119. package/dist/index.d.ts +24 -24
  120. package/dist/internal.cjs +7 -7
  121. package/dist/internal.cjs.map +1 -1
  122. package/dist/internal.d.ts +4 -4
  123. package/dist/internal.d.ts.map +1 -1
  124. package/dist/internal.js +7 -7
  125. package/dist/internal.js.map +1 -1
  126. package/dist/package.json.cjs +1 -1
  127. package/dist/package.json.js +1 -1
  128. package/dist/pframe.cjs +1 -1
  129. package/dist/pframe.cjs.map +1 -1
  130. package/dist/pframe.d.ts +1 -1
  131. package/dist/pframe.js +1 -1
  132. package/dist/pframe.js.map +1 -1
  133. package/dist/pframe_utils/columns.cjs +23 -15
  134. package/dist/pframe_utils/columns.cjs.map +1 -1
  135. package/dist/pframe_utils/columns.d.ts +3 -3
  136. package/dist/pframe_utils/columns.d.ts.map +1 -1
  137. package/dist/pframe_utils/columns.js +23 -15
  138. package/dist/pframe_utils/columns.js.map +1 -1
  139. package/dist/pframe_utils/index.cjs +25 -25
  140. package/dist/pframe_utils/index.cjs.map +1 -1
  141. package/dist/pframe_utils/index.d.ts +3 -3
  142. package/dist/pframe_utils/index.d.ts.map +1 -1
  143. package/dist/pframe_utils/index.js +25 -25
  144. package/dist/pframe_utils/index.js.map +1 -1
  145. package/dist/platforma.d.ts +7 -7
  146. package/dist/platforma.d.ts.map +1 -1
  147. package/dist/raw_globals.cjs +4 -1
  148. package/dist/raw_globals.cjs.map +1 -1
  149. package/dist/raw_globals.d.ts +2 -2
  150. package/dist/raw_globals.d.ts.map +1 -1
  151. package/dist/raw_globals.js +4 -1
  152. package/dist/raw_globals.js.map +1 -1
  153. package/dist/ref_util.cjs +4 -4
  154. package/dist/ref_util.cjs.map +1 -1
  155. package/dist/ref_util.d.ts +1 -1
  156. package/dist/ref_util.js +4 -4
  157. package/dist/ref_util.js.map +1 -1
  158. package/dist/render/accessor.cjs +24 -24
  159. package/dist/render/accessor.cjs.map +1 -1
  160. package/dist/render/accessor.d.ts +10 -10
  161. package/dist/render/accessor.d.ts.map +1 -1
  162. package/dist/render/accessor.js +24 -24
  163. package/dist/render/accessor.js.map +1 -1
  164. package/dist/render/api.cjs +23 -23
  165. package/dist/render/api.cjs.map +1 -1
  166. package/dist/render/api.d.ts +11 -11
  167. package/dist/render/api.d.ts.map +1 -1
  168. package/dist/render/api.js +23 -23
  169. package/dist/render/api.js.map +1 -1
  170. package/dist/render/future.cjs.map +1 -1
  171. package/dist/render/future.d.ts +1 -1
  172. package/dist/render/future.js.map +1 -1
  173. package/dist/render/index.d.ts +6 -6
  174. package/dist/render/internal.cjs +4 -4
  175. package/dist/render/internal.cjs.map +1 -1
  176. package/dist/render/internal.d.ts +7 -7
  177. package/dist/render/internal.d.ts.map +1 -1
  178. package/dist/render/internal.js +4 -4
  179. package/dist/render/internal.js.map +1 -1
  180. package/dist/render/traversal_ops.d.ts +1 -1
  181. package/dist/render/util/axis_filtering.cjs +48 -44
  182. package/dist/render/util/axis_filtering.cjs.map +1 -1
  183. package/dist/render/util/axis_filtering.d.ts +2 -2
  184. package/dist/render/util/axis_filtering.js +48 -44
  185. package/dist/render/util/axis_filtering.js.map +1 -1
  186. package/dist/render/util/column_collection.cjs +42 -35
  187. package/dist/render/util/column_collection.cjs.map +1 -1
  188. package/dist/render/util/column_collection.d.ts +4 -4
  189. package/dist/render/util/column_collection.d.ts.map +1 -1
  190. package/dist/render/util/column_collection.js +42 -35
  191. package/dist/render/util/column_collection.js.map +1 -1
  192. package/dist/render/util/index.d.ts +4 -4
  193. package/dist/render/util/label.cjs +15 -21
  194. package/dist/render/util/label.cjs.map +1 -1
  195. package/dist/render/util/label.d.ts +2 -2
  196. package/dist/render/util/label.d.ts.map +1 -1
  197. package/dist/render/util/label.js +15 -21
  198. package/dist/render/util/label.js.map +1 -1
  199. package/dist/render/util/pcolumn_data.cjs +56 -54
  200. package/dist/render/util/pcolumn_data.cjs.map +1 -1
  201. package/dist/render/util/pcolumn_data.d.ts +5 -5
  202. package/dist/render/util/pcolumn_data.d.ts.map +1 -1
  203. package/dist/render/util/pcolumn_data.js +56 -54
  204. package/dist/render/util/pcolumn_data.js.map +1 -1
  205. package/dist/render/util/pframe_upgraders.cjs +6 -6
  206. package/dist/render/util/pframe_upgraders.cjs.map +1 -1
  207. package/dist/render/util/pframe_upgraders.d.ts +1 -1
  208. package/dist/render/util/pframe_upgraders.d.ts.map +1 -1
  209. package/dist/render/util/pframe_upgraders.js +6 -6
  210. package/dist/render/util/pframe_upgraders.js.map +1 -1
  211. package/dist/render/util/split_selectors.d.ts +1 -1
  212. package/dist/render/util/split_selectors.d.ts.map +1 -1
  213. package/dist/sdk_info.cjs.map +1 -1
  214. package/dist/sdk_info.js.map +1 -1
  215. package/dist/version.cjs.map +1 -1
  216. package/dist/version.js.map +1 -1
  217. package/package.json +23 -21
  218. package/src/annotations/converter.test.ts +98 -101
  219. package/src/annotations/converter.ts +21 -17
  220. package/src/annotations/index.ts +2 -2
  221. package/src/annotations/types.ts +4 -4
  222. package/src/bconfig/index.ts +5 -5
  223. package/src/bconfig/lambdas.ts +10 -12
  224. package/src/bconfig/normalization.ts +5 -5
  225. package/src/bconfig/types.ts +3 -5
  226. package/src/bconfig/util.ts +3 -3
  227. package/src/bconfig/v3.ts +3 -3
  228. package/src/block_api_v1.ts +7 -3
  229. package/src/block_api_v2.ts +7 -3
  230. package/src/block_api_v3.ts +3 -3
  231. package/src/block_migrations.test.ts +66 -67
  232. package/src/block_migrations.ts +16 -16
  233. package/src/block_model.ts +76 -140
  234. package/src/block_state_patch.ts +2 -2
  235. package/src/block_state_util.ts +4 -4
  236. package/src/block_storage.test.ts +106 -99
  237. package/src/block_storage.ts +22 -25
  238. package/src/block_storage_vm.ts +41 -35
  239. package/src/builder.ts +107 -95
  240. package/src/components/PFrameForGraphs.test.ts +261 -255
  241. package/src/components/PFrameForGraphs.ts +35 -22
  242. package/src/components/PlAnnotations/filter.ts +21 -15
  243. package/src/components/PlAnnotations/filters_ui.test.ts +230 -73
  244. package/src/components/PlAnnotations/filters_ui.ts +138 -105
  245. package/src/components/PlAnnotations/index.ts +2 -2
  246. package/src/components/PlAnnotations/types.ts +2 -2
  247. package/src/components/PlDataTable.ts +177 -164
  248. package/src/components/PlMultiSequenceAlignment.ts +11 -18
  249. package/src/components/PlSelectionModel.ts +1 -1
  250. package/src/components/index.ts +5 -5
  251. package/src/config/actions.ts +64 -59
  252. package/src/config/actions_kinds.ts +38 -34
  253. package/src/config/index.ts +6 -6
  254. package/src/config/model.ts +28 -28
  255. package/src/config/model_meta.ts +1 -1
  256. package/src/config/type_engine.ts +3 -3
  257. package/src/config/type_util.ts +2 -2
  258. package/src/env_value.ts +2 -2
  259. package/src/filters/converter.test.ts +185 -144
  260. package/src/filters/converter.ts +47 -35
  261. package/src/filters/index.ts +2 -2
  262. package/src/filters/types.ts +44 -39
  263. package/src/global.d.ts +1 -1
  264. package/src/index.ts +24 -24
  265. package/src/internal.ts +27 -17
  266. package/src/pframe.ts +3 -3
  267. package/src/pframe_utils/columns.ts +81 -31
  268. package/src/pframe_utils/index.ts +65 -43
  269. package/src/platforma.ts +44 -21
  270. package/src/raw_globals.ts +13 -7
  271. package/src/ref_util.ts +6 -6
  272. package/src/render/accessor.ts +43 -44
  273. package/src/render/api.ts +102 -78
  274. package/src/render/future.ts +2 -2
  275. package/src/render/index.ts +6 -6
  276. package/src/render/internal.ts +11 -12
  277. package/src/render/traversal_ops.ts +1 -1
  278. package/src/render/util/axis_filtering.ts +67 -52
  279. package/src/render/util/column_collection.ts +171 -91
  280. package/src/render/util/index.ts +4 -4
  281. package/src/render/util/label.test.ts +139 -139
  282. package/src/render/util/label.ts +42 -33
  283. package/src/render/util/pcolumn_data.ts +111 -75
  284. package/src/render/util/pframe_upgraders.ts +24 -13
  285. package/src/render/util/split_selectors.ts +6 -1
  286. package/src/sdk_info.ts +1 -1
  287. package/src/typing.test.ts +56 -56
  288. package/src/version.ts +1 -1
@@ -1,59 +1,88 @@
1
1
  // @DEPRECATED - use sdk/model/src/filters + sdk/model/src/annotations
2
- import type { SUniversalPColumnId } from '@milaboratories/pl-model-common';
3
- import type { FilterSpecUi } from '../../annotations';
4
- import type { FilterSpec, FilterSpecLeaf } from '../../filters';
5
- import type { AnnotationFilter, AnnotationMode, AnnotationScript, IsNA, NotFilter, NumericalComparisonFilter, PatternFilter, PatternPredicate, ValueRank } from './filter';
6
-
7
- export type FilterUi = FilterSpec<Extract<
8
- FilterSpecLeaf,
9
- // supported filters
10
- { type:
11
- | 'lessThan'
12
- | 'greaterThan'
13
- | 'lessThanOrEqual'
14
- | 'greaterThanOrEqual'
15
- | 'lessThanColumn'
16
- | 'lessThanColumnOrEqual'
17
- | 'patternContainSubsequence'
18
- | 'patternNotContainSubsequence'
19
- | 'patternEquals'
20
- | 'patternNotEquals'
21
- | 'topN'
22
- | 'bottomN'
23
- | 'isNA'
24
- | 'isNotNA';
25
- }
26
- >, { id: number; name?: string; isExpanded?: boolean }>;
27
-
28
- export type FilterUiType = Exclude<FilterUi, { type: undefined }>['type'];
2
+ import type { SUniversalPColumnId } from "@milaboratories/pl-model-common";
3
+ import type { FilterSpecUi } from "../../annotations";
4
+ import type { FilterSpec, FilterSpecLeaf } from "../../filters";
5
+ import type {
6
+ AnnotationFilter,
7
+ AnnotationMode,
8
+ AnnotationScript,
9
+ IsNA,
10
+ NotFilter,
11
+ NumericalComparisonFilter,
12
+ PatternFilter,
13
+ PatternPredicate,
14
+ ValueRank,
15
+ } from "./filter";
16
+
17
+ export type FilterUi = FilterSpec<
18
+ Extract<
19
+ FilterSpecLeaf,
20
+ // supported filters
21
+ {
22
+ type:
23
+ | "lessThan"
24
+ | "greaterThan"
25
+ | "lessThanOrEqual"
26
+ | "greaterThanOrEqual"
27
+ | "lessThanColumn"
28
+ | "lessThanColumnOrEqual"
29
+ | "patternContainSubsequence"
30
+ | "patternNotContainSubsequence"
31
+ | "patternEquals"
32
+ | "patternNotEquals"
33
+ | "topN"
34
+ | "bottomN"
35
+ | "isNA"
36
+ | "isNotNA";
37
+ }
38
+ >,
39
+ { id: number; name?: string; isExpanded?: boolean }
40
+ >;
41
+
42
+ export type FilterUiType = Exclude<FilterUi, { type: undefined }>["type"];
29
43
 
30
44
  export type FilterUiOfType<T extends FilterUiType> = Extract<FilterUi, { type: T }>;
31
45
 
32
46
  // DEPRECATED - use lib/ui/uikit/src/composition/filters
33
47
  export function unreachable(x: never): never {
34
48
  // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
35
- throw new Error('Unexpected object: ' + x);
49
+ throw new Error("Unexpected object: " + x);
36
50
  }
37
51
 
38
- export type TypeToLiteral<T> =
39
- [T] extends [FilterUiType] ? 'FilterUiType' :
40
- [T] extends [SUniversalPColumnId] ? 'SUniversalPColumnId' :
41
- [T] extends [PatternPredicate] ? 'PatternPredicate' :
42
- [T] extends [AnnotationFilter[]] ? 'AnnotationFilter[]' :
43
- [T] extends [AnnotationFilter] ? 'AnnotationFilter' :
44
- [T] extends [number] ? 'number' :
45
- [T] extends [number | undefined] ? 'number?' :
46
- [T] extends [string] ? 'string' :
47
- [T] extends [string | undefined] ? 'string?' :
48
- [T] extends [boolean] ? 'boolean' :
49
- [T] extends [boolean | undefined] ? 'boolean?' :
50
- [T] extends [unknown[]] ? 'unknown[]' :
51
- // this is special
52
- T extends number ? 'number' :
53
- T extends string ? 'string' :
54
- T extends boolean ? 'boolean' :
55
- T extends Record<string, unknown> ? 'form' :
56
- 'unknown';
52
+ export type TypeToLiteral<T> = [T] extends [FilterUiType]
53
+ ? "FilterUiType"
54
+ : [T] extends [SUniversalPColumnId]
55
+ ? "SUniversalPColumnId"
56
+ : [T] extends [PatternPredicate]
57
+ ? "PatternPredicate"
58
+ : [T] extends [AnnotationFilter[]]
59
+ ? "AnnotationFilter[]"
60
+ : [T] extends [AnnotationFilter]
61
+ ? "AnnotationFilter"
62
+ : [T] extends [number]
63
+ ? "number"
64
+ : [T] extends [number | undefined]
65
+ ? "number?"
66
+ : [T] extends [string]
67
+ ? "string"
68
+ : [T] extends [string | undefined]
69
+ ? "string?"
70
+ : [T] extends [boolean]
71
+ ? "boolean"
72
+ : [T] extends [boolean | undefined]
73
+ ? "boolean?"
74
+ : [T] extends [unknown[]]
75
+ ? "unknown[]"
76
+ : // this is special
77
+ T extends number
78
+ ? "number"
79
+ : T extends string
80
+ ? "string"
81
+ : T extends boolean
82
+ ? "boolean"
83
+ : T extends Record<string, unknown>
84
+ ? "form"
85
+ : "unknown";
57
86
 
58
87
  // @TODO: "parse" option
59
88
  export type TypeField<V> = {
@@ -62,23 +91,25 @@ export type TypeField<V> = {
62
91
  defaultValue: () => V | undefined;
63
92
  };
64
93
 
65
- export type TypeFieldRecord<T extends FilterUi> = { [K in keyof T]: TypeField<T[K]>; };
94
+ export type TypeFieldRecord<T extends FilterUi> = { [K in keyof T]: TypeField<T[K]> };
66
95
 
67
96
  export type TypeForm<T> = {
68
- [P in keyof T]: T[P] extends Record<string, unknown> ? {
69
- fieldType: 'form';
70
- label?: string;
71
- form?: T[P] extends Record<string, unknown> ? TypeForm<T[P]> : undefined;
72
- defaultValue: () => T[P];
73
- } : TypeField<T[P]>;
97
+ [P in keyof T]: T[P] extends Record<string, unknown>
98
+ ? {
99
+ fieldType: "form";
100
+ label?: string;
101
+ form?: T[P] extends Record<string, unknown> ? TypeForm<T[P]> : undefined;
102
+ defaultValue: () => T[P];
103
+ }
104
+ : TypeField<T[P]>;
74
105
  };
75
106
 
76
107
  export type FormField =
77
- {
78
- fieldType: 'form';
79
- form?: Record<string, FormField>;
80
- defaultValue: () => Record<string, unknown>;
81
- }
108
+ | {
109
+ fieldType: "form";
110
+ form?: Record<string, FormField>;
111
+ defaultValue: () => Record<string, unknown>;
112
+ }
82
113
  | TypeField<FilterUiType>
83
114
  | TypeField<string>
84
115
  | TypeField<number>
@@ -89,7 +120,9 @@ export type FormField =
89
120
 
90
121
  export type AnyForm = Record<string, FormField>;
91
122
 
92
- export type AnnotationStepUi = FilterSpecUi<Extract<FilterUi, { type: 'and' | 'or' }>> & { id: number };
123
+ export type AnnotationStepUi = FilterSpecUi<Extract<FilterUi, { type: "and" | "or" }>> & {
124
+ id: number;
125
+ };
93
126
 
94
127
  export type AnnotationScriptUi = {
95
128
  isCreated?: boolean;
@@ -99,90 +132,90 @@ export type AnnotationScriptUi = {
99
132
  };
100
133
 
101
134
  export function compileFilter(ui: FilterUi): AnnotationFilter {
102
- if (ui.type === 'or') {
135
+ if (ui.type === "or") {
103
136
  return {
104
- type: 'or' as const,
137
+ type: "or" as const,
105
138
  filters: compileFilters(ui.filters),
106
139
  };
107
140
  }
108
141
 
109
- if (ui.type === 'and') {
142
+ if (ui.type === "and") {
110
143
  return {
111
- type: 'and' as const,
144
+ type: "and" as const,
112
145
  filters: compileFilters(ui.filters),
113
146
  };
114
147
  }
115
148
 
116
- if (ui.type === 'not') {
149
+ if (ui.type === "not") {
117
150
  return {
118
- type: 'not' as const,
151
+ type: "not" as const,
119
152
  filter: compileFilter(ui.filter),
120
153
  };
121
154
  }
122
155
 
123
- if (ui.type === 'isNA') {
156
+ if (ui.type === "isNA") {
124
157
  return {
125
- type: 'isNA' as const,
158
+ type: "isNA" as const,
126
159
  column: ui.column,
127
160
  };
128
161
  }
129
162
 
130
- if (ui.type === 'isNotNA') {
131
- const isNAFilter: IsNA = { type: 'isNA', column: ui.column };
132
- const notFilter: NotFilter = { type: 'not', filter: isNAFilter };
163
+ if (ui.type === "isNotNA") {
164
+ const isNAFilter: IsNA = { type: "isNA", column: ui.column };
165
+ const notFilter: NotFilter = { type: "not", filter: isNAFilter };
133
166
  return notFilter;
134
167
  }
135
168
 
136
- if (ui.type === 'patternEquals') {
169
+ if (ui.type === "patternEquals") {
137
170
  return {
138
- type: 'pattern' as const,
171
+ type: "pattern" as const,
139
172
  column: ui.column,
140
173
  predicate: {
141
- type: 'equals' as const,
174
+ type: "equals" as const,
142
175
  value: ui.value,
143
176
  },
144
177
  };
145
178
  }
146
179
 
147
- if (ui.type === 'patternNotEquals') {
180
+ if (ui.type === "patternNotEquals") {
148
181
  const patternFilter: PatternFilter = {
149
- type: 'pattern',
182
+ type: "pattern",
150
183
  column: ui.column,
151
- predicate: { type: 'equals', value: ui.value },
184
+ predicate: { type: "equals", value: ui.value },
152
185
  };
153
- const notFilter: NotFilter = { type: 'not', filter: patternFilter };
186
+ const notFilter: NotFilter = { type: "not", filter: patternFilter };
154
187
  return notFilter;
155
188
  }
156
189
 
157
- if (ui.type === 'patternContainSubsequence') {
190
+ if (ui.type === "patternContainSubsequence") {
158
191
  return {
159
- type: 'pattern' as const,
192
+ type: "pattern" as const,
160
193
  column: ui.column,
161
194
  predicate: {
162
- type: 'containSubsequence' as const,
195
+ type: "containSubsequence" as const,
163
196
  value: ui.value,
164
197
  },
165
198
  };
166
199
  }
167
200
 
168
- if (ui.type === 'patternNotContainSubsequence') {
201
+ if (ui.type === "patternNotContainSubsequence") {
169
202
  const patternFilter: PatternFilter = {
170
- type: 'pattern',
203
+ type: "pattern",
171
204
  column: ui.column,
172
- predicate: { type: 'containSubsequence', value: ui.value },
205
+ predicate: { type: "containSubsequence", value: ui.value },
173
206
  };
174
- const notFilter: NotFilter = { type: 'not', filter: patternFilter };
207
+ const notFilter: NotFilter = { type: "not", filter: patternFilter };
175
208
  return notFilter;
176
209
  }
177
210
 
178
- if (ui.type === 'topN') {
211
+ if (ui.type === "topN") {
179
212
  const rankTransform: ValueRank = {
180
- transformer: 'rank',
213
+ transformer: "rank",
181
214
  column: ui.column,
182
215
  descending: true,
183
216
  };
184
217
  const comparisonFilter: NumericalComparisonFilter = {
185
- type: 'numericalComparison',
218
+ type: "numericalComparison",
186
219
  lhs: rankTransform,
187
220
  rhs: ui.n,
188
221
  allowEqual: true,
@@ -190,13 +223,13 @@ export function compileFilter(ui: FilterUi): AnnotationFilter {
190
223
  return comparisonFilter;
191
224
  }
192
225
 
193
- if (ui.type === 'bottomN') {
226
+ if (ui.type === "bottomN") {
194
227
  const rankTransform: ValueRank = {
195
- transformer: 'rank',
228
+ transformer: "rank",
196
229
  column: ui.column,
197
230
  };
198
231
  const comparisonFilter: NumericalComparisonFilter = {
199
- type: 'numericalComparison',
232
+ type: "numericalComparison",
200
233
  lhs: rankTransform,
201
234
  rhs: ui.n,
202
235
  allowEqual: true,
@@ -204,43 +237,43 @@ export function compileFilter(ui: FilterUi): AnnotationFilter {
204
237
  return comparisonFilter;
205
238
  }
206
239
 
207
- if (ui.type === 'lessThan') {
240
+ if (ui.type === "lessThan") {
208
241
  return {
209
- type: 'numericalComparison' as const,
242
+ type: "numericalComparison" as const,
210
243
  lhs: ui.column,
211
244
  rhs: ui.x,
212
245
  };
213
246
  }
214
247
 
215
- if (ui.type === 'greaterThan') {
248
+ if (ui.type === "greaterThan") {
216
249
  return {
217
- type: 'numericalComparison' as const,
250
+ type: "numericalComparison" as const,
218
251
  rhs: ui.column,
219
252
  lhs: ui.x,
220
253
  };
221
254
  }
222
255
 
223
- if (ui.type === 'greaterThanOrEqual') {
256
+ if (ui.type === "greaterThanOrEqual") {
224
257
  return {
225
- type: 'numericalComparison' as const,
258
+ type: "numericalComparison" as const,
226
259
  rhs: ui.column,
227
260
  lhs: ui.x,
228
261
  allowEqual: true,
229
262
  };
230
263
  }
231
264
 
232
- if (ui.type === 'lessThanOrEqual') {
265
+ if (ui.type === "lessThanOrEqual") {
233
266
  return {
234
- type: 'numericalComparison' as const,
267
+ type: "numericalComparison" as const,
235
268
  lhs: ui.column,
236
269
  rhs: ui.x,
237
270
  allowEqual: true,
238
271
  };
239
272
  }
240
273
 
241
- if (ui.type === 'lessThanColumn') {
274
+ if (ui.type === "lessThanColumn") {
242
275
  return {
243
- type: 'numericalComparison' as const,
276
+ type: "numericalComparison" as const,
244
277
  lhs: ui.column,
245
278
  rhs: ui.rhs,
246
279
  minDiff: ui.minDiff,
@@ -248,9 +281,9 @@ export function compileFilter(ui: FilterUi): AnnotationFilter {
248
281
  };
249
282
  }
250
283
 
251
- if (ui.type === 'lessThanColumnOrEqual') {
284
+ if (ui.type === "lessThanColumnOrEqual") {
252
285
  return {
253
- type: 'numericalComparison' as const,
286
+ type: "numericalComparison" as const,
254
287
  lhs: ui.column,
255
288
  rhs: ui.rhs,
256
289
  minDiff: ui.minDiff,
@@ -276,11 +309,11 @@ export function compileAnnotationScript(uiScript: AnnotationScriptUi): Annotatio
276
309
  return false;
277
310
  }
278
311
 
279
- if (step.filter.type === 'or') {
312
+ if (step.filter.type === "or") {
280
313
  return step.filter.filters.length > 0;
281
314
  }
282
315
 
283
- if (step.filter.type === 'and') {
316
+ if (step.filter.type === "and") {
284
317
  return step.filter.filters.length > 0;
285
318
  }
286
319
 
@@ -1,3 +1,3 @@
1
1
  // @DEPRECATED - use sdk/model/src/filters + sdk/model/src/annotations
2
- export * from './filter';
3
- export * from './filters_ui';
2
+ export * from "./filter";
3
+ export * from "./filters_ui";
@@ -1,4 +1,4 @@
1
1
  // @DEPRECATED - use sdk/model/src/filters + sdk/model/src/annotations
2
- import type { PColumnSpec } from '@milaboratories/pl-model-common';
2
+ import type { PColumnSpec } from "@milaboratories/pl-model-common";
3
3
 
4
- export type SimplifiedPColumnSpec = Pick<PColumnSpec, 'valueType' | 'annotations'>;
4
+ export type SimplifiedPColumnSpec = Pick<PColumnSpec, "valueType" | "annotations">;