@milaboratories/pl-model-common 1.25.1 → 1.25.3

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/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/author_marker.d.ts +9 -6
  3. package/dist/base32_encode.cjs +40 -46
  4. package/dist/base32_encode.cjs.map +1 -1
  5. package/dist/base32_encode.js +40 -45
  6. package/dist/base32_encode.js.map +1 -1
  7. package/dist/base64.cjs +5 -4
  8. package/dist/base64.cjs.map +1 -1
  9. package/dist/base64.d.ts +10 -6
  10. package/dist/base64.js +5 -3
  11. package/dist/base64.js.map +1 -1
  12. package/dist/block_state.d.ts +21 -23
  13. package/dist/bmodel/block_config.cjs +9 -10
  14. package/dist/bmodel/block_config.cjs.map +1 -1
  15. package/dist/bmodel/block_config.d.ts +53 -72
  16. package/dist/bmodel/block_config.js +9 -9
  17. package/dist/bmodel/block_config.js.map +1 -1
  18. package/dist/bmodel/code.cjs +7 -6
  19. package/dist/bmodel/code.cjs.map +1 -1
  20. package/dist/bmodel/code.d.ts +17 -13
  21. package/dist/bmodel/code.js +6 -4
  22. package/dist/bmodel/code.js.map +1 -1
  23. package/dist/bmodel/container.d.ts +46 -44
  24. package/dist/bmodel/index.cjs +3 -0
  25. package/dist/bmodel/index.d.ts +5 -6
  26. package/dist/bmodel/index.js +3 -0
  27. package/dist/bmodel/normalization.cjs +90 -106
  28. package/dist/bmodel/normalization.cjs.map +1 -1
  29. package/dist/bmodel/normalization.d.ts +7 -3
  30. package/dist/bmodel/normalization.js +90 -105
  31. package/dist/bmodel/normalization.js.map +1 -1
  32. package/dist/bmodel/types.d.ts +4 -1
  33. package/dist/branding.d.ts +5 -5
  34. package/dist/common_types.d.ts +19 -15
  35. package/dist/driver_kit.d.ts +25 -17
  36. package/dist/drivers/ChunkedStreamReader.cjs +168 -203
  37. package/dist/drivers/ChunkedStreamReader.cjs.map +1 -1
  38. package/dist/drivers/ChunkedStreamReader.d.ts +104 -100
  39. package/dist/drivers/ChunkedStreamReader.js +168 -202
  40. package/dist/drivers/ChunkedStreamReader.js.map +1 -1
  41. package/dist/drivers/blob.cjs +15 -17
  42. package/dist/drivers/blob.cjs.map +1 -1
  43. package/dist/drivers/blob.d.ts +35 -35
  44. package/dist/drivers/blob.js +14 -15
  45. package/dist/drivers/blob.js.map +1 -1
  46. package/dist/drivers/index.cjs +18 -0
  47. package/dist/drivers/index.d.ts +29 -9
  48. package/dist/drivers/index.js +18 -0
  49. package/dist/drivers/interfaces.d.ts +17 -14
  50. package/dist/drivers/log.cjs +4 -3
  51. package/dist/drivers/log.cjs.map +1 -1
  52. package/dist/drivers/log.d.ts +52 -49
  53. package/dist/drivers/log.js +4 -2
  54. package/dist/drivers/log.js.map +1 -1
  55. package/dist/drivers/ls.cjs +16 -19
  56. package/dist/drivers/ls.cjs.map +1 -1
  57. package/dist/drivers/ls.d.ts +73 -76
  58. package/dist/drivers/ls.js +16 -17
  59. package/dist/drivers/ls.js.map +1 -1
  60. package/dist/drivers/pframe/column_filter.d.ts +19 -15
  61. package/dist/drivers/pframe/data_info.cjs +201 -252
  62. package/dist/drivers/pframe/data_info.cjs.map +1 -1
  63. package/dist/drivers/pframe/data_info.d.ts +84 -109
  64. package/dist/drivers/pframe/data_info.js +201 -250
  65. package/dist/drivers/pframe/data_info.js.map +1 -1
  66. package/dist/drivers/pframe/data_types.cjs +38 -63
  67. package/dist/drivers/pframe/data_types.cjs.map +1 -1
  68. package/dist/drivers/pframe/data_types.d.ts +91 -93
  69. package/dist/drivers/pframe/data_types.js +38 -61
  70. package/dist/drivers/pframe/data_types.js.map +1 -1
  71. package/dist/drivers/pframe/driver.cjs +7 -0
  72. package/dist/drivers/pframe/driver.cjs.map +1 -0
  73. package/dist/drivers/pframe/driver.d.ts +50 -45
  74. package/dist/drivers/pframe/driver.js +6 -0
  75. package/dist/drivers/pframe/driver.js.map +1 -0
  76. package/dist/drivers/pframe/filter_spec.d.ts +127 -123
  77. package/dist/drivers/pframe/find_columns.d.ts +21 -17
  78. package/dist/drivers/pframe/index.cjs +15 -0
  79. package/dist/drivers/pframe/index.d.ts +23 -16
  80. package/dist/drivers/pframe/index.js +15 -0
  81. package/dist/drivers/pframe/linker_columns.cjs +184 -238
  82. package/dist/drivers/pframe/linker_columns.cjs.map +1 -1
  83. package/dist/drivers/pframe/linker_columns.d.ts +45 -38
  84. package/dist/drivers/pframe/linker_columns.js +184 -236
  85. package/dist/drivers/pframe/linker_columns.js.map +1 -1
  86. package/dist/drivers/pframe/pframe.d.ts +26 -21
  87. package/dist/drivers/pframe/query/index.cjs +1 -0
  88. package/dist/drivers/pframe/query/index.d.ts +3 -4
  89. package/dist/drivers/pframe/query/index.js +1 -0
  90. package/dist/drivers/pframe/query/query_common.d.ts +205 -247
  91. package/dist/drivers/pframe/query/query_data.d.ts +25 -23
  92. package/dist/drivers/pframe/query/query_spec.d.ts +30 -29
  93. package/dist/drivers/pframe/query/utils.cjs +164 -183
  94. package/dist/drivers/pframe/query/utils.cjs.map +1 -1
  95. package/dist/drivers/pframe/query/utils.d.ts +13 -12
  96. package/dist/drivers/pframe/query/utils.js +164 -181
  97. package/dist/drivers/pframe/query/utils.js.map +1 -1
  98. package/dist/drivers/pframe/spec/anchored.cjs +178 -216
  99. package/dist/drivers/pframe/spec/anchored.cjs.map +1 -1
  100. package/dist/drivers/pframe/spec/anchored.d.ts +53 -49
  101. package/dist/drivers/pframe/spec/anchored.js +176 -214
  102. package/dist/drivers/pframe/spec/anchored.js.map +1 -1
  103. package/dist/drivers/pframe/spec/filtered_column.cjs +8 -7
  104. package/dist/drivers/pframe/spec/filtered_column.cjs.map +1 -1
  105. package/dist/drivers/pframe/spec/filtered_column.d.ts +20 -17
  106. package/dist/drivers/pframe/spec/filtered_column.js +8 -6
  107. package/dist/drivers/pframe/spec/filtered_column.js.map +1 -1
  108. package/dist/drivers/pframe/spec/ids.cjs +16 -14
  109. package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
  110. package/dist/drivers/pframe/spec/ids.d.ts +13 -8
  111. package/dist/drivers/pframe/spec/ids.js +14 -12
  112. package/dist/drivers/pframe/spec/ids.js.map +1 -1
  113. package/dist/drivers/pframe/spec/index.cjs +6 -0
  114. package/dist/drivers/pframe/spec/index.d.ts +6 -7
  115. package/dist/drivers/pframe/spec/index.js +6 -0
  116. package/dist/drivers/pframe/spec/native_id.cjs +16 -16
  117. package/dist/drivers/pframe/spec/native_id.cjs.map +1 -1
  118. package/dist/drivers/pframe/spec/native_id.d.ts +9 -4
  119. package/dist/drivers/pframe/spec/native_id.js +13 -13
  120. package/dist/drivers/pframe/spec/native_id.js.map +1 -1
  121. package/dist/drivers/pframe/spec/selectors.cjs +72 -112
  122. package/dist/drivers/pframe/spec/selectors.cjs.map +1 -1
  123. package/dist/drivers/pframe/spec/selectors.d.ts +99 -94
  124. package/dist/drivers/pframe/spec/selectors.js +72 -110
  125. package/dist/drivers/pframe/spec/selectors.js.map +1 -1
  126. package/dist/drivers/pframe/spec/spec.cjs +282 -324
  127. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  128. package/dist/drivers/pframe/spec/spec.d.ts +263 -272
  129. package/dist/drivers/pframe/spec/spec.js +281 -322
  130. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  131. package/dist/drivers/pframe/table.d.ts +28 -24
  132. package/dist/drivers/pframe/table_calculate.cjs +117 -147
  133. package/dist/drivers/pframe/table_calculate.cjs.map +1 -1
  134. package/dist/drivers/pframe/table_calculate.d.ts +219 -220
  135. package/dist/drivers/pframe/table_calculate.js +117 -145
  136. package/dist/drivers/pframe/table_calculate.js.map +1 -1
  137. package/dist/drivers/pframe/table_common.cjs +13 -14
  138. package/dist/drivers/pframe/table_common.cjs.map +1 -1
  139. package/dist/drivers/pframe/table_common.d.ts +24 -19
  140. package/dist/drivers/pframe/table_common.js +13 -13
  141. package/dist/drivers/pframe/table_common.js.map +1 -1
  142. package/dist/drivers/pframe/unique_values.d.ts +23 -18
  143. package/dist/drivers/upload.d.ts +21 -18
  144. package/dist/drivers/urls.cjs +5 -6
  145. package/dist/drivers/urls.cjs.map +1 -1
  146. package/dist/drivers/urls.d.ts +12 -9
  147. package/dist/drivers/urls.js +5 -5
  148. package/dist/drivers/urls.js.map +1 -1
  149. package/dist/errors.cjs +65 -86
  150. package/dist/errors.cjs.map +1 -1
  151. package/dist/errors.d.ts +36 -33
  152. package/dist/errors.js +65 -85
  153. package/dist/errors.js.map +1 -1
  154. package/dist/flags/block_flags.cjs +7 -6
  155. package/dist/flags/block_flags.cjs.map +1 -1
  156. package/dist/flags/block_flags.d.ts +12 -8
  157. package/dist/flags/block_flags.js +7 -5
  158. package/dist/flags/block_flags.js.map +1 -1
  159. package/dist/flags/flag_utils.cjs +69 -108
  160. package/dist/flags/flag_utils.cjs.map +1 -1
  161. package/dist/flags/flag_utils.d.ts +40 -42
  162. package/dist/flags/flag_utils.js +70 -107
  163. package/dist/flags/flag_utils.js.map +1 -1
  164. package/dist/flags/type_utils.d.ts +12 -11
  165. package/dist/httpAuth.cjs +16 -20
  166. package/dist/httpAuth.cjs.map +1 -1
  167. package/dist/httpAuth.d.ts +10 -7
  168. package/dist/httpAuth.js +16 -19
  169. package/dist/httpAuth.js.map +1 -1
  170. package/dist/index.cjs +176 -179
  171. package/dist/index.d.ts +58 -20
  172. package/dist/index.js +37 -34
  173. package/dist/json.cjs +10 -8
  174. package/dist/json.cjs.map +1 -1
  175. package/dist/json.d.ts +18 -18
  176. package/dist/json.js +8 -6
  177. package/dist/json.js.map +1 -1
  178. package/dist/navigation.cjs +3 -2
  179. package/dist/navigation.cjs.map +1 -1
  180. package/dist/navigation.d.ts +18 -21
  181. package/dist/navigation.js +3 -1
  182. package/dist/navigation.js.map +1 -1
  183. package/dist/plid.cjs +16 -20
  184. package/dist/plid.cjs.map +1 -1
  185. package/dist/plid.d.ts +11 -7
  186. package/dist/plid.js +15 -18
  187. package/dist/plid.js.map +1 -1
  188. package/dist/pool/entry.d.ts +11 -11
  189. package/dist/pool/index.d.ts +3 -4
  190. package/dist/pool/query.cjs +21 -43
  191. package/dist/pool/query.cjs.map +1 -1
  192. package/dist/pool/query.d.ts +25 -20
  193. package/dist/pool/query.js +20 -40
  194. package/dist/pool/query.js.map +1 -1
  195. package/dist/pool/spec.cjs +40 -47
  196. package/dist/pool/spec.cjs.map +1 -1
  197. package/dist/pool/spec.d.ts +33 -31
  198. package/dist/pool/spec.js +40 -45
  199. package/dist/pool/spec.js.map +1 -1
  200. package/dist/ref.cjs +51 -71
  201. package/dist/ref.cjs.map +1 -1
  202. package/dist/ref.d.ts +36 -33
  203. package/dist/ref.js +50 -69
  204. package/dist/ref.js.map +1 -1
  205. package/dist/utag.d.ts +18 -14
  206. package/dist/util.cjs +8 -7
  207. package/dist/util.cjs.map +1 -1
  208. package/dist/util.d.ts +5 -2
  209. package/dist/util.js +8 -6
  210. package/dist/util.js.map +1 -1
  211. package/dist/value_or_error.cjs +7 -3
  212. package/dist/value_or_error.cjs.map +1 -1
  213. package/dist/value_or_error.d.ts +9 -6
  214. package/dist/value_or_error.js +7 -2
  215. package/dist/value_or_error.js.map +1 -1
  216. package/package.json +6 -6
  217. package/src/flags/block_flags.ts +2 -1
  218. package/src/flags/flag_utils.ts +0 -22
  219. package/dist/author_marker.d.ts.map +0 -1
  220. package/dist/base32_encode.d.ts +0 -8
  221. package/dist/base32_encode.d.ts.map +0 -1
  222. package/dist/base64.d.ts.map +0 -1
  223. package/dist/block_state.d.ts.map +0 -1
  224. package/dist/bmodel/block_config.d.ts.map +0 -1
  225. package/dist/bmodel/code.d.ts.map +0 -1
  226. package/dist/bmodel/container.d.ts.map +0 -1
  227. package/dist/bmodel/index.d.ts.map +0 -1
  228. package/dist/bmodel/normalization.d.ts.map +0 -1
  229. package/dist/bmodel/types.d.ts.map +0 -1
  230. package/dist/branding.d.ts.map +0 -1
  231. package/dist/common_types.d.ts.map +0 -1
  232. package/dist/driver_kit.d.ts.map +0 -1
  233. package/dist/drivers/ChunkedStreamReader.d.ts.map +0 -1
  234. package/dist/drivers/blob.d.ts.map +0 -1
  235. package/dist/drivers/index.d.ts.map +0 -1
  236. package/dist/drivers/interfaces.d.ts.map +0 -1
  237. package/dist/drivers/log.d.ts.map +0 -1
  238. package/dist/drivers/ls.d.ts.map +0 -1
  239. package/dist/drivers/pframe/column_filter.d.ts.map +0 -1
  240. package/dist/drivers/pframe/data_info.d.ts.map +0 -1
  241. package/dist/drivers/pframe/data_types.d.ts.map +0 -1
  242. package/dist/drivers/pframe/driver.d.ts.map +0 -1
  243. package/dist/drivers/pframe/filter_spec.d.ts.map +0 -1
  244. package/dist/drivers/pframe/find_columns.d.ts.map +0 -1
  245. package/dist/drivers/pframe/index.d.ts.map +0 -1
  246. package/dist/drivers/pframe/linker_columns.d.ts.map +0 -1
  247. package/dist/drivers/pframe/pframe.d.ts.map +0 -1
  248. package/dist/drivers/pframe/query/index.d.ts.map +0 -1
  249. package/dist/drivers/pframe/query/query_common.d.ts.map +0 -1
  250. package/dist/drivers/pframe/query/query_data.d.ts.map +0 -1
  251. package/dist/drivers/pframe/query/query_spec.d.ts.map +0 -1
  252. package/dist/drivers/pframe/query/utils.d.ts.map +0 -1
  253. package/dist/drivers/pframe/spec/anchored.d.ts.map +0 -1
  254. package/dist/drivers/pframe/spec/filtered_column.d.ts.map +0 -1
  255. package/dist/drivers/pframe/spec/ids.d.ts.map +0 -1
  256. package/dist/drivers/pframe/spec/index.d.ts.map +0 -1
  257. package/dist/drivers/pframe/spec/native_id.d.ts.map +0 -1
  258. package/dist/drivers/pframe/spec/selectors.d.ts.map +0 -1
  259. package/dist/drivers/pframe/spec/spec.d.ts.map +0 -1
  260. package/dist/drivers/pframe/table.d.ts.map +0 -1
  261. package/dist/drivers/pframe/table_calculate.d.ts.map +0 -1
  262. package/dist/drivers/pframe/table_common.d.ts.map +0 -1
  263. package/dist/drivers/pframe/type_util.d.ts +0 -5
  264. package/dist/drivers/pframe/type_util.d.ts.map +0 -1
  265. package/dist/drivers/pframe/unique_values.d.ts.map +0 -1
  266. package/dist/drivers/upload.d.ts.map +0 -1
  267. package/dist/drivers/urls.d.ts.map +0 -1
  268. package/dist/errors.d.ts.map +0 -1
  269. package/dist/flags/block_flags.d.ts.map +0 -1
  270. package/dist/flags/flag_utils.d.ts.map +0 -1
  271. package/dist/flags/index.d.ts +0 -4
  272. package/dist/flags/index.d.ts.map +0 -1
  273. package/dist/flags/type_utils.d.ts.map +0 -1
  274. package/dist/httpAuth.d.ts.map +0 -1
  275. package/dist/index.cjs.map +0 -1
  276. package/dist/index.d.ts.map +0 -1
  277. package/dist/index.js.map +0 -1
  278. package/dist/json.d.ts.map +0 -1
  279. package/dist/navigation.d.ts.map +0 -1
  280. package/dist/plid.d.ts.map +0 -1
  281. package/dist/pool/entry.d.ts.map +0 -1
  282. package/dist/pool/index.d.ts.map +0 -1
  283. package/dist/pool/query.d.ts.map +0 -1
  284. package/dist/pool/spec.d.ts.map +0 -1
  285. package/dist/ref.d.ts.map +0 -1
  286. package/dist/utag.d.ts.map +0 -1
  287. package/dist/util.d.ts.map +0 -1
  288. package/dist/value_or_error.d.ts.map +0 -1
