@milaboratories/pl-model-common 1.24.3 → 1.24.5

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 (275) hide show
  1. package/dist/base32_encode.cjs +11 -11
  2. package/dist/base32_encode.cjs.map +1 -1
  3. package/dist/base32_encode.d.ts +1 -1
  4. package/dist/base32_encode.js +11 -11
  5. package/dist/base32_encode.js.map +1 -1
  6. package/dist/base64.cjs +2 -2
  7. package/dist/base64.cjs.map +1 -1
  8. package/dist/base64.d.ts +1 -1
  9. package/dist/base64.d.ts.map +1 -1
  10. package/dist/base64.js +2 -2
  11. package/dist/base64.js.map +1 -1
  12. package/dist/block_state.d.ts +3 -3
  13. package/dist/bmodel/block_config.cjs +1 -1
  14. package/dist/bmodel/block_config.cjs.map +1 -1
  15. package/dist/bmodel/block_config.d.ts +3 -3
  16. package/dist/bmodel/block_config.d.ts.map +1 -1
  17. package/dist/bmodel/block_config.js +1 -1
  18. package/dist/bmodel/block_config.js.map +1 -1
  19. package/dist/bmodel/code.cjs +1 -1
  20. package/dist/bmodel/code.cjs.map +1 -1
  21. package/dist/bmodel/code.d.ts +2 -2
  22. package/dist/bmodel/code.js +1 -1
  23. package/dist/bmodel/code.js.map +1 -1
  24. package/dist/bmodel/container.d.ts +5 -5
  25. package/dist/bmodel/index.d.ts +5 -5
  26. package/dist/bmodel/normalization.cjs +17 -17
  27. package/dist/bmodel/normalization.cjs.map +1 -1
  28. package/dist/bmodel/normalization.d.ts +2 -2
  29. package/dist/bmodel/normalization.d.ts.map +1 -1
  30. package/dist/bmodel/normalization.js +17 -17
  31. package/dist/bmodel/normalization.js.map +1 -1
  32. package/dist/bmodel/types.d.ts +1 -1
  33. package/dist/branding.d.ts +2 -2
  34. package/dist/common_types.d.ts +1 -1
  35. package/dist/driver_kit.d.ts +1 -1
  36. package/dist/drivers/ChunkedStreamReader.cjs +13 -12
  37. package/dist/drivers/ChunkedStreamReader.cjs.map +1 -1
  38. package/dist/drivers/ChunkedStreamReader.d.ts +2 -2
  39. package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -1
  40. package/dist/drivers/ChunkedStreamReader.js +13 -12
  41. package/dist/drivers/ChunkedStreamReader.js.map +1 -1
  42. package/dist/drivers/blob.cjs +1 -1
  43. package/dist/drivers/blob.cjs.map +1 -1
  44. package/dist/drivers/blob.d.ts +4 -4
  45. package/dist/drivers/blob.d.ts.map +1 -1
  46. package/dist/drivers/blob.js +1 -1
  47. package/dist/drivers/blob.js.map +1 -1
  48. package/dist/drivers/index.d.ts +8 -8
  49. package/dist/drivers/log.cjs +1 -1
  50. package/dist/drivers/log.cjs.map +1 -1
  51. package/dist/drivers/log.js +1 -1
  52. package/dist/drivers/log.js.map +1 -1
  53. package/dist/drivers/ls.cjs +3 -3
  54. package/dist/drivers/ls.cjs.map +1 -1
  55. package/dist/drivers/ls.d.ts +6 -6
  56. package/dist/drivers/ls.d.ts.map +1 -1
  57. package/dist/drivers/ls.js +3 -3
  58. package/dist/drivers/ls.js.map +1 -1
  59. package/dist/drivers/pframe/column_filter.d.ts +1 -1
  60. package/dist/drivers/pframe/data_info.cjs +119 -110
  61. package/dist/drivers/pframe/data_info.cjs.map +1 -1
  62. package/dist/drivers/pframe/data_info.d.ts +10 -10
  63. package/dist/drivers/pframe/data_info.d.ts.map +1 -1
  64. package/dist/drivers/pframe/data_info.js +119 -110
  65. package/dist/drivers/pframe/data_info.js.map +1 -1
  66. package/dist/drivers/pframe/data_types.cjs +7 -4
  67. package/dist/drivers/pframe/data_types.cjs.map +1 -1
  68. package/dist/drivers/pframe/data_types.d.ts +2 -2
  69. package/dist/drivers/pframe/data_types.d.ts.map +1 -1
  70. package/dist/drivers/pframe/data_types.js +7 -4
  71. package/dist/drivers/pframe/data_types.js.map +1 -1
  72. package/dist/drivers/pframe/driver.d.ts +10 -10
  73. package/dist/drivers/pframe/driver.d.ts.map +1 -1
  74. package/dist/drivers/pframe/find_columns.d.ts +2 -2
  75. package/dist/drivers/pframe/index.d.ts +14 -14
  76. package/dist/drivers/pframe/linker_columns.cjs +13 -5
  77. package/dist/drivers/pframe/linker_columns.cjs.map +1 -1
  78. package/dist/drivers/pframe/linker_columns.d.ts +2 -2
  79. package/dist/drivers/pframe/linker_columns.d.ts.map +1 -1
  80. package/dist/drivers/pframe/linker_columns.js +13 -5
  81. package/dist/drivers/pframe/linker_columns.js.map +1 -1
  82. package/dist/drivers/pframe/pframe.d.ts +6 -6
  83. package/dist/drivers/pframe/pframe.d.ts.map +1 -1
  84. package/dist/drivers/pframe/query/index.d.ts +2 -2
  85. package/dist/drivers/pframe/query/query_common.d.ts +37 -37
  86. package/dist/drivers/pframe/query/query_data.d.ts +2 -2
  87. package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
  88. package/dist/drivers/pframe/query/query_spec.d.ts +3 -3
  89. package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
  90. package/dist/drivers/pframe/spec/anchored.cjs +6 -6
  91. package/dist/drivers/pframe/spec/anchored.cjs.map +1 -1
  92. package/dist/drivers/pframe/spec/anchored.d.ts +4 -4
  93. package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -1
  94. package/dist/drivers/pframe/spec/anchored.js +6 -6
  95. package/dist/drivers/pframe/spec/anchored.js.map +1 -1
  96. package/dist/drivers/pframe/spec/filtered_column.cjs +1 -1
  97. package/dist/drivers/pframe/spec/filtered_column.cjs.map +1 -1
  98. package/dist/drivers/pframe/spec/filtered_column.d.ts +1 -1
  99. package/dist/drivers/pframe/spec/filtered_column.js +1 -1
  100. package/dist/drivers/pframe/spec/filtered_column.js.map +1 -1
  101. package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
  102. package/dist/drivers/pframe/spec/ids.d.ts +5 -5
  103. package/dist/drivers/pframe/spec/ids.js.map +1 -1
  104. package/dist/drivers/pframe/spec/index.d.ts +6 -6
  105. package/dist/drivers/pframe/spec/native_id.cjs.map +1 -1
  106. package/dist/drivers/pframe/spec/native_id.d.ts +3 -3
  107. package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -1
  108. package/dist/drivers/pframe/spec/native_id.js.map +1 -1
  109. package/dist/drivers/pframe/spec/selectors.cjs +1 -1
  110. package/dist/drivers/pframe/spec/selectors.cjs.map +1 -1
  111. package/dist/drivers/pframe/spec/selectors.d.ts +4 -4
  112. package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
  113. package/dist/drivers/pframe/spec/selectors.js +1 -1
  114. package/dist/drivers/pframe/spec/selectors.js.map +1 -1
  115. package/dist/drivers/pframe/spec/spec.cjs +64 -59
  116. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  117. package/dist/drivers/pframe/spec/spec.d.ts +15 -15
  118. package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
  119. package/dist/drivers/pframe/spec/spec.js +64 -59
  120. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  121. package/dist/drivers/pframe/table.d.ts +2 -2
  122. package/dist/drivers/pframe/table_calculate.cjs +11 -11
  123. package/dist/drivers/pframe/table_calculate.cjs.map +1 -1
  124. package/dist/drivers/pframe/table_calculate.d.ts +30 -30
  125. package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
  126. package/dist/drivers/pframe/table_calculate.js +11 -11
  127. package/dist/drivers/pframe/table_calculate.js.map +1 -1
  128. package/dist/drivers/pframe/table_common.cjs +4 -4
  129. package/dist/drivers/pframe/table_common.cjs.map +1 -1
  130. package/dist/drivers/pframe/table_common.d.ts +6 -6
  131. package/dist/drivers/pframe/table_common.js +4 -4
  132. package/dist/drivers/pframe/table_common.js.map +1 -1
  133. package/dist/drivers/pframe/type_util.d.ts.map +1 -1
  134. package/dist/drivers/pframe/unique_values.d.ts +4 -4
  135. package/dist/drivers/urls.cjs +2 -2
  136. package/dist/drivers/urls.cjs.map +1 -1
  137. package/dist/drivers/urls.d.ts +1 -1
  138. package/dist/drivers/urls.js +2 -2
  139. package/dist/drivers/urls.js.map +1 -1
  140. package/dist/errors.cjs +12 -12
  141. package/dist/errors.cjs.map +1 -1
  142. package/dist/errors.d.ts +1 -1
  143. package/dist/errors.d.ts.map +1 -1
  144. package/dist/errors.js +12 -12
  145. package/dist/errors.js.map +1 -1
  146. package/dist/flags/block_flags.cjs +2 -2
  147. package/dist/flags/block_flags.cjs.map +1 -1
  148. package/dist/flags/block_flags.d.ts.map +1 -1
  149. package/dist/flags/block_flags.js +2 -2
  150. package/dist/flags/block_flags.js.map +1 -1
  151. package/dist/flags/flag_utils.cjs +31 -29
  152. package/dist/flags/flag_utils.cjs.map +1 -1
  153. package/dist/flags/flag_utils.d.ts +33 -33
  154. package/dist/flags/flag_utils.d.ts.map +1 -1
  155. package/dist/flags/flag_utils.js +31 -29
  156. package/dist/flags/flag_utils.js.map +1 -1
  157. package/dist/flags/index.d.ts +3 -3
  158. package/dist/flags/type_utils.d.ts +1 -1
  159. package/dist/flags/type_utils.d.ts.map +1 -1
  160. package/dist/httpAuth.cjs +4 -5
  161. package/dist/httpAuth.cjs.map +1 -1
  162. package/dist/httpAuth.d.ts +1 -1
  163. package/dist/httpAuth.d.ts.map +1 -1
  164. package/dist/httpAuth.js +4 -5
  165. package/dist/httpAuth.js.map +1 -1
  166. package/dist/index.d.ts +19 -19
  167. package/dist/json.cjs +1 -1
  168. package/dist/json.cjs.map +1 -1
  169. package/dist/json.d.ts.map +1 -1
  170. package/dist/json.js +1 -1
  171. package/dist/json.js.map +1 -1
  172. package/dist/navigation.cjs +1 -1
  173. package/dist/navigation.cjs.map +1 -1
  174. package/dist/navigation.d.ts +3 -3
  175. package/dist/navigation.js +1 -1
  176. package/dist/navigation.js.map +1 -1
  177. package/dist/plid.cjs +4 -4
  178. package/dist/plid.cjs.map +1 -1
  179. package/dist/plid.d.ts +1 -1
  180. package/dist/plid.js +4 -4
  181. package/dist/plid.js.map +1 -1
  182. package/dist/pool/entry.d.ts +1 -1
  183. package/dist/pool/index.d.ts +3 -3
  184. package/dist/pool/query.cjs +23 -23
  185. package/dist/pool/query.cjs.map +1 -1
  186. package/dist/pool/query.d.ts +9 -9
  187. package/dist/pool/query.d.ts.map +1 -1
  188. package/dist/pool/query.js +23 -23
  189. package/dist/pool/query.js.map +1 -1
  190. package/dist/pool/spec.cjs +9 -9
  191. package/dist/pool/spec.cjs.map +1 -1
  192. package/dist/pool/spec.d.ts +4 -4
  193. package/dist/pool/spec.d.ts.map +1 -1
  194. package/dist/pool/spec.js +9 -9
  195. package/dist/pool/spec.js.map +1 -1
  196. package/dist/ref.cjs +20 -18
  197. package/dist/ref.cjs.map +1 -1
  198. package/dist/ref.d.ts +1 -1
  199. package/dist/ref.d.ts.map +1 -1
  200. package/dist/ref.js +20 -18
  201. package/dist/ref.js.map +1 -1
  202. package/dist/utag.d.ts +1 -1
  203. package/dist/util.cjs +1 -1
  204. package/dist/util.cjs.map +1 -1
  205. package/dist/util.js +1 -1
  206. package/dist/util.js.map +1 -1
  207. package/dist/value_or_error.cjs.map +1 -1
  208. package/dist/value_or_error.d.ts.map +1 -1
  209. package/dist/value_or_error.js.map +1 -1
  210. package/package.json +18 -17
  211. package/src/base32_encode.ts +12 -12
  212. package/src/base64.ts +12 -8
  213. package/src/block_state.ts +3 -3
  214. package/src/bmodel/block_config.ts +12 -6
  215. package/src/bmodel/code.ts +3 -3
  216. package/src/bmodel/container.ts +5 -5
  217. package/src/bmodel/index.ts +5 -5
  218. package/src/bmodel/normalization.ts +33 -25
  219. package/src/bmodel/types.ts +1 -1
  220. package/src/branding.ts +2 -2
  221. package/src/common_types.ts +1 -1
  222. package/src/driver_kit.ts +1 -1
  223. package/src/drivers/ChunkedStreamReader.ts +16 -14
  224. package/src/drivers/blob.ts +7 -11
  225. package/src/drivers/index.ts +8 -8
  226. package/src/drivers/log.ts +3 -3
  227. package/src/drivers/ls.ts +18 -18
  228. package/src/drivers/pframe/column_filter.ts +1 -1
  229. package/src/drivers/pframe/data_info.ts +146 -146
  230. package/src/drivers/pframe/data_types.ts +56 -36
  231. package/src/drivers/pframe/driver.ts +20 -36
  232. package/src/drivers/pframe/find_columns.ts +2 -2
  233. package/src/drivers/pframe/index.ts +14 -14
  234. package/src/drivers/pframe/linker_columns.test.ts +280 -273
  235. package/src/drivers/pframe/linker_columns.ts +65 -39
  236. package/src/drivers/pframe/pframe.ts +6 -9
  237. package/src/drivers/pframe/query/index.ts +2 -2
  238. package/src/drivers/pframe/query/query_common.ts +46 -46
  239. package/src/drivers/pframe/query/query_data.ts +17 -10
  240. package/src/drivers/pframe/query/query_spec.ts +18 -10
  241. package/src/drivers/pframe/spec/anchored.ts +44 -33
  242. package/src/drivers/pframe/spec/filtered_column.ts +2 -2
  243. package/src/drivers/pframe/spec/ids.ts +6 -6
  244. package/src/drivers/pframe/spec/index.ts +6 -6
  245. package/src/drivers/pframe/spec/native_id.ts +7 -9
  246. package/src/drivers/pframe/spec/selectors.test.ts +170 -146
  247. package/src/drivers/pframe/spec/selectors.ts +22 -31
  248. package/src/drivers/pframe/spec/spec.test.ts +163 -176
  249. package/src/drivers/pframe/spec/spec.ts +132 -117
  250. package/src/drivers/pframe/table.ts +2 -2
  251. package/src/drivers/pframe/table_calculate.ts +44 -50
  252. package/src/drivers/pframe/table_common.ts +10 -10
  253. package/src/drivers/pframe/type_util.ts +2 -7
  254. package/src/drivers/pframe/unique_values.ts +4 -4
  255. package/src/drivers/urls.ts +3 -3
  256. package/src/errors.test.ts +20 -20
  257. package/src/errors.ts +24 -20
  258. package/src/flags/block_flags.ts +8 -7
  259. package/src/flags/flag_utils.test.ts +94 -73
  260. package/src/flags/flag_utils.ts +73 -50
  261. package/src/flags/index.ts +3 -3
  262. package/src/flags/type_utils.ts +10 -7
  263. package/src/httpAuth.ts +5 -6
  264. package/src/index.ts +19 -19
  265. package/src/json.ts +28 -17
  266. package/src/navigation.ts +4 -4
  267. package/src/plid.ts +6 -6
  268. package/src/pool/entry.ts +1 -1
  269. package/src/pool/index.ts +3 -3
  270. package/src/pool/query.ts +52 -56
  271. package/src/pool/spec.ts +20 -17
  272. package/src/ref.ts +25 -19
  273. package/src/utag.ts +1 -1
  274. package/src/util.ts +1 -1
  275. package/src/value_or_error.ts +6 -6
