@platforma-sdk/model 1.79.27 → 1.80.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.
- package/dist/block_model.d.ts +2 -0
- package/dist/block_model.d.ts.map +1 -1
- package/dist/columns/column.cjs +28 -0
- package/dist/columns/column.cjs.map +1 -0
- package/dist/columns/column.d.ts +30 -0
- package/dist/columns/column.d.ts.map +1 -0
- package/dist/columns/column.js +27 -0
- package/dist/columns/column.js.map +1 -0
- package/dist/columns/column_lazy.cjs +248 -0
- package/dist/columns/column_lazy.cjs.map +1 -0
- package/dist/columns/column_lazy.d.ts +137 -0
- package/dist/columns/column_lazy.d.ts.map +1 -0
- package/dist/columns/column_lazy.js +245 -0
- package/dist/columns/column_lazy.js.map +1 -0
- package/dist/columns/column_providers/index.cjs +62 -0
- package/dist/columns/column_providers/index.cjs.map +1 -0
- package/dist/columns/column_providers/index.d.ts +30 -0
- package/dist/columns/column_providers/index.d.ts.map +1 -0
- package/dist/columns/column_providers/index.js +53 -0
- package/dist/columns/column_providers/index.js.map +1 -0
- package/dist/columns/column_providers/providers.cjs +123 -0
- package/dist/columns/column_providers/providers.cjs.map +1 -0
- package/dist/columns/column_providers/providers.d.ts +75 -0
- package/dist/columns/column_providers/providers.d.ts.map +1 -0
- package/dist/columns/column_providers/providers.js +118 -0
- package/dist/columns/column_providers/providers.js.map +1 -0
- package/dist/columns/column_providers/types.d.ts +23 -0
- package/dist/columns/column_providers/types.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.cjs +180 -0
- package/dist/columns/column_recipes/column_discovered_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts +120 -0
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_discovered_recipe.js +180 -0
- package/dist/columns/column_recipes/column_discovered_recipe.js.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.cjs +133 -0
- package/dist/columns/column_recipes/column_filtered_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts +75 -0
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_filtered_recipe.js +133 -0
- package/dist/columns/column_recipes/column_filtered_recipe.js.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.cjs +101 -0
- package/dist/columns/column_recipes/column_overrided_recipe.cjs.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts +73 -0
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts.map +1 -0
- package/dist/columns/column_recipes/column_overrided_recipe.js +101 -0
- package/dist/columns/column_recipes/column_overrided_recipe.js.map +1 -0
- package/dist/columns/column_recipes/index.cjs +72 -0
- package/dist/columns/column_recipes/index.cjs.map +1 -0
- package/dist/columns/column_recipes/index.d.ts +52 -0
- package/dist/columns/column_recipes/index.d.ts.map +1 -0
- package/dist/columns/column_recipes/index.js +68 -0
- package/dist/columns/column_recipes/index.js.map +1 -0
- package/dist/columns/column_recipes/leaf_rebrand.cjs +22 -0
- package/dist/columns/column_recipes/leaf_rebrand.cjs.map +1 -0
- package/dist/columns/column_recipes/leaf_rebrand.js +22 -0
- package/dist/columns/column_recipes/leaf_rebrand.js.map +1 -0
- package/dist/columns/column_recipes/types.d.ts +101 -0
- package/dist/columns/column_recipes/types.d.ts.map +1 -0
- package/dist/columns/columns_collection.cjs +124 -0
- package/dist/columns/columns_collection.cjs.map +1 -0
- package/dist/columns/columns_collection.d.ts +64 -0
- package/dist/columns/columns_collection.d.ts.map +1 -0
- package/dist/columns/columns_collection.js +122 -0
- package/dist/columns/columns_collection.js.map +1 -0
- package/dist/columns/derive_axis_values_labels.cjs +76 -0
- package/dist/columns/derive_axis_values_labels.cjs.map +1 -0
- package/dist/columns/derive_axis_values_labels.d.ts +30 -0
- package/dist/columns/derive_axis_values_labels.d.ts.map +1 -0
- package/dist/columns/derive_axis_values_labels.js +76 -0
- package/dist/columns/derive_axis_values_labels.js.map +1 -0
- package/dist/columns/expand_by_partition.cjs +53 -56
- package/dist/columns/expand_by_partition.cjs.map +1 -1
- package/dist/columns/expand_by_partition.d.ts +22 -18
- package/dist/columns/expand_by_partition.d.ts.map +1 -1
- package/dist/columns/expand_by_partition.js +55 -58
- package/dist/columns/expand_by_partition.js.map +1 -1
- package/dist/columns/index.cjs +44 -18
- package/dist/columns/index.d.ts +15 -7
- package/dist/columns/index.js +12 -6
- package/dist/columns/utils.cjs +186 -0
- package/dist/columns/utils.cjs.map +1 -0
- package/dist/columns/utils.d.ts +96 -0
- package/dist/columns/utils.d.ts.map +1 -0
- package/dist/columns/utils.js +179 -0
- package/dist/columns/utils.js.map +1 -0
- package/dist/components/PFrameForGraphs.cjs +1 -0
- package/dist/components/PFrameForGraphs.cjs.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +1 -1
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.js +1 -0
- package/dist/components/PFrameForGraphs.js.map +1 -1
- package/dist/components/PlDataTable/columnResolver.cjs +28 -0
- package/dist/components/PlDataTable/columnResolver.cjs.map +1 -0
- package/dist/components/PlDataTable/columnResolver.js +28 -0
- package/dist/components/PlDataTable/columnResolver.js.map +1 -0
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs +4 -2
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js +4 -2
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV2.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs +20 -25
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js +20 -25
- package/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs +58 -26
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js +60 -28
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +224 -194
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts +13 -16
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +228 -198
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs +40 -98
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts +17 -8
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js +40 -98
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.cjs +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.d.ts +2 -2
- package/dist/components/PlDataTable/createPlDataTable/index.js +2 -2
- package/dist/components/PlDataTable/createPlDataTable/index.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.cjs +51 -169
- package/dist/components/PlDataTable/createPlDataTable/utils.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.js +52 -166
- package/dist/components/PlDataTable/createPlDataTable/utils.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.d.ts +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.js.map +1 -1
- package/dist/components/PlDataTable/index.cjs +1 -1
- package/dist/components/PlDataTable/index.d.ts +4 -4
- package/dist/components/PlDataTable/index.js +2 -2
- package/dist/components/PlDataTable/labels.cjs +0 -1
- package/dist/components/PlDataTable/labels.cjs.map +1 -1
- package/dist/components/PlDataTable/labels.js +0 -1
- package/dist/components/PlDataTable/labels.js.map +1 -1
- package/dist/components/PlDataTable/state-migration.cjs +107 -10
- package/dist/components/PlDataTable/state-migration.cjs.map +1 -1
- package/dist/components/PlDataTable/state-migration.d.ts +5 -4
- package/dist/components/PlDataTable/state-migration.d.ts.map +1 -1
- package/dist/components/PlDataTable/state-migration.js +107 -10
- package/dist/components/PlDataTable/state-migration.js.map +1 -1
- package/dist/components/PlDataTable/typesV7.d.ts +1 -36
- package/dist/components/PlDataTable/typesV7.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV8.d.ts +123 -0
- package/dist/components/PlDataTable/typesV8.d.ts.map +1 -0
- package/dist/components/PlDatasetSelector/build_dataset_options.cjs +27 -34
- package/dist/components/PlDatasetSelector/build_dataset_options.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/build_dataset_options.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/build_dataset_options.js +27 -34
- package/dist/components/PlDatasetSelector/build_dataset_options.js.map +1 -1
- package/dist/components/PlDatasetSelector/enrichment_discovery.cjs +28 -33
- package/dist/components/PlDatasetSelector/enrichment_discovery.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/enrichment_discovery.js +29 -34
- package/dist/components/PlDatasetSelector/enrichment_discovery.js.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.cjs +27 -17
- package/dist/components/PlDatasetSelector/filter_discovery.cjs.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts +24 -10
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.js +28 -18
- package/dist/components/PlDatasetSelector/filter_discovery.js.map +1 -1
- package/dist/components/PlDatasetSelector/index.d.ts +2 -2
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.js +2 -2
- package/dist/filters/converters/filterToQuery.cjs +5 -6
- package/dist/filters/converters/filterToQuery.cjs.map +1 -1
- package/dist/filters/converters/filterToQuery.d.ts +12 -3
- package/dist/filters/converters/filterToQuery.d.ts.map +1 -1
- package/dist/filters/converters/filterToQuery.js +5 -6
- package/dist/filters/converters/filterToQuery.js.map +1 -1
- package/dist/filters/converters/index.d.ts +2 -2
- package/dist/filters/index.d.ts +2 -2
- package/dist/index.cjs +64 -35
- package/dist/index.d.ts +23 -15
- package/dist/index.js +15 -9
- package/dist/labels/derive_distinct_labels.cjs.map +1 -1
- package/dist/labels/derive_distinct_labels.d.ts +1 -2
- package/dist/labels/derive_distinct_labels.d.ts.map +1 -1
- package/dist/labels/derive_distinct_labels.js.map +1 -1
- package/dist/labels/derive_distinct_tooltips.cjs +1 -1
- package/dist/labels/derive_distinct_tooltips.cjs.map +1 -1
- package/dist/labels/derive_distinct_tooltips.d.ts +6 -3
- package/dist/labels/derive_distinct_tooltips.d.ts.map +1 -1
- package/dist/labels/derive_distinct_tooltips.js +1 -1
- package/dist/labels/derive_distinct_tooltips.js.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.js +1 -1
- package/dist/pframe_utils/axes.cjs.map +1 -1
- package/dist/pframe_utils/axes.d.ts +2 -2
- package/dist/pframe_utils/axes.d.ts.map +1 -1
- package/dist/pframe_utils/axes.js.map +1 -1
- package/dist/pframe_utils/columns.cjs +6 -10
- package/dist/pframe_utils/columns.cjs.map +1 -1
- package/dist/pframe_utils/columns.d.ts +4 -4
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/columns.js +7 -11
- package/dist/pframe_utils/columns.js.map +1 -1
- package/dist/pframe_utils/index.cjs.map +1 -1
- package/dist/pframe_utils/index.d.ts +1 -1
- package/dist/pframe_utils/index.d.ts.map +1 -1
- package/dist/pframe_utils/index.js.map +1 -1
- package/dist/render/accessor.cjs +15 -16
- package/dist/render/accessor.cjs.map +1 -1
- package/dist/render/accessor.d.ts +7 -10
- package/dist/render/accessor.d.ts.map +1 -1
- package/dist/render/accessor.js +15 -16
- package/dist/render/accessor.js.map +1 -1
- package/dist/render/api.cjs +34 -36
- package/dist/render/api.cjs.map +1 -1
- package/dist/render/api.d.ts +30 -20
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/api.js +35 -38
- package/dist/render/api.js.map +1 -1
- package/dist/render/index.cjs +4 -0
- package/dist/render/index.d.ts +4 -4
- package/dist/render/index.js +3 -2
- package/dist/render/internal.cjs +3 -2
- package/dist/render/internal.cjs.map +1 -1
- package/dist/render/internal.d.ts +17 -9
- package/dist/render/internal.d.ts.map +1 -1
- package/dist/render/internal.js +3 -2
- package/dist/render/internal.js.map +1 -1
- package/dist/render/util/axis_filtering.cjs.map +1 -1
- package/dist/render/util/axis_filtering.js.map +1 -1
- package/dist/render/util/column_collection.cjs +6 -4
- package/dist/render/util/column_collection.cjs.map +1 -1
- package/dist/render/util/column_collection.d.ts +9 -9
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/column_collection.js +6 -4
- package/dist/render/util/column_collection.js.map +1 -1
- package/dist/render/util/index.d.ts +2 -2
- package/dist/render/util/pcolumn_data.cjs +1 -1
- package/dist/render/util/pcolumn_data.cjs.map +1 -1
- package/dist/render/util/pcolumn_data.d.ts +3 -3
- package/dist/render/util/pcolumn_data.d.ts.map +1 -1
- package/dist/render/util/pcolumn_data.js +1 -1
- package/dist/render/util/pcolumn_data.js.map +1 -1
- package/dist/services/block_services.cjs +2 -1
- package/dist/services/block_services.cjs.map +1 -1
- package/dist/services/block_services.d.ts +1 -0
- package/dist/services/block_services.d.ts.map +1 -1
- package/dist/services/block_services.js +2 -1
- package/dist/services/block_services.js.map +1 -1
- package/dist/services/get_services.cjs +2 -2
- package/dist/services/get_services.cjs.map +1 -1
- package/dist/services/get_services.d.ts +4 -1
- package/dist/services/get_services.d.ts.map +1 -1
- package/dist/services/get_services.js +2 -2
- package/dist/services/get_services.js.map +1 -1
- package/package.json +10 -8
- package/src/columns/__test_helpers__/collection_driver.ts +197 -0
- package/src/columns/__test_helpers__/stub_registry.ts +134 -0
- package/src/columns/column.ts +46 -0
- package/src/columns/column_lazy.test.ts +201 -0
- package/src/columns/column_lazy.ts +311 -0
- package/src/columns/column_providers/index.ts +78 -0
- package/src/columns/column_providers/providers.ts +193 -0
- package/src/columns/column_providers/types.ts +24 -0
- package/src/columns/column_recipes/column_discovered_recipe.ts +231 -0
- package/src/columns/column_recipes/column_filtered_recipe.ts +184 -0
- package/src/columns/column_recipes/column_overrided_recipe.ts +146 -0
- package/src/columns/column_recipes/column_recipes.test.ts +681 -0
- package/src/columns/column_recipes/index.ts +127 -0
- package/src/columns/column_recipes/leaf_rebrand.ts +28 -0
- package/src/columns/column_recipes/types.ts +113 -0
- package/src/columns/columns_collection.test.ts +164 -0
- package/src/columns/columns_collection.ts +170 -0
- package/src/columns/derive_axis_values_labels.ts +98 -0
- package/src/columns/expand_by_partition.test.ts +146 -110
- package/src/columns/expand_by_partition.ts +72 -84
- package/src/columns/index.ts +7 -5
- package/src/columns/utils.test.ts +249 -0
- package/src/columns/utils.ts +226 -0
- package/src/components/PFrameForGraphs.ts +3 -1
- package/src/components/PlAnnotations/filters_ui.test.ts +46 -47
- package/src/components/PlDataTable/columnResolver.test.ts +122 -0
- package/src/components/PlDataTable/columnResolver.ts +57 -0
- package/src/components/PlDataTable/createPlDataTable/createPTableDefV2.ts +9 -9
- package/src/components/PlDataTable/createPlDataTable/createPTableDefV3.ts +31 -63
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV2.ts +85 -58
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +316 -354
- package/src/components/PlDataTable/createPlDataTable/discoverColumns.ts +48 -144
- package/src/components/PlDataTable/createPlDataTable/index.ts +2 -2
- package/src/components/PlDataTable/createPlDataTable/utils.test.ts +60 -69
- package/src/components/PlDataTable/createPlDataTable/utils.ts +65 -173
- package/src/components/PlDataTable/createPlDataTableSheet.ts +1 -1
- package/src/components/PlDataTable/index.ts +4 -2
- package/src/components/PlDataTable/labels.ts +4 -33
- package/src/components/PlDataTable/state-migration.ts +151 -22
- package/src/components/PlDataTable/typesV8.ts +188 -0
- package/src/components/PlDatasetSelector/build_dataset_options.ts +35 -60
- package/src/components/PlDatasetSelector/enrichment_discovery.ts +65 -61
- package/src/components/PlDatasetSelector/filter_discovery.test.ts +110 -72
- package/src/components/PlDatasetSelector/filter_discovery.ts +51 -31
- package/src/filters/converters/filterToQuery.test.ts +15 -8
- package/src/filters/converters/filterToQuery.ts +22 -9
- package/src/filters/converters/filterUiToExpressionImpl.test.ts +35 -36
- package/src/labels/derive_distinct_labels.ts +1 -1
- package/src/labels/derive_distinct_tooltips.test.ts +7 -4
- package/src/labels/derive_distinct_tooltips.ts +3 -3
- package/src/pframe_utils/axes.ts +2 -2
- package/src/pframe_utils/columns.ts +14 -23
- package/src/pframe_utils/index.ts +1 -1
- package/src/render/accessor.ts +35 -38
- package/src/render/api.ts +45 -61
- package/src/render/index.ts +2 -1
- package/src/render/internal.ts +43 -10
- package/src/render/util/axis_filtering.ts +0 -1
- package/src/render/util/column_collection.ts +17 -17
- package/src/render/util/pcolumn_data.ts +5 -9
- package/src/services/block_services.ts +1 -0
- package/src/services/get_services.ts +5 -2
- package/dist/columns/column_collection_builder.cjs +0 -241
- package/dist/columns/column_collection_builder.cjs.map +0 -1
- package/dist/columns/column_collection_builder.d.ts +0 -119
- package/dist/columns/column_collection_builder.d.ts.map +0 -1
- package/dist/columns/column_collection_builder.js +0 -241
- package/dist/columns/column_collection_builder.js.map +0 -1
- package/dist/columns/column_selector.cjs +0 -49
- package/dist/columns/column_selector.cjs.map +0 -1
- package/dist/columns/column_selector.d.ts +0 -33
- package/dist/columns/column_selector.d.ts.map +0 -1
- package/dist/columns/column_selector.js +0 -47
- package/dist/columns/column_selector.js.map +0 -1
- package/dist/columns/column_snapshot.cjs +0 -19
- package/dist/columns/column_snapshot.cjs.map +0 -1
- package/dist/columns/column_snapshot.d.ts +0 -39
- package/dist/columns/column_snapshot.d.ts.map +0 -1
- package/dist/columns/column_snapshot.js +0 -18
- package/dist/columns/column_snapshot.js.map +0 -1
- package/dist/columns/column_snapshot_provider.cjs +0 -137
- package/dist/columns/column_snapshot_provider.cjs.map +0 -1
- package/dist/columns/column_snapshot_provider.d.ts +0 -74
- package/dist/columns/column_snapshot_provider.d.ts.map +0 -1
- package/dist/columns/column_snapshot_provider.js +0 -133
- package/dist/columns/column_snapshot_provider.js.map +0 -1
- package/dist/columns/ctx_column_sources.cjs +0 -80
- package/dist/columns/ctx_column_sources.cjs.map +0 -1
- package/dist/columns/ctx_column_sources.d.ts +0 -30
- package/dist/columns/ctx_column_sources.d.ts.map +0 -1
- package/dist/columns/ctx_column_sources.js +0 -79
- package/dist/columns/ctx_column_sources.js.map +0 -1
- package/src/columns/column_collection_builder.test.ts +0 -484
- package/src/columns/column_collection_builder.ts +0 -485
- package/src/columns/column_selector.test.ts +0 -90
- package/src/columns/column_selector.ts +0 -100
- package/src/columns/column_snapshot.ts +0 -58
- package/src/columns/column_snapshot_provider.ts +0 -194
- package/src/columns/ctx_column_sources.ts +0 -99
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { TreeNodeAccessor } from "../render/accessor.js";
|
|
2
|
-
import { isDataInfo, visitDataInfo } from "@milaboratories/pl-model-common";
|
|
3
|
-
//#region src/columns/column_snapshot_provider.ts
|
|
4
|
-
/**
|
|
5
|
-
* Simple provider wrapping an array of PColumns.
|
|
6
|
-
* Always complete, data status always 'ready'.
|
|
7
|
-
*/
|
|
8
|
-
var ArrayColumnProvider = class {
|
|
9
|
-
columns;
|
|
10
|
-
constructor(columns) {
|
|
11
|
-
this.columns = columns.map((col) => ({
|
|
12
|
-
id: col.id,
|
|
13
|
-
spec: col.spec,
|
|
14
|
-
data: { get: () => col.data },
|
|
15
|
-
dataStatus: this.getStatus(col.data)
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
getAllColumns() {
|
|
19
|
-
return this.columns;
|
|
20
|
-
}
|
|
21
|
-
isColumnListComplete() {
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
getStatus(d) {
|
|
25
|
-
if (d == null) return "absent";
|
|
26
|
-
if (typeof d === "function") return this.getStatus(d());
|
|
27
|
-
if (d instanceof TreeNodeAccessor) {
|
|
28
|
-
if (d.getIsReadyOrError()) return "ready";
|
|
29
|
-
if (d.getIsFinal()) return "absent";
|
|
30
|
-
return "computing";
|
|
31
|
-
}
|
|
32
|
-
if (isDataInfo(d)) {
|
|
33
|
-
let ready = true;
|
|
34
|
-
let final = true;
|
|
35
|
-
visitDataInfo(d, (v) => {
|
|
36
|
-
ready &&= v.getIsReadyOrError();
|
|
37
|
-
final &&= v.getIsFinal();
|
|
38
|
-
});
|
|
39
|
-
if (ready) return "ready";
|
|
40
|
-
if (final) return "absent";
|
|
41
|
-
return "computing";
|
|
42
|
-
}
|
|
43
|
-
return "ready";
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Provider wrapping an array of ColumnSnapshots.
|
|
48
|
-
* Always complete. Data status taken from each snapshot.
|
|
49
|
-
*/
|
|
50
|
-
var SnapshotColumnProvider = class {
|
|
51
|
-
snapshots;
|
|
52
|
-
constructor(snapshots) {
|
|
53
|
-
this.snapshots = snapshots;
|
|
54
|
-
}
|
|
55
|
-
getAllColumns() {
|
|
56
|
-
return this.snapshots;
|
|
57
|
-
}
|
|
58
|
-
isColumnListComplete() {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Provider wrapping a TreeNodeAccessor (output/prerun resolve result).
|
|
64
|
-
* Detects data status from accessor readiness state.
|
|
65
|
-
*/
|
|
66
|
-
var OutputColumnProvider = class {
|
|
67
|
-
accessor;
|
|
68
|
-
opts;
|
|
69
|
-
constructor(accessor, opts) {
|
|
70
|
-
this.accessor = accessor;
|
|
71
|
-
this.opts = opts;
|
|
72
|
-
}
|
|
73
|
-
getAllColumns() {
|
|
74
|
-
return this.getColumns();
|
|
75
|
-
}
|
|
76
|
-
isColumnListComplete() {
|
|
77
|
-
return this.accessor.getInputsLocked();
|
|
78
|
-
}
|
|
79
|
-
getColumns() {
|
|
80
|
-
const pColumns = this.accessor.getPColumns();
|
|
81
|
-
if (pColumns === void 0) return [];
|
|
82
|
-
const isFinal = this.accessor.getIsFinal();
|
|
83
|
-
const allowAbsence = this.opts?.allowPermanentAbsence === true;
|
|
84
|
-
return pColumns.map((col) => {
|
|
85
|
-
const dataAccessor = col.data;
|
|
86
|
-
const isReady = dataAccessor.getIsReadyOrError();
|
|
87
|
-
let dataStatus;
|
|
88
|
-
if (isReady) dataStatus = "ready";
|
|
89
|
-
else if (allowAbsence && isFinal) dataStatus = "absent";
|
|
90
|
-
else dataStatus = "computing";
|
|
91
|
-
return {
|
|
92
|
-
id: col.id,
|
|
93
|
-
spec: col.spec,
|
|
94
|
-
dataStatus,
|
|
95
|
-
data: { get: () => isReady ? dataAccessor : void 0 }
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
/** Checks if a value is a ColumnSnapshotProvider (duck-typing). */
|
|
101
|
-
function isColumnSnapshotProvider(source) {
|
|
102
|
-
return typeof source === "object" && source !== null && "getAllColumns" in source && "isColumnListComplete" in source && typeof source.getAllColumns === "function" && typeof source.isColumnListComplete === "function";
|
|
103
|
-
}
|
|
104
|
-
/** Checks if a value looks like a PColumn (has id, spec, data). */
|
|
105
|
-
function isPColumnArray(source) {
|
|
106
|
-
if (!Array.isArray(source)) return false;
|
|
107
|
-
if (source.length === 0) return true;
|
|
108
|
-
const first = source[0];
|
|
109
|
-
return "id" in first && "spec" in first && "data" in first && !("dataStatus" in first);
|
|
110
|
-
}
|
|
111
|
-
/** Checks if a value looks like a ColumnSnapshot array. */
|
|
112
|
-
function isColumnSnapshotArray(source) {
|
|
113
|
-
if (!Array.isArray(source)) return false;
|
|
114
|
-
if (source.length === 0) return true;
|
|
115
|
-
const first = source[0];
|
|
116
|
-
return "id" in first && "spec" in first && "dataStatus" in first;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Normalize any ColumnSource into a ColumnSnapshotProvider.
|
|
120
|
-
* - ColumnSnapshotProvider → returned as-is
|
|
121
|
-
* - ColumnSnapshot<PObjectId>[] → wrapped in SnapshotColumnProvider
|
|
122
|
-
* - PColumn[] → wrapped in ArrayColumnProvider
|
|
123
|
-
*/
|
|
124
|
-
function toColumnSnapshotProvider(source) {
|
|
125
|
-
if (isColumnSnapshotProvider(source)) return source;
|
|
126
|
-
if (isColumnSnapshotArray(source)) return new SnapshotColumnProvider(source);
|
|
127
|
-
if (isPColumnArray(source)) return new ArrayColumnProvider(source);
|
|
128
|
-
throw new Error("Unknown ColumnSource type");
|
|
129
|
-
}
|
|
130
|
-
//#endregion
|
|
131
|
-
export { ArrayColumnProvider, OutputColumnProvider, SnapshotColumnProvider, isColumnSnapshotProvider, toColumnSnapshotProvider };
|
|
132
|
-
|
|
133
|
-
//# sourceMappingURL=column_snapshot_provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column_snapshot_provider.js","names":[],"sources":["../../src/columns/column_snapshot_provider.ts"],"sourcesContent":["import type { PObjectId } from \"@milaboratories/pl-model-common\";\nimport { isDataInfo, PColumn, visitDataInfo } from \"@milaboratories/pl-model-common\";\nimport { TreeNodeAccessor } from \"../render/accessor\";\nimport type { PColumnDataUniversal } from \"../render/internal\";\nimport type { ColumnDataStatus, ColumnSnapshot } from \"./column_snapshot\";\n\n/**\n * Data source interface for column enumeration.\n *\n * Knows nothing about the render framework, stability tracking, labels,\n * anchoring, or splitting. All that complexity lives in the collection layer.\n */\nexport interface ColumnSnapshotProvider {\n /** Returns all currently known columns. */\n getAllColumns(): ColumnSnapshot<PObjectId>[];\n\n /** Whether the provider has finished enumerating all its columns.\n * Calling this may mark the render context unstable — it touches\n * the reactive tree to check field resolution state. */\n isColumnListComplete(): boolean;\n}\n\n/**\n * Union of types that can serve as column sources for helpers and builders.\n * Does NOT include TreeNodeAccessor — call `.toColumnSource()` on it first.\n */\nexport type ColumnSource =\n | ColumnSnapshotProvider\n | ColumnSnapshot<PObjectId>[]\n | PColumn<PColumnDataUniversal | undefined>[];\n\n/**\n * Simple provider wrapping an array of PColumns.\n * Always complete, data status always 'ready'.\n */\nexport class ArrayColumnProvider implements ColumnSnapshotProvider {\n private readonly columns: ColumnSnapshot<PObjectId>[];\n\n constructor(columns: PColumn<PColumnDataUniversal | undefined>[]) {\n this.columns = columns.map((col) => ({\n id: col.id,\n spec: col.spec,\n data: { get: () => col.data },\n dataStatus: this.getStatus(col.data),\n }));\n }\n\n getAllColumns(): ColumnSnapshot<PObjectId>[] {\n return this.columns;\n }\n\n isColumnListComplete(): boolean {\n return true;\n }\n\n protected getStatus(\n d: undefined | PColumnDataUniversal | (() => undefined | PColumnDataUniversal),\n ): ColumnDataStatus {\n if (d == null) {\n return \"absent\";\n }\n if (typeof d === \"function\") {\n return this.getStatus(d());\n }\n if (d instanceof TreeNodeAccessor) {\n if (d.getIsReadyOrError()) return \"ready\";\n if (d.getIsFinal()) return \"absent\";\n return \"computing\";\n }\n if (isDataInfo(d)) {\n let ready = true;\n let final = true;\n visitDataInfo(d, (v) => {\n ready &&= v.getIsReadyOrError();\n final &&= v.getIsFinal();\n });\n if (ready) return \"ready\";\n if (final) return \"absent\";\n return \"computing\";\n }\n return \"ready\";\n }\n}\n\n/**\n * Provider wrapping an array of ColumnSnapshots.\n * Always complete. Data status taken from each snapshot.\n */\nexport class SnapshotColumnProvider implements ColumnSnapshotProvider {\n constructor(private readonly snapshots: ColumnSnapshot<PObjectId>[]) {}\n\n getAllColumns(): ColumnSnapshot<PObjectId>[] {\n return this.snapshots;\n }\n\n isColumnListComplete(): boolean {\n return true;\n }\n}\n\nexport interface OutputColumnProviderOpts {\n /** When true and the accessor is final, columns with no ready data get status 'absent'. */\n allowPermanentAbsence?: boolean;\n}\n\n/**\n * Provider wrapping a TreeNodeAccessor (output/prerun resolve result).\n * Detects data status from accessor readiness state.\n */\nexport class OutputColumnProvider implements ColumnSnapshotProvider {\n constructor(\n private readonly accessor: TreeNodeAccessor,\n private readonly opts?: OutputColumnProviderOpts,\n ) {}\n\n getAllColumns(): ColumnSnapshot<PObjectId>[] {\n return this.getColumns();\n }\n\n isColumnListComplete(): boolean {\n return this.accessor.getInputsLocked();\n }\n\n private getColumns(): ColumnSnapshot<PObjectId>[] {\n const pColumns = this.accessor.getPColumns();\n if (pColumns === undefined) return [];\n\n const isFinal = this.accessor.getIsFinal();\n const allowAbsence = this.opts?.allowPermanentAbsence === true;\n\n return pColumns.map((col) => {\n const dataAccessor = col.data;\n const isReady = dataAccessor.getIsReadyOrError();\n\n let dataStatus: ColumnDataStatus;\n if (isReady) {\n dataStatus = \"ready\";\n } else if (allowAbsence && isFinal) {\n dataStatus = \"absent\";\n } else {\n dataStatus = \"computing\";\n }\n\n return {\n id: col.id,\n spec: col.spec,\n dataStatus,\n data: { get: () => (isReady ? dataAccessor : undefined) },\n };\n });\n }\n}\n\n/** Checks if a value is a ColumnSnapshotProvider (duck-typing). */\nexport function isColumnSnapshotProvider(source: unknown): source is ColumnSnapshotProvider {\n return (\n typeof source === \"object\" &&\n source !== null &&\n \"getAllColumns\" in source &&\n \"isColumnListComplete\" in source &&\n typeof (source as ColumnSnapshotProvider).getAllColumns === \"function\" &&\n typeof (source as ColumnSnapshotProvider).isColumnListComplete === \"function\"\n );\n}\n\n/** Checks if a value looks like a PColumn (has id, spec, data). */\nfunction isPColumnArray(source: unknown): source is PColumn<PColumnDataUniversal | undefined>[] {\n if (!Array.isArray(source)) return false;\n if (source.length === 0) return true; // empty array — treat as PColumn[]\n const first = source[0];\n return \"id\" in first && \"spec\" in first && \"data\" in first && !(\"dataStatus\" in first);\n}\n\n/** Checks if a value looks like a ColumnSnapshot array. */\nfunction isColumnSnapshotArray(source: unknown): source is ColumnSnapshot<PObjectId>[] {\n if (!Array.isArray(source)) return false;\n if (source.length === 0) return true; // empty array — treat as snapshots\n const first = source[0];\n return \"id\" in first && \"spec\" in first && \"dataStatus\" in first;\n}\n\n/**\n * Normalize any ColumnSource into a ColumnSnapshotProvider.\n * - ColumnSnapshotProvider → returned as-is\n * - ColumnSnapshot<PObjectId>[] → wrapped in SnapshotColumnProvider\n * - PColumn[] → wrapped in ArrayColumnProvider\n */\nexport function toColumnSnapshotProvider(source: ColumnSource): ColumnSnapshotProvider {\n if (isColumnSnapshotProvider(source)) return source;\n if (isColumnSnapshotArray(source)) return new SnapshotColumnProvider(source);\n if (isPColumnArray(source)) return new ArrayColumnProvider(source);\n // Should not reach here given the type union, but be safe\n throw new Error(\"Unknown ColumnSource type\");\n}\n"],"mappings":";;;;;;;AAmCA,IAAa,sBAAb,MAAmE;CACjE;CAEA,YAAY,SAAsD;EAChE,KAAK,UAAU,QAAQ,KAAK,SAAS;GACnC,IAAI,IAAI;GACR,MAAM,IAAI;GACV,MAAM,EAAE,WAAW,IAAI,KAAK;GAC5B,YAAY,KAAK,UAAU,IAAI,IAAI;EACrC,EAAE;CACJ;CAEA,gBAA6C;EAC3C,OAAO,KAAK;CACd;CAEA,uBAAgC;EAC9B,OAAO;CACT;CAEA,UACE,GACkB;EAClB,IAAI,KAAK,MACP,OAAO;EAET,IAAI,OAAO,MAAM,YACf,OAAO,KAAK,UAAU,EAAE,CAAC;EAE3B,IAAI,aAAa,kBAAkB;GACjC,IAAI,EAAE,kBAAkB,GAAG,OAAO;GAClC,IAAI,EAAE,WAAW,GAAG,OAAO;GAC3B,OAAO;EACT;EACA,IAAI,WAAW,CAAC,GAAG;GACjB,IAAI,QAAQ;GACZ,IAAI,QAAQ;GACZ,cAAc,IAAI,MAAM;IACtB,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,WAAW;GACzB,CAAC;GACD,IAAI,OAAO,OAAO;GAClB,IAAI,OAAO,OAAO;GAClB,OAAO;EACT;EACA,OAAO;CACT;AACF;;;;;AAMA,IAAa,yBAAb,MAAsE;CACvC;CAA7B,YAAY,WAAyD;EAAxC,KAAA,YAAA;CAAyC;CAEtE,gBAA6C;EAC3C,OAAO,KAAK;CACd;CAEA,uBAAgC;EAC9B,OAAO;CACT;AACF;;;;;AAWA,IAAa,uBAAb,MAAoE;CAE/C;CACA;CAFnB,YACE,UACA,MACA;EAFiB,KAAA,WAAA;EACA,KAAA,OAAA;CAChB;CAEH,gBAA6C;EAC3C,OAAO,KAAK,WAAW;CACzB;CAEA,uBAAgC;EAC9B,OAAO,KAAK,SAAS,gBAAgB;CACvC;CAEA,aAAkD;EAChD,MAAM,WAAW,KAAK,SAAS,YAAY;EAC3C,IAAI,aAAa,KAAA,GAAW,OAAO,CAAC;EAEpC,MAAM,UAAU,KAAK,SAAS,WAAW;EACzC,MAAM,eAAe,KAAK,MAAM,0BAA0B;EAE1D,OAAO,SAAS,KAAK,QAAQ;GAC3B,MAAM,eAAe,IAAI;GACzB,MAAM,UAAU,aAAa,kBAAkB;GAE/C,IAAI;GACJ,IAAI,SACF,aAAa;QACR,IAAI,gBAAgB,SACzB,aAAa;QAEb,aAAa;GAGf,OAAO;IACL,IAAI,IAAI;IACR,MAAM,IAAI;IACV;IACA,MAAM,EAAE,WAAY,UAAU,eAAe,KAAA,EAAW;GAC1D;EACF,CAAC;CACH;AACF;;AAGA,SAAgB,yBAAyB,QAAmD;CAC1F,OACE,OAAO,WAAW,YAClB,WAAW,QACX,mBAAmB,UACnB,0BAA0B,UAC1B,OAAQ,OAAkC,kBAAkB,cAC5D,OAAQ,OAAkC,yBAAyB;AAEvE;;AAGA,SAAS,eAAe,QAAwE;CAC9F,IAAI,CAAC,MAAM,QAAQ,MAAM,GAAG,OAAO;CACnC,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,MAAM,QAAQ,OAAO;CACrB,OAAO,QAAQ,SAAS,UAAU,SAAS,UAAU,SAAS,EAAE,gBAAgB;AAClF;;AAGA,SAAS,sBAAsB,QAAwD;CACrF,IAAI,CAAC,MAAM,QAAQ,MAAM,GAAG,OAAO;CACnC,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,MAAM,QAAQ,OAAO;CACrB,OAAO,QAAQ,SAAS,UAAU,SAAS,gBAAgB;AAC7D;;;;;;;AAQA,SAAgB,yBAAyB,QAA8C;CACrF,IAAI,yBAAyB,MAAM,GAAG,OAAO;CAC7C,IAAI,sBAAsB,MAAM,GAAG,OAAO,IAAI,uBAAuB,MAAM;CAC3E,IAAI,eAAe,MAAM,GAAG,OAAO,IAAI,oBAAoB,MAAM;CAEjE,MAAM,IAAI,MAAM,2BAA2B;AAC7C"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
const require_column_snapshot_provider = require("./column_snapshot_provider.cjs");
|
|
2
|
-
let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common");
|
|
3
|
-
//#region src/columns/ctx_column_sources.ts
|
|
4
|
-
/**
|
|
5
|
-
* Collect ColumnSnapshotProviders from `outputs`, `prerun`, and
|
|
6
|
-
* `resultPool` in that order. Dedup keeps the first occurrence per
|
|
7
|
-
* `NativePObjectId`, so a block re-publishing its own columns keeps
|
|
8
|
-
* the `outputs`-rooted canonical id instead of the result-pool variant.
|
|
9
|
-
*/
|
|
10
|
-
function collectCtxColumnSnapshotProviders(ctx) {
|
|
11
|
-
const providers = [];
|
|
12
|
-
const outputs = ctx.outputs;
|
|
13
|
-
if (outputs) providers.push(...collectPFrameProviders(outputs));
|
|
14
|
-
const prerun = ctx.prerun;
|
|
15
|
-
if (prerun) providers.push(...collectPFrameProviders(prerun));
|
|
16
|
-
providers.push(new ResultPoolColumnSnapshotProvider(ctx.resultPool));
|
|
17
|
-
return providers;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Adapter wrapping ResultPool into the new ColumnSnapshotProvider interface.
|
|
21
|
-
*
|
|
22
|
-
* - `isColumnListComplete()` always returns true — the result pool
|
|
23
|
-
* is a stable snapshot within a single render cycle.
|
|
24
|
-
* - Data status is derived from the underlying TreeNodeAccessor:
|
|
25
|
-
* ready (getIsReadyOrError), computing, or absent (no data resource).
|
|
26
|
-
*/
|
|
27
|
-
var ResultPoolColumnSnapshotProvider = class {
|
|
28
|
-
pool;
|
|
29
|
-
constructor(pool) {
|
|
30
|
-
this.pool = pool;
|
|
31
|
-
}
|
|
32
|
-
getAllColumns() {
|
|
33
|
-
return this.pool.selectColumns(() => true).map((col) => toSnapshot(col.id, col.spec, col.data));
|
|
34
|
-
}
|
|
35
|
-
isColumnListComplete() {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
function toSnapshot(id, spec, accessor) {
|
|
40
|
-
if (accessor === void 0) return {
|
|
41
|
-
id,
|
|
42
|
-
spec,
|
|
43
|
-
dataStatus: "absent",
|
|
44
|
-
data: void 0
|
|
45
|
-
};
|
|
46
|
-
const isReady = accessor.getIsReadyOrError();
|
|
47
|
-
return {
|
|
48
|
-
id,
|
|
49
|
-
spec,
|
|
50
|
-
dataStatus: isReady ? "ready" : "computing",
|
|
51
|
-
data: { get: () => isReady ? accessor : void 0 }
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Recursively walk the output tree starting from `accessor`.
|
|
56
|
-
* - If a node's resourceType is PFrame → wrap it as OutputColumnProvider.
|
|
57
|
-
* - If a node's resourceType is StdMap/std/map → recurse into its output fields.
|
|
58
|
-
* - Otherwise → skip (leaf of unknown type).
|
|
59
|
-
*/
|
|
60
|
-
function collectPFrameProviders(accessor) {
|
|
61
|
-
const out = [];
|
|
62
|
-
walkTree(accessor, out);
|
|
63
|
-
return out;
|
|
64
|
-
}
|
|
65
|
-
function walkTree(node, out) {
|
|
66
|
-
const typeName = node.resourceType.name;
|
|
67
|
-
if (typeName === _milaboratories_pl_model_common.ResourceTypeName.PFrame) {
|
|
68
|
-
out.push(new require_column_snapshot_provider.OutputColumnProvider(node));
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (typeName === _milaboratories_pl_model_common.ResourceTypeName.StdMap || typeName === _milaboratories_pl_model_common.ResourceTypeName.StdMapSlash) for (const field of node.listInputFields()) {
|
|
72
|
-
const child = node.resolve(field);
|
|
73
|
-
if (child) walkTree(child, out);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//#endregion
|
|
77
|
-
exports.ResultPoolColumnSnapshotProvider = ResultPoolColumnSnapshotProvider;
|
|
78
|
-
exports.collectCtxColumnSnapshotProviders = collectCtxColumnSnapshotProviders;
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=ctx_column_sources.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ctx_column_sources.cjs","names":["ResourceTypeName","OutputColumnProvider"],"sources":["../../src/columns/ctx_column_sources.ts"],"sourcesContent":["import type { PColumnSpec, PObjectId } from \"@milaboratories/pl-model-common\";\nimport { TreeNodeAccessor } from \"../render/accessor\";\nimport type { RenderCtxBase, ResultPool } from \"../render\";\nimport type { ColumnSnapshot } from \"./column_snapshot\";\nimport type { ColumnDataStatus } from \"./column_snapshot\";\nimport type { ColumnSnapshotProvider } from \"./column_snapshot_provider\";\nimport { OutputColumnProvider } from \"./column_snapshot_provider\";\nimport { ResourceTypeName } from \"@milaboratories/pl-model-common\";\nimport type { ValueOf } from \"@milaboratories/helpers\";\n\n/**\n * Collect ColumnSnapshotProviders from `outputs`, `prerun`, and\n * `resultPool` in that order. Dedup keeps the first occurrence per\n * `NativePObjectId`, so a block re-publishing its own columns keeps\n * the `outputs`-rooted canonical id instead of the result-pool variant.\n */\nexport function collectCtxColumnSnapshotProviders(ctx: RenderCtxBase): ColumnSnapshotProvider[] {\n const providers: ColumnSnapshotProvider[] = [];\n\n const outputs = ctx.outputs;\n if (outputs) {\n providers.push(...collectPFrameProviders(outputs));\n }\n\n const prerun = ctx.prerun;\n if (prerun) {\n providers.push(...collectPFrameProviders(prerun));\n }\n\n providers.push(new ResultPoolColumnSnapshotProvider(ctx.resultPool));\n\n return providers;\n}\n\n/**\n * Adapter wrapping ResultPool into the new ColumnSnapshotProvider interface.\n *\n * - `isColumnListComplete()` always returns true — the result pool\n * is a stable snapshot within a single render cycle.\n * - Data status is derived from the underlying TreeNodeAccessor:\n * ready (getIsReadyOrError), computing, or absent (no data resource).\n */\nexport class ResultPoolColumnSnapshotProvider implements ColumnSnapshotProvider {\n constructor(private readonly pool: ResultPool) {}\n\n getAllColumns(): ColumnSnapshot<PObjectId>[] {\n const pColumns = this.pool.selectColumns(() => true);\n return pColumns.map((col) => toSnapshot(col.id, col.spec, col.data));\n }\n\n isColumnListComplete(): boolean {\n return true;\n }\n}\n\nfunction toSnapshot(\n id: PObjectId,\n spec: PColumnSpec,\n accessor: TreeNodeAccessor | undefined,\n): ColumnSnapshot<PObjectId> {\n if (accessor === undefined) {\n return { id, spec, dataStatus: \"absent\" as ColumnDataStatus, data: undefined };\n }\n const isReady = accessor.getIsReadyOrError();\n return {\n id,\n spec,\n dataStatus: (isReady ? \"ready\" : \"computing\") as ColumnDataStatus,\n data: { get: () => (isReady ? accessor : undefined) },\n };\n}\n\n/**\n * Recursively walk the output tree starting from `accessor`.\n * - If a node's resourceType is PFrame → wrap it as OutputColumnProvider.\n * - If a node's resourceType is StdMap/std/map → recurse into its output fields.\n * - Otherwise → skip (leaf of unknown type).\n */\nfunction collectPFrameProviders(accessor: TreeNodeAccessor): ColumnSnapshotProvider[] {\n const out: ColumnSnapshotProvider[] = [];\n walkTree(accessor, out);\n return out;\n}\n\nfunction walkTree(node: TreeNodeAccessor, out: ColumnSnapshotProvider[]): void {\n const typeName = node.resourceType.name as ValueOf<typeof ResourceTypeName>;\n\n if (typeName === ResourceTypeName.PFrame) {\n out.push(new OutputColumnProvider(node));\n return;\n }\n\n if (typeName === ResourceTypeName.StdMap || typeName === ResourceTypeName.StdMapSlash) {\n for (const field of node.listInputFields()) {\n const child = node.resolve(field);\n if (child) walkTree(child, out);\n }\n }\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,kCAAkC,KAA8C;CAC9F,MAAM,YAAsC,CAAC;CAE7C,MAAM,UAAU,IAAI;CACpB,IAAI,SACF,UAAU,KAAK,GAAG,uBAAuB,OAAO,CAAC;CAGnD,MAAM,SAAS,IAAI;CACnB,IAAI,QACF,UAAU,KAAK,GAAG,uBAAuB,MAAM,CAAC;CAGlD,UAAU,KAAK,IAAI,iCAAiC,IAAI,UAAU,CAAC;CAEnE,OAAO;AACT;;;;;;;;;AAUA,IAAa,mCAAb,MAAgF;CACjD;CAA7B,YAAY,MAAmC;EAAlB,KAAA,OAAA;CAAmB;CAEhD,gBAA6C;EAE3C,OADiB,KAAK,KAAK,oBAAoB,IACjC,CAAC,CAAC,KAAK,QAAQ,WAAW,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;CACrE;CAEA,uBAAgC;EAC9B,OAAO;CACT;AACF;AAEA,SAAS,WACP,IACA,MACA,UAC2B;CAC3B,IAAI,aAAa,KAAA,GACf,OAAO;EAAE;EAAI;EAAM,YAAY;EAA8B,MAAM,KAAA;CAAU;CAE/E,MAAM,UAAU,SAAS,kBAAkB;CAC3C,OAAO;EACL;EACA;EACA,YAAa,UAAU,UAAU;EACjC,MAAM,EAAE,WAAY,UAAU,WAAW,KAAA,EAAW;CACtD;AACF;;;;;;;AAQA,SAAS,uBAAuB,UAAsD;CACpF,MAAM,MAAgC,CAAC;CACvC,SAAS,UAAU,GAAG;CACtB,OAAO;AACT;AAEA,SAAS,SAAS,MAAwB,KAAqC;CAC7E,MAAM,WAAW,KAAK,aAAa;CAEnC,IAAI,aAAaA,gCAAAA,iBAAiB,QAAQ;EACxC,IAAI,KAAK,IAAIC,iCAAAA,qBAAqB,IAAI,CAAC;EACvC;CACF;CAEA,IAAI,aAAaD,gCAAAA,iBAAiB,UAAU,aAAaA,gCAAAA,iBAAiB,aACxE,KAAK,MAAM,SAAS,KAAK,gBAAgB,GAAG;EAC1C,MAAM,QAAQ,KAAK,QAAQ,KAAK;EAChC,IAAI,OAAO,SAAS,OAAO,GAAG;CAChC;AAEJ"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ColumnSnapshot } from "./column_snapshot.js";
|
|
2
|
-
import { ColumnSnapshotProvider } from "./column_snapshot_provider.js";
|
|
3
|
-
import { RenderCtxBase, ResultPool } from "../render/api.js";
|
|
4
|
-
import { PObjectId } from "@milaboratories/pl-model-common";
|
|
5
|
-
|
|
6
|
-
//#region src/columns/ctx_column_sources.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Collect ColumnSnapshotProviders from `outputs`, `prerun`, and
|
|
9
|
-
* `resultPool` in that order. Dedup keeps the first occurrence per
|
|
10
|
-
* `NativePObjectId`, so a block re-publishing its own columns keeps
|
|
11
|
-
* the `outputs`-rooted canonical id instead of the result-pool variant.
|
|
12
|
-
*/
|
|
13
|
-
declare function collectCtxColumnSnapshotProviders(ctx: RenderCtxBase): ColumnSnapshotProvider[];
|
|
14
|
-
/**
|
|
15
|
-
* Adapter wrapping ResultPool into the new ColumnSnapshotProvider interface.
|
|
16
|
-
*
|
|
17
|
-
* - `isColumnListComplete()` always returns true — the result pool
|
|
18
|
-
* is a stable snapshot within a single render cycle.
|
|
19
|
-
* - Data status is derived from the underlying TreeNodeAccessor:
|
|
20
|
-
* ready (getIsReadyOrError), computing, or absent (no data resource).
|
|
21
|
-
*/
|
|
22
|
-
declare class ResultPoolColumnSnapshotProvider implements ColumnSnapshotProvider {
|
|
23
|
-
private readonly pool;
|
|
24
|
-
constructor(pool: ResultPool);
|
|
25
|
-
getAllColumns(): ColumnSnapshot<PObjectId>[];
|
|
26
|
-
isColumnListComplete(): boolean;
|
|
27
|
-
}
|
|
28
|
-
//#endregion
|
|
29
|
-
export { ResultPoolColumnSnapshotProvider, collectCtxColumnSnapshotProviders };
|
|
30
|
-
//# sourceMappingURL=ctx_column_sources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ctx_column_sources.d.ts","names":[],"sources":["../../src/columns/ctx_column_sources.ts"],"mappings":";;;;;;;;;AAgBA;;;iBAAgB,iCAAA,CAAkC,GAAA,EAAK,aAAA,GAAgB,sBAAsB;;;;;AAAA;AA0B7F;;;cAAa,gCAAA,YAA4C,sBAAA;EAAA,iBAC1B,IAAA;cAAA,IAAA,EAAM,UAAA;EAEnC,aAAA,IAAiB,cAAA,CAAe,SAAA;EAKhC,oBAAA;AAAA"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { OutputColumnProvider } from "./column_snapshot_provider.js";
|
|
2
|
-
import { ResourceTypeName } from "@milaboratories/pl-model-common";
|
|
3
|
-
//#region src/columns/ctx_column_sources.ts
|
|
4
|
-
/**
|
|
5
|
-
* Collect ColumnSnapshotProviders from `outputs`, `prerun`, and
|
|
6
|
-
* `resultPool` in that order. Dedup keeps the first occurrence per
|
|
7
|
-
* `NativePObjectId`, so a block re-publishing its own columns keeps
|
|
8
|
-
* the `outputs`-rooted canonical id instead of the result-pool variant.
|
|
9
|
-
*/
|
|
10
|
-
function collectCtxColumnSnapshotProviders(ctx) {
|
|
11
|
-
const providers = [];
|
|
12
|
-
const outputs = ctx.outputs;
|
|
13
|
-
if (outputs) providers.push(...collectPFrameProviders(outputs));
|
|
14
|
-
const prerun = ctx.prerun;
|
|
15
|
-
if (prerun) providers.push(...collectPFrameProviders(prerun));
|
|
16
|
-
providers.push(new ResultPoolColumnSnapshotProvider(ctx.resultPool));
|
|
17
|
-
return providers;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Adapter wrapping ResultPool into the new ColumnSnapshotProvider interface.
|
|
21
|
-
*
|
|
22
|
-
* - `isColumnListComplete()` always returns true — the result pool
|
|
23
|
-
* is a stable snapshot within a single render cycle.
|
|
24
|
-
* - Data status is derived from the underlying TreeNodeAccessor:
|
|
25
|
-
* ready (getIsReadyOrError), computing, or absent (no data resource).
|
|
26
|
-
*/
|
|
27
|
-
var ResultPoolColumnSnapshotProvider = class {
|
|
28
|
-
pool;
|
|
29
|
-
constructor(pool) {
|
|
30
|
-
this.pool = pool;
|
|
31
|
-
}
|
|
32
|
-
getAllColumns() {
|
|
33
|
-
return this.pool.selectColumns(() => true).map((col) => toSnapshot(col.id, col.spec, col.data));
|
|
34
|
-
}
|
|
35
|
-
isColumnListComplete() {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
function toSnapshot(id, spec, accessor) {
|
|
40
|
-
if (accessor === void 0) return {
|
|
41
|
-
id,
|
|
42
|
-
spec,
|
|
43
|
-
dataStatus: "absent",
|
|
44
|
-
data: void 0
|
|
45
|
-
};
|
|
46
|
-
const isReady = accessor.getIsReadyOrError();
|
|
47
|
-
return {
|
|
48
|
-
id,
|
|
49
|
-
spec,
|
|
50
|
-
dataStatus: isReady ? "ready" : "computing",
|
|
51
|
-
data: { get: () => isReady ? accessor : void 0 }
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Recursively walk the output tree starting from `accessor`.
|
|
56
|
-
* - If a node's resourceType is PFrame → wrap it as OutputColumnProvider.
|
|
57
|
-
* - If a node's resourceType is StdMap/std/map → recurse into its output fields.
|
|
58
|
-
* - Otherwise → skip (leaf of unknown type).
|
|
59
|
-
*/
|
|
60
|
-
function collectPFrameProviders(accessor) {
|
|
61
|
-
const out = [];
|
|
62
|
-
walkTree(accessor, out);
|
|
63
|
-
return out;
|
|
64
|
-
}
|
|
65
|
-
function walkTree(node, out) {
|
|
66
|
-
const typeName = node.resourceType.name;
|
|
67
|
-
if (typeName === ResourceTypeName.PFrame) {
|
|
68
|
-
out.push(new OutputColumnProvider(node));
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (typeName === ResourceTypeName.StdMap || typeName === ResourceTypeName.StdMapSlash) for (const field of node.listInputFields()) {
|
|
72
|
-
const child = node.resolve(field);
|
|
73
|
-
if (child) walkTree(child, out);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//#endregion
|
|
77
|
-
export { ResultPoolColumnSnapshotProvider, collectCtxColumnSnapshotProviders };
|
|
78
|
-
|
|
79
|
-
//# sourceMappingURL=ctx_column_sources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ctx_column_sources.js","names":[],"sources":["../../src/columns/ctx_column_sources.ts"],"sourcesContent":["import type { PColumnSpec, PObjectId } from \"@milaboratories/pl-model-common\";\nimport { TreeNodeAccessor } from \"../render/accessor\";\nimport type { RenderCtxBase, ResultPool } from \"../render\";\nimport type { ColumnSnapshot } from \"./column_snapshot\";\nimport type { ColumnDataStatus } from \"./column_snapshot\";\nimport type { ColumnSnapshotProvider } from \"./column_snapshot_provider\";\nimport { OutputColumnProvider } from \"./column_snapshot_provider\";\nimport { ResourceTypeName } from \"@milaboratories/pl-model-common\";\nimport type { ValueOf } from \"@milaboratories/helpers\";\n\n/**\n * Collect ColumnSnapshotProviders from `outputs`, `prerun`, and\n * `resultPool` in that order. Dedup keeps the first occurrence per\n * `NativePObjectId`, so a block re-publishing its own columns keeps\n * the `outputs`-rooted canonical id instead of the result-pool variant.\n */\nexport function collectCtxColumnSnapshotProviders(ctx: RenderCtxBase): ColumnSnapshotProvider[] {\n const providers: ColumnSnapshotProvider[] = [];\n\n const outputs = ctx.outputs;\n if (outputs) {\n providers.push(...collectPFrameProviders(outputs));\n }\n\n const prerun = ctx.prerun;\n if (prerun) {\n providers.push(...collectPFrameProviders(prerun));\n }\n\n providers.push(new ResultPoolColumnSnapshotProvider(ctx.resultPool));\n\n return providers;\n}\n\n/**\n * Adapter wrapping ResultPool into the new ColumnSnapshotProvider interface.\n *\n * - `isColumnListComplete()` always returns true — the result pool\n * is a stable snapshot within a single render cycle.\n * - Data status is derived from the underlying TreeNodeAccessor:\n * ready (getIsReadyOrError), computing, or absent (no data resource).\n */\nexport class ResultPoolColumnSnapshotProvider implements ColumnSnapshotProvider {\n constructor(private readonly pool: ResultPool) {}\n\n getAllColumns(): ColumnSnapshot<PObjectId>[] {\n const pColumns = this.pool.selectColumns(() => true);\n return pColumns.map((col) => toSnapshot(col.id, col.spec, col.data));\n }\n\n isColumnListComplete(): boolean {\n return true;\n }\n}\n\nfunction toSnapshot(\n id: PObjectId,\n spec: PColumnSpec,\n accessor: TreeNodeAccessor | undefined,\n): ColumnSnapshot<PObjectId> {\n if (accessor === undefined) {\n return { id, spec, dataStatus: \"absent\" as ColumnDataStatus, data: undefined };\n }\n const isReady = accessor.getIsReadyOrError();\n return {\n id,\n spec,\n dataStatus: (isReady ? \"ready\" : \"computing\") as ColumnDataStatus,\n data: { get: () => (isReady ? accessor : undefined) },\n };\n}\n\n/**\n * Recursively walk the output tree starting from `accessor`.\n * - If a node's resourceType is PFrame → wrap it as OutputColumnProvider.\n * - If a node's resourceType is StdMap/std/map → recurse into its output fields.\n * - Otherwise → skip (leaf of unknown type).\n */\nfunction collectPFrameProviders(accessor: TreeNodeAccessor): ColumnSnapshotProvider[] {\n const out: ColumnSnapshotProvider[] = [];\n walkTree(accessor, out);\n return out;\n}\n\nfunction walkTree(node: TreeNodeAccessor, out: ColumnSnapshotProvider[]): void {\n const typeName = node.resourceType.name as ValueOf<typeof ResourceTypeName>;\n\n if (typeName === ResourceTypeName.PFrame) {\n out.push(new OutputColumnProvider(node));\n return;\n }\n\n if (typeName === ResourceTypeName.StdMap || typeName === ResourceTypeName.StdMapSlash) {\n for (const field of node.listInputFields()) {\n const child = node.resolve(field);\n if (child) walkTree(child, out);\n }\n }\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,kCAAkC,KAA8C;CAC9F,MAAM,YAAsC,CAAC;CAE7C,MAAM,UAAU,IAAI;CACpB,IAAI,SACF,UAAU,KAAK,GAAG,uBAAuB,OAAO,CAAC;CAGnD,MAAM,SAAS,IAAI;CACnB,IAAI,QACF,UAAU,KAAK,GAAG,uBAAuB,MAAM,CAAC;CAGlD,UAAU,KAAK,IAAI,iCAAiC,IAAI,UAAU,CAAC;CAEnE,OAAO;AACT;;;;;;;;;AAUA,IAAa,mCAAb,MAAgF;CACjD;CAA7B,YAAY,MAAmC;EAAlB,KAAA,OAAA;CAAmB;CAEhD,gBAA6C;EAE3C,OADiB,KAAK,KAAK,oBAAoB,IACjC,CAAC,CAAC,KAAK,QAAQ,WAAW,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;CACrE;CAEA,uBAAgC;EAC9B,OAAO;CACT;AACF;AAEA,SAAS,WACP,IACA,MACA,UAC2B;CAC3B,IAAI,aAAa,KAAA,GACf,OAAO;EAAE;EAAI;EAAM,YAAY;EAA8B,MAAM,KAAA;CAAU;CAE/E,MAAM,UAAU,SAAS,kBAAkB;CAC3C,OAAO;EACL;EACA;EACA,YAAa,UAAU,UAAU;EACjC,MAAM,EAAE,WAAY,UAAU,WAAW,KAAA,EAAW;CACtD;AACF;;;;;;;AAQA,SAAS,uBAAuB,UAAsD;CACpF,MAAM,MAAgC,CAAC;CACvC,SAAS,UAAU,GAAG;CACtB,OAAO;AACT;AAEA,SAAS,SAAS,MAAwB,KAAqC;CAC7E,MAAM,WAAW,KAAK,aAAa;CAEnC,IAAI,aAAa,iBAAiB,QAAQ;EACxC,IAAI,KAAK,IAAI,qBAAqB,IAAI,CAAC;EACvC;CACF;CAEA,IAAI,aAAa,iBAAiB,UAAU,aAAa,iBAAiB,aACxE,KAAK,MAAM,SAAS,KAAK,gBAAgB,GAAG;EAC1C,MAAM,QAAQ,KAAK,QAAQ,KAAK;EAChC,IAAI,OAAO,SAAS,OAAO,GAAG;CAChC;AAEJ"}
|