@@ -1,414 +1,372 @@
1
- 'use strict';
2
-
3
- var errors = require('../../../errors.cjs');
4
- var json = require('../../../json.cjs');
5
- var zod = require('zod');
1
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
2
+ const require_errors = require('../../../errors.cjs');
3
+ const require_json = require('../../../json.cjs');
4
+ let zod = require("zod");
6
5
 
6
+ //#region src/drivers/pframe/spec/spec.ts
7
7
  const ValueType = {
8
- Int: "Int",
9
- Long: "Long",
10
- Float: "Float",
11
- Double: "Double",
12
- String: "String",
13
- Bytes: "Bytes",
8
+ Int: "Int",
9
+ Long: "Long",
10
+ Float: "Float",
11
+ Double: "Double",
12
+ String: "String",
13
+ Bytes: "Bytes"
14
14
  };
15
15
  function readMetadata(metadata, key) {
16
- return metadata?.[key];
16
+ return metadata?.[key];
17
17
  }
18
18
  function readMetadataJsonOrThrow(metadata, metadataJson, key, methodNameInError = "readMetadataJsonOrThrow") {
19
- const json = readMetadata(metadata, key);
20
- if (json === undefined)
21
- return undefined;
22
- const schema = metadataJson[key];
23
- try {
24
- const value = JSON.parse(json);
25
- return schema.parse(value);
26
- }
27
- catch (error) {
28
- throw new Error(`${methodNameInError} failed, ` +
29
- `key: ${String(key)}, ` +
30
- `value: ${json}, ` +
31
- `error: ${errors.ensureError(error)}`);
32
- }
19
+ const json = readMetadata(metadata, key);
20
+ if (json === void 0) return void 0;
21
+ const schema = metadataJson[key];
22
+ try {
23
+ const value = JSON.parse(json);
24
+ return schema.parse(value);
25
+ } catch (error) {
26
+ throw new Error(`${methodNameInError} failed, key: ${String(key)}, value: ${json}, error: ${require_errors.ensureError(error)}`);
27
+ }
33
28
  }
