@milaboratories/pl-model-common 1.47.3 → 1.49.0

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 (242) hide show
  1. package/dist/author_marker.d.ts +1 -2
  2. package/dist/author_marker.d.ts.map +1 -1
  3. package/dist/base64.d.ts +4 -6
  4. package/dist/base64.d.ts.map +1 -1
  5. package/dist/block_state.d.ts +13 -9
  6. package/dist/block_state.d.ts.map +1 -1
  7. package/dist/bmodel/block_config.d.ts +51 -29
  8. package/dist/bmodel/block_config.d.ts.map +1 -1
  9. package/dist/bmodel/block_kind_ref.cjs +45 -0
  10. package/dist/bmodel/block_kind_ref.cjs.map +1 -0
  11. package/dist/bmodel/block_kind_ref.d.ts +55 -0
  12. package/dist/bmodel/block_kind_ref.d.ts.map +1 -0
  13. package/dist/bmodel/block_kind_ref.js +43 -0
  14. package/dist/bmodel/block_kind_ref.js.map +1 -0
  15. package/dist/bmodel/code.d.ts +4 -5
  16. package/dist/bmodel/code.d.ts.map +1 -1
  17. package/dist/bmodel/container.d.ts +13 -5
  18. package/dist/bmodel/container.d.ts.map +1 -1
  19. package/dist/bmodel/index.cjs +4 -0
  20. package/dist/bmodel/index.d.ts +2 -1
  21. package/dist/bmodel/index.js +2 -1
  22. package/dist/bmodel/normalization.d.ts +1 -3
  23. package/dist/bmodel/normalization.d.ts.map +1 -1
  24. package/dist/bmodel/types.d.ts +1 -2
  25. package/dist/bmodel/types.d.ts.map +1 -1
  26. package/dist/branding.d.ts +2 -3
  27. package/dist/branding.d.ts.map +1 -1
  28. package/dist/columns/accessor_traversal.d.ts +6 -8
  29. package/dist/columns/accessor_traversal.d.ts.map +1 -1
  30. package/dist/columns/column_registry.d.ts +2 -3
  31. package/dist/columns/column_registry.d.ts.map +1 -1
  32. package/dist/columns/column_selector.d.ts +9 -9
  33. package/dist/columns/column_selector.d.ts.map +1 -1
  34. package/dist/columns/dedup.cjs +1 -1
  35. package/dist/columns/dedup.cjs.map +1 -1
  36. package/dist/columns/dedup.d.ts +2 -4
  37. package/dist/columns/dedup.d.ts.map +1 -1
  38. package/dist/columns/dedup.js +1 -1
  39. package/dist/columns/dedup.js.map +1 -1
  40. package/dist/columns/providers.cjs +1 -1
  41. package/dist/columns/providers.cjs.map +1 -1
  42. package/dist/columns/providers.d.ts +4 -5
  43. package/dist/columns/providers.d.ts.map +1 -1
  44. package/dist/columns/providers.js +1 -1
  45. package/dist/columns/providers.js.map +1 -1
  46. package/dist/columns/types.d.ts +12 -9
  47. package/dist/columns/types.d.ts.map +1 -1
  48. package/dist/common_types.d.ts +4 -6
  49. package/dist/common_types.d.ts.map +1 -1
  50. package/dist/dialog/index.d.ts +4 -5
  51. package/dist/dialog/index.d.ts.map +1 -1
  52. package/dist/driver_kit.d.ts +2 -2
  53. package/dist/driver_kit.d.ts.map +1 -1
  54. package/dist/drivers/ChunkedStreamReader.d.ts +3 -5
  55. package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -1
  56. package/dist/drivers/blob.d.ts +36 -25
  57. package/dist/drivers/blob.d.ts.map +1 -1
  58. package/dist/drivers/columns/columns_collection_driver.d.ts +6 -7
  59. package/dist/drivers/columns/columns_collection_driver.d.ts.map +1 -1
  60. package/dist/drivers/columns/discover_columns_options.d.ts +9 -8
  61. package/dist/drivers/columns/discover_columns_options.d.ts.map +1 -1
  62. package/dist/drivers/index.cjs +5 -0
  63. package/dist/drivers/index.d.ts +5 -3
  64. package/dist/drivers/index.js +3 -3
  65. package/dist/drivers/interfaces.d.ts +2 -3
  66. package/dist/drivers/interfaces.d.ts.map +1 -1
  67. package/dist/drivers/log.d.ts +26 -28
  68. package/dist/drivers/log.d.ts.map +1 -1
  69. package/dist/drivers/ls.d.ts +37 -27
  70. package/dist/drivers/ls.d.ts.map +1 -1
  71. package/dist/drivers/pframe/column_filter.d.ts +1 -3
  72. package/dist/drivers/pframe/column_filter.d.ts.map +1 -1
  73. package/dist/drivers/pframe/data_info.d.ts +77 -50
  74. package/dist/drivers/pframe/data_info.d.ts.map +1 -1
  75. package/dist/drivers/pframe/data_types.d.ts +50 -45
  76. package/dist/drivers/pframe/data_types.d.ts.map +1 -1
  77. package/dist/drivers/pframe/driver.d.ts +5 -5
  78. package/dist/drivers/pframe/driver.d.ts.map +1 -1
  79. package/dist/drivers/pframe/filter_spec.d.ts +10 -12
  80. package/dist/drivers/pframe/filter_spec.d.ts.map +1 -1
  81. package/dist/drivers/pframe/find_columns.d.ts +2 -4
  82. package/dist/drivers/pframe/find_columns.d.ts.map +1 -1
  83. package/dist/drivers/pframe/index.cjs +5 -0
  84. package/dist/drivers/pframe/index.d.ts +5 -3
  85. package/dist/drivers/pframe/index.js +3 -3
  86. package/dist/drivers/pframe/linker_columns.d.ts +4 -10
  87. package/dist/drivers/pframe/linker_columns.d.ts.map +1 -1
  88. package/dist/drivers/pframe/pframe.d.ts +3 -3
  89. package/dist/drivers/pframe/pframe.d.ts.map +1 -1
  90. package/dist/drivers/pframe/query/query_common.d.ts +52 -46
  91. package/dist/drivers/pframe/query/query_common.d.ts.map +1 -1
  92. package/dist/drivers/pframe/query/query_data.d.ts +26 -21
  93. package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
  94. package/dist/drivers/pframe/query/query_spec.d.ts +22 -19
  95. package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
  96. package/dist/drivers/pframe/query/utils.d.ts +15 -11
  97. package/dist/drivers/pframe/query/utils.d.ts.map +1 -1
  98. package/dist/drivers/pframe/spec/anchored.d.ts +3 -5
  99. package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -1
  100. package/dist/drivers/pframe/spec/discovered_column.d.ts +10 -11
  101. package/dist/drivers/pframe/spec/discovered_column.d.ts.map +1 -1
  102. package/dist/drivers/pframe/spec/filtered_column.d.ts +17 -18
  103. package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -1
  104. package/dist/drivers/pframe/spec/ids.cjs +151 -0
  105. package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
  106. package/dist/drivers/pframe/spec/ids.d.ts +63 -11
  107. package/dist/drivers/pframe/spec/ids.d.ts.map +1 -1
  108. package/dist/drivers/pframe/spec/ids.js +150 -3
  109. package/dist/drivers/pframe/spec/ids.js.map +1 -1
  110. package/dist/drivers/pframe/spec/index.cjs +5 -0
  111. package/dist/drivers/pframe/spec/index.d.ts +3 -3
  112. package/dist/drivers/pframe/spec/index.js +3 -3
  113. package/dist/drivers/pframe/spec/native_id.d.ts +3 -3
  114. package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -1
  115. package/dist/drivers/pframe/spec/overridden.d.ts +14 -16
  116. package/dist/drivers/pframe/spec/overridden.d.ts.map +1 -1
  117. package/dist/drivers/pframe/spec/selectors.d.ts +22 -22
  118. package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
  119. package/dist/drivers/pframe/spec/spec.cjs +31 -0
  120. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  121. package/dist/drivers/pframe/spec/spec.d.ts +94 -70
  122. package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
  123. package/dist/drivers/pframe/spec/spec.js +31 -1
  124. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  125. package/dist/drivers/pframe/spec_driver.d.ts +30 -25
  126. package/dist/drivers/pframe/spec_driver.d.ts.map +1 -1
  127. package/dist/drivers/pframe/table.d.ts +1 -3
  128. package/dist/drivers/pframe/table.d.ts.map +1 -1
  129. package/dist/drivers/pframe/table_calculate.d.ts +55 -46
  130. package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
  131. package/dist/drivers/pframe/table_common.d.ts +9 -10
  132. package/dist/drivers/pframe/table_common.d.ts.map +1 -1
  133. package/dist/drivers/pframe/unique_values.d.ts +3 -3
  134. package/dist/drivers/pframe/unique_values.d.ts.map +1 -1
  135. package/dist/drivers/upload.d.ts +2 -3
  136. package/dist/drivers/upload.d.ts.map +1 -1
  137. package/dist/drivers/urls.d.ts +7 -8
  138. package/dist/drivers/urls.d.ts.map +1 -1
  139. package/dist/errors.d.ts +35 -36
  140. package/dist/errors.d.ts.map +1 -1
  141. package/dist/flags/block_flags.cjs.map +1 -1
  142. package/dist/flags/block_flags.d.ts +7 -7
  143. package/dist/flags/block_flags.d.ts.map +1 -1
  144. package/dist/flags/block_flags.js.map +1 -1
  145. package/dist/flags/flag_utils.d.ts +6 -8
  146. package/dist/flags/flag_utils.d.ts.map +1 -1
  147. package/dist/flags/type_utils.d.ts +6 -7
  148. package/dist/flags/type_utils.d.ts.map +1 -1
  149. package/dist/httpAuth.d.ts +4 -5
  150. package/dist/httpAuth.d.ts.map +1 -1
  151. package/dist/index.cjs +30 -0
  152. package/dist/index.d.ts +15 -3
  153. package/dist/index.js +9 -3
  154. package/dist/json.d.ts +11 -12
  155. package/dist/json.d.ts.map +1 -1
  156. package/dist/navigation.d.ts +16 -11
  157. package/dist/navigation.d.ts.map +1 -1
  158. package/dist/plid.cjs +1 -1
  159. package/dist/plid.cjs.map +1 -1
  160. package/dist/plid.d.ts +8 -9
  161. package/dist/plid.d.ts.map +1 -1
  162. package/dist/plid.js +1 -1
  163. package/dist/plid.js.map +1 -1
  164. package/dist/pool/entry.d.ts +8 -6
  165. package/dist/pool/entry.d.ts.map +1 -1
  166. package/dist/pool/query.d.ts +3 -4
  167. package/dist/pool/query.d.ts.map +1 -1
  168. package/dist/pool/spec.d.ts +33 -30
  169. package/dist/pool/spec.d.ts.map +1 -1
  170. package/dist/pool_entry.d.ts +2 -3
  171. package/dist/pool_entry.d.ts.map +1 -1
  172. package/dist/project_id.d.ts +1 -3
  173. package/dist/project_id.d.ts.map +1 -1
  174. package/dist/ref.d.ts +22 -23
  175. package/dist/ref.d.ts.map +1 -1
  176. package/dist/resource_types.d.ts +2 -3
  177. package/dist/resource_types.d.ts.map +1 -1
  178. package/dist/services/node_service_handlers.d.ts +1 -3
  179. package/dist/services/node_service_handlers.d.ts.map +1 -1
  180. package/dist/services/service_capabilities.d.ts +7 -9
  181. package/dist/services/service_capabilities.d.ts.map +1 -1
  182. package/dist/services/service_declarations.d.ts +2 -2
  183. package/dist/services/service_declarations.d.ts.map +1 -1
  184. package/dist/services/service_injectors.d.ts +7 -8
  185. package/dist/services/service_injectors.d.ts.map +1 -1
  186. package/dist/services/service_registry.d.ts +2 -4
  187. package/dist/services/service_registry.d.ts.map +1 -1
  188. package/dist/services/service_types.d.ts +24 -26
  189. package/dist/services/service_types.d.ts.map +1 -1
  190. package/dist/template/index.cjs +20 -0
  191. package/dist/template/index.d.ts +5 -0
  192. package/dist/template/index.js +5 -0
  193. package/dist/template/kind_selector.cjs +92 -0
  194. package/dist/template/kind_selector.cjs.map +1 -0
  195. package/dist/template/kind_selector.d.ts +78 -0
  196. package/dist/template/kind_selector.d.ts.map +1 -0
  197. package/dist/template/kind_selector.js +87 -0
  198. package/dist/template/kind_selector.js.map +1 -0
  199. package/dist/template/project_template_v1.cjs +231 -0
  200. package/dist/template/project_template_v1.cjs.map +1 -0
  201. package/dist/template/project_template_v1.d.ts +217 -0
  202. package/dist/template/project_template_v1.d.ts.map +1 -0
  203. package/dist/template/project_template_v1.js +225 -0
  204. package/dist/template/project_template_v1.js.map +1 -0
  205. package/dist/template/template_ref_form.cjs +73 -0
  206. package/dist/template/template_ref_form.cjs.map +1 -0
  207. package/dist/template/template_ref_form.d.ts +75 -0
  208. package/dist/template/template_ref_form.d.ts.map +1 -0
  209. package/dist/template/template_ref_form.js +72 -0
  210. package/dist/template/template_ref_form.js.map +1 -0
  211. package/dist/template/template_relocate.cjs +67 -0
  212. package/dist/template/template_relocate.cjs.map +1 -0
  213. package/dist/template/template_relocate.d.ts +36 -0
  214. package/dist/template/template_relocate.d.ts.map +1 -0
  215. package/dist/template/template_relocate.js +67 -0
  216. package/dist/template/template_relocate.js.map +1 -0
  217. package/dist/utag.d.ts +2 -4
  218. package/dist/utag.d.ts.map +1 -1
  219. package/dist/util.d.ts +2 -3
  220. package/dist/util.d.ts.map +1 -1
  221. package/dist/value_or_error.d.ts +2 -3
  222. package/dist/value_or_error.d.ts.map +1 -1
  223. package/package.json +5 -5
  224. package/src/bmodel/block_kind_ref.ts +59 -0
  225. package/src/bmodel/container.ts +9 -0
  226. package/src/bmodel/index.ts +1 -0
  227. package/src/columns/dedup.ts +1 -1
  228. package/src/columns/providers.ts +1 -1
  229. package/src/drivers/pframe/spec/ids.test.ts +90 -0
  230. package/src/drivers/pframe/spec/ids.ts +191 -1
  231. package/src/drivers/pframe/spec/spec.ts +31 -0
  232. package/src/flags/block_flags.ts +1 -1
  233. package/src/index.ts +1 -0
  234. package/src/plid.ts +5 -5
  235. package/src/template/index.ts +4 -0
  236. package/src/template/kind_selector.ts +126 -0
  237. package/src/template/project_template_v1.test.ts +315 -0
  238. package/src/template/project_template_v1.ts +444 -0
  239. package/src/template/template_ref_form.test.ts +86 -0
  240. package/src/template/template_ref_form.ts +108 -0
  241. package/src/template/template_relocate.test.ts +239 -0
  242. package/src/template/template_relocate.ts +89 -0