package/src/plid.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
2
- import { base32Encode } from './base32_encode';
1
+ import { z } from "zod";
2
+ import { base32Encode } from "./base32_encode";
3
3
 
4
4
  /** Number of raw bytes in the PlId. */
5
5
  export const PlIdBytes = 15;
@@ -10,22 +10,22 @@ export const PlId = z
10
10
  .string()
11
11
  .length(PlIdLength)
12
12
  .regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/) // RFC4648
13
- .brand('PlId');
13
+ .brand("PlId");
14
14
  export type PlId = z.infer<typeof PlId>;
15
15
 
16
16
  export function uniquePlId(): PlId {
17
17
  const data = new Uint8Array(PlIdBytes);
18
18
  crypto.getRandomValues(data);
19
- return PlId.parse(base32Encode(data, 'RFC4648'));
19
+ return PlId.parse(base32Encode(data, "RFC4648"));
20
20
  }
21
21
 
22
22
  export function plId(bytes: Uint8Array): PlId {
23
23
  if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);
24
- return PlId.parse(base32Encode(bytes, 'RFC4648'));
24
+ return PlId.parse(base32Encode(bytes, "RFC4648"));
25
25
  }
26
26
 
27
27
  export async function digestPlId(data: string): Promise<PlId> {
28
28
  const encoder = new TextEncoder();
29
- const bytes = await crypto.subtle.digest('SHA-256', encoder.encode(data));
29
+ const bytes = await crypto.subtle.digest("SHA-256", encoder.encode(data));
30
30
  return plId(new Uint8Array(bytes.slice(0, 15)));
31
31
  }