34
29
  function readMetadataJson(metadata, metadataJson, key) {
35
- try {
36
- return readMetadataJsonOrThrow(metadata, metadataJson, key);
37
- }
38
- catch {
39
- return undefined; // treat invalid values as unset
40
- }
30
+ try {
31
+ return readMetadataJsonOrThrow(metadata, metadataJson, key);
32
+ } catch {
33
+ return;
34
+ }
41
35
  }
42
- /// Well-known domains
43
36
  const Domain = {
44
- Alphabet: "pl7.app/alphabet",
45
- BlockId: "pl7.app/blockId",
46
- VDJ: {
47
- Clustering: {
48
- BlockId: "pl7.app/vdj/clustering/blockId",
49
- },
50
- ScClonotypeChain: {
51
- Index: "pl7.app/vdj/scClonotypeChain/index",
52
- },
53
- },
37
+ Alphabet: "pl7.app/alphabet",
38
+ BlockId: "pl7.app/blockId",
39
+ VDJ: {
40
+ Clustering: { BlockId: "pl7.app/vdj/clustering/blockId" },
41
+ ScClonotypeChain: { Index: "pl7.app/vdj/scClonotypeChain/index" }
42
+ }
54
43
  };
55
44
  const DomainJson = {};
56
- /// Helper function for reading plain domain values
57
45
  function readDomain(spec, key) {
58
- return readMetadata(spec?.domain, key);
46
+ return readMetadata(spec?.domain, key);
59
47
  }