@@ -1,5 +1,6 @@
1
1
  import { ColumnTypeSpec, ExprAxisRef, ExprCast, ExprColumnRef, ExprConditional, ExprConstant, ExprFillNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprRanking, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, QueryTransformColumns } from "./query_common.js";
2
2
  import { PObjectId } from "../../../pool/spec.js";
3
+ import "../../../pool/index.js";
3
4
  //#region src/drivers/pframe/query/query_data.d.ts
4
5
  /**
5
6
  * Column identifier with type specification.
@@ -8,7 +9,9 @@ import { PObjectId } from "../../../pool/spec.js";
8
9
  * Used in data layer to carry type information alongside column references.
9
10
  */
10
11
  type ColumnIdAndTypeSpec = {
11
- /** Unique identifier of the column */id: PObjectId; /** Type specification defining the axes and the single column value type */
12
+ /** Unique identifier of the column */
13
+ id: PObjectId;
14
+ /** Type specification defining the axes and the single column value type */
12
15
  spec: ColumnTypeSpec;
13
16
  };
14
17
  /**
@@ -23,20 +26,20 @@ type ColumnIdAndTypeSpec = {
23
26
  * // - This entry's axis 1 maps to result axis 2
24
27
  * { entry: queryData, axesMapping: [0, 2] }
25
28
  */