package/src/pool/entry.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { PlRef } from '../ref';
1
+ import type { PlRef } from "../ref";
2
2
 
3
3
  /** Result pool entry */
4
4
  export type ResultPoolEntry<O> = {
package/src/pool/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './entry';
2
- export * from './spec';
3
- export * from './query';
1
+ export * from "./entry";
2
+ export * from "./spec";
3
+ export * from "./query";
package/src/pool/query.ts CHANGED
@@ -1,89 +1,85 @@
1
- import type { AxisId } from '../drivers';
2
- import type { PObjectSpec } from './spec';
3
- import { isPColumnSpec } from './spec';
1
+ import type { AxisId } from "../drivers";
2
+ import type { PObjectSpec } from "./spec";
3
+ import { isPColumnSpec } from "./spec";
4
4
 
5
5
  export type PSpecPredicate =
6
6
  | {
7
- type: 'and' | 'or';
8
- operands: PSpecPredicate[];
9
- }
7
+ type: "and" | "or";
8
+ operands: PSpecPredicate[];
9
+ }
10
10
  | {
11
- type: 'not';
12
- operand: PSpecPredicate;
13
- }
11
+ type: "not";
12
+ operand: PSpecPredicate;
13
+ }
14
14
  | {
15
- type: 'name';
16
- name: string;
17
- }
15
+ type: "name";
16
+ name: string;
17
+ }
18
18
  | {
19
- type: 'name_pattern';
20
- pattern: string;
21
- }
19
+ type: "name_pattern";
20
+ pattern: string;
21
+ }
22
22
  | {
23
- type: 'annotation';
24
- annotation: string;
25
- value: string;
26
- }
23
+ type: "annotation";
24
+ annotation: string;
25
+ value: string;
26
+ }
27
27
  | {
28
- type: 'annotation_pattern';
29
- annotation: string;
30
- pattern: string;
31
- }
28
+ type: "annotation_pattern";
29
+ annotation: string;
30
+ pattern: string;
31
+ }
32
32
  | {
33
- type: 'has_axes';
34
- axes: Partial<AxisId>[];
35
- };
33
+ type: "has_axes";
34
+ axes: Partial<AxisId>[];
35
+ };
36
36
 