60
- /// Helper function for reading json-encoded domain values, throws on JSON parsing error
61
48
  function readDomainJsonOrThrow(spec, key) {
62
- return readMetadataJsonOrThrow(spec?.domain, DomainJson, key, "readDomainJsonOrThrow");
49
+ return readMetadataJsonOrThrow(spec?.domain, DomainJson, key, "readDomainJsonOrThrow");
63
50
  }
64
- /// Helper function for reading json-encoded domain values, returns undefined on JSON parsing error
65
51
  function readDomainJson(spec, key) {
66
- return readMetadataJson(spec?.domain, DomainJson, key);
52
+ return readMetadataJson(spec?.domain, DomainJson, key);
67
53
  }
68
- /// Well-known annotations
69
54
  const Annotation = {
70
- AxisNature: "pl7.app/axisNature",
71
- Alphabet: "pl7.app/alphabet",
72
- Description: "pl7.app/description",
73
- DiscreteValues: "pl7.app/discreteValues",
74
- Format: "pl7.app/format",
75
- Graph: {
76
- Axis: {
77
- HighCardinality: "pl7.app/graph/axis/highCardinality",
78
- LowerLimit: "pl7.app/graph/axis/lowerLimit",
79
- SymmetricRange: "pl7.app/graph/axis/symmetricRange",
80
- UpperLimit: "pl7.app/graph/axis/upperLimit",
81
- },
82
- IsDenseAxis: "pl7.app/graph/isDenseAxis",
83
- IsVirtual: "pl7.app/graph/isVirtual",
84
- Palette: "pl7.app/graph/palette",
85
- Thresholds: "pl7.app/graph/thresholds",
86
- TreatAbsentValuesAs: "pl7.app/graph/treatAbsentValuesAs",
87
- },
88
- HideDataFromUi: "pl7.app/hideDataFromUi",
89
- HideDataFromGraphs: "pl7.app/hideDataFromGraphs",
90
- IsDiscreteFilter: "pl7.app/isDiscreteFilter",
91
- IsAnchor: "pl7.app/isAnchor",
92
- IsLinkerColumn: "pl7.app/isLinkerColumn",
93
- IsScore: "pl7.app/isScore",
94
- IsSubset: "pl7.app/isSubset",
95
- Label: "pl7.app/label",
96
- Max: "pl7.app/max",
97
- Min: "pl7.app/min",
98
- MultipliesBy: "pl7.app/multipliesBy",
99
- Parents: "pl7.app/parents",
100
- Score: {
101
- DefaultCutoff: "pl7.app/score/defaultCutoff",
102
- RankingOrder: "pl7.app/score/rankingOrder",
103
- },
104
- Sequence: {
105
- Annotation: {
106
- Mapping: "pl7.app/sequence/annotation/mapping",
107
- },
108
- IsAnnotation: "pl7.app/sequence/isAnnotation",
109
- },
110
- Table: {
111
- FontFamily: "pl7.app/table/fontFamily",
112
- OrderPriority: "pl7.app/table/orderPriority",
113
- Visibility: "pl7.app/table/visibility",
114
- },
115
- Trace: "pl7.app/trace",
116
- VDJ: {
117
- IsAssemblingFeature: "pl7.app/vdj/isAssemblingFeature",
118
- IsMainSequence: "pl7.app/vdj/isMainSequence",
119
- },
55
+ AxisNature: "pl7.app/axisNature",
56
+ Alphabet: "pl7.app/alphabet",
57
+ Description: "pl7.app/description",
58
+ DiscreteValues: "pl7.app/discreteValues",
59
+ Format: "pl7.app/format",
60
+ Graph: {
61
+ Axis: {
62
+ HighCardinality: "pl7.app/graph/axis/highCardinality",
63
+ LowerLimit: "pl7.app/graph/axis/lowerLimit",
64
+ SymmetricRange: "pl7.app/graph/axis/symmetricRange",
65
+ UpperLimit: "pl7.app/graph/axis/upperLimit"
66
+ },
67
+ IsDenseAxis: "pl7.app/graph/isDenseAxis",
68
+ IsVirtual: "pl7.app/graph/isVirtual",
69
+ Palette: "pl7.app/graph/palette",
70
+ Thresholds: "pl7.app/graph/thresholds",
71
+ TreatAbsentValuesAs: "pl7.app/graph/treatAbsentValuesAs"
72
+ },
73
+ HideDataFromUi: "pl7.app/hideDataFromUi",
74
+ HideDataFromGraphs: "pl7.app/hideDataFromGraphs",
75
+ IsDiscreteFilter: "pl7.app/isDiscreteFilter",
76
+ IsAnchor: "pl7.app/isAnchor",
77
+ IsLinkerColumn: "pl7.app/isLinkerColumn",
78
+ IsScore: "pl7.app/isScore",
79
+ IsSubset: "pl7.app/isSubset",
80
+ Label: "pl7.app/label",
81
+ Max: "pl7.app/max",
82
+ Min: "pl7.app/min",
83
+ MultipliesBy: "pl7.app/multipliesBy",
84
+ Parents: "pl7.app/parents",
85
+ Score: {
86
+ DefaultCutoff: "pl7.app/score/defaultCutoff",
87
+ RankingOrder: "pl7.app/score/rankingOrder"
88
+ },
89
+ Sequence: {
90
+ Annotation: { Mapping: "pl7.app/sequence/annotation/mapping" },
91
+ IsAnnotation: "pl7.app/sequence/isAnnotation"
92
+ },
93
+ Table: {
94
+ FontFamily: "pl7.app/table/fontFamily",
95
+ OrderPriority: "pl7.app/table/orderPriority",
96
+ Visibility: "pl7.app/table/visibility"
97
+ },
98
+ Trace: "pl7.app/trace",
99
+ VDJ: {
100
+ IsAssemblingFeature: "pl7.app/vdj/isAssemblingFeature",
101
+ IsMainSequence: "pl7.app/vdj/isMainSequence"
102
+ }
120
103
  };