26
- interface DataQueryJoinEntry extends QueryJoinEntry<DataQuery> {
29
+ export interface DataQueryJoinEntry extends QueryJoinEntry<DataQuery> {
27
30
  /** Maps this entry's axes to the result axes by index */
28
31
  axesMapping: number[];
29
32
  }
30
33
  /** @see QueryColumn */
31
- type DataQueryColumn = QueryColumn;
34
+ export type DataQueryColumn = QueryColumn;
32
35
  /** @see QueryInlineColumn */
33
- type DataQueryInlineColumn = QueryInlineColumn<ColumnIdAndTypeSpec>;
36
+ export type DataQueryInlineColumn = QueryInlineColumn<ColumnIdAndTypeSpec>;
34
37
  /** @see QuerySparseToDenseColumn */
35
- type DataQuerySparseToDenseColumn = QuerySparseToDenseColumn<PObjectId, number, ColumnIdAndTypeSpec>;
38
+ export type DataQuerySparseToDenseColumn = QuerySparseToDenseColumn<PObjectId, number, ColumnIdAndTypeSpec>;
36
39
  /** @see QuerySymmetricJoin */
37
- type DataQuerySymmetricJoin = QuerySymmetricJoin<DataQueryJoinEntry>;
40
+ export type DataQuerySymmetricJoin = QuerySymmetricJoin<DataQueryJoinEntry>;
38
41
  /** @see QueryOuterJoin */
39
- type DataQueryOuterJoin = QueryOuterJoin<DataQueryJoinEntry>;
42
+ export type DataQueryOuterJoin = QueryOuterJoin<DataQueryJoinEntry>;
40
43
  /**
41
44
  * Linker side of a data-layer linker-join.
42
45
  *
@@ -45,21 +48,24 @@ type DataQueryOuterJoin = QueryOuterJoin<DataQueryJoinEntry>;
45
48
  * - `axesMapping` — how the linker's axes map into the joined result
46
49
  * - `oneSideAxesIndices` — which axis indices in the joined result to project out
47
50
  */
48
- type DataQueryLinkerJoinLinker = {
49
- /** Linker column reference. */column: PObjectId; /** Linker's axes mapped into the joined result. */
50
- axesMapping: number[]; /** Axis indices (in the joined result) to project out — the linker's one-side axes. */
51
+ export type DataQueryLinkerJoinLinker = {
52
+ /** Linker column reference. */
53
+ column: PObjectId;
54
+ /** Linker's axes mapped into the joined result. */
55
+ axesMapping: number[];
56
+ /** Axis indices (in the joined result) to project out — the linker's one-side axes. */
51
57
  oneSideAxesIndices: number[];
52
58
  };
53
59
  /** @see QueryLinkerJoin */
54
- type DataQueryLinkerJoin = QueryLinkerJoin<DataQueryLinkerJoinLinker, DataQueryJoinEntry>;
60
+ export type DataQueryLinkerJoin = QueryLinkerJoin<DataQueryLinkerJoinLinker, DataQueryJoinEntry>;
55
61
  /** @see QuerySliceAxes */
56
- type DataQuerySliceAxes = QuerySliceAxes<DataQuery, number>;
62
+ export type DataQuerySliceAxes = QuerySliceAxes<DataQuery, number>;
57
63
  /** @see QuerySort */
58
- type DataQuerySort = QuerySort<DataQuery, DataQueryExpression>;
64
+ export type DataQuerySort = QuerySort<DataQuery, DataQueryExpression>;
59
65
  /** @see QueryFilter */
60
- type DataQueryFilter = QueryFilter<DataQuery, DataQueryBooleanExpression>;
66
+ export type DataQueryFilter = QueryFilter<DataQuery, DataQueryBooleanExpression>;
61
67
  /** @see QueryTransformColumns */
62
- type DataQueryTransformColumns = QueryTransformColumns<DataQuery, DataQueryExpression, ColumnIdAndTypeSpec>;
68
+ export type DataQueryTransformColumns = QueryTransformColumns<DataQuery, DataQueryExpression, ColumnIdAndTypeSpec>;
63
69
  /**
64
70
  * Union of all data layer query types.
65
71
  *
@@ -71,13 +77,12 @@ type DataQueryTransformColumns = QueryTransformColumns<DataQuery, DataQueryExpre
71
77
  * - Join operations: innerJoin, fullJoin, outerJoin, linkerJoin
72
78
  * - Transformations: sliceAxes, sort, filter, transformColumns
73
79
  */
74
- type DataQuery = DataQueryColumn | DataQueryInlineColumn | DataQuerySparseToDenseColumn | DataQuerySymmetricJoin | DataQueryOuterJoin | DataQueryLinkerJoin | DataQuerySliceAxes | DataQuerySort | DataQueryFilter | DataQueryTransformColumns;
80
+ export type DataQuery = DataQueryColumn | DataQueryInlineColumn | DataQuerySparseToDenseColumn | DataQuerySymmetricJoin | DataQueryOuterJoin | DataQueryLinkerJoin | DataQuerySliceAxes | DataQuerySort | DataQueryFilter | DataQueryTransformColumns;
75
81
  /** @see ExprAxisRef */
76
- type DataExprAxisRef = ExprAxisRef<number>;
82
+ export type DataExprAxisRef = ExprAxisRef<number>;
77
83
  /** @see ExprColumnRef */
78
- type DataExprColumnRef = ExprColumnRef<number>;
79
- type DataQueryExpression = DataExprColumnRef | DataExprAxisRef | ExprConstant | ExprNumericBinary<DataQueryExpression> | ExprNumericComparison<DataQueryExpression> | ExprNumericUnary<DataQueryExpression> | ExprStringEquals<DataQueryExpression> | ExprStringContains<DataQueryExpression> | ExprStringRegex<DataQueryExpression> | ExprStringContainsFuzzy<DataQueryExpression> | ExprIsNull<DataQueryExpression> | ExprFillNull<DataQueryExpression> | ExprLogicalUnary<DataQueryExpression> | ExprLogicalVariadic<DataQueryExpression> | ExprIsIn<DataQueryExpression, string> | ExprIsIn<DataQueryExpression, number> | ExprCast<DataQueryExpression> | ExprConditional<DataQueryExpression> | ExprRanking<DataQueryExpression, number, number>;
80
- type DataQueryBooleanExpression = InferBooleanExpressionUnion<DataQueryExpression>;
84
+ export type DataExprColumnRef = ExprColumnRef<number>;
85
+ export type DataQueryExpression = DataExprColumnRef | DataExprAxisRef | ExprConstant | ExprNumericBinary<DataQueryExpression> | ExprNumericComparison<DataQueryExpression> | ExprNumericUnary<DataQueryExpression> | ExprStringEquals<DataQueryExpression> | ExprStringContains<DataQueryExpression> | ExprStringRegex<DataQueryExpression> | ExprStringContainsFuzzy<DataQueryExpression> | ExprIsNull<DataQueryExpression> | ExprFillNull<DataQueryExpression> | ExprLogicalUnary<DataQueryExpression> | ExprLogicalVariadic<DataQueryExpression> | ExprIsIn<DataQueryExpression, string> | ExprIsIn<DataQueryExpression, number> | ExprCast<DataQueryExpression> | ExprConditional<DataQueryExpression> | ExprRanking<DataQueryExpression, number, number>;
86
+ export type DataQueryBooleanExpression = InferBooleanExpressionUnion<DataQueryExpression>;
81
87
  //#endregion
82
- export { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DataQueryTransformColumns };
83
88
  //# sourceMappingURL=query_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_data.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_data.ts"],"mappings":";;;;;;AAiCwB;;;KAQnB,mBAAA;EAEH,sCAAA,EAAA,EAAI,SAAA,EAEJ;EAAA,IAAA,EAAM,cAAc;AAAA;AAAA;AAetB;;;;;;;;AAEa;AAIb;;AArBsB,UAeL,kBAAA,SAA2B,cAAc,CAAC,SAAA;EAMlB;EAJvC,WAAA;AAAA;;KAIU,eAAA,GAAkB,WAAW;;KAE7B,qBAAA,GAAwB,iBAAiB,CAAC,mBAAA;AAEtD;AAAA,KAAY,4BAAA,GAA+B,wBAAA,CACzC,SAAA,UAEA,mBAAA;;KAGU,sBAAA,GAAyB,kBAAkB,CAAC,kBAAA;;KAE5C,kBAAA,GAAqB,cAAc,CAAC,kBAAA;;;;;;;AAL3B;AAGrB;KAWY,yBAAA;iCAEV,MAAA,EAAQ,SAAS,EAbuD;EAexE,WAAA,YAb4B;EAe5B,kBAAA;AAAA;AAfgE;AAAA,KAkBtD,mBAAA,GAAsB,eAAA,CAAgB,yBAAA,EAA2B,kBAAA;;KAEjE,kBAAA,GAAqB,cAAc,CAAC,SAAA;;KAEpC,aAAA,GAAgB,SAAA,CAAU,SAAA,EAAW,mBAAA;;KAErC,eAAA,GAAkB,WAAA,CAAY,SAAA,EAAW,0BAAA;;KAEzC,yBAAA,GAA4B,qBAAA,CACtC,SAAA,EACA,mBAAA,EACA,mBAAA;AAdkB;AAGpB;;;;;;;;;;AAHoB,KA4BR,SAAA,GACR,eAAA,GACA,qBAAA,GACA,4BAAA,GACA,sBAAA,GACA,kBAAA,GACA,mBAAA,GACA,kBAAA,GACA,aAAA,GACA,eAAA,GACA,yBAAA;;KAGQ,eAAA,GAAkB,WAAW;AApCzC;AAAA,KAsCY,iBAAA,GAAoB,aAAa;AAAA,KAEjC,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,YAAA,CAAa,mBAAA,IACb,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA,YAET,QAAA,CAAS,mBAAA,IACT,eAAA,CAAgB,mBAAA,IAEhB,WAAA,CAAY,mBAAA;AAAA,KAGJ,0BAAA,GAA6B,2BAA2B,CAAC,mBAAA"}
1
+ {"version":3,"file":"query_data.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_data.ts"],"mappings":";;;;;;;;;;KAyCK;;EAEH,IAAI;;EAEJ,MAAM;;;;;;;;;;;;;;iBAeS,2BAA2B,eAAe;;EAEzD;;;YAIU,kBAAkB;;YAElB,wBAAwB,kBAAkB;;YAE1C,+BAA+B,yBACzC,mBAEA;;YAGU,yBAAyB,mBAAmB;;YAE5C,qBAAqB,eAAe;;;;;;;;;YASpC;;EAEV,QAAQ;;EAER;;EAEA;;;YAGU,sBAAsB,gBAAgB,2BAA2B;;YAEjE,qBAAqB,eAAe;;YAEpC,gBAAgB,UAAU,WAAW;;YAErC,kBAAkB,YAAY,WAAW;;YAEzC,4BAA4B,sBACtC,WACA,qBACA;;;;;;;;;;;;YAcU,YACR,kBACA,wBACA,+BACA,yBACA,qBACA,sBACA,qBACA,gBACA,kBACA;;YAGQ,kBAAkB;;YAElB,oBAAoB;YAEpB,sBACR,oBACA,kBACA,eACA,kBAAkB,uBAClB,sBAAsB,uBACtB,iBAAiB,uBACjB,iBAAiB,uBACjB,mBAAmB,uBACnB,gBAAgB,uBAChB,wBAAwB,uBACxB,WAAW,uBACX,aAAa,uBACb,iBAAiB,uBACjB,oBAAoB,uBACpB,SAAS,+BACT,SAAS,+BAET,SAAS,uBACT,gBAAgB,uBAEhB,YAAY;YAGJ,6BAA6B,4BAA4B"}
@@ -1,9 +1,11 @@
1
1
  import { Domain, PColumnIdAndSpec } from "../spec/spec.js";
2
2
  import { SpecOverrides } from "../spec/overridden.js";
3
3
  import { ColumnUniversalId } from "../spec/ids.js";
4
+ import "../spec/index.js";
4
5
  import { ExprAxisRef, ExprCast, ExprColumnRef, ExprConditional, ExprConstant, ExprFillNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprRanking, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySpecOverride, QuerySymmetricJoin, QueryTransformColumns } from "./query_common.js";
5
6
  import { SingleAxisSelector } from "../spec/selectors.js";
6
7
  import { PObjectId } from "../../../pool/spec.js";
8
+ import "../../../pool/index.js";
7
9
  //#region src/drivers/pframe/query/query_spec.d.ts
8
10
  /**
9
11
  * Join entry for spec-layer queries — the base join entry extended with
@@ -15,39 +17,41 @@ import { PObjectId } from "../../../pool/spec.js";
15
17
  * qualifications: [{ axis: { name: 'sample' }, contextDomain: { ... } }]
16
18
  * }
17
19
  */
18
- type SpecQueryJoinEntry<C = ColumnUniversalId> = QueryJoinEntry<SpecQuery<C>> & {
20
+ export type SpecQueryJoinEntry<C = ColumnUniversalId> = QueryJoinEntry<SpecQuery<C>> & {
19
21
  qualifications?: readonly {
20
- /** Axis to qualify. */axis: SingleAxisSelector; /** Additional domain constraints for this axis. */
22
+ /** Axis to qualify. */
23
+ axis: SingleAxisSelector;
24
+ /** Additional domain constraints for this axis. */
21
25
  contextDomain: Domain;
22
26
  }[];
23
27
  };
24
28
  /** @see QueryColumn */
25
- type SpecQueryColumn<C = ColumnUniversalId> = QueryColumn<C>;
29
+ export type SpecQueryColumn<C = ColumnUniversalId> = QueryColumn<C>;
26
30
  /** @see QueryInlineColumn */
27
- type SpecQueryInlineColumn = QueryInlineColumn<PColumnIdAndSpec>;
31
+ export type SpecQueryInlineColumn = QueryInlineColumn<PColumnIdAndSpec>;
28
32
  /** @see QuerySparseToDenseColumn */
29
- type SpecQuerySparseToDenseColumn<C = ColumnUniversalId> = QuerySparseToDenseColumn<C, SingleAxisSelector, PColumnIdAndSpec>;
33
+ export type SpecQuerySparseToDenseColumn<C = ColumnUniversalId> = QuerySparseToDenseColumn<C, SingleAxisSelector, PColumnIdAndSpec>;
30
34
  /** @see QuerySymmetricJoin */
31
- type SpecQuerySymmetricJoin<C = ColumnUniversalId> = QuerySymmetricJoin<SpecQueryJoinEntry<C>>;
35
+ export type SpecQuerySymmetricJoin<C = ColumnUniversalId> = QuerySymmetricJoin<SpecQueryJoinEntry<C>>;
32
36
  /** @see QueryOuterJoin */
33
- type SpecQueryOuterJoin<C = ColumnUniversalId> = QueryOuterJoin<SpecQueryJoinEntry<C>>;
37
+ export type SpecQueryOuterJoin<C = ColumnUniversalId> = QueryOuterJoin<SpecQueryJoinEntry<C>>;
34
38
  /** @see QueryLinkerJoin */
35
- type SpecQueryLinkerJoin<C = ColumnUniversalId> = QueryLinkerJoin<SpecQuery<C>, SpecQueryJoinEntry<C>>;
39
+ export type SpecQueryLinkerJoin<C = ColumnUniversalId> = QueryLinkerJoin<SpecQuery<C>, SpecQueryJoinEntry<C>>;
36
40
  /** @see QuerySliceAxes */
37
- type SpecQuerySliceAxes<C = ColumnUniversalId> = QuerySliceAxes<SpecQuery<C>, SingleAxisSelector>;
41
+ export type SpecQuerySliceAxes<C = ColumnUniversalId> = QuerySliceAxes<SpecQuery<C>, SingleAxisSelector>;
38
42
  /** @see QuerySort */
39
- type SpecQuerySort<C = ColumnUniversalId> = QuerySort<SpecQuery<C>, SpecQueryExpression>;
43
+ export type SpecQuerySort<C = ColumnUniversalId> = QuerySort<SpecQuery<C>, SpecQueryExpression>;
40
44
  /** @see QueryFilter */
41
- type SpecQueryFilter<C = ColumnUniversalId> = QueryFilter<SpecQuery<C>, SpecQueryBooleanExpression>;
45
+ export type SpecQueryFilter<C = ColumnUniversalId> = QueryFilter<SpecQuery<C>, SpecQueryBooleanExpression>;
42
46
  /** @see QueryTransformColumns */
43
- type SpecQueryTransformColumns<C = ColumnUniversalId> = QueryTransformColumns<SpecQuery<C>, SpecQueryExpression, PColumnIdAndSpec>;
47
+ export type SpecQueryTransformColumns<C = ColumnUniversalId> = QueryTransformColumns<SpecQuery<C>, SpecQueryExpression, PColumnIdAndSpec>;
44
48
  /**
45
49
  * Client-side spec-override node — collapsed at the host boundary, never
46
50
  * sent to pframe-engine.
47
51
  *
48
52
  * @see QuerySpecOverride
49
53
  */
50
- type SpecQuerySpecOverride<C = ColumnUniversalId> = QuerySpecOverride<SpecQuery<C>, SpecOverrides>;
54
+ export type SpecQuerySpecOverride<C = ColumnUniversalId> = QuerySpecOverride<SpecQuery<C>, SpecOverrides>;
51
55
  /**
52
56
  * Union of all spec layer query types.
53
57
  *
@@ -64,13 +68,12 @@ type SpecQuerySpecOverride<C = ColumnUniversalId> = QuerySpecOverride<SpecQuery<
64
68
  * - Transformations: sliceAxes, sort, filter, transformColumns
65
69
  * - Client-side overlays: specOverride (collapsed before reaching the engine)
66
70
  */
67
- type SpecQuery<C = ColumnUniversalId> = SpecQueryColumn<C> | SpecQueryInlineColumn | SpecQuerySparseToDenseColumn<C> | SpecQuerySymmetricJoin<C> | SpecQueryOuterJoin<C> | SpecQueryLinkerJoin<C> | SpecQuerySliceAxes<C> | SpecQuerySort<C> | SpecQueryFilter<C> | SpecQueryTransformColumns<C> | SpecQuerySpecOverride<C>;
71
+ export type SpecQuery<C = ColumnUniversalId> = SpecQueryColumn<C> | SpecQueryInlineColumn | SpecQuerySparseToDenseColumn<C> | SpecQuerySymmetricJoin<C> | SpecQueryOuterJoin<C> | SpecQueryLinkerJoin<C> | SpecQuerySliceAxes<C> | SpecQuerySort<C> | SpecQueryFilter<C> | SpecQueryTransformColumns<C> | SpecQuerySpecOverride<C>;
68
72
  /** @see ExprAxisRef */
69
- type SpecExprAxisRef = ExprAxisRef<SingleAxisSelector>;
73
+ export type SpecExprAxisRef = ExprAxisRef<SingleAxisSelector>;
70
74
  /** @see ExprColumnRef */
71
- type SpecExprColumnRef = ExprColumnRef<ColumnUniversalId>;
72
- type SpecQueryExpression = SpecExprColumnRef | SpecExprAxisRef | ExprConstant | ExprNumericBinary<SpecQueryExpression> | ExprNumericComparison<SpecQueryExpression> | ExprNumericUnary<SpecQueryExpression> | ExprStringEquals<SpecQueryExpression> | ExprStringContains<SpecQueryExpression> | ExprStringRegex<SpecQueryExpression> | ExprStringContainsFuzzy<SpecQueryExpression> | ExprIsNull<SpecQueryExpression> | ExprFillNull<SpecQueryExpression> | ExprLogicalUnary<SpecQueryExpression> | ExprLogicalVariadic<SpecQueryExpression> | ExprIsIn<SpecQueryExpression, string> | ExprIsIn<SpecQueryExpression, number> | ExprCast<SpecQueryExpression> | ExprConditional<SpecQueryExpression> | ExprRanking<SpecQueryExpression, SingleAxisSelector, PObjectId>;
73
- type SpecQueryBooleanExpression = InferBooleanExpressionUnion<SpecQueryExpression>;
75
+ export type SpecExprColumnRef = ExprColumnRef<ColumnUniversalId>;
76
+ export type SpecQueryExpression = SpecExprColumnRef | SpecExprAxisRef | ExprConstant | ExprNumericBinary<SpecQueryExpression> | ExprNumericComparison<SpecQueryExpression> | ExprNumericUnary<SpecQueryExpression> | ExprStringEquals<SpecQueryExpression> | ExprStringContains<SpecQueryExpression> | ExprStringRegex<SpecQueryExpression> | ExprStringContainsFuzzy<SpecQueryExpression> | ExprIsNull<SpecQueryExpression> | ExprFillNull<SpecQueryExpression> | ExprLogicalUnary<SpecQueryExpression> | ExprLogicalVariadic<SpecQueryExpression> | ExprIsIn<SpecQueryExpression, string> | ExprIsIn<SpecQueryExpression, number> | ExprCast<SpecQueryExpression> | ExprConditional<SpecQueryExpression> | ExprRanking<SpecQueryExpression, SingleAxisSelector, PObjectId>;
77
+ export type SpecQueryBooleanExpression = InferBooleanExpressionUnion<SpecQueryExpression>;
74
78
  //#endregion
75
- export { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySpecOverride, SpecQuerySymmetricJoin, SpecQueryTransformColumns };
76
79
  //# sourceMappingURL=query_spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_spec.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_spec.ts"],"mappings":";;;;;;;;;;;;AAgDA;;;;;KAAY,kBAAA,KAAuB,iBAAA,IAAqB,cAAA,CAAe,SAAA,CAAU,CAAA;EAC/E,cAAA;IAEQ,uBAAN,IAAA,EAAM,kBAAA,EAEe;IAArB,aAAA,EAAe,MAAA;EAAA;AAAA;;KAKP,eAAA,KAAoB,iBAAA,IAAqB,WAAA,CAAY,CAAA;;KAErD,qBAAA,GAAwB,iBAAiB,CAAC,gBAAA;;KAE1C,4BAAA,KAAiC,iBAAA,IAAqB,wBAAA,CAChE,CAAA,EACA,kBAAA,EACA,gBAAA;;KAGU,sBAAA,KAA2B,iBAAA,IAAqB,kBAAA,CAC1D,kBAAA,CAAmB,CAAA;;KAGT,kBAAA,KAAuB,iBAAA,IAAqB,cAAA,CAAe,kBAAA,CAAmB,CAAA;AAd1F;AAAA,KAgBY,mBAAA,KAAwB,iBAAA,IAAqB,eAAA,CACvD,SAAA,CAAU,CAAA,GACV,kBAAA,CAAmB,CAAA;;KAGT,kBAAA,KAAuB,iBAAA,IAAqB,cAAA,CACtD,SAAA,CAAU,CAAA,GACV,kBAAA;;KAGU,aAAA,KAAkB,iBAAA,IAAqB,SAAA,CAAU,SAAA,CAAU,CAAA,GAAI,mBAAA;;KAE/D,eAAA,KAAoB,iBAAA,IAAqB,WAAA,CACnD,SAAA,CAAU,CAAA,GACV,0BAAA;;KAGU,yBAAA,KAA8B,iBAAA,IAAqB,qBAAA,CAC7D,SAAA,CAAU,CAAA,GACV,mBAAA,EACA,gBAAA;;;;AApCgE;AAElE;;KA0CY,qBAAA,KAA0B,iBAAA,IAAqB,iBAAA,CACzD,SAAA,CAAU,CAAA,GACV,aAAA;;AA5CoE;AAEtE;;;;;;;;;;;;;;KA6DY,SAAA,KAAc,iBAAA,IACtB,eAAA,CAAgB,CAAA,IAChB,qBAAA,GACA,4BAAA,CAA6B,CAAA,IAC7B,sBAAA,CAAuB,CAAA,IACvB,kBAAA,CAAmB,CAAA,IACnB,mBAAA,CAAoB,CAAA,IACpB,kBAAA,CAAmB,CAAA,IACnB,aAAA,CAAc,CAAA,IACd,eAAA,CAAgB,CAAA,IAChB,yBAAA,CAA0B,CAAA,IAC1B,qBAAA,CAAsB,CAAA;;KAGd,eAAA,GAAkB,WAAW,CAAC,kBAAA;AAxExB;AAAA,KA0EN,iBAAA,GAAoB,aAAa,CAAC,iBAAA;AAAA,KAElC,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,YAAA,CAAa,mBAAA,IACb,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA,YAET,QAAA,CAAS,mBAAA,IACT,eAAA,CAAgB,mBAAA,IAEhB,WAAA,CAAY,mBAAA,EAAqB,kBAAA,EAAoB,SAAA;AAAA,KAG7C,0BAAA,GAA6B,2BAA2B,CAAC,mBAAA"}
1
+ {"version":3,"file":"query_spec.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_spec.ts"],"mappings":";;;;;;;;;;;;;;;;;;;YAgDY,mBAAmB,IAAI,qBAAqB,eAAe,UAAU;EAC/E;;IAEE,MAAM;;IAEN,eAAe;;;;YAKP,gBAAgB,IAAI,qBAAqB,YAAY;;YAErD,wBAAwB,kBAAkB;;YAE1C,6BAA6B,IAAI,qBAAqB,yBAChE,GACA,oBACA;;YAGU,uBAAuB,IAAI,qBAAqB,mBAC1D,mBAAmB;;YAGT,mBAAmB,IAAI,qBAAqB,eAAe,mBAAmB;;YAE9E,oBAAoB,IAAI,qBAAqB,gBACvD,UAAU,IACV,mBAAmB;;YAGT,mBAAmB,IAAI,qBAAqB,eACtD,UAAU,IACV;;YAGU,cAAc,IAAI,qBAAqB,UAAU,UAAU,IAAI;;YAE/D,gBAAgB,IAAI,qBAAqB,YACnD,UAAU,IACV;;YAGU,0BAA0B,IAAI,qBAAqB,sBAC7D,UAAU,IACV,qBACA;;;;;;;YAQU,sBAAsB,IAAI,qBAAqB,kBACzD,UAAU,IACV;;;;;;;;;;;;;;;;;YAmBU,UAAU,IAAI,qBACtB,gBAAgB,KAChB,wBACA,6BAA6B,KAC7B,uBAAuB,KACvB,mBAAmB,KACnB,oBAAoB,KACpB,mBAAmB,KACnB,cAAc,KACd,gBAAgB,KAChB,0BAA0B,KAC1B,sBAAsB;;YAGd,kBAAkB,YAAY;;YAE9B,oBAAoB,cAAc;YAElC,sBACR,oBACA,kBACA,eACA,kBAAkB,uBAClB,sBAAsB,uBACtB,iBAAiB,uBACjB,iBAAiB,uBACjB,mBAAmB,uBACnB,gBAAgB,uBAChB,wBAAwB,uBACxB,WAAW,uBACX,aAAa,uBACb,iBAAiB,uBACjB,oBAAoB,uBACpB,SAAS,+BACT,SAAS,+BAET,SAAS,uBACT,gBAAgB,uBAEhB,YAAY,qBAAqB,oBAAoB;YAG7C,6BAA6B,4BAA4B"}
@@ -1,7 +1,6 @@
1
1
  import { SpecQuery, SpecQueryBooleanExpression, SpecQueryExpression, SpecQueryJoinEntry } from "./query_spec.js";
2
-
3
2
  //#region src/drivers/pframe/query/utils.d.ts
4
- declare function isBooleanExpression(expr: SpecQueryExpression): expr is SpecQueryBooleanExpression;
3
+ export declare function isBooleanExpression(expr: SpecQueryExpression): expr is SpecQueryBooleanExpression;
5
4
  /**
6
5
  * Recursively traverses a SpecQuery tree bottom-up, applying visitor callbacks.
7
6
  *
@@ -12,20 +11,25 @@ declare function isBooleanExpression(expr: SpecQueryExpression): expr is SpecQue
12
11
  * 4. Assemble node with transformed children
13
12
  * 5. Apply `node` to the assembled node
14
13
  */
15
- declare function traverseQuerySpec<C1, C2>(query: SpecQuery<C1>, visitor: {
16
- /** Transform column references in leaf nodes (column, sparseToDenseColumn). */column: (c: C1) => C2; /** Visit a node after its children have been traversed. */
17
- node?: (node: SpecQuery<C2>) => SpecQuery<C2>; /** Visit a join entry after its inner query has been traversed. */
14
+ export declare function traverseQuerySpec<C1, C2>(query: SpecQuery<C1>, visitor: {
15
+ /** Transform column references in leaf nodes (column, sparseToDenseColumn). */
16
+ column: (c: C1) => C2;
17
+ /** Visit a node after its children have been traversed. */
18
+ node?: (node: SpecQuery<C2>) => SpecQuery<C2>;
19
+ /** Visit a join entry after its inner query has been traversed. */
18
20
  joinEntry?: (entry: SpecQueryJoinEntry<C2>) => SpecQueryJoinEntry<C2>;
19
21
  }): SpecQuery<C2>;
20
22
  /** Recursively maps all column references in a SpecQuery tree. */
21
- declare function mapSpecQueryColumns<C1, C2>(query: SpecQuery<C1>, visitor: {
22
- /** Transform column references in leaf nodes (column, sparseToDenseColumn). */column: (c: C1) => C2; /** Visit a node after its children have been traversed. */
23
- node?: (node: SpecQuery<C2>) => SpecQuery<C2>; /** Visit a join entry after its inner query has been traversed. */
23
+ export declare function mapSpecQueryColumns<C1, C2>(query: SpecQuery<C1>, visitor: {
24
+ /** Transform column references in leaf nodes (column, sparseToDenseColumn). */
25
+ column: (c: C1) => C2;
26
+ /** Visit a node after its children have been traversed. */
27
+ node?: (node: SpecQuery<C2>) => SpecQuery<C2>;
28
+ /** Visit a join entry after its inner query has been traversed. */
24
29
  joinEntry?: (entry: SpecQueryJoinEntry<C2>) => SpecQueryJoinEntry<C2>;
25
30
  }): SpecQuery<C2>;
26
31
  /** Collects all column references from a SpecQuery tree. */
27
- declare function collectSpecQueryColumns<C>(query: SpecQuery<C>): C[];
28
- declare function sortSpecQuery(query: SpecQuery): SpecQuery;
32
+ export declare function collectSpecQueryColumns<C>(query: SpecQuery<C>): C[];
33
+ export declare function sortSpecQuery(query: SpecQuery): SpecQuery;
29
34
  //#endregion
30
- export { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec };
31
35
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/utils.ts"],"mappings":";;;iBAuBgB,mBAAA,CAAoB,IAAA,EAAM,mBAAA,GAAsB,IAAA,IAAQ,0BAA0B;;AAAlG;;;;;;;;;iBAiBgB,iBAAA,SACd,KAAA,EAAO,SAAA,CAAU,EAAA,GACjB,OAAA;EAFc,+EAIZ,MAAA,GAAS,CAAA,EAAG,EAAA,KAAO,EAAA,EAJU;EAM7B,IAAA,IAAQ,IAAA,EAAM,SAAA,CAAU,EAAA,MAAQ,SAAA,CAAU,EAAA,GALrC;EAOL,SAAA,IAAa,KAAA,EAAO,kBAAA,CAAmB,EAAA,MAAQ,kBAAA,CAAmB,EAAA;AAAA,IAEnE,SAAA,CAAU,EAAA;;iBA4DG,mBAAA,SACd,KAAA,EAAO,SAAA,CAAU,EAAA,GACjB,OAAA;EAlE4C,+EAoE1C,MAAA,GAAS,CAAA,EAAG,EAAA,KAAO,EAAA,EAlEoB;EAoEvC,IAAA,IAAQ,IAAA,EAAM,SAAA,CAAU,EAAA,MAAQ,SAAA,CAAU,EAAA,GApEwB;EAsElE,SAAA,IAAa,KAAA,EAAO,kBAAA,CAAmB,EAAA,MAAQ,kBAAA,CAAmB,EAAA;AAAA,IAEnE,SAAA,CAAU,EAAA;;iBAKG,uBAAA,IAA2B,KAAA,EAAO,SAAA,CAAU,CAAA,IAAK,CAAA;AAAA,iBAWjD,aAAA,CAAc,KAAA,EAAO,SAAA,GAAY,SAAS"}
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/utils.ts"],"mappings":";;wBAuBgB,oBAAoB,MAAM,sBAAsB,QAAQ;;;;;;;;;;;wBAiBxD,kBAAkB,IAAI,IACpC,OAAO,UAAU,KACjB;;EAEE,SAAS,GAAG,OAAO;;EAEnB,QAAQ,MAAM,UAAU,QAAQ,UAAU;;EAE1C,aAAa,OAAO,mBAAmB,QAAQ,mBAAmB;IAEnE,UAAU;;wBA4DG,oBAAoB,IAAI,IACtC,OAAO,UAAU,KACjB;;EAEE,SAAS,GAAG,OAAO;;EAEnB,QAAQ,MAAM,UAAU,QAAQ,UAAU;;EAE1C,aAAa,OAAO,mBAAmB,QAAQ,mBAAmB;IAEnE,UAAU;;wBAKG,wBAAwB,GAAG,OAAO,UAAU,KAAK;wBAWjD,cAAc,OAAO,YAAY"}
@@ -2,13 +2,12 @@ import { PColumnSpec } from "./spec.js";
2
2
  import { SUniversalPColumnId, UniversalPColumnId } from "./ids.js";
3
3
  import { AxisFilter } from "./filtered_column.js";
4
4
  import { AnchoredPColumnId, AnchoredPColumnSelector, PColumnSelector } from "./selectors.js";
5
-
6
5
  //#region src/drivers/pframe/spec/anchored.d.ts
7
6
  /**
8
7
  * Context for resolving and generating anchored references to columns and axes
9
8
  * Maintains maps of known domain values and axes that can be referenced by anchors
10
9
  */
11
- declare class AnchoredIdDeriver {
10
+ export declare class AnchoredIdDeriver {
12
11
  readonly anchors: Record<string, Pick<PColumnSpec, "axesSpec" | "domain" | "contextDomain">>;
13
12
  private readonly axes;
14
13
  private readonly domains;
@@ -53,7 +52,7 @@ declare class AnchoredIdDeriver {
53
52
  /**
54
53
  * Options for the resolveAnchors function
55
54
  */
56
- type ResolveAnchorsOptions = {
55
+ export type ResolveAnchorsOptions = {
57
56
  /**
58
57
  * If true, missing domain keys in anchors will be ignored.
59
58
  * If false (default), an error will be thrown.
@@ -70,7 +69,6 @@ type ResolveAnchorsOptions = {
70
69
  * @returns A non-anchored column matcher with all references resolved to actual values
71
70
  * @deprecated - This function by parent PColumnCollection
72
71
  */
73
- declare function resolveAnchors(anchors: Record<string, Pick<PColumnSpec, "axesSpec" | "domain" | "contextDomain">>, matcher: AnchoredPColumnSelector, options?: ResolveAnchorsOptions): PColumnSelector;
72
+ export declare function resolveAnchors(anchors: Record<string, Pick<PColumnSpec, "axesSpec" | "domain" | "contextDomain">>, matcher: AnchoredPColumnSelector, options?: ResolveAnchorsOptions): PColumnSelector;
74
73
  //#endregion
75
- export { AnchoredIdDeriver, ResolveAnchorsOptions, resolveAnchors };
76
74
  //# sourceMappingURL=anchored.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchored.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/anchored.ts"],"mappings":";;;;;;;;AAgCA;;cAAa,iBAAA;EAAA,SAqBO,OAAA,EAAS,MAAA,SAEvB,IAAA,CAAK,WAAA;EAAA,iBAtBQ,IAAA;EAAA,iBACA,OAAA;EAAA,iBACA,cAAA;EAoBb;;;;EAAA,iBAfa,WAAA;EAAA,iBACA,kBAAA;EAiEsC;;;EAAA,iBA7DtC,kBAAA;EAAA,iBACA,yBAAA;EAgL0D;;;;cAzKzD,OAAA,EAAS,MAAA,SAEvB,IAAA,CAAK,WAAA;EAtBQ;;;;;EAiEjB,MAAA,CAAO,IAAA,EAAM,WAAA,GAAc,iBAAA;EApDV;;;;;;EA4DjB,MAAA,CAAO,IAAA,EAAM,WAAA,EAAa,WAAA,GAAc,UAAA,KAAe,kBAAA;EAR1C;;;;;;EA4Hb,OAAA,CAAQ,IAAA,EAAM,WAAA,EAAa,WAAA,GAAc,UAAA,KAAe,mBAAA;AAAA;;;;KAQ9C,qBAAA;EAR+B;;;;EAazC,oBAAoB;AAAA;;;;AAAA;AAatB;;;;;;iBAAgB,cAAA,CACd,OAAA,EAAS,MAAA,SAAe,IAAA,CAAK,WAAA,6CAC7B,OAAA,EAAS,uBAAA,EACT,OAAA,GAAU,qBAAA,GACT,eAAA"}
1
+ {"version":3,"file":"anchored.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/anchored.ts"],"mappings":";;;;;;;;;qBAgCa;WAqBO,SAAS,eAEvB,KAAK;mBAtBQ;mBACA;mBACA;;;;;mBAKA;mBACA;;;;mBAIA;mBACA;;;;;EAMjB,YACkB,SAAS,eAEvB,KAAK;;;;;;EA2CT,OAAO,MAAM,cAAc;;;;;;;EAQ3B,OAAO,MAAM,aAAa,cAAc,eAAe;;;;;;;EAoHvD,QAAQ,MAAM,aAAa,cAAc,eAAe;;;;;YAQ9C;;;;;EAKV;;;;;;;;;;;;wBAac,eACd,SAAS,eAAe,KAAK,wDAC7B,SAAS,yBACT,UAAU,wBACT"}
@@ -2,38 +2,37 @@ import { CanonicalizedJson } from "../../../json.js";
2
2
  import { ColumnUniversalId } from "./ids.js";
3
3
  import { AxisQualification } from "./selectors.js";
4
4
  import { PObjectId } from "../../../pool/spec.js";
5
+ import "../../../pool/index.js";
5
6
  import { Branded } from "@milaboratories/helpers";
6
-
7
7
  //#region src/drivers/pframe/spec/discovered_column.d.ts
8
- interface ColumnDiscoveredKey {
8
+ export interface ColumnDiscoveredKey {
9
9
  __isDiscovered: true;
10
10
  column: ColumnUniversalId;
11
11
  path?: PathItem[];
12
12
  columnQualifications?: AxisQualification[];
13
13
  queriesQualifications?: Record<PObjectId, AxisQualification[]>;
14
14
  }
15
- type ColumnDiscoveredId = Branded<CanonicalizedJson<ColumnDiscoveredKey>, "ColumnDiscoveredId">;
15
+ export type ColumnDiscoveredId = Branded<CanonicalizedJson<ColumnDiscoveredKey>, "ColumnDiscoveredId">;
16
16
  type PathItem = {
17
17
  type: "linker";
18
18
  column: ColumnUniversalId;
19
19
  };
20
- declare function isColumnDiscoveredKey(obj: unknown): obj is ColumnDiscoveredKey;
21
- declare function isColumnDiscoveredId(str: unknown): str is ColumnDiscoveredId;
22
- declare function distillColumnDiscoveredKey(props: ColumnDiscoveredKey): ColumnDiscoveredKey;
23
- declare function createColumnDiscoveredId(props: {
20
+ export declare function isColumnDiscoveredKey(obj: unknown): obj is ColumnDiscoveredKey;
21
+ export declare function isColumnDiscoveredId(str: unknown): str is ColumnDiscoveredId;
22
+ export declare function distillColumnDiscoveredKey(props: ColumnDiscoveredKey): ColumnDiscoveredKey;
23
+ export declare function createColumnDiscoveredId(props: {
24
24
  column: ColumnUniversalId;
25
25
  path?: PathItem[];
26
26
  columnQualifications?: AxisQualification[];
27
27
  queriesQualifications?: Record<PObjectId, AxisQualification[]>;
28
28
  }): ColumnDiscoveredId;
29
- declare function createColumnDiscoveredKey(props: {
29
+ export declare function createColumnDiscoveredKey(props: {
30
30
  column: ColumnUniversalId;
31
31
  path?: PathItem[];
32
32
  columnQualifications?: AxisQualification[];
33
33
  queriesQualifications?: Record<PObjectId, AxisQualification[]>;
34
34
  }): ColumnDiscoveredKey;
35
- declare function parseColumnDiscoveredId(id: ColumnDiscoveredId): ColumnDiscoveredKey;
36
- declare function stringifyColumnDiscoveredId(id: Omit<ColumnDiscoveredKey, "__isDiscovered">): ColumnDiscoveredId;
35
+ export declare function parseColumnDiscoveredId(id: ColumnDiscoveredId): ColumnDiscoveredKey;
36
+ export declare function stringifyColumnDiscoveredId(id: Omit<ColumnDiscoveredKey, "__isDiscovered">): ColumnDiscoveredId;
37
37
  //#endregion
38
- export { ColumnDiscoveredId, ColumnDiscoveredKey, createColumnDiscoveredId, createColumnDiscoveredKey, distillColumnDiscoveredKey, isColumnDiscoveredId, isColumnDiscoveredKey, parseColumnDiscoveredId, stringifyColumnDiscoveredId };
39
38
  //# sourceMappingURL=discovered_column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovered_column.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/discovered_column.ts"],"mappings":";;;;;;;UAMiB,mBAAA;EACf,cAAA;EACA,MAAA,EAAQ,iBAAA;EACR,IAAA,GAAO,QAAA;EACP,oBAAA,GAAuB,iBAAA;EACvB,qBAAA,GAAwB,MAAA,CAAO,SAAA,EAAW,iBAAA;AAAA;AAAA,KAGhC,kBAAA,GAAqB,OAAA,CAC/B,iBAAA,CAAkB,mBAAA;AAAA,KAIf,QAAA;EACH,IAAA;EACA,MAAA,EAAQ,iBAAiB;AAAA;AAAA,iBAGX,qBAAA,CAAsB,GAAA,YAAe,GAAA,IAAO,mBAAmB;AAAA,iBAI/D,oBAAA,CAAqB,GAAA,YAAe,GAAA,IAAO,kBAAkB;AAAA,iBAK7D,0BAAA,CAA2B,KAAA,EAAO,mBAAA,GAAsB,mBAAmB;AAAA,iBAgB3E,wBAAA,CAAyB,KAAA;EACvC,MAAA,EAAQ,iBAAA;EACR,IAAA,GAAO,QAAA;EACP,oBAAA,GAAuB,iBAAA;EACvB,qBAAA,GAAwB,MAAA,CAAO,SAAA,EAAW,iBAAA;AAAA,IACxC,kBAAA;AAAA,iBAIY,yBAAA,CAA0B,KAAA;EACxC,MAAA,EAAQ,iBAAA;EACR,IAAA,GAAO,QAAA;EACP,oBAAA,GAAuB,iBAAA;EACvB,qBAAA,GAAwB,MAAA,CAAO,SAAA,EAAW,iBAAA;AAAA,IACxC,mBAAA;AAAA,iBAIY,uBAAA,CAAwB,EAAA,EAAI,kBAAA,GAAqB,mBAAmB;AAAA,iBAapE,2BAAA,CACd,EAAA,EAAI,IAAA,CAAK,mBAAA,sBACR,kBAAA"}
1
+ {"version":3,"file":"discovered_column.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/discovered_column.ts"],"mappings":";;;;;;;iBAMiB;EACf;EACA,QAAQ;EACR,OAAO;EACP,uBAAuB;EACvB,wBAAwB,OAAO,WAAW;;YAGhC,qBAAqB,QAC/B,kBAAkB;KAIf;EACH;EACA,QAAQ;;wBAGM,sBAAsB,eAAe,OAAO;wBAI5C,qBAAqB,eAAe,OAAO;wBAK3C,2BAA2B,OAAO,sBAAsB;wBAgBxD,yBAAyB;EACvC,QAAQ;EACR,OAAO;EACP,uBAAuB;EACvB,wBAAwB,OAAO,WAAW;IACxC;wBAIY,0BAA0B;EACxC,QAAQ;EACR,OAAO;EACP,uBAAuB;EACvB,wBAAwB,OAAO,WAAW;IACxC;wBAIY,wBAAwB,IAAI,qBAAqB;wBAajD,4BACd,IAAI,KAAK,yCACR"}
@@ -3,22 +3,22 @@ import { PColumnSpec } from "./spec.js";
3
3
  import { ColumnUniversalId } from "./ids.js";
4
4
  import { AnchoredPColumnId } from "./selectors.js";
5
5
  import { Branded } from "@milaboratories/helpers";
6
-
7
6
  //#region src/drivers/pframe/spec/filtered_column.d.ts
8
7
  /** Value of an axis filter */
9
- type AxisFilterValue = number | string;
8
+ export type AxisFilterValue = number | string;
10
9
  /** Axis filter by index */
11
- type AxisFilterByIdx = [number, AxisFilterValue];
10
+ export type AxisFilterByIdx = [number, AxisFilterValue];
12
11
  /** Axis filter by name */
13
- type AxisFilterByName = [string, AxisFilterValue];
12
+ export type AxisFilterByName = [string, AxisFilterValue];
14
13
  /** Axis filter */
15
- type AxisFilter = AxisFilterByIdx | AxisFilterByName;
14
+ export type AxisFilter = AxisFilterByIdx | AxisFilterByName;
16
15
  /**
17
16
  * Identifies a column derived from a CanonicalPColumnId by fixing values on certain axes,
18
17
  * thus effectively reducing the dimensionality of the original column.
19
18
  */
20
- type FilteredPColumn<CID = AnchoredPColumnId, AFI = AxisFilter> = {
21
- /** The original column identifier */source: CID;
19
+ export type FilteredPColumn<CID = AnchoredPColumnId, AFI = AxisFilter> = {
20
+ /** The original column identifier */
21
+ source: CID;
22
22
  /**
23
23
  * List of fixed axes and their corresponding values.
24
24
  * Each entry fixes one axis to a specific value, creating a slice of the multidimensional data.
@@ -28,33 +28,33 @@ type FilteredPColumn<CID = AnchoredPColumnId, AFI = AxisFilter> = {
28
28
  axisFilters: AFI[];
29
29
  };
30
30
  /** @deprecated */
31
- type FilteredPColumnId = FilteredPColumn<AnchoredPColumnId, AxisFilterByIdx>;
31
+ export type FilteredPColumnId = FilteredPColumn<AnchoredPColumnId, AxisFilterByIdx>;
32
32
  /**
33
33
  * Checks if a given value is a FilteredPColumn
34
34
  * @param id - The value to check
35
35
  * @returns True if the value is a FilteredPColumn, false otherwise
36
36
  * @deprecated use {@link isColumnFilteredKey} for the key form and `source` checks for the id form
37
37
  */
38
- declare function isFilteredPColumn(id: unknown): id is FilteredPColumn;
38
+ export declare function isFilteredPColumn(id: unknown): id is FilteredPColumn;
39
39
  /**
40
40
  * `source` is either a leaf {@link PObjectId} or a {@link ColumnDiscoveredId}.
41
41
  * Filtered never nests inside Filtered (flat-merge invariant), and Filtered is
42
42
  * never the outer wrapper around Overridden — Overridden is always outermost.
43
43
  */
44
- interface ColumnFilteredKey {
44
+ export interface ColumnFilteredKey {
45
45
  __isFiltered: true;
46
46
  source: ColumnUniversalId;
47
47
  axisFilters: AxisFilterByIdx[];
48
48
  }
49
- type ColumnFilteredId = Branded<CanonicalizedJson<ColumnFilteredKey>, "ColumnFilteredId">;
50
- declare function stringifyColumnFilteredId(key: Omit<ColumnFilteredKey, "__isFiltered">): ColumnFilteredId;
51
- declare function isColumnFilteredKey(obj: unknown): obj is ColumnFilteredKey;
52
- declare function isColumnFilteredId(id: unknown): id is ColumnFilteredId;
53
- declare function createColumnFilteredId(props: {
49
+ export type ColumnFilteredId = Branded<CanonicalizedJson<ColumnFilteredKey>, "ColumnFilteredId">;
50
+ export declare function stringifyColumnFilteredId(key: Omit<ColumnFilteredKey, "__isFiltered">): ColumnFilteredId;
51
+ export declare function isColumnFilteredKey(obj: unknown): obj is ColumnFilteredKey;
52
+ export declare function isColumnFilteredId(id: unknown): id is ColumnFilteredId;
53
+ export declare function createColumnFilteredId(props: {
54
54
  source: ColumnUniversalId;
55
55
  axisFilters: AxisFilterByIdx[];
56
56
  }): ColumnFilteredId;
57
- declare function createColumnFilteredKey(props: {
57
+ export declare function createColumnFilteredKey(props: {
58
58
  source: ColumnUniversalId;
59
59
  axisFilters: AxisFilterByIdx[];
60
60
  }): ColumnFilteredKey;
@@ -67,7 +67,6 @@ declare function createColumnFilteredKey(props: {
67
67
  * `reconstructSpecFromId` (host, id-walking) and `ColumnFilteredRecipe.getSpec`
68
68
  * (sandbox, recipe-graph walking).
69
69
  */
70
- declare function applyAxisFilters(spec: PColumnSpec, axisFilters: AxisFilterByIdx[]): PColumnSpec;
70
+ export declare function applyAxisFilters(spec: PColumnSpec, axisFilters: AxisFilterByIdx[]): PColumnSpec;
71
71
  //#endregion
72
- export { AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, ColumnFilteredId, ColumnFilteredKey, FilteredPColumn, FilteredPColumnId, applyAxisFilters, createColumnFilteredId, createColumnFilteredKey, isColumnFilteredId, isColumnFilteredKey, isFilteredPColumn, stringifyColumnFilteredId };
73
72
  //# sourceMappingURL=filtered_column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filtered_column.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/filtered_column.ts"],"mappings":";;;;;;;;KAOY,eAAA;AAAZ;AAAA,KAGY,eAAA,YAA2B,eAAe;;KAG1C,gBAAA,YAA4B,eAAe;AAN5B;AAAA,KASf,UAAA,GAAa,eAAA,GAAkB,gBAAgB;;;;AANL;KAY1C,eAAA,OAAsB,iBAAA,QAAyB,UAAA;EAT/B,qCAW1B,MAAA,EAAQ,GAAA;EAX6C;AAAA;AAGvD;;;;EAgBE,WAAA,EAAa,GAAA;AAAA;;KAIH,iBAAA,GAAoB,eAAA,CAAgB,iBAAA,EAAmB,eAAA;;;;;;;iBAQnD,iBAAA,CAAkB,EAAA,YAAc,EAAA,IAAM,eAAe;;;;;;UASpD,iBAAA;EACf,YAAA;EACA,MAAA,EAAQ,iBAAA;EACR,WAAA,EAAa,eAAe;AAAA;AAAA,KAGlB,gBAAA,GAAmB,OAAA,CAAQ,iBAAA,CAAkB,iBAAA;AAAA,iBAEzC,yBAAA,CACd,GAAA,EAAK,IAAA,CAAK,iBAAA,oBACT,gBAAA;AAAA,iBAIa,mBAAA,CAAoB,GAAA,YAAe,GAAA,IAAO,iBAAiB;AAAA,iBAI3D,kBAAA,CAAmB,EAAA,YAAc,EAAA,IAAM,gBAAgB;AAAA,iBAKvD,sBAAA,CAAuB,KAAA;EACrC,MAAA,EAAQ,iBAAA;EACR,WAAA,EAAa,eAAA;AAAA,IACX,gBAAA;AAAA,iBAIY,uBAAA,CAAwB,KAAA;EACtC,MAAA,EAAQ,iBAAA;EACR,WAAA,EAAa,eAAA;AAAA,IACX,iBAAA;AA1CJ;;;;;;;;AAAqE;AAArE,iBA0DgB,gBAAA,CAAiB,IAAA,EAAM,WAAA,EAAa,WAAA,EAAa,eAAA,KAAoB,WAAA"}
1
+ {"version":3,"file":"filtered_column.d.ts","names":[],"sources":["../../../../src/drivers/pframe/spec/filtered_column.ts"],"mappings":";;;;;;;YAOY;;YAGA,2BAA2B;;YAG3B,4BAA4B;;YAG5B,aAAa,kBAAkB;;;;;YAM/B,gBAAgB,MAAM,mBAAmB,MAAM;;EAEzD,QAAQ;;;;;;;EAQR,aAAa;;;YAIH,oBAAoB,gBAAgB,mBAAmB;;;;;;;wBAQnD,kBAAkB,cAAc,MAAM;;;;;;iBASrC;EACf;EACA,QAAQ;EACR,aAAa;;YAGH,mBAAmB,QAAQ,kBAAkB;wBAEzC,0BACd,KAAK,KAAK,qCACT;wBAIa,oBAAoB,eAAe,OAAO;wBAI1C,mBAAmB,cAAc,MAAM;wBAKvC,uBAAuB;EACrC,QAAQ;EACR,aAAa;IACX;wBAIY,wBAAwB;EACtC,QAAQ;EACR,aAAa;IACX;;;;;;;;;;wBAgBY,iBAAiB,MAAM,aAAa,aAAa,oBAAoB"}
@@ -28,6 +28,153 @@ function parseColumnIdSafely(str, fallback = void 0) {
28
28
  return fallback;
29
29
  }
30
30
  }
31
+ /** Whether `value` is any of the five key forms a {@link ColumnUniversalId} serializes. */
32
+ function isColumnUniversalKey(value) {
33
+ return require_spec.isPObjectKey(value) || require_filtered_column.isColumnFilteredKey(value) || require_discovered_column.isColumnDiscoveredKey(value) || require_overridden.isColumnOverriddenKey(value);
34
+ }
35
+ function isColumnUniversalId(value) {
36
+ const key = (0, es_toolkit.isString)(value) ? require_json.parseJsonSafely(value, false) : false;
37
+ return key === false ? false : isColumnUniversalKey(key);
38
+ }
39
+ /**
40
+ * Take a value out of however many `JSON.stringify` passes wrapped it, or `undefined`
41
+ * when `s` is not JSON at all.
42
+ *
43
+ * The one definition of "how a value can be hiding inside a string" — a block id can sit
44
+ * under several layers of escaping, and a walk over object properties reaches none of
45
+ * them. Callers differ in what they do at the bottom (this deliberately says nothing
46
+ * about which values count as identifiers), but they must agree on the mechanics, or
47
+ * "what carries a block id" ends up with two answers that drift.
48
+ *
49
+ * The gate is cheap and does NOT require any marker in the body: a filtered id whose
50
+ * innermost leaf is a {@link LocalPObjectKey} carries no `__isRef`, so demanding one
51
+ * would miss it.
52
+ */
53
+ function peelJsonLayers(s) {
54
+ let current = s;
55
+ let layers = 0;
56
+ for (;;) {
57
+ const c0 = current.charCodeAt(0);
58
+ if (c0 !== 123 && c0 !== 34) return void 0;
59
+ let parsed;
60
+ try {
61
+ parsed = JSON.parse(current);
62
+ } catch {
63
+ return;
64
+ }
65
+ if ((0, es_toolkit.isString)(parsed)) {
66
+ if (parsed.length >= current.length) return void 0;
67
+ current = parsed;
68
+ layers++;
69
+ continue;
70
+ }
71
+ return {
72
+ value: parsed,
73
+ layers
74
+ };
75
+ }
76
+ }
77
+ /**
78
+ * Rewrite every block id buried inside a column id.
79
+ *
80
+ * A {@link GlobalPObjectKey} leaf names its upstream by block id, and the wrapper key forms
81
+ * nest by *string* id rather than by object — so a block id can sit under several layers of
82
+ * JSON escaping, and `queriesQualifications` carries one in a map *key*. A caller that only
83
+ * walks object properties never reaches any of them, which is why moving a column id between
84
+ * projects needs this rather than a generic walk.
85
+ *
86
+ * Recursion re-canonicalizes bottom-up, so every level is canonical afterwards — including
87
+ * the rebuilt `queriesQualifications`, whose keys the canonical form sorts. That is the
88
+ * property a textual rewrite cannot have: redirecting an id that is a map key changes what
89
+ * the sorted order should be, and only rebuilding restores it.
90
+ *
91
+ * Returns the input itself when no block id changed, so a caller mapping ids to themselves
92
+ * gets its value back byte-for-byte and never re-serializes a stored id. Any `string` is
93
+ * accepted for the same reason: a caller sweeping a params object cannot know which of its
94
+ * strings are ids, and one that is not is returned as-is.
95
+ *
96
+ * @param remapBlockId old block id → new block id. Throw from it to reject an id that cannot
97
+ * be mapped.
98
+ */
99
+ function remapColumnIdBlockIds(id, remapBlockId) {
100
+ return ((0, es_toolkit.isString)(id) ? remapIdString(id, remapBlockId) : remapKey(id, remapBlockId)) ?? id;
101
+ }
102
+ /**
103
+ * The string half of {@link remapColumnIdBlockIds}. `undefined` means "nothing to change",
104
+ * which is what keeps an unaffected id from being re-serialized.
105
+ *
106
+ * Escape padding is peeled and put back, so an id that reached params through an extra
107
+ * `JSON.stringify` is rewritten in place and comes back wrapped as it was found. A string
108
+ * that does not peel to a column key is left alone: params hold ordinary strings too.
109
+ */
110
+ function remapIdString(id, remapBlockId) {
111
+ const peeled = peelJsonLayers(id);
112
+ if (peeled === void 0 || !isColumnUniversalKey(peeled.value)) return void 0;
113
+ const remappedKey = remapKey(peeled.value, remapBlockId);
114
+ if (remappedKey === void 0) return void 0;
115
+ let rebuilt = stringifyColumnId(remappedKey);
116
+ for (let layer = 0; layer < peeled.layers; layer++) rebuilt = JSON.stringify(rebuilt);
117
+ return rebuilt;
118
+ }
119
+ /** The key half of {@link remapColumnIdBlockIds}. `undefined` means "nothing to change". */
120
+ function remapKey(key, remapBlockId) {
121
+ if (require_spec.isGlobalPObjectKey(key)) {
122
+ const blockId = remapBlockId(key.blockId);
123
+ return blockId === key.blockId ? void 0 : {
124
+ ...key,
125
+ blockId
126
+ };
127
+ }
128
+ if (require_spec.isLocalPObjectKey(key)) return void 0;
129
+ if (require_filtered_column.isColumnFilteredKey(key)) {
130
+ const source = remapIdString(key.source, remapBlockId);
131
+ return source === void 0 ? void 0 : {
132
+ ...key,
133
+ source
134
+ };
135
+ }
136
+ if (require_overridden.isColumnOverriddenKey(key)) {
137
+ const source = remapIdString(key.source, remapBlockId);
138
+ return source === void 0 ? void 0 : {
139
+ ...key,
140
+ source
141
+ };
142
+ }
143
+ if (require_discovered_column.isColumnDiscoveredKey(key)) return remapDiscoveredKey(key, remapBlockId);
144
+ throw new Error(`remapColumnIdBlockIds: unrecognized column id structure: ${JSON.stringify(key)}`);
145
+ }
146
+ /**
147
+ * Discovered is the only key form carrying more than one nested id: the column it
148
+ * discovered, one per linker hop, and one per entry in `queriesQualifications` — where the
149
+ * id is the map key, not the value.
150
+ */
151
+ function remapDiscoveredKey(key, remapBlockId) {
152
+ const column = remapIdString(key.column, remapBlockId);
153
+ let pathChanged = false;
154
+ const path = key.path?.map((item) => {
155
+ const itemColumn = remapIdString(item.column, remapBlockId);
156
+ if (itemColumn === void 0) return item;
157
+ pathChanged = true;
158
+ return {
159
+ ...item,
160
+ column: itemColumn
161
+ };
162
+ });
163
+ let queriesChanged = false;
164
+ const queriesQualifications = key.queriesQualifications && Object.fromEntries(Object.entries(key.queriesQualifications).map(([queryId, qualifications]) => {
165
+ const remappedId = remapIdString(queryId, remapBlockId);
166
+ if (remappedId === void 0) return [queryId, qualifications];
167
+ queriesChanged = true;
168
+ return [remappedId, qualifications];
169
+ }));
170
+ if (column === void 0 && !pathChanged && !queriesChanged) return void 0;
171
+ return {
172
+ ...key,
173
+ ...column !== void 0 ? { column } : {},
174
+ ...pathChanged ? { path } : {},
175
+ ...queriesChanged ? { queriesQualifications } : {}
176
+ };
177
+ }
31
178
  /**
32
179
  * Walk a rich column id down to its terminal leaf {@link PObjectId}.
33
180
  */
@@ -69,9 +216,13 @@ function reconstructSpecFromId(baseSpec, id) {
69
216
  }
70
217
  //#endregion
71
218
  exports.extractPObjectId = extractPObjectId;
219
+ exports.isColumnUniversalId = isColumnUniversalId;
220
+ exports.isColumnUniversalKey = isColumnUniversalKey;
72
221
  exports.parseColumnId = parseColumnId;
73
222
  exports.parseColumnIdSafely = parseColumnIdSafely;
223
+ exports.peelJsonLayers = peelJsonLayers;
74
224
  exports.reconstructSpecFromId = reconstructSpecFromId;
225
+ exports.remapColumnIdBlockIds = remapColumnIdBlockIds;
75
226
  exports.stringifyColumnId = stringifyColumnId;
76
227
 
77
228
  //# sourceMappingURL=ids.cjs.map