37
37
  function assertNever(x: never): never {
38
- throw new Error('Unexpected object: ' + x); // This is ok, because this is a possible runtime error
38
+ throw new Error("Unexpected object: " + x); // This is ok, because this is a possible runtime error
39
39
  }
40
40
 
41
- export function executePSpecPredicate(
42
- predicate: PSpecPredicate,
43
- spec: PObjectSpec,
44
- ): boolean {
41
+ export function executePSpecPredicate(predicate: PSpecPredicate, spec: PObjectSpec): boolean {
45
42
  switch (predicate.type) {
46
- case 'and':
43
+ case "and":
47
44
  for (const operator of predicate.operands)
48
45
  if (!executePSpecPredicate(operator, spec)) return false;
49
46
  return true;
50
- case 'or':
47
+ case "or":
51
48
  for (const operator of predicate.operands)
52
49
  if (executePSpecPredicate(operator, spec)) return true;
53
50
  return false;
54
- case 'not':
51
+ case "not":
55
52
  return !executePSpecPredicate(predicate.operand, spec);
56
- case 'name':
53
+ case "name":
57
54
  return isPColumnSpec(spec) && spec.name === predicate.name;
58
- case 'name_pattern':
55
+ case "name_pattern":
59
56
  return isPColumnSpec(spec) && Boolean(spec.name.match(predicate.pattern));
60
- case 'annotation':
57
+ case "annotation":
61
58
  return (
62
- isPColumnSpec(spec)
63
- && spec.annotations !== undefined
64
- && spec.annotations[predicate.annotation] === predicate.value
59
+ isPColumnSpec(spec) &&
60
+ spec.annotations !== undefined &&
61
+ spec.annotations[predicate.annotation] === predicate.value
65
62
  );
66
- case 'annotation_pattern':
63
+ case "annotation_pattern":
67
64
  return (
68
- isPColumnSpec(spec)
69
- && spec.annotations !== undefined
70
- && spec.annotations[predicate.annotation] !== undefined
71
- && Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))
65
+ isPColumnSpec(spec) &&
66
+ spec.annotations !== undefined &&
67
+ spec.annotations[predicate.annotation] !== undefined &&
68
+ Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))
72
69
  );