121
- const ValueTypeSchema = zod.z.enum(["Int", "Long", "Float", "Double", "String"]);
104
+ const ValueTypeSchema = zod.z.enum([
105
+ "Int",
106
+ "Long",
107
+ "Float",
108
+ "Double",
109
+ "String"
110
+ ]);
122
111
  const AnnotationJson = {
123
- [Annotation.DiscreteValues]: zod.z.array(zod.z.string()).or(zod.z.array(zod.z.number())),
124
- [Annotation.Graph.Axis.HighCardinality]: zod.z.boolean(),
125
- [Annotation.Graph.Axis.LowerLimit]: zod.z.number(),
126
- [Annotation.Graph.Axis.UpperLimit]: zod.z.number(),
127
- [Annotation.Graph.Axis.SymmetricRange]: zod.z.boolean(),
128
- [Annotation.Graph.IsDenseAxis]: zod.z.boolean(),
129
- [Annotation.Graph.Palette]: zod.z.object({ mapping: zod.z.record(zod.z.number()), name: zod.z.string() }),
130
- [Annotation.Graph.Thresholds]: zod.z.array(zod.z.object({
131
- columnId: zod.z.object({ valueType: ValueTypeSchema, name: zod.z.string() }),
132
- value: zod.z.number(),
133
- })),
134
- [Annotation.Graph.TreatAbsentValuesAs]: zod.z.number(),
135
- [Annotation.Graph.IsVirtual]: zod.z.boolean(),
136
- [Annotation.HideDataFromUi]: zod.z.boolean(),
137
- [Annotation.HideDataFromGraphs]: zod.z.boolean(),
138
- [Annotation.IsDiscreteFilter]: zod.z.boolean(),
139
- [Annotation.IsLinkerColumn]: zod.z.boolean(),
140
- [Annotation.IsSubset]: zod.z.boolean(),
141
- [Annotation.Max]: zod.z.number(),
142
- [Annotation.Min]: zod.z.number(),
143
- [Annotation.MultipliesBy]: zod.z.array(zod.z.string()),
144
- [Annotation.Parents]: zod.z.array(zod.z.string()),
145
- [Annotation.Sequence.Annotation.Mapping]: zod.z.record(zod.z.string(), zod.z.string()),
146
- [Annotation.Sequence.IsAnnotation]: zod.z.boolean(),
147
- [Annotation.Table.OrderPriority]: zod.z.number(),
148
- [Annotation.Trace]: zod.z.record(zod.z.string(), zod.z.unknown()),
149
- [Annotation.VDJ.IsAssemblingFeature]: zod.z.boolean(),
112
+ [Annotation.DiscreteValues]: zod.z.array(zod.z.string()).or(zod.z.array(zod.z.number())),
113
+ [Annotation.Graph.Axis.HighCardinality]: zod.z.boolean(),
114
+ [Annotation.Graph.Axis.LowerLimit]: zod.z.number(),
115
+ [Annotation.Graph.Axis.UpperLimit]: zod.z.number(),
116
+ [Annotation.Graph.Axis.SymmetricRange]: zod.z.boolean(),
117
+ [Annotation.Graph.IsDenseAxis]: zod.z.boolean(),
118
+ [Annotation.Graph.Palette]: zod.z.object({
119
+ mapping: zod.z.record(zod.z.number()),
120
+ name: zod.z.string()
121
+ }),
122
+ [Annotation.Graph.Thresholds]: zod.z.array(zod.z.object({
123
+ columnId: zod.z.object({
124
+ valueType: ValueTypeSchema,
125
+ name: zod.z.string()
126
+ }),
127
+ value: zod.z.number()
128
+ })),
129
+ [Annotation.Graph.TreatAbsentValuesAs]: zod.z.number(),
130
+ [Annotation.Graph.IsVirtual]: zod.z.boolean(),
131
+ [Annotation.HideDataFromUi]: zod.z.boolean(),
132
+ [Annotation.HideDataFromGraphs]: zod.z.boolean(),
133
+ [Annotation.IsDiscreteFilter]: zod.z.boolean(),
134
+ [Annotation.IsLinkerColumn]: zod.z.boolean(),
135
+ [Annotation.IsSubset]: zod.z.boolean(),
136
+ [Annotation.Max]: zod.z.number(),
137
+ [Annotation.Min]: zod.z.number(),
138
+ [Annotation.MultipliesBy]: zod.z.array(zod.z.string()),
139
+ [Annotation.Parents]: zod.z.array(zod.z.string()),
140
+ [Annotation.Sequence.Annotation.Mapping]: zod.z.record(zod.z.string(), zod.z.string()),
141
+ [Annotation.Sequence.IsAnnotation]: zod.z.boolean(),
142
+ [Annotation.Table.OrderPriority]: zod.z.number(),
143
+ [Annotation.Trace]: zod.z.record(zod.z.string(), zod.z.unknown()),
144
+ [Annotation.VDJ.IsAssemblingFeature]: zod.z.boolean()
150
145
  };
