@platforma-sdk/model 1.63.12 → 1.65.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 (162) hide show
  1. package/dist/columns/column_collection_builder.cjs +105 -92
  2. package/dist/columns/column_collection_builder.cjs.map +1 -1
  3. package/dist/columns/column_collection_builder.d.ts +13 -12
  4. package/dist/columns/column_collection_builder.d.ts.map +1 -1
  5. package/dist/columns/column_collection_builder.js +107 -94
  6. package/dist/columns/column_collection_builder.js.map +1 -1
  7. package/dist/columns/column_selector.cjs +8 -80
  8. package/dist/columns/column_selector.cjs.map +1 -1
  9. package/dist/columns/column_selector.d.ts +6 -14
  10. package/dist/columns/column_selector.d.ts.map +1 -1
  11. package/dist/columns/column_selector.js +6 -77
  12. package/dist/columns/column_selector.js.map +1 -1
  13. package/dist/columns/column_snapshot.cjs +3 -3
  14. package/dist/columns/column_snapshot.cjs.map +1 -1
  15. package/dist/columns/column_snapshot.d.ts +3 -3
  16. package/dist/columns/column_snapshot.d.ts.map +1 -1
  17. package/dist/columns/column_snapshot.js +3 -3
  18. package/dist/columns/column_snapshot.js.map +1 -1
  19. package/dist/columns/column_snapshot_provider.cjs +1 -1
  20. package/dist/columns/column_snapshot_provider.cjs.map +1 -1
  21. package/dist/columns/column_snapshot_provider.d.ts +8 -8
  22. package/dist/columns/column_snapshot_provider.d.ts.map +1 -1
  23. package/dist/columns/column_snapshot_provider.js +1 -1
  24. package/dist/columns/column_snapshot_provider.js.map +1 -1
  25. package/dist/columns/ctx_column_sources.cjs.map +1 -1
  26. package/dist/columns/ctx_column_sources.d.ts +2 -1
  27. package/dist/columns/ctx_column_sources.d.ts.map +1 -1
  28. package/dist/columns/ctx_column_sources.js.map +1 -1
  29. package/dist/columns/expand_by_partition.cjs +106 -0
  30. package/dist/columns/expand_by_partition.cjs.map +1 -0
  31. package/dist/columns/expand_by_partition.d.ts +33 -0
  32. package/dist/columns/expand_by_partition.d.ts.map +1 -0
  33. package/dist/columns/expand_by_partition.js +105 -0
  34. package/dist/columns/expand_by_partition.js.map +1 -0
  35. package/dist/columns/index.cjs +1 -0
  36. package/dist/columns/index.d.ts +4 -3
  37. package/dist/columns/index.js +1 -0
  38. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs +26 -0
  39. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs.map +1 -0
  40. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js +25 -0
  41. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js.map +1 -0
  42. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs +68 -0
  43. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs.map +1 -0
  44. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js +67 -0
  45. package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js.map +1 -0
  46. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs +27 -17
  47. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs.map +1 -1
  48. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts +4 -0
  49. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts.map +1 -1
  50. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js +28 -18
  51. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js.map +1 -1
  52. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +258 -175
  53. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
  54. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts +37 -21
  55. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts.map +1 -1
  56. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +261 -175
  57. package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
  58. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs +64 -0
  59. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs.map +1 -0
  60. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts +17 -0
  61. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts.map +1 -0
  62. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js +63 -0
  63. package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js.map +1 -0
  64. package/dist/components/PlDataTable/createPlDataTable/index.cjs +2 -1
  65. package/dist/components/PlDataTable/createPlDataTable/index.cjs.map +1 -1
  66. package/dist/components/PlDataTable/createPlDataTable/index.d.ts +2 -1
  67. package/dist/components/PlDataTable/createPlDataTable/index.d.ts.map +1 -1
  68. package/dist/components/PlDataTable/createPlDataTable/index.js +2 -1
  69. package/dist/components/PlDataTable/createPlDataTable/index.js.map +1 -1
  70. package/dist/components/PlDataTable/createPlDataTable/utils.cjs +109 -0
  71. package/dist/components/PlDataTable/createPlDataTable/utils.cjs.map +1 -0
  72. package/dist/components/PlDataTable/createPlDataTable/utils.d.ts +19 -0
  73. package/dist/components/PlDataTable/createPlDataTable/utils.d.ts.map +1 -0
  74. package/dist/components/PlDataTable/createPlDataTable/utils.js +102 -0
  75. package/dist/components/PlDataTable/createPlDataTable/utils.js.map +1 -0
  76. package/dist/components/PlDataTable/index.cjs +3 -1
  77. package/dist/components/PlDataTable/index.d.ts +5 -3
  78. package/dist/components/PlDataTable/index.js +3 -1
  79. package/dist/components/PlDataTable/labels.cjs +25 -11
  80. package/dist/components/PlDataTable/labels.cjs.map +1 -1
  81. package/dist/components/PlDataTable/labels.js +25 -11
  82. package/dist/components/PlDataTable/labels.js.map +1 -1
  83. package/dist/components/PlDataTable/state-migration.cjs +8 -2
  84. package/dist/components/PlDataTable/state-migration.cjs.map +1 -1
  85. package/dist/components/PlDataTable/state-migration.d.ts.map +1 -1
  86. package/dist/components/PlDataTable/state-migration.js +8 -2
  87. package/dist/components/PlDataTable/state-migration.js.map +1 -1
  88. package/dist/components/PlDataTable/typesV5.d.ts +23 -15
  89. package/dist/components/PlDataTable/typesV5.d.ts.map +1 -1
  90. package/dist/components/index.cjs +3 -1
  91. package/dist/components/index.d.ts +4 -2
  92. package/dist/components/index.js +3 -1
  93. package/dist/index.cjs +13 -9
  94. package/dist/index.d.ts +9 -7
  95. package/dist/index.js +6 -4
  96. package/dist/labels/derive_distinct_labels.cjs +39 -27
  97. package/dist/labels/derive_distinct_labels.cjs.map +1 -1
  98. package/dist/labels/derive_distinct_labels.d.ts +15 -15
  99. package/dist/labels/derive_distinct_labels.d.ts.map +1 -1
  100. package/dist/labels/derive_distinct_labels.js +39 -27
  101. package/dist/labels/derive_distinct_labels.js.map +1 -1
  102. package/dist/labels/index.cjs +0 -1
  103. package/dist/labels/index.d.ts +1 -2
  104. package/dist/labels/index.js +0 -1
  105. package/dist/package.cjs +1 -1
  106. package/dist/package.js +1 -1
  107. package/dist/render/api.cjs +10 -3
  108. package/dist/render/api.cjs.map +1 -1
  109. package/dist/render/api.d.ts +2 -2
  110. package/dist/render/api.d.ts.map +1 -1
  111. package/dist/render/api.js +10 -3
  112. package/dist/render/api.js.map +1 -1
  113. package/dist/render/util/column_collection.cjs +3 -3
  114. package/dist/render/util/column_collection.cjs.map +1 -1
  115. package/dist/render/util/column_collection.d.ts.map +1 -1
  116. package/dist/render/util/column_collection.js +3 -3
  117. package/dist/render/util/column_collection.js.map +1 -1
  118. package/dist/render/util/label.cjs +2 -2
  119. package/dist/render/util/label.cjs.map +1 -1
  120. package/dist/render/util/label.js +2 -2
  121. package/dist/render/util/label.js.map +1 -1
  122. package/dist/render/util/pcolumn_data.cjs.map +1 -1
  123. package/dist/render/util/pcolumn_data.d.ts +2 -2
  124. package/dist/render/util/pcolumn_data.d.ts.map +1 -1
  125. package/dist/render/util/pcolumn_data.js.map +1 -1
  126. package/package.json +7 -7
  127. package/src/columns/column_collection_builder.test.ts +40 -27
  128. package/src/columns/column_collection_builder.ts +176 -131
  129. package/src/columns/column_selector.test.ts +17 -399
  130. package/src/columns/column_selector.ts +14 -127
  131. package/src/columns/column_snapshot.ts +5 -5
  132. package/src/columns/column_snapshot_provider.ts +11 -10
  133. package/src/columns/ctx_column_sources.ts +2 -2
  134. package/src/columns/expand_by_partition.test.ts +4 -4
  135. package/src/columns/expand_by_partition.ts +4 -3
  136. package/src/columns/index.ts +1 -0
  137. package/src/components/PlDataTable/createPlDataTable/createPTableDefV2.ts +42 -0
  138. package/src/components/PlDataTable/createPlDataTable/createPTableDefV3.ts +89 -0
  139. package/src/components/PlDataTable/createPlDataTable/createPlDataTableV2.ts +51 -19
  140. package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +500 -313
  141. package/src/components/PlDataTable/createPlDataTable/discoverColumns.ts +122 -0
  142. package/src/components/PlDataTable/createPlDataTable/index.ts +4 -2
  143. package/src/components/PlDataTable/createPlDataTable/utils.test.ts +257 -0
  144. package/src/components/PlDataTable/createPlDataTable/utils.ts +160 -0
  145. package/src/components/PlDataTable/index.ts +15 -2
  146. package/src/components/PlDataTable/labels.ts +29 -18
  147. package/src/components/PlDataTable/state-migration.ts +6 -1
  148. package/src/components/PlDataTable/typesV5.ts +25 -12
  149. package/src/labels/derive_distinct_labels.test.ts +143 -45
  150. package/src/labels/derive_distinct_labels.ts +102 -49
  151. package/src/labels/index.ts +0 -1
  152. package/src/render/api.ts +15 -5
  153. package/src/render/util/column_collection.ts +4 -3
  154. package/src/render/util/label.ts +2 -2
  155. package/src/render/util/pcolumn_data.ts +5 -3
  156. package/dist/labels/write_labels_to_specs.cjs +0 -14
  157. package/dist/labels/write_labels_to_specs.cjs.map +0 -1
  158. package/dist/labels/write_labels_to_specs.d.ts +0 -7
  159. package/dist/labels/write_labels_to_specs.d.ts.map +0 -1
  160. package/dist/labels/write_labels_to_specs.js +0 -13
  161. package/dist/labels/write_labels_to_specs.js.map +0 -1
  162. package/src/labels/write_labels_to_specs.ts +0 -12