73
- case 'has_axes':
70
+ case "has_axes":
74
71
  return (
75
- isPColumnSpec(spec)
76
- && predicate.axes.every((matcher) =>
72
+ isPColumnSpec(spec) &&
73
+ predicate.axes.every((matcher) =>
77
74
  spec.axesSpec.some(
78
75
  (axisSpec) =>
79
- (matcher.type === undefined || matcher.type === axisSpec.type)
80
- && (matcher.name === undefined || matcher.name === axisSpec.name)
81
- && (matcher.domain === undefined
82
- || Object.keys(matcher.domain).length === 0
83
- || (axisSpec.domain !== undefined
84
- && Object.entries(matcher.domain).every(
85
- ([domain, domainValue]) =>
86
- axisSpec.domain![domain] === domainValue,
76
+ (matcher.type === undefined || matcher.type === axisSpec.type) &&
77
+ (matcher.name === undefined || matcher.name === axisSpec.name) &&
78
+ (matcher.domain === undefined ||
79
+ Object.keys(matcher.domain).length === 0 ||
80
+ (axisSpec.domain !== undefined &&
81
+ Object.entries(matcher.domain).every(
82
+ ([domain, domainValue]) => axisSpec.domain![domain] === domainValue,
87
83
  ))),
88
84
  ),
89
85
  )
package/src/pool/spec.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { Branded } from '../branding';
2
- import type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from '../drivers';
3
- import { assertNever } from '../util';
4
- import type { ResultPoolEntry } from './entry';
1
+ import type { Branded } from "../branding";
2
+ import type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from "../drivers";
3
+ import { assertNever } from "../util";
4
+ import type { ResultPoolEntry } from "./entry";
5
5
 
6
6
  /** Any object exported into the result pool by the block always have spec attached to it */
7
7
  export type PObjectSpec = {
@@ -19,7 +19,7 @@ export type PObjectSpec = {
19
19
  };
20
20
 
21
21
  /** Stable PObject id */
22
- export type PObjectId = Branded<string, 'PColumnId'>;
22
+ export type PObjectId = Branded<string, "PColumnId">;
23
23
 
24
24
  /**
25
25
  * Full PObject representation.
@@ -38,7 +38,7 @@ export interface PObject<Data> {
38
38
  }
39
39
 
40
40
  export function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {
41
- return spec.kind === 'PColumn';
41
+ return spec.kind === "PColumn";
42
42
  }
43
43
 
44
44
  export function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {
@@ -62,16 +62,19 @@ export function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {
62
62
  return obj;
63
63
  }
64
64
 
65
- export function mapPObjectData<D1, D2>(pObj: PColumn<D1> | PColumnLazy<D1>, cb: (d: D1) => D2): PColumn<D2>;
65
+ export function mapPObjectData<D1, D2>(
66
+ pObj: PColumn<D1> | PColumnLazy<D1>,
67
+ cb: (d: D1) => D2,
68
+ ): PColumn<D2>;
66
69
  export function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;
67
70
  export function mapPObjectData<D1, D2>(
68
71
  pObj: PColumn<D1> | undefined,
69
- cb: (d: D1) => D2
72
+ cb: (d: D1) => D2,
70
73
  ): PColumn<D2> | undefined;
71
74
  export function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;
72
75
  export function mapPObjectData<D1, D2>(
73
76
  pObj: PObject<D1> | undefined,
74
- cb: (d: D1) => D2
77
+ cb: (d: D1) => D2,
75
78
  ): PObject<D2> | undefined;
76
79
  export function mapPObjectData<D1, D2>(
77
80
  pObj: PObject<D1> | undefined,
@@ -81,7 +84,7 @@ export function mapPObjectData<D1, D2>(
81
84
  ? undefined
82
85
  : {
83
86
  ...pObj,
84
- data: cb(typeof pObj.data === 'function' ? pObj.data() : pObj.data),
87
+ data: cb(typeof pObj.data === "function" ? pObj.data() : pObj.data),
85
88
  };
86
89
  }
87
90
 
@@ -89,22 +92,22 @@ export function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[]
89
92
  const columns = new Map<PObjectId, PColumn<D>>();
90
93
  const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {
91
94
  switch (entry.type) {
92
- case 'column':
95
+ case "column":
93
96
  columns.set(entry.column.id, entry.column);
94
97
  return;
95
- case 'slicedColumn':
98
+ case "slicedColumn":
96
99
  columns.set(entry.column.id, entry.column);
97
100
  return;
98
- case 'artificialColumn':
101
+ case "artificialColumn":
99
102
  columns.set(entry.column.id, entry.column);
100
103
  return;
101
- case 'inlineColumn':
104
+ case "inlineColumn":
102
105
  return;
103
- case 'full':
104
- case 'inner':
106
+ case "full":
107
+ case "inner":
105
108
  for (const e of entry.entries) addAllColumns(e);
106
109
  return;
107
- case 'outer':
110
+ case "outer":
108
111
  addAllColumns(entry.primary);
109
112
  for (const e of entry.secondary) addAllColumns(e);
110
113
  return;
package/src/ref.ts CHANGED
@@ -1,22 +1,24 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
 
3
3
  export const PlRef = z
4
4
  .object({
5
5
  __isRef: z
6
6
  .literal(true)
7
- .describe('Crucial marker for the block dependency tree reconstruction'),
8
- blockId: z.string()
9
- .describe('Upstream block id'),
10
- name: z.string()
11
- .describe('Name of the output provided to the upstream block\'s output context'),
12
- requireEnrichments: z.literal(true).optional()
13
- .describe('True if current block that stores this reference in its args, may need enrichments '
14
- + 'for the references value originating from the blocks in between current and referenced block'),
7
+ .describe("Crucial marker for the block dependency tree reconstruction"),
8
+ blockId: z.string().describe("Upstream block id"),
9
+ name: z.string().describe("Name of the output provided to the upstream block's output context"),
10
+ requireEnrichments: z
11
+ .literal(true)
12
+ .optional()
13
+ .describe(
14
+ "True if current block that stores this reference in its args, may need enrichments " +
15
+ "for the references value originating from the blocks in between current and referenced block",
16
+ ),
15
17
  })
16
18
  .describe(
17
- 'Universal reference type, allowing to set block connections. It is crucial that '
18
- + '{@link __isRef} is present and equal to true, internal logic relies on this marker '
19
- + 'to build block dependency trees.',
19
+ "Universal reference type, allowing to set block connections. It is crucial that " +
20
+ "{@link __isRef} is present and equal to true, internal logic relies on this marker " +
21
+ "to build block dependency trees.",
20
22
  )
21
23
  .readonly();
22
24
  export type PlRef = z.infer<typeof PlRef>;
@@ -31,12 +33,12 @@ export type Ref = PlRef;
31
33
  */
32
34
  export function isPlRef(value: unknown): value is PlRef {
33
35
  return (
34
- typeof value === 'object'
35
- && value !== null
36
- && '__isRef' in value
37
- && (value as { __isRef: unknown }).__isRef === true
38
- && 'blockId' in value
39
- && 'name' in value
36
+ typeof value === "object" &&
37
+ value !== null &&
38
+ "__isRef" in value &&
39
+ (value as { __isRef: unknown }).__isRef === true &&
40
+ "blockId" in value &&
41
+ "name" in value
40
42
  );
41
43
  }
42
44
 
@@ -97,5 +99,9 @@ export function withEnrichments(ref: PlRef, requireEnrichments: boolean = true):
97
99
 
98
100
  /** Compare two PlRefs and returns true if they are qual */
99
101
  export function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {
100
- return ref1.blockId === ref2.blockId && ref1.name === ref2.name && (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments);
102
+ return (
103
+ ref1.blockId === ref2.blockId &&
104
+ ref1.name === ref2.name &&
105
+ (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)
106
+ );
101
107
  }
package/src/utag.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AuthorMarker } from './author_marker';
1
+ import type { AuthorMarker } from "./author_marker";
2
2
 
3
3
  /** Value returned for changing states supporting reactive listening for changes */
4
4
  export interface ValueWithUTag<V> {
package/src/util.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export function assertNever(x: never): never {
2
- throw new Error('Unexpected object: ' + x); // This is ok, because this is a possible runtime error
2
+ throw new Error("Unexpected object: " + x); // This is ok, because this is a possible runtime error
3
3
  }
4
4
 
5
5
  /**
@@ -1,12 +1,12 @@
1
1
  export type ValueOrError<V, E> =
2
2
  | {
3
- ok: true;
4
- value: V;
5
- }
3
+ ok: true;
4
+ value: V;
5
+ }
6
6
  | {
7
- ok: false;
8
- error: E;
9
- };
7
+ ok: false;
8
+ error: E;
9
+ };
10
10
 
11
11
  export function mapValueInVOE<V1, V2, E>(
12
12
  voe: ValueOrError<V1, E>,