151
- /// Helper function for reading plain annotation values
152
146
  function readAnnotation(spec, key) {
153
- return readMetadata(spec?.annotations, key);
147
+ return readMetadata(spec?.annotations, key);
154
148
  }
155
- /// Helper function for reading json-encoded annotation values, throws on JSON parsing error
156
149
  function readAnnotationJsonOrThrow(spec, key) {
157
- return readMetadataJsonOrThrow(spec?.annotations, AnnotationJson, key, "readAnnotationJsonOrThrow");
150
+ return readMetadataJsonOrThrow(spec?.annotations, AnnotationJson, key, "readAnnotationJsonOrThrow");
158
151
  }
159
- /// Helper function for reading json-encoded annotation values, returns undefined on JSON parsing error
160
152
  function readAnnotationJson(spec, key) {
161
- return readMetadataJson(spec?.annotations, AnnotationJson, key);
153
+ return readMetadataJson(spec?.annotations, AnnotationJson, key);
162
154
  }
163
155
  function isLinkerColumn(column) {
164
- return !!readAnnotationJson(column, Annotation.IsLinkerColumn);
156
+ return !!readAnnotationJson(column, Annotation.IsLinkerColumn);
165
157
  }
166
158
  function makeAxisTree(axis) {
167
- return { axis, children: [] };
159
+ return {
160
+ axis,
161
+ children: []
162
+ };
168
163
  }
169
164
  /** Build tree by axis parents annotations */
170
165
  function getAxesTree(rootAxis) {
171
- const root = makeAxisTree(rootAxis);
172
- let nodesQ = [root];
173
- while (nodesQ.length) {
174
- const nextNodes = [];
175
- for (const node of nodesQ) {
176
- node.children = node.axis.parentAxesSpec.map(makeAxisTree);
177
- nextNodes.push(...node.children);
178
- }
179
- nodesQ = nextNodes;
180
- }
181
- return root;
166
+ const root = makeAxisTree(rootAxis);
167
+ let nodesQ = [root];
168
+ while (nodesQ.length) {
169
+ const nextNodes = [];
170
+ for (const node of nodesQ) {
171
+ node.children = node.axis.parentAxesSpec.map(makeAxisTree);
172
+ nextNodes.push(...node.children);
173
+ }
174
+ nodesQ = nextNodes;
175
+ }
176
+ return root;
182
177
  }
183
178
  /** Get set of canonicalized axisIds from axisTree */
184
179
  function getSetFromAxisTree(tree) {
185
- const set = new Set([json.canonicalizeJson(getAxisId(tree.axis))]);
186
- let nodesQ = [tree];
187
- while (nodesQ.length) {
188
- const nextNodes = [];
189
- for (const node of nodesQ) {
190
- for (const parent of node.children) {
191
- set.add(json.canonicalizeJson(getAxisId(parent.axis)));
192
- nextNodes.push(parent);
193
- }
194
- }
195
- nodesQ = nextNodes;
196
- }
197
- return set;
180
+ const set = new Set([require_json.canonicalizeJson(getAxisId(tree.axis))]);
181
+ let nodesQ = [tree];
182
+ while (nodesQ.length) {
183
+ const nextNodes = [];
184
+ for (const node of nodesQ) for (const parent of node.children) {
185
+ set.add(require_json.canonicalizeJson(getAxisId(parent.axis)));
186
+ nextNodes.push(parent);
187
+ }
188
+ nodesQ = nextNodes;
189
+ }
190
+ return set;
198
191
  }
199
192
  /** Get array of axisSpecs from axisTree */
200
193
  function getArrayFromAxisTree(tree) {
201
- const res = [tree.axis];
202
- let nodesQ = [tree];
203
- while (nodesQ.length) {
204
- const nextNodes = [];
205
- for (const node of nodesQ) {
206
- for (const parent of node.children) {
207
- res.push(parent.axis);
208
- nextNodes.push(parent);
209
- }
210
- }
211
- nodesQ = nextNodes;
212
- }
213
- return res;
194
+ const res = [tree.axis];
195
+ let nodesQ = [tree];
196
+ while (nodesQ.length) {
197
+ const nextNodes = [];
198
+ for (const node of nodesQ) for (const parent of node.children) {
199
+ res.push(parent.axis);
200
+ nextNodes.push(parent);
201
+ }
202
+ nodesQ = nextNodes;
203
+ }
204
+ return res;
214
205
  }
215
206
  function canonicalizeAxisWithParents(axis) {
216
- return json.canonicalizeJson(getArrayFromAxisTree(getAxesTree(axis)).map(getAxisId));
207
+ return require_json.canonicalizeJson(getArrayFromAxisTree(getAxesTree(axis)).map(getAxisId));
217
208
  }
218
209
  function normalizingAxesComparator(axis1, axis2) {
219
- if (axis1.name !== axis2.name) {
220
- return axis1.name < axis2.name ? 1 : -1;
221
- }
222
- if (axis1.type !== axis2.type) {
223
- return axis1.type < axis2.type ? 1 : -1;
224
- }
225
- const domain1 = json.canonicalizeJson(axis1.domain ?? {});
226
- const domain2 = json.canonicalizeJson(axis2.domain ?? {});
227
- if (domain1 !== domain2) {
228
- return domain1 < domain2 ? 1 : -1;
229
- }
230
- const parents1 = canonicalizeAxisWithParents(axis1);
231
- const parents2 = canonicalizeAxisWithParents(axis2);
232
- if (parents1 !== parents2) {
233
- return parents1 < parents2 ? 1 : -1;
234
- }
235
- const annotation1 = json.canonicalizeJson(axis1.annotations ?? {});
236
- const annotation2 = json.canonicalizeJson(axis2.annotations ?? {});
237
- if (annotation1 !== annotation2) {
238
- return annotation1 < annotation2 ? 1 : -1;
239
- }
240
- return 0;
210
+ if (axis1.name !== axis2.name) return axis1.name < axis2.name ? 1 : -1;
211
+ if (axis1.type !== axis2.type) return axis1.type < axis2.type ? 1 : -1;
212
+ const domain1 = require_json.canonicalizeJson(axis1.domain ?? {});
213
+ const domain2 = require_json.canonicalizeJson(axis2.domain ?? {});
214
+ if (domain1 !== domain2) return domain1 < domain2 ? 1 : -1;
215
+ const parents1 = canonicalizeAxisWithParents(axis1);
216
+ const parents2 = canonicalizeAxisWithParents(axis2);
217
+ if (parents1 !== parents2) return parents1 < parents2 ? 1 : -1;
218
+ const annotation1 = require_json.canonicalizeJson(axis1.annotations ?? {});
219
+ const annotation2 = require_json.canonicalizeJson(axis2.annotations ?? {});
220
+ if (annotation1 !== annotation2) return annotation1 < annotation2 ? 1 : -1;
221
+ return 0;
241
222
  }