package/src/render/api.ts CHANGED
@@ -686,10 +686,12 @@ export abstract class RenderCtxBase<
686
686
 
687
687
  // TODO remove all non-PColumn fields
688
688
  public createPFrame(
689
- def: PFrameDef<PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>>,
689
+ def: PFrameDef<
690
+ PColumn<undefined | PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>
691
+ >,
690
692
  ): PFrameHandle | undefined {
691
- this.verifyInlineAndExplicitColumnsSupport(def);
692
693
  if (!allPColumnsReady(def)) return undefined;
694
+ this.verifyInlineAndExplicitColumnsSupport(def);
693
695
  return this.ctx.createPFrame(def.map((c) => transformPColumnData(c)));
694
696
  }
695
697
 
@@ -731,11 +733,19 @@ export abstract class RenderCtxBase<
731
733
  return this.ctx.createPTable(mapPTableDef(rawDef, (po) => transformPColumnData(po)));
732
734
  }
733
735
 
734
- public createPTableV2(def: PTableDefV2<PColumn<PColumnDataUniversal>>): PTableHandle | undefined {
736
+ public createPTableV2(
737
+ def: PTableDefV2<PColumn<undefined | PColumnDataUniversal>>,
738
+ ): PTableHandle | undefined {
735
739
  const columns = collectSpecQueryColumns(def.query);
736
- this.verifyInlineAndExplicitColumnsSupport(columns);
737
740
  if (!allPColumnsReady(columns)) return undefined;
738
- return this.ctx.createPTableV2(mapPTableDefV2(def, (po) => transformPColumnData(po)));
741
+ this.verifyInlineAndExplicitColumnsSupport(columns);
742
+ return this.ctx.createPTableV2(
743
+ mapPTableDefV2(def, (po) => {
744
+ if (po.data === undefined)
745
+ throw new Error("unreachable: column data undefined after readiness check");
746
+ return transformPColumnData({ id: po.id, spec: po.spec, data: po.data });
747
+ }),
748
+ );
739
749
  }
740
750
 
741
751
  /** @deprecated scheduled for removal from SDK */
@@ -126,8 +126,8 @@ type IntermediateDirectEntry = {
126
126
  // Union type for intermediate processing
127
127
  type IntermediateColumnEntry = IntermediateSplitEntry | IntermediateDirectEntry;
128
128
 
129
- function splitFiltersToTrace(splitFilters?: AxisFilterInfo[]) {
130
- if (!splitFilters) return undefined;
129
+ function splitFiltersToExtraTrace(splitFilters?: AxisFilterInfo[]) {
130
+ if (splitFilters === undefined) return undefined;
131
131
  return splitFilters.map((filter) => ({
132
132
  type: `split:${canonicalizeAxisId(filter.axisId)}`,
133
133
  label: filter.label,
@@ -467,7 +467,8 @@ export class PColumnCollection {
467
467
  intermediateResults,
468
468
  (entry) => ({
469
469
  spec: entry.spec,
470
- suffixTrace: entry.type === "split" ? splitFiltersToTrace(entry.axisFilters) : undefined,
470
+ extraTrace:
471
+ entry.type === "split" ? splitFiltersToExtraTrace(entry.axisFilters) : undefined,
471
472
  }),
472
473
  labelOps,
473
474
  );
@@ -20,6 +20,6 @@ export function deriveLabels<T>(
20
20
  options: DeriveLabelsOptions = {},
21
21
  ): WithLabel<T>[] {
22
22
  const specs = values.map(getSpec);
23
- const labeled = deriveDistinctLabels(specs, options);
24
- return labeled.map((l, i) => ({ value: values[i], label: l.label }));
23
+ const labels = deriveDistinctLabels(specs, options);
24
+ return labels.map((label, i) => ({ value: values[i], label }));
25
25
  }
@@ -546,7 +546,7 @@ export function convertOrParsePColumnData(
546
546
  }
547
547
 
548
548
  export function isPColumnReady(
549
- c: PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>,
549
+ c: PColumn<undefined | PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>,
550
550
  ): c is PColumn<PColumnDataUniversal> | PColumnLazy<PColumnDataUniversal> {
551
551
  const isValues = (d: PColumnDataUniversal): d is PColumnValues => Array.isArray(d);
552
552
  const isAccessor = (d: PColumnDataUniversal): d is TreeNodeAccessor =>
@@ -561,14 +561,16 @@ export function isPColumnReady(
561
561
  } else if (isDataInfo(data)) {
562
562
  visitDataInfo(data, (v) => (ready &&= v.getIsReadyOrError()));
563
563
  } else if (!isValues(data)) {
564
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
565
564
  throw Error(`unsupported column data type: ${data satisfies never}`);
566
565
  }
567
566
  return ready;
568
567
  }
569
568
 
570
569
  export function allPColumnsReady(
571
- columns: (PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>)[],
570
+ columns: (
571
+ | PColumn<undefined | PColumnDataUniversal>
572
+ | PColumnLazy<undefined | PColumnDataUniversal>
573
+ )[],
572
574
  ): columns is (PColumn<PColumnDataUniversal> | PColumnLazy<PColumnDataUniversal>)[] {
573
575
  return columns.every(isPColumnReady);
574
576
  }
@@ -1,14 +0,0 @@
1
- require("../_virtual/_rolldown/runtime.cjs");
2
- let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common");
3
- //#region src/labels/write_labels_to_specs.ts
4
- function writeLabelsToSpecs(items) {
5
- for (const { value, label } of items) {
6
- value.spec.annotations = value.spec.annotations ?? {};
7
- value.spec.annotations[_milaboratories_pl_model_common.Annotation.Label] = label;
8
- value.spec.annotations["pl7.app/label/isDerived"] = "true";
9
- }
10
- }
11
- //#endregion
12
- exports.writeLabelsToSpecs = writeLabelsToSpecs;
13
-
14
- //# sourceMappingURL=write_labels_to_specs.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write_labels_to_specs.cjs","names":["Annotation"],"sources":["../../src/labels/write_labels_to_specs.ts"],"sourcesContent":["import { Annotation } from \"@milaboratories/pl-model-common\";\nimport type { ColumnSnapshot } from \"../columns\";\nimport type { WithLabel } from \"./derive_distinct_labels\";\n\nexport function writeLabelsToSpecs(items: WithLabel<ColumnSnapshot>[]): void {\n for (const { value, label } of items) {\n // @ts-expect-error - annotations are mutable at runtime, even if not in the type\n value.spec.annotations = value.spec.annotations ?? {};\n value.spec.annotations[Annotation.Label] = label;\n value.spec.annotations[\"pl7.app/label/isDerived\"] = \"true\";\n }\n}\n"],"mappings":";;;AAIA,SAAgB,mBAAmB,OAA0C;AAC3E,MAAK,MAAM,EAAE,OAAO,WAAW,OAAO;AAEpC,QAAM,KAAK,cAAc,MAAM,KAAK,eAAe,EAAE;AACrD,QAAM,KAAK,YAAYA,gCAAAA,WAAW,SAAS;AAC3C,QAAM,KAAK,YAAY,6BAA6B"}
@@ -1,7 +0,0 @@
1
- import { WithLabel } from "./derive_distinct_labels.js";
2
- import { ColumnSnapshot } from "../columns/column_snapshot.js";
3
- //#region src/labels/write_labels_to_specs.d.ts
4
- declare function writeLabelsToSpecs(items: WithLabel<ColumnSnapshot>[]): void;
5
- //#endregion
6
- export { writeLabelsToSpecs };
7
- //# sourceMappingURL=write_labels_to_specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write_labels_to_specs.d.ts","names":[],"sources":["../../src/labels/write_labels_to_specs.ts"],"mappings":";;;iBAIgB,kBAAA,CAAmB,KAAA,EAAO,SAAA,CAAU,cAAA"}
@@ -1,13 +0,0 @@
1
- import { Annotation } from "@milaboratories/pl-model-common";
2
- //#region src/labels/write_labels_to_specs.ts
3
- function writeLabelsToSpecs(items) {
4
- for (const { value, label } of items) {
5
- value.spec.annotations = value.spec.annotations ?? {};
6
- value.spec.annotations[Annotation.Label] = label;
7
- value.spec.annotations["pl7.app/label/isDerived"] = "true";
8
- }
9
- }
10
- //#endregion
11
- export { writeLabelsToSpecs };
12
-
13
- //# sourceMappingURL=write_labels_to_specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write_labels_to_specs.js","names":[],"sources":["../../src/labels/write_labels_to_specs.ts"],"sourcesContent":["import { Annotation } from \"@milaboratories/pl-model-common\";\nimport type { ColumnSnapshot } from \"../columns\";\nimport type { WithLabel } from \"./derive_distinct_labels\";\n\nexport function writeLabelsToSpecs(items: WithLabel<ColumnSnapshot>[]): void {\n for (const { value, label } of items) {\n // @ts-expect-error - annotations are mutable at runtime, even if not in the type\n value.spec.annotations = value.spec.annotations ?? {};\n value.spec.annotations[Annotation.Label] = label;\n value.spec.annotations[\"pl7.app/label/isDerived\"] = \"true\";\n }\n}\n"],"mappings":";;AAIA,SAAgB,mBAAmB,OAA0C;AAC3E,MAAK,MAAM,EAAE,OAAO,WAAW,OAAO;AAEpC,QAAM,KAAK,cAAc,MAAM,KAAK,eAAe,EAAE;AACrD,QAAM,KAAK,YAAY,WAAW,SAAS;AAC3C,QAAM,KAAK,YAAY,6BAA6B"}
@@ -1,12 +0,0 @@
1
- import { Annotation } from "@milaboratories/pl-model-common";
2
- import type { ColumnSnapshot } from "../columns";
3
- import type { WithLabel } from "./derive_distinct_labels";
4
-
5
- export function writeLabelsToSpecs(items: WithLabel<ColumnSnapshot>[]): void {
6
- for (const { value, label } of items) {
7
- // @ts-expect-error - annotations are mutable at runtime, even if not in the type
8
- value.spec.annotations = value.spec.annotations ?? {};
9
- value.spec.annotations[Annotation.Label] = label;
10
- value.spec.annotations["pl7.app/label/isDerived"] = "true";
11
- }
12
- }