242
223
  function parseParentsFromAnnotations(axis) {
243
- const parentsList = readAnnotationJson(axis, Annotation.Parents);
244
- if (parentsList === undefined) {
245
- return [];
246
- }
247
- return parentsList;
224
+ const parentsList = readAnnotationJson(axis, Annotation.Parents);
225
+ if (parentsList === void 0) return [];
226
+ return parentsList;
248
227
  }
249
228
  function sortParentsDeep(axisSpec) {
250
- axisSpec.parentAxesSpec.forEach(sortParentsDeep);
251
- axisSpec.parentAxesSpec.sort(normalizingAxesComparator);
229
+ axisSpec.parentAxesSpec.forEach(sortParentsDeep);
230
+ axisSpec.parentAxesSpec.sort(normalizingAxesComparator);
252
231
  }
253
232
  function hasCycleOfParents(axisSpec) {
254
- const root = makeAxisTree(axisSpec);
255
- let nodesQ = [root];
256
- const ancestors = new Set(json.canonicalizeJson(getAxisId(axisSpec)));
257
- while (nodesQ.length) {
258
- const nextNodes = [];
259
- const levelIds = new Set();
260
- for (const node of nodesQ) {
261
- node.children = node.axis.parentAxesSpec.map(makeAxisTree);
262
- for (const child of node.children) {
263
- const childId = json.canonicalizeJson(getAxisId(child.axis));
264
- if (!levelIds.has(childId)) {
265
- nextNodes.push(child);
266
- levelIds.add(childId);
267
- if (ancestors.has(childId)) {
268
- return true;
269
- }
270
- ancestors.add(childId);
271
- }
272
- }
273
- }
274
- nodesQ = nextNodes;
275
- }
276
- return false;
233
+ let nodesQ = [makeAxisTree(axisSpec)];
234
+ const ancestors = new Set(require_json.canonicalizeJson(getAxisId(axisSpec)));
235
+ while (nodesQ.length) {
236
+ const nextNodes = [];
237
+ const levelIds = /* @__PURE__ */ new Set();
238
+ for (const node of nodesQ) {
239
+ node.children = node.axis.parentAxesSpec.map(makeAxisTree);
240
+ for (const child of node.children) {
241
+ const childId = require_json.canonicalizeJson(getAxisId(child.axis));
242
+ if (!levelIds.has(childId)) {
243
+ nextNodes.push(child);
244
+ levelIds.add(childId);
245
+ if (ancestors.has(childId)) return true;
246
+ ancestors.add(childId);
247
+ }
248
+ }
249
+ }
250
+ nodesQ = nextNodes;
251
+ }
252
+ return false;
277
253
  }
278
254
  /** Create list of normalized axisSpec (parents are in array of specs, not indexes) */
279
255
  function getNormalizedAxesList(axes) {
280
- if (!axes.length) {
281
- return [];
282
- }
283
- const modifiedAxes = axes.map((axis) => {
284
- const { parentAxes: _, ...copiedRest } = axis;
285
- return { ...copiedRest, annotations: { ...copiedRest.annotations }, parentAxesSpec: [] };
286
- });
287
- axes.forEach((axis, idx) => {
288
- const modifiedAxis = modifiedAxes[idx];
289
- if (axis.parentAxes) {
290
- // if we have parents by indexes then take from the list
291
- modifiedAxis.parentAxesSpec = axis.parentAxes.map((idx) => modifiedAxes[idx]);
292
- }
293
- else {
294
- // else try to parse from annotation name
295
- const parents = parseParentsFromAnnotations(axis).map((name) => modifiedAxes.find((axis) => axis.name === name));
296
- modifiedAxis.parentAxesSpec = parents.some((p) => p === undefined)
297
- ? []
298
- : parents;
299
- delete modifiedAxis.annotations?.[Annotation.Parents];
300
- }
301
- });
302
- if (modifiedAxes.some(hasCycleOfParents)) {
303
- // Axes list is broken
304
- modifiedAxes.forEach((axis) => {
305
- axis.parentAxesSpec = [];
306
- });
307
- }
308
- else {
309
- modifiedAxes.forEach((axis) => {
310
- sortParentsDeep(axis);
311
- });
312
- }
313
- return modifiedAxes;
256
+ if (!axes.length) return [];
257
+ const modifiedAxes = axes.map((axis) => {
258
+ const { parentAxes: _, ...copiedRest } = axis;
259
+ return {
260
+ ...copiedRest,
261
+ annotations: { ...copiedRest.annotations },
262
+ parentAxesSpec: []
263
+ };
264
+ });
265
+ axes.forEach((axis, idx) => {
266
+ const modifiedAxis = modifiedAxes[idx];
267
+ if (axis.parentAxes) modifiedAxis.parentAxesSpec = axis.parentAxes.map((idx) => modifiedAxes[idx]);
268
+ else {
269
+ const parents = parseParentsFromAnnotations(axis).map((name) => modifiedAxes.find((axis) => axis.name === name));
270
+ modifiedAxis.parentAxesSpec = parents.some((p) => p === void 0) ? [] : parents;
271
+ delete modifiedAxis.annotations?.[Annotation.Parents];
272
+ }
273
+ });
274
+ if (modifiedAxes.some(hasCycleOfParents)) modifiedAxes.forEach((axis) => {
275
+ axis.parentAxesSpec = [];
276
+ });
277
+ else modifiedAxes.forEach((axis) => {
278
+ sortParentsDeep(axis);
279
+ });
280
+ return modifiedAxes;
314
281
  }
315
282
  /** Create list of regular axisSpec from normalized (parents are indexes, inside of current axes list) */
316
283
  function getDenormalizedAxesList(axesSpec) {
317
- const idsList = axesSpec.map((axisSpec) => json.canonicalizeJson(getAxisId(axisSpec)));
318
- return axesSpec.map((axisSpec) => {
319
- const parentsIds = axisSpec.parentAxesSpec.map((axisSpec) => json.canonicalizeJson(getAxisId(axisSpec)));
320
- const parentIdxs = parentsIds.map((id) => idsList.indexOf(id));
321
- const { parentAxesSpec: _, ...copiedRest } = axisSpec;
322
- if (parentIdxs.length) {
323
- return { ...copiedRest, parentAxes: parentIdxs };
324
- }
325
- return copiedRest;
326
- });
284
+ const idsList = axesSpec.map((axisSpec) => require_json.canonicalizeJson(getAxisId(axisSpec)));
285
+ return axesSpec.map((axisSpec) => {
286
+ const parentIdxs = axisSpec.parentAxesSpec.map((axisSpec) => require_json.canonicalizeJson(getAxisId(axisSpec))).map((id) => idsList.indexOf(id));
287
+ const { parentAxesSpec: _, ...copiedRest } = axisSpec;
288
+ if (parentIdxs.length) return {
289
+ ...copiedRest,
290
+ parentAxes: parentIdxs
291
+ };
292
+ return copiedRest;
293
+ });
327
294
  }
328
- /// Well-known column names
329
295
  const PColumnName = {
330
- Label: "pl7.app/label",
331
- Table: {
332
- RowSelection: "pl7.app/table/row-selection",
333
- },
334
- VDJ: {
335
- LeadSelection: "pl7.app/vdj/lead-selection",
336
- RankingOrder: "pl7.app/vdj/ranking-order",
337
- Sequence: "pl7.app/vdj/sequence",
338
- },
296
+ Label: "pl7.app/label",
297
+ Table: { RowSelection: "pl7.app/table/row-selection" },
298
+ VDJ: {
299
+ LeadSelection: "pl7.app/vdj/lead-selection",
300
+ RankingOrder: "pl7.app/vdj/ranking-order",
301
+ Sequence: "pl7.app/vdj/sequence"
302
+ }
339
303
  };
340
- /// Well-known axis names
341
304
  const PAxisName = {
342
- SampleId: "pl7.app/sampleId",
343
- VDJ: {
344
- Assay: {
345
- SequenceId: "pl7.app/vdj/assay/sequenceId",
346
- },
347
- ClusterId: "pl7.app/vdj/clusterId",
348
- ClonotypeKey: "pl7.app/vdj/clonotypeKey",
349
- ScClonotypeKey: "pl7.app/vdj/scClonotypeKey",
350
- },
305
+ SampleId: "pl7.app/sampleId",
306
+ VDJ: {
307
+ Assay: { SequenceId: "pl7.app/vdj/assay/sequenceId" },
308
+ ClusterId: "pl7.app/vdj/clusterId",
309
+ ClonotypeKey: "pl7.app/vdj/clonotypeKey",
310
+ ScClonotypeKey: "pl7.app/vdj/scClonotypeKey"
311
+ }
351
312
  };
352
313
  function isLabelColumn(column) {
353
- return column.axesSpec.length === 1 && column.name === PColumnName.Label;
314
+ return column.axesSpec.length === 1 && column.name === PColumnName.Label;
354
315
  }
355
316
  function getPColumnSpecId(spec) {
356
- return {
357
- kind: spec.kind,
358
- valueType: spec.valueType,
359
- name: spec.name,
360
- domain: spec.domain,
361
- parentAxes: spec.parentAxes,
362
- axesId: getAxesId(spec.axesSpec),
363
- };
317
+ return {
318
+ kind: spec.kind,
319
+ valueType: spec.valueType,
320
+ name: spec.name,
321
+ domain: spec.domain,
322
+ parentAxes: spec.parentAxes,
323
+ axesId: getAxesId(spec.axesSpec)
324
+ };
364
325
  }
365
326
  /** Get column id and spec from a column */
366
327
  function getColumnIdAndSpec(column) {
367
- return {
368
- columnId: column.id,
369
- spec: column.spec,
370
- };
328
+ return {
329
+ columnId: column.id,
330
+ spec: column.spec
331
+ };
371
332
  }
372
333
  /** Extracts axis ids from axis spec */
373
334
  function getAxisId(spec) {
374
- const { type, name, domain } = spec;
375
- const result = { type, name };
376
- if (domain && Object.entries(domain).length > 0) {
377
- Object.assign(result, { domain });
378
- }
379
- return result;
335
+ const { type, name, domain } = spec;
336
+ const result = {
337
+ type,
338
+ name
339
+ };
340
+ if (domain && Object.entries(domain).length > 0) Object.assign(result, { domain });
341
+ return result;
380
342
  }
381
343
  /** Extracts axes ids from axes spec array from column spec */
382
344
  function getAxesId(spec) {
383
- return spec.map(getAxisId);
345
+ return spec.map(getAxisId);
384
346
  }
385
347
  /** Canonicalizes axis id */
386
348
  function canonicalizeAxisId(id) {
387
- return json.canonicalizeJson(getAxisId(id));
349
+ return require_json.canonicalizeJson(getAxisId(id));
388
350
  }
389
351
  /** Returns true if all domains from query are found in target */
390
352
  function matchDomain(query, target) {
391
- if (query === undefined)
392
- return target === undefined;
393
- if (target === undefined)
394
- return true;
395
- for (const k in target) {
396
- if (query[k] !== target[k])
397
- return false;
398
- }
399
- return true;
353
+ if (query === void 0) return target === void 0;
354
+ if (target === void 0) return true;
355
+ for (const k in target) if (query[k] !== target[k]) return false;
356
+ return true;
400
357
  }
401
358
  /** Returns whether "match" axis id is compatible with the "query" */
402
359
  function matchAxisId(query, target) {
403
- return query.name === target.name && matchDomain(query.domain, target.domain);
360
+ return query.name === target.name && matchDomain(query.domain, target.domain);
404
361
  }
405
362
  function getTypeFromPColumnOrAxisSpec(spec) {
406
- return "valueType" in spec ? spec.valueType : spec.type;
363
+ return "valueType" in spec ? spec.valueType : spec.type;
407
364
  }
408
365
  function isAxisId(id) {
409
- return typeof id === "object" && id !== null && "name" in id && "type" in id;
366
+ return typeof id === "object" && id !== null && "name" in id && "type" in id;
410
367
  }
411
368
 
369
+ //#endregion
412
370
  exports.Annotation = Annotation;
413
371
  exports.AnnotationJson = AnnotationJson;
414
372
  exports.Domain = Domain;
@@ -441,4 +399,4 @@ exports.readDomainJsonOrThrow = readDomainJsonOrThrow;
441
399
  exports.readMetadata = readMetadata;
442
400
  exports.readMetadataJson = readMetadataJson;
443
401
  exports.readMetadataJsonOrThrow = readMetadataJsonOrThrow;
444
- //# sourceMappingURL=spec.cjs.map
402
+ //# sourceMappingURL=spec.cjs.map