@platforma-sdk/model 1.83.0 → 1.83.17
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/annotations/converter.d.ts +1 -3
- package/dist/annotations/converter.d.ts.map +1 -1
- package/dist/annotations/types.d.ts +5 -6
- package/dist/annotations/types.d.ts.map +1 -1
- package/dist/bconfig/lambdas.d.ts +10 -10
- package/dist/bconfig/lambdas.d.ts.map +1 -1
- package/dist/bconfig/normalization.d.ts +3 -5
- package/dist/bconfig/normalization.d.ts.map +1 -1
- package/dist/bconfig/types.d.ts +4 -5
- package/dist/bconfig/types.d.ts.map +1 -1
- package/dist/bconfig/util.d.ts +1 -3
- package/dist/bconfig/util.d.ts.map +1 -1
- package/dist/bconfig/v3.d.ts +3 -5
- package/dist/bconfig/v3.d.ts.map +1 -1
- package/dist/block_api_v1.d.ts +2 -4
- package/dist/block_api_v1.d.ts.map +1 -1
- package/dist/block_api_v2.d.ts +1 -3
- package/dist/block_api_v2.d.ts.map +1 -1
- package/dist/block_api_v3.d.ts +1 -3
- package/dist/block_api_v3.d.ts.map +1 -1
- package/dist/block_migrations.d.ts +20 -36
- package/dist/block_migrations.d.ts.map +1 -1
- package/dist/block_model.d.ts +10 -10
- package/dist/block_model.d.ts.map +1 -1
- package/dist/block_state_patch.d.ts +6 -6
- package/dist/block_state_patch.d.ts.map +1 -1
- package/dist/block_state_util.d.ts +4 -6
- package/dist/block_state_util.d.ts.map +1 -1
- package/dist/block_storage.d.ts +24 -23
- package/dist/block_storage.d.ts.map +1 -1
- package/dist/block_storage_facade.d.ts +11 -12
- package/dist/block_storage_facade.d.ts.map +1 -1
- package/dist/columns/column.d.ts +5 -6
- package/dist/columns/column.d.ts.map +1 -1
- package/dist/columns/column_providers/index.d.ts +5 -6
- package/dist/columns/column_providers/index.d.ts.map +1 -1
- package/dist/columns/column_providers/providers.d.ts +10 -11
- package/dist/columns/column_providers/providers.d.ts.map +1 -1
- package/dist/columns/column_providers/types.d.ts +2 -3
- package/dist/columns/column_providers/types.d.ts.map +1 -1
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts +1 -3
- package/dist/columns/column_recipes/column_discovered_recipe.d.ts.map +1 -1
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts +1 -3
- package/dist/columns/column_recipes/column_filtered_recipe.d.ts.map +1 -1
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts +2 -3
- package/dist/columns/column_recipes/column_overrided_recipe.d.ts.map +1 -1
- package/dist/columns/column_recipes/index.d.ts +3 -4
- package/dist/columns/column_recipes/index.d.ts.map +1 -1
- package/dist/columns/column_recipes/types.d.ts +5 -6
- package/dist/columns/column_recipes/types.d.ts.map +1 -1
- package/dist/columns/columns_collection.d.ts +7 -8
- package/dist/columns/columns_collection.d.ts.map +1 -1
- package/dist/columns/data_column.d.ts +12 -16
- package/dist/columns/data_column.d.ts.map +1 -1
- package/dist/columns/derive_axis_values_labels.d.ts +2 -3
- package/dist/columns/derive_axis_values_labels.d.ts.map +1 -1
- package/dist/columns/split_by_axes.d.ts +3 -5
- package/dist/columns/split_by_axes.d.ts.map +1 -1
- package/dist/columns/utils.d.ts +10 -12
- package/dist/columns/utils.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +5 -5
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filter.d.ts +59 -40
- package/dist/components/PlAnnotations/filter.d.ts.map +1 -1
- package/dist/components/PlAnnotations/filters_ui.d.ts +18 -18
- package/dist/components/PlAnnotations/filters_ui.d.ts.map +1 -1
- package/dist/components/PlDataTable/columnResolver.cjs +2 -4
- package/dist/components/PlDataTable/columnResolver.cjs.map +1 -1
- package/dist/components/PlDataTable/columnResolver.js +2 -4
- package/dist/components/PlDataTable/columnResolver.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts +3 -4
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV2.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.cjs.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts +13 -10
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js +1 -1
- package/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts +5 -5
- package/dist/components/PlDataTable/createPlDataTable/discoverColumns.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/index.d.ts +4 -4
- package/dist/components/PlDataTable/createPlDataTable/index.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts +8 -7
- package/dist/components/PlDataTable/createPlDataTable/utils.d.ts.map +1 -1
- package/dist/components/PlDataTable/createPlDataTableSheet.d.ts +2 -3
- package/dist/components/PlDataTable/createPlDataTableSheet.d.ts.map +1 -1
- package/dist/components/PlDataTable/state-migration.d.ts +6 -7
- package/dist/components/PlDataTable/state-migration.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV4.d.ts +73 -42
- package/dist/components/PlDataTable/typesV4.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV5.d.ts +3 -5
- package/dist/components/PlDataTable/typesV5.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV6.d.ts +4 -6
- package/dist/components/PlDataTable/typesV6.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV7.d.ts +45 -27
- package/dist/components/PlDataTable/typesV7.d.ts.map +1 -1
- package/dist/components/PlDataTable/typesV8.d.ts +80 -45
- package/dist/components/PlDataTable/typesV8.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/build_dataset_options.d.ts +7 -6
- package/dist/components/PlDatasetSelector/build_dataset_options.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/dataset_selection.d.ts +4 -6
- package/dist/components/PlDatasetSelector/dataset_selection.d.ts.map +1 -1
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts +9 -8
- package/dist/components/PlDatasetSelector/filter_discovery.d.ts.map +1 -1
- package/dist/components/PlMultiSequenceAlignment.d.ts +6 -13
- package/dist/components/PlMultiSequenceAlignment.d.ts.map +1 -1
- package/dist/components/PlSelectionModel.d.ts +6 -6
- package/dist/components/PlSelectionModel.d.ts.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/config/model.d.ts +28 -30
- package/dist/config/model.d.ts.map +1 -1
- package/dist/config/type_engine.d.ts +3 -5
- package/dist/config/type_engine.d.ts.map +1 -1
- package/dist/env_value.d.ts +1 -2
- package/dist/env_value.d.ts.map +1 -1
- package/dist/filters/converters/filterToQuery.d.ts +6 -7
- package/dist/filters/converters/filterToQuery.d.ts.map +1 -1
- package/dist/filters/converters/filterUiToExpressionImpl.d.ts +2 -4
- package/dist/filters/converters/filterUiToExpressionImpl.d.ts.map +1 -1
- package/dist/filters/distill.d.ts +1 -3
- package/dist/filters/distill.d.ts.map +1 -1
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/types.d.ts +3 -4
- package/dist/filters/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/labels/derive_distinct_labels.d.ts +28 -17
- package/dist/labels/derive_distinct_labels.d.ts.map +1 -1
- package/dist/labels/derive_distinct_tooltips.d.ts +11 -8
- package/dist/labels/derive_distinct_tooltips.d.ts.map +1 -1
- package/dist/labels/linked_column_postfix.d.ts +3 -5
- package/dist/labels/linked_column_postfix.d.ts.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.js +1 -1
- package/dist/pframe.d.ts +1 -3
- package/dist/pframe.d.ts.map +1 -1
- package/dist/pframe_utils/axes.d.ts +4 -5
- package/dist/pframe_utils/axes.d.ts.map +1 -1
- package/dist/pframe_utils/columns.d.ts +3 -7
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/index.d.ts +9 -10
- package/dist/pframe_utils/index.d.ts.map +1 -1
- package/dist/platforma.d.ts +19 -21
- package/dist/platforma.d.ts.map +1 -1
- package/dist/plugin_handle.d.ts +11 -13
- package/dist/plugin_handle.d.ts.map +1 -1
- package/dist/plugin_model.d.ts +21 -22
- package/dist/plugin_model.d.ts.map +1 -1
- package/dist/raw_globals.d.ts +3 -4
- package/dist/raw_globals.d.ts.map +1 -1
- package/dist/render/accessor.d.ts +2 -4
- package/dist/render/accessor.d.ts.map +1 -1
- package/dist/render/api.d.ts +13 -13
- package/dist/render/api.d.ts.map +1 -1
- package/dist/render/future.d.ts +2 -4
- package/dist/render/future.d.ts.map +1 -1
- package/dist/render/index.d.ts +1 -0
- package/dist/render/internal.d.ts +11 -13
- package/dist/render/internal.d.ts.map +1 -1
- package/dist/render/traversal_ops.d.ts +14 -11
- package/dist/render/traversal_ops.d.ts.map +1 -1
- package/dist/render/util/axis_filtering.d.ts +5 -7
- package/dist/render/util/axis_filtering.d.ts.map +1 -1
- package/dist/render/util/column_collection.d.ts +14 -12
- package/dist/render/util/column_collection.d.ts.map +1 -1
- package/dist/render/util/label.d.ts +2 -3
- package/dist/render/util/label.d.ts.map +1 -1
- package/dist/render/util/pcolumn_data.d.ts +24 -25
- package/dist/render/util/pcolumn_data.d.ts.map +1 -1
- package/dist/render/util/split_selectors.d.ts +4 -6
- package/dist/render/util/split_selectors.d.ts.map +1 -1
- package/dist/services/block_services.d.ts +3 -4
- package/dist/services/block_services.d.ts.map +1 -1
- package/dist/services/get_services.d.ts +1 -3
- package/dist/services/get_services.d.ts.map +1 -1
- package/dist/services/service_bridge.d.ts +3 -5
- package/dist/services/service_bridge.d.ts.map +1 -1
- package/dist/services/service_resolve.d.ts +6 -7
- package/dist/services/service_resolve.d.ts.map +1 -1
- package/dist/version.d.ts +3 -4
- package/dist/version.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/components/PlDataTable/columnResolver.test.ts +3 -5
- package/src/components/PlDataTable/columnResolver.ts +2 -12
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV2.ts +1 -4
- package/src/components/PlDataTable/createPlDataTable/createPlDataTableV3.ts +5 -4
package/dist/render/api.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { AccessorHandle, GlobalCfgRenderCtx, PColumnDataUniversal } from "./inte
|
|
|
3
3
|
import { FutureRef } from "./future.js";
|
|
4
4
|
import { TreeNodeAccessor } from "./accessor.js";
|
|
5
5
|
import { DeriveLabelsOptions } from "../labels/derive_distinct_labels.js";
|
|
6
|
+
import "./util/label.js";
|
|
6
7
|
import { APColumnSelectorWithSplit } from "./util/split_selectors.js";
|
|
7
8
|
import { AxisLabelProvider, ColumnProvider } from "./util/column_collection.js";
|
|
8
9
|
import { AnchoredIdDeriver, AnchoredPColumnSelector, AnyFunction, AxisId, ColumnUniversalId, DataInfo, ModelServices, Option, PColumn, PColumnSelector, PColumnSpec, PColumnValues, PFrameDef, PFrameHandle, PObject, PObjectId, PObjectSpec, PTableDef, PTableDefV2, PTableHandle, PTableRecordFilter, PTableSorting, PlRef, ResolveAnchorsOptions, ResultCollection, SUniversalPColumnId, ValueOrError } from "@milaboratories/pl-model-common";
|
|
9
10
|
import { Optional } from "utility-types";
|
|
10
|
-
|
|
11
11
|
//#region src/render/api.d.ts
|
|
12
|
-
type UniversalColumnOption = {
|
|
12
|
+
export type UniversalColumnOption = {
|
|
13
13
|
label: string;
|
|
14
14
|
value: SUniversalPColumnId;
|
|
15
15
|
};
|
|
@@ -18,7 +18,7 @@ type UniversalColumnOption = {
|
|
|
18
18
|
* @param column Data from a PColumn to transform
|
|
19
19
|
* @returns Transformed data compatible with platform API
|
|
20
20
|
*/
|
|
21
|
-
declare function finalizePColumnData(column: PColumn<PColumnDataUniversal<undefined | TreeNodeAccessor>>): PColumn<PColumnValues | AccessorHandle | DataInfo<AccessorHandle>>;
|
|
21
|
+
export declare function finalizePColumnData(column: PColumn<PColumnDataUniversal<undefined | TreeNodeAccessor>>): PColumn<PColumnValues | AccessorHandle | DataInfo<AccessorHandle>>;
|
|
22
22
|
type UniversalPColumnOpts = {
|
|
23
23
|
labelOps?: DeriveLabelsOptions;
|
|
24
24
|
dontWaitAllData?: boolean;
|
|
@@ -51,7 +51,7 @@ type GetOptionsOpts = {
|
|
|
51
51
|
* replaced by `ctx.getSpecs` + on-demand `ctx.getStatusByRef` /
|
|
52
52
|
* `ctx.getPColumnByRef` so that the data resource is not subscribed up-front.
|
|
53
53
|
*/
|
|
54
|
-
declare class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
54
|
+
export declare class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
55
55
|
private readonly ctx;
|
|
56
56
|
getOptions(predicateOrSelector: ((spec: PObjectSpec) => boolean) | PColumnSelector | PColumnSelector[], opts?: GetOptionsOpts): Option[];
|
|
57
57
|
/** @deprecated wrap label ops with { label: <...> } */
|
|
@@ -165,7 +165,7 @@ declare class ResultPool implements ColumnProvider, AxisLabelProvider {
|
|
|
165
165
|
findLabelsForColumnAxis(column: PColumnSpec, axisIdx: number): Record<string | number, string> | undefined;
|
|
166
166
|
}
|
|
167
167
|
/** Main entry point to the API available within model lambdas (like outputs, sections, etc..) */
|
|
168
|
-
declare abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
168
|
+
export declare abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
169
169
|
readonly ctx: GlobalCfgRenderCtx;
|
|
170
170
|
constructor();
|
|
171
171
|
private dataCache?;
|
|
@@ -187,7 +187,8 @@ declare abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
|
187
187
|
createPTable(def: PTableDef<PColumn<PColumnDataUniversal>>): PTableHandle | undefined;
|
|
188
188
|
createPTable(def: {
|
|
189
189
|
columns: PColumn<PColumnDataUniversal>[];
|
|
190
|
-
filters?: PTableRecordFilter[];
|
|
190
|
+
filters?: PTableRecordFilter[];
|
|
191
|
+
/** Table sorting */
|
|
191
192
|
sorting?: PTableSorting[];
|
|
192
193
|
}): PTableHandle | undefined;
|
|
193
194
|
createPTableV2(def: PTableDefV2<ColumnUniversalId | PColumn<undefined | PColumnDataUniversal>>): PTableHandle | undefined;
|
|
@@ -197,7 +198,7 @@ declare abstract class RenderCtxBase<Args = unknown, Data = unknown> {
|
|
|
197
198
|
logError(msg: string): void;
|
|
198
199
|
}
|
|
199
200
|
/** Main entry point to the API available within model lambdas (like outputs, sections, etc..) for v3+ blocks */
|
|
200
|
-
declare class BlockRenderCtx<Args = unknown, Data = unknown> extends RenderCtxBase<Args, Data> {
|
|
201
|
+
export declare class BlockRenderCtx<Args = unknown, Data = unknown> extends RenderCtxBase<Args, Data> {
|
|
201
202
|
private argsCache?;
|
|
202
203
|
get args(): Args | undefined;
|
|
203
204
|
}
|
|
@@ -210,7 +211,7 @@ declare class BlockRenderCtx<Args = unknown, Data = unknown> extends RenderCtxBa
|
|
|
210
211
|
*
|
|
211
212
|
* @typeParam F - PluginFactoryLike phantom carrying data/params/outputs types
|
|
212
213
|
*/
|
|
213
|
-
declare class PluginRenderCtx<F extends PluginFactoryLike = PluginFactoryLike> extends RenderCtxBase<unknown, InferFactoryData<F>> {
|
|
214
|
+
export declare class PluginRenderCtx<F extends PluginFactoryLike = PluginFactoryLike> extends RenderCtxBase<unknown, InferFactoryData<F>> {
|
|
214
215
|
private readonly handle;
|
|
215
216
|
private readonly wrappedInputs;
|
|
216
217
|
constructor(handle: PluginHandle<F>, wrappedInputs: Record<string, () => unknown>);
|
|
@@ -222,10 +223,9 @@ declare class PluginRenderCtx<F extends PluginFactoryLike = PluginFactoryLike> e
|
|
|
222
223
|
get params(): InferFactoryParams<F>;
|
|
223
224
|
}
|
|
224
225
|
/** @deprecated Use BlockRenderCtx instead */
|
|
225
|
-
type RenderCtx<Args = unknown, Data = unknown> = BlockRenderCtx<Args, Data>;
|
|
226
|
-
type RenderFunction<Args = unknown, State = unknown, Ret = unknown> = (rCtx: BlockRenderCtx<Args, State>) => Ret;
|
|
227
|
-
type UnwrapFutureRef<K> = K extends FutureRef<infer T> ? T : K extends bigint | boolean | null | number | string | symbol | undefined ? K : { [key in keyof K]: UnwrapFutureRef<K[key]
|
|
228
|
-
type InferRenderFunctionReturn<RF extends AnyFunction> = RF extends ((...args: any) => infer R) ? UnwrapFutureRef<R> : never;
|
|
226
|
+
export type RenderCtx<Args = unknown, Data = unknown> = BlockRenderCtx<Args, Data>;
|
|
227
|
+
export type RenderFunction<Args = unknown, State = unknown, Ret = unknown> = (rCtx: BlockRenderCtx<Args, State>) => Ret;
|
|
228
|
+
export type UnwrapFutureRef<K> = K extends FutureRef<infer T> ? T : K extends bigint | boolean | null | number | string | symbol | undefined ? K : { [key in keyof K]: UnwrapFutureRef<K[key]>; };
|
|
229
|
+
export type InferRenderFunctionReturn<RF extends AnyFunction> = RF extends ((...args: any) => infer R) ? UnwrapFutureRef<R> : never;
|
|
229
230
|
//#endregion
|
|
230
|
-
export { BlockRenderCtx, InferRenderFunctionReturn, PluginRenderCtx, RenderCtx, RenderCtxBase, RenderFunction, ResultPool, UniversalColumnOption, UnwrapFutureRef, finalizePColumnData };
|
|
231
231
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/render/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","names":[],"sources":["../../src/render/api.ts"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"api.d.ts","names":[],"sources":["../../src/render/api.ts"],"mappings":";;;;;;;;;;;YA4FY;EAA0B;EAAe,OAAO;;;;;;;wBAO5C,oBACd,QAAQ,QAAQ,iCAAiC,qBAChD,QAAQ,gBAAgB,iBAAiB,SAAS;KAkBhD;EACH,WAAW;EACX;EACA,UAAU,0BAA0B;IAClC;KAEC;;;;;;EAMH;;;;;;EAMA,UAAU,MAAM,aAAa,KAAK,oBAAoB;;;;;;;;;;;;;;;qBAgB3C,sBAAsB,gBAAgB;mBAChC;EAEV,WACL,uBAAuB,MAAM,2BAA2B,kBAAkB,mBAC1E,OAAO,iBACN;;EAEI,WACL,uBAAuB,MAAM,2BAA2B,kBAAkB,mBAC1E,UAAU,MAAM,aAAa,KAAK,oBAAoB,sBACrD;EAyCI,iBACL,cAAc,oBAAoB,eAAe,cAAc,SAC9D;;;;;;;;;EAuBI,oBACL,cAAc,oBAAoB,eAAe,cAAc,QAC/D,wBACM,MAAM,2BACR,4BACA,6BACJ,OAAO,mCACM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCnC,oBACE,cAAc,oBAAoB,eAAe,cAAc,QAC/D,wBACM,MAAM,2BACR,4BACA,6BACJ,OAAO;IACJ;IAAe,OAAO;;;;;EAoBpB,yBAAyB,iBAAiB,QAAQ;EAIlD,WAAW,iBAAiB,QAAQ;;;;EAiBpC,mCAAmC,iBACxC,SAAS,QAAQ,aAAa,kBAAkB;EAK3C,qBAAqB,iBAC1B,SAAS,QAAQ,aAAa,kBAAkB;;;;EAqB3C,0BAA0B,iBAAiB;EAI3C,YAAY,iBAAiB;;;;;EAQ7B,aAAa,KAAK,QAAQ,QAAQ;;;;;;EAYlC,gBAAgB,KAAK,QAAQ,QAAQ;;;;;;EAWrC,oBAAoB,KAAK,QAAQ;;;;;EAWjC,aAAa,KAAK,QAAQ;;;;;;EAS1B,2BAA2B,MAAM,cAAc,QAAQ;;;;;EAwDvD,WAAW,MAAM,SAAS;;;;;;;;;;;EAyC1B,cACL,aAAa,MAAM,2BAA2B,kBAAkB,oBAC/D,QAAQ;;;;;EAoCJ,wBACL,QAAQ,aACR,kBACC;;;8BAkBiB,cAAc,gBAAgB;WAClC,KAAK;EAErB;UAIQ;MAEG,QAAQ;UAUX;;;;;MAMG,cAAc;EAWlB,WAAW,gBAAgB,eAAe,MAAM,IAAI,cAAc;UASjE;MAOG,UAAU;MAIV,WAAW;;WAKN,YAAU;UAElB;EAqBD,aACL,KAAK,UAAU,YAAY,sBAAsB,oBAAoB,yBACpE;EAKI,aAAa,KAAK,UAAU,QAAQ,yBAAyB;EAC7D,aAAa;IAClB,SAAS,QAAQ;IACjB,UAAU;;IAEV,UAAU;MACR;EA8BG,eACL,KAAK,YAAY,oBAAoB,oBAAoB,yBACxD;EAMI;EAIA,QAAQ;EAIR,QAAQ;EAIR,SAAS;;;qBAML,eAAe,gBAAgB,wBAAwB,cAAc,MAAM;UAC9E;MACG,QAAQ;;;;;;;;;;;qBAmBR,gBAAgB,UAAU,oBAAoB,2BAA2B,uBAEpF,iBAAiB;mBAEA;mBACA;EAEjB,YAAY,QAAQ,aAAa,IAAI,eAAe;UAM5C;;MAGY,QAAQ,iBAAiB;UAQrC;;MAGG,UAAU,mBAAmB;;;YAa9B,UAAU,gBAAgB,kBAAkB,eAAe,MAAM;YAEjE,eAAe,gBAAgB,iBAAiB,kBAC1D,MAAM,eAAe,MAAM,WACxB;YAEO,gBAAgB,KAC1B,UAAU,gBAAgB,KACtB,IACA,2EACE,OACG,aAAa,IAAI,gBAAgB,EAAE;YAElC,0BAA0B,WAAW,eAAe,gBAAe,oBAAoB,KAC/F,gBAAgB"}
|
package/dist/render/future.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { FutureAwait, FutureHandle } from "./internal.js";
|
|
2
|
-
|
|
3
2
|
//#region src/render/future.d.ts
|
|
4
|
-
declare class FutureRef<T = unknown> {
|
|
3
|
+
export declare class FutureRef<T = unknown> {
|
|
5
4
|
private readonly handle;
|
|
6
5
|
private readonly postProcess;
|
|
7
6
|
private isResolved;
|
|
@@ -11,7 +10,6 @@ declare class FutureRef<T = unknown> {
|
|
|
11
10
|
mapDefined<R>(mapping: (v: NonNullable<T>) => R): FutureRef<R | undefined>;
|
|
12
11
|
toJSON(): T | FutureAwait | undefined;
|
|
13
12
|
}
|
|
14
|
-
type ExtractFutureRefType<Ref extends FutureRef> = Ref extends FutureRef<infer T> ? T : never;
|
|
13
|
+
export type ExtractFutureRefType<Ref extends FutureRef> = Ref extends FutureRef<infer T> ? T : never;
|
|
15
14
|
//#endregion
|
|
16
|
-
export { ExtractFutureRefType, FutureRef };
|
|
17
15
|
//# sourceMappingURL=future.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"future.d.ts","names":[],"sources":["../../src/render/future.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"future.d.ts","names":[],"sources":["../../src/render/future.ts"],"mappings":";;qBAGa,UAAU;mBAKF;mBACA;UALX;UACA;EAER,YACmB,QAAQ,cACR,eAAc,mBAAmB;EAQ7C,IAAI,GAAG,UAAU,GAAG,MAAM,IAAI,UAAU;EAIxC,WAAW,GAAG,UAAU,GAAG,YAAY,OAAO,IAAI,UAAU;EAOnE,UAAM,IAAA;;YAOI,qBAAqB,YAAY,aAC3C,YAAY,gBAAgB,KAAK"}
|
package/dist/render/index.d.ts
CHANGED
|
@@ -8,4 +8,5 @@ import { AxisLabelProvider, ColumnProvider, PColumnCollection, PColumnEntryUnive
|
|
|
8
8
|
import { BlockRenderCtx, InferRenderFunctionReturn, PluginRenderCtx, RenderCtx, RenderCtxBase, RenderFunction, ResultPool, UniversalColumnOption, UnwrapFutureRef, finalizePColumnData } from "./api.js";
|
|
9
9
|
import { PColumnKeyList, PColumnResourceMapData, PColumnResourceMapEntry, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, allPColumnsReady, convertOrParsePColumnData, getNumberOfRows, getPartitionKeysList, getUniquePartitionKeys, isPColumnReady, parsePColumnData, parseResourceMap } from "./util/pcolumn_data.js";
|
|
10
10
|
import { filterDataInfoEntries } from "./util/axis_filtering.js";
|
|
11
|
+
import "./util/index.js";
|
|
11
12
|
export { type AccessorHandle, AxisLabelProvider, BlockRenderCtx, ColumnProvider, CommonFieldTraverseOps, CommonTraversalOps, type ExtractFutureRefType, FieldTraversalStep, FieldType, FutureRef, GetFieldStep, InferRenderFunctionReturn, type DeriveLabelsOptions as LabelDerivationOps, MainAccessorName, PColumnCollection, type PColumnDataUniversal, PColumnEntryUniversal, PColumnEntryWithLabel, PColumnKeyList, PColumnResourceMapData, PColumnResourceMapEntry, PColumnUniversal, PColumnWithLabel, PluginRenderCtx, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, RenderCtx, RenderCtxBase, RenderFunction, ResourceTraversalOps, ResourceType, ResultPool, type Entry as SpecExtractorResult, StagingAccessorName, TreeNodeAccessor, UniversalColumnOption, UnwrapFutureRef, allPColumnsReady, convertOrParsePColumnData, deriveLabels, filterDataInfoEntries, finalizePColumnData, getNumberOfRows, getPartitionKeysList, getUniquePartitionKeys, ifDef, isPColumnReady, parsePColumnData, parseResourceMap };
|
|
@@ -2,16 +2,14 @@ import { CommonFieldTraverseOps, FieldTraversalStep, ResourceType } from "./trav
|
|
|
2
2
|
import { TreeNodeAccessor } from "./accessor.js";
|
|
3
3
|
import { AccessorHandle, AnyFunction, ArchiveFormat, Branded, DataInfo, PColumn, PColumnValues, PFrameDef, PFrameHandle, PObject, PObjectId, PObjectSpec, PTableDef, PTableDefV2, PTableHandle, RangeBytes, ResultCollection, SUniversalPColumnId, ServiceDispatch, StringifiedJson, UpstreamBlockCtx, ValueOrError } from "@milaboratories/pl-model-common";
|
|
4
4
|
import { Optional } from "utility-types";
|
|
5
|
-
|
|
6
|
-
//#region src/render/internal.d.ts
|
|
7
5
|
declare namespace internal_d_exports {
|
|
8
6
|
export { AccessorHandle, FutureAwait, FutureHandle, GlobalCfgRenderCtx, GlobalCfgRenderCtxFeatureFlags, GlobalCfgRenderCtxMethods, MainAccessorName, PColumnDataUniversal, StagingAccessorName, getAllFutureAwaits, isFutureAwait };
|
|
9
7
|
}
|
|
10
|
-
declare const MainAccessorName = "main";
|
|
11
|
-
declare const StagingAccessorName = "staging";
|
|
12
|
-
type FutureHandle = Branded<string, "FutureHandle">;
|
|
13
|
-
type PColumnDataUniversal<TreeEntry = TreeNodeAccessor> = TreeEntry | DataInfo<TreeEntry> | PColumnValues;
|
|
14
|
-
interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = FutureHandle> {
|
|
8
|
+
export declare const MainAccessorName = "main";
|
|
9
|
+
export declare const StagingAccessorName = "staging";
|
|
10
|
+
export type FutureHandle = Branded<string, "FutureHandle">;
|
|
11
|
+
export type PColumnDataUniversal<TreeEntry = TreeNodeAccessor> = TreeEntry | DataInfo<TreeEntry> | PColumnValues;
|
|
12
|
+
export interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = FutureHandle> {
|
|
15
13
|
getAccessorHandleByName(name: string): AHandle | undefined;
|
|
16
14
|
resolveWithCommon(handle: AHandle, commonOptions: CommonFieldTraverseOps, ...steps: (FieldTraversalStep | string)[]): AHandle | undefined;
|
|
17
15
|
getResourceType(handle: AHandle): ResourceType;
|
|
@@ -63,7 +61,7 @@ interface GlobalCfgRenderCtxMethods<AHandle = AccessorHandle, FHandle = FutureHa
|
|
|
63
61
|
logWarn(message: string): void;
|
|
64
62
|
logError(message: string): void;
|
|
65
63
|
}
|
|
66
|
-
declare const GlobalCfgRenderCtxFeatureFlags: {
|
|
64
|
+
export declare const GlobalCfgRenderCtxFeatureFlags: {
|
|
67
65
|
explicitColumnsSupport: true;
|
|
68
66
|
inlineColumnsSupport: true;
|
|
69
67
|
activeArgs: true;
|
|
@@ -71,7 +69,7 @@ declare const GlobalCfgRenderCtxFeatureFlags: {
|
|
|
71
69
|
pFrameInSetFilterSupport: true;
|
|
72
70
|
lazyColumnStatusSupport: true;
|
|
73
71
|
};
|
|
74
|
-
interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods, ServiceDispatch {
|
|
72
|
+
export interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods, ServiceDispatch {
|
|
75
73
|
readonly args: string | (() => string);
|
|
76
74
|
/** @deprecated Use `data` instead. Optional for backward compatibility - falls back to `data` if not injected. */
|
|
77
75
|
readonly uiState?: string | (() => string);
|
|
@@ -81,11 +79,11 @@ interface GlobalCfgRenderCtx extends GlobalCfgRenderCtxMethods, ServiceDispatch
|
|
|
81
79
|
readonly callbackRegistry: Record<string, AnyFunction>;
|
|
82
80
|
readonly featureFlags?: typeof GlobalCfgRenderCtxFeatureFlags;
|
|
83
81
|
}
|
|
84
|
-
type FutureAwait = {
|
|
82
|
+
export type FutureAwait = {
|
|
85
83
|
__awaited_futures__: FutureHandle[];
|
|
86
84
|
};
|
|
87
|
-
declare function isFutureAwait(obj: unknown): obj is FutureAwait;
|
|
88
|
-
declare function getAllFutureAwaits(obj: unknown): Set<string>;
|
|
85
|
+
export declare function isFutureAwait(obj: unknown): obj is FutureAwait;
|
|
86
|
+
export declare function getAllFutureAwaits(obj: unknown): Set<string>;
|
|
89
87
|
//#endregion
|
|
90
|
-
export { type AccessorHandle,
|
|
88
|
+
export { type AccessorHandle, internal_d_exports };
|
|
91
89
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","names":[],"sources":["../../src/render/internal.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"internal.d.ts","names":[],"sources":["../../src/render/internal.ts"],"mappings":";;;;;;;qBA8Ba;qBACA;YAED,eAAe;YAEf,qBAAqB,YAAY,oBACzC,YACA,SAAS,aACT;iBAMa,0BAA0B,UAAU,gBAAgB,UAAU;EAK7E,wBAAwB,eAAe;EAMvC,kBACE,QAAQ,SACR,eAAe,2BACZ,QAAQ,iCACV;EAEH,gBAAgB,QAAQ,UAAU;EAElC,gBAAgB,QAAQ;EAExB,iBAAiB,QAAQ;EAEzB,kBAAkB,QAAQ;EAE1B,WAAW,QAAQ;EAEnB,SAAS,QAAQ,UAAU;EAE3B,gBAAgB,QAAQ;EAExB,iBAAiB,QAAQ;EAEzB,kBAAkB,QAAQ;EAE1B,kBAAkB,QAAQ,SAAS;EAEnC,oBAAoB,QAAQ,SAAS;EAErC,QAAQ,QAAQ;EAEhB,cAAc,QAAQ;EAEtB,gBAAgB,QAAQ;;EAGxB,uBACE,QAAQ,SACR,8BACA,mBACG,wBACF,eAAe,QAAQ;EAM1B,uBAAuB,QAAQ,SAAS,QAAQ,aAAa;EAE7D,uBAAuB,QAAQ,SAAS,QAAQ,aAAa;EAE7D,+BAA+B,QAAQ,UAAU;EAEjD,6BAA6B,QAAQ,UAAU;EAM/C,wBAAwB,QAAQ,SAAS,QAAQ,gBAAgB;EAMjE,kBAAkB,QAAQ,UAAU;EAMpC,YAAY,QAAQ,SAAS,iBAAiB;EAE9C,eAAe,QAAQ,SAAS,0BAA0B;EAE1D,uBAAuB,QAAQ,SAAS,0BAA0B;EAElE,aAAa,QAAQ,UAAU;;EAO/B,cAAc;EAMd,yBAAyB,iBAAiB,QAAQ;EAElD,mCAAmC,iBACjC,SAAS,QAAQ,aAAa,SAAS;EAGzC,0BAA0B,iBAAiB;EAE3C,2BAA2B,iBAAiB,qBAAqB;EAEjE,2BAA2B,iBAAiB,qBAAqB,QAAQ;;;;;;;;EAczE,uBAAuB,cAAc,iBAAiB;EAMtD,aACE,KAAK,UACH,YAAY,sBAAsB,QAAQ,UAAU,gBAAgB,SAAS,aAE9E;EAEH,aACE,KAAK,UACH,YAAY,sBAAsB,QAAQ,UAAU,gBAAgB,SAAS,aAE9E;EAEH,eACE,KAAK,YACH,YAAY,sBAAsB,QAAQ,UAAU,gBAAgB,SAAS,aAE9E;EAMH;EAMA,QAAQ;EAER,QAAQ;EAER,SAAS;;qBAGE;EACX;EACA;EACA;EACA;EACA;EACA;;iBAGe,2BAA2B,2BAA2B;WAU5D;;WAEA;WACA;WACA;WAEA,oBAAoB;WAKpB,kBAAkB,eAAe;WACjC,sBAAsB;;YAGrB;EACV,qBAAqB;;wBAGP,cAAc,eAAe,OAAO;wBAmBpC,mBAAmB,eAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/render/traversal_ops.d.ts
|
|
2
|
-
type CommonTraversalOps = {
|
|
2
|
+
export type CommonTraversalOps = {
|
|
3
3
|
/**
|
|
4
4
|
* Don't terminate chain if current resource or field has an error associated
|
|
5
5
|
* with, by default resource or field error will be thrown. If field has error
|
|
@@ -8,30 +8,34 @@ type CommonTraversalOps = {
|
|
|
8
8
|
* */
|
|
9
9
|
ignoreError?: true;
|
|
10
10
|
};
|
|
11
|
-
type CommonFieldTraverseOps = {
|
|
11
|
+
export type CommonFieldTraverseOps = {
|
|
12
12
|
/**
|
|
13
13
|
* Valid only if {@link assertFieldType} is defined and equal to 'Input',
|
|
14
14
|
* 'Service' or 'Output'. By default, if field is not found, and corresponding
|
|
15
15
|
* field list is locked, call will fail with exception.
|
|
16
16
|
* */
|
|
17
|
-
allowPermanentAbsence?: true;
|
|
17
|
+
allowPermanentAbsence?: true;
|
|
18
|
+
/** Will not mark current context as unstable, if field is not found. */
|
|
18
19
|
stableIfNotFound?: true;
|
|
19
20
|
};
|
|
20
|
-
type FieldType = "Input" | "Output" | "Service" | "OTW" | "Dynamic" | "MTW";
|
|
21
|
-
interface ResourceType {
|
|
21
|
+
export type FieldType = "Input" | "Output" | "Service" | "OTW" | "Dynamic" | "MTW";
|
|
22
|
+
export interface ResourceType {
|
|
22
23
|
readonly name: string;
|
|
23
24
|
readonly version: string;
|
|
24
25
|
}
|
|
25
|
-
type ResourceTraversalOps = CommonTraversalOps & {
|
|
26
|
+
export type ResourceTraversalOps = CommonTraversalOps & {
|
|
26
27
|
/**
|
|
27
28
|
* Assert resource type of the resource the fields points to. Call will fail
|
|
28
29
|
* with exception if this assertion is not fulfilled.
|
|
29
30
|
* */
|
|
30
31
|
assertResourceType?: ResourceType | ResourceType[];
|
|
31
32
|
};
|
|
32
|
-
type GetFieldStep = CommonFieldTraverseOps & {
|
|
33
|
-
/** Field name */
|
|
34
|
-
|
|
33
|
+
export type GetFieldStep = CommonFieldTraverseOps & {
|
|
34
|
+
/** Field name */
|
|
35
|
+
field: string;
|
|
36
|
+
/** Field must exist, if this option is set, instead error will be thrown */
|
|
37
|
+
errorIfFieldNotFound?: true;
|
|
38
|
+
/** Field must be assigned a value, if this option is set, instead error will be thrown */
|
|
35
39
|
errorIfFieldNotSet?: true;
|
|
36
40
|
/**
|
|
37
41
|
* Assert field type.
|
|
@@ -42,7 +46,6 @@ type GetFieldStep = CommonFieldTraverseOps & {
|
|
|
42
46
|
* */
|
|
43
47
|
assertFieldType?: FieldType;
|
|
44
48
|
};
|
|
45
|
-
type FieldTraversalStep = GetFieldStep & ResourceTraversalOps;
|
|
49
|
+
export type FieldTraversalStep = GetFieldStep & ResourceTraversalOps;
|
|
46
50
|
//#endregion
|
|
47
|
-
export { CommonFieldTraverseOps, CommonTraversalOps, FieldTraversalStep, FieldType, GetFieldStep, ResourceTraversalOps, ResourceType };
|
|
48
51
|
//# sourceMappingURL=traversal_ops.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traversal_ops.d.ts","names":[],"sources":["../../src/render/traversal_ops.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"traversal_ops.d.ts","names":[],"sources":["../../src/render/traversal_ops.ts"],"mappings":";YAAY;;;;;;;EAOV;;YAGU;;;;;;EAMV;;EAGA;;YAGU;iBAEK;WACN;WACA;;YAGC,uBAAuB;;;;;EAKjC,qBAAqB,eAAe;;YAG1B,eAAe;;EAEzB;;EAGA;;EAGA;;;;;;;;EASA,kBAAkB;;YAGR,qBAAqB,eAAe"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AxisFilterByIdx, BinaryPartitionedDataInfoEntries, JsonDataInfoEntries, JsonPartitionedDataInfoEntries, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries } from "@milaboratories/pl-model-common";
|
|
2
|
-
|
|
3
2
|
//#region src/render/util/axis_filtering.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Filters DataInfoEntries using axis filters, removing specified axes from keys and
|
|
@@ -9,11 +8,10 @@ import { AxisFilterByIdx, BinaryPartitionedDataInfoEntries, JsonDataInfoEntries,
|
|
|
9
8
|
* @param axisFilters - Array of axis filters (index, value pairs)
|
|
10
9
|
* @throws Error if any filter axis is outside the partitioning axes or data axes for Json data
|
|
11
10
|
*/
|
|
12
|
-
declare function filterDataInfoEntries<Blob>(dataInfoEntries: ParquetPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): ParquetPartitionedDataInfoEntries<Blob>;
|
|
13
|
-
declare function filterDataInfoEntries<Blob>(dataInfoEntries: BinaryPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): BinaryPartitionedDataInfoEntries<Blob>;
|
|
14
|
-
declare function filterDataInfoEntries<Blob>(dataInfoEntries: JsonPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): JsonPartitionedDataInfoEntries<Blob>;
|
|
15
|
-
declare function filterDataInfoEntries<Blob>(dataInfoEntries: PartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): PartitionedDataInfoEntries<Blob>;
|
|
16
|
-
declare function filterDataInfoEntries(dataInfoEntries: JsonDataInfoEntries, axisFilters: AxisFilterByIdx[]): JsonDataInfoEntries;
|
|
11
|
+
export declare function filterDataInfoEntries<Blob>(dataInfoEntries: ParquetPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): ParquetPartitionedDataInfoEntries<Blob>;
|
|
12
|
+
export declare function filterDataInfoEntries<Blob>(dataInfoEntries: BinaryPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): BinaryPartitionedDataInfoEntries<Blob>;
|
|
13
|
+
export declare function filterDataInfoEntries<Blob>(dataInfoEntries: JsonPartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): JsonPartitionedDataInfoEntries<Blob>;
|
|
14
|
+
export declare function filterDataInfoEntries<Blob>(dataInfoEntries: PartitionedDataInfoEntries<Blob>, axisFilters: AxisFilterByIdx[]): PartitionedDataInfoEntries<Blob>;
|
|
15
|
+
export declare function filterDataInfoEntries(dataInfoEntries: JsonDataInfoEntries, axisFilters: AxisFilterByIdx[]): JsonDataInfoEntries;
|
|
17
16
|
//#endregion
|
|
18
|
-
export { filterDataInfoEntries };
|
|
19
17
|
//# sourceMappingURL=axis_filtering.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis_filtering.d.ts","names":[],"sources":["../../../src/render/util/axis_filtering.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"axis_filtering.d.ts","names":[],"sources":["../../../src/render/util/axis_filtering.ts"],"mappings":";;;;;;;;;;wBAsBgB,sBAAsB,MACpC,iBAAiB,kCAAkC,OACnD,aAAa,oBACZ,kCAAkC;wBACrB,sBAAsB,MACpC,iBAAiB,iCAAiC,OAClD,aAAa,oBACZ,iCAAiC;wBACpB,sBAAsB,MACpC,iBAAiB,+BAA+B,OAChD,aAAa,oBACZ,+BAA+B;wBAClB,sBAAsB,MACpC,iBAAiB,2BAA2B,OAC5C,aAAa,oBACZ,2BAA2B;wBACd,sBACd,iBAAiB,qBACjB,aAAa,oBACZ"}
|
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import { PColumnDataUniversal } from "../internal.js";
|
|
2
2
|
import { DeriveLabelsOptions } from "../../labels/derive_distinct_labels.js";
|
|
3
|
+
import "./label.js";
|
|
3
4
|
import { APColumnSelectorWithSplit, PColumnSelectorWithSplit } from "./split_selectors.js";
|
|
4
5
|
import { AnchoredIdDeriver, AnchoredPColumnSelector, AxisId, PColumn, PColumnSelector, PColumnSpec, ResolveAnchorsOptions, SUniversalPColumnId } from "@milaboratories/pl-model-common";
|
|
5
|
-
|
|
6
6
|
//#region src/render/util/column_collection.d.ts
|
|
7
|
-
interface ColumnProvider {
|
|
7
|
+
export interface ColumnProvider {
|
|
8
8
|
selectColumns(selectors: ((spec: PColumnSpec) => boolean) | PColumnSelector | PColumnSelector[]): PColumn<PColumnDataUniversal | undefined>[];
|
|
9
9
|
}
|
|
10
|
-
interface AxisLabelProvider {
|
|
10
|
+
export interface AxisLabelProvider {
|
|
11
11
|
findLabels(axis: AxisId): Record<string | number, string> | undefined;
|
|
12
12
|
}
|
|
13
13
|
/** Lazy calculates the data, returns undefined if data is not ready. */
|
|
14
|
-
type PColumnWithLabel<T> = PColumn<T> & {
|
|
14
|
+
export type PColumnWithLabel<T> = PColumn<T> & {
|
|
15
15
|
label: string;
|
|
16
16
|
};
|
|
17
17
|
/** Universal column is a column that uses a universal column id, and always have label. */
|
|
18
|
-
type PColumnUniversal<T> = PColumnWithLabel<T> & {
|
|
18
|
+
export type PColumnUniversal<T> = PColumnWithLabel<T> & {
|
|
19
19
|
id: SUniversalPColumnId;
|
|
20
20
|
};
|
|
21
21
|
/** @deprecated Use PColumnWithLabel instead. */
|
|
22
|
-
type PColumnEntryWithLabel = PColumn<undefined | PColumnDataUniversal> & {
|
|
22
|
+
export type PColumnEntryWithLabel = PColumn<undefined | PColumnDataUniversal> & {
|
|
23
23
|
label: string;
|
|
24
24
|
};
|
|
25
25
|
/** @deprecated Use PColumnUniversal instead. */
|
|
26
|
-
type PColumnEntryUniversal = PColumnEntryWithLabel & {
|
|
26
|
+
export type PColumnEntryUniversal = PColumnEntryWithLabel & {
|
|
27
27
|
id: SUniversalPColumnId;
|
|
28
28
|
};
|
|
29
29
|
type UniversalPColumnOptsNoDeriver = {
|
|
30
|
-
/** If provided, columns matching the provided selectors will be excluded from the result. */
|
|
31
|
-
|
|
30
|
+
/** If provided, columns matching the provided selectors will be excluded from the result. */
|
|
31
|
+
exclude?: AnchoredPColumnSelector | AnchoredPColumnSelector[];
|
|
32
|
+
labelOps?: DeriveLabelsOptions;
|
|
33
|
+
/** If true, incomplete data will cause the column to be skipped instead of returning undefined for the whole request. */
|
|
32
34
|
dontWaitAllData?: boolean;
|
|
33
35
|
/**
|
|
34
36
|
* If true, the derived label will override the 'pl7.app/label' annotation
|
|
@@ -36,13 +38,14 @@ type UniversalPColumnOptsNoDeriver = {
|
|
|
36
38
|
* unless `labelOps.includeNativeLabel` is explicitly set to false.
|
|
37
39
|
* Default value in getUniversalEntries is false, in getColumns it is true.
|
|
38
40
|
*/
|
|
39
|
-
overrideLabelAnnotation?: boolean;
|
|
41
|
+
overrideLabelAnnotation?: boolean;
|
|
42
|
+
/** If true, resulting columns will be enriched by other columns considering linker columns. Default is false. */
|
|
40
43
|
enrichByLinkers?: boolean;
|
|
41
44
|
};
|
|
42
45
|
type UniversalPColumnOpts = UniversalPColumnOptsNoDeriver & {
|
|
43
46
|
anchorCtx: AnchoredIdDeriver;
|
|
44
47
|
} & ResolveAnchorsOptions;
|
|
45
|
-
declare class PColumnCollection {
|
|
48
|
+
export declare class PColumnCollection {
|
|
46
49
|
private readonly defaultProviderStore;
|
|
47
50
|
private readonly providers;
|
|
48
51
|
private readonly axisLabelProviders;
|
|
@@ -59,5 +62,4 @@ declare class PColumnCollection {
|
|
|
59
62
|
getColumns(predicateOrSelectors: ((spec: PColumnSpec) => boolean) | PColumnSelectorWithSplit | PColumnSelectorWithSplit[], opts?: UniversalPColumnOptsNoDeriver): PColumn<undefined | PColumnDataUniversal>[] | undefined;
|
|
60
63
|
}
|
|
61
64
|
//#endregion
|
|
62
|
-
export { AxisLabelProvider, ColumnProvider, PColumnCollection, PColumnEntryUniversal, PColumnEntryWithLabel, PColumnUniversal, PColumnWithLabel };
|
|
63
65
|
//# sourceMappingURL=column_collection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column_collection.d.ts","names":[],"sources":["../../../src/render/util/column_collection.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"column_collection.d.ts","names":[],"sources":["../../../src/render/util/column_collection.ts"],"mappings":";;;;;;iBAgDiB;EACf,cACE,aAAa,MAAM,2BAA2B,kBAAkB,oBAC/D,QAAQ;;iBAGI;EACf,WAAW,MAAM,SAAS;;;YAsBhB,iBAAiB,KAAK,QAAQ;EACxC;;;YAIU,iBAAiB,KAAK,iBAAiB;EACjD,IAAI;;;YAIM,wBAAwB,oBAAoB;EACtD;;;YAIU,wBAAwB;EAClC,IAAI;;KAwGD;;EAEH,UAAU,0BAA0B;EACpC,WAAW;;EAEX;;;;;;;EAOA;;EAEA;;KAGG,uBAAuB;EAC1B,WAAW;IACT;qBAES;mBACM;mBACA;mBAGA;EAEjB;EAEO,kBAAkB,UAAU;EAK5B,qBAAqB,UAAU;EAK/B,WAAW,SAAS,QAAQ;EAK5B,UAAU,QAAQ,QAAQ;;UAMzB;EASD,oBACL,wBACM,MAAM,2BACR,4BACA,6BACJ,MAAM,uBACL;EACI,oBACL,wBACM,MAAM,2BACR,2BACA,4BACJ,OAAO,gCACN;EAyRI,WACL,wBACM,MAAM,2BACR,4BACA,6BACJ,MAAM,uBACL,oBAAoB;EAChB,WACL,wBACM,MAAM,2BACR,2BACA,4BACJ,OAAO,gCACN,oBAAoB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { DeriveLabelsOptions, Entry, Trace } from "../../labels/derive_distinct_labels.js";
|
|
2
|
-
|
|
3
2
|
//#region src/render/util/label.d.ts
|
|
4
3
|
type WithLabel<T> = {
|
|
5
4
|
value: T;
|
|
6
5
|
label: string;
|
|
7
6
|
};
|
|
8
7
|
/** @deprecated Use deriveDistinctLabels */
|
|
9
|
-
declare function deriveLabels<T>(values: T[], getSpec: (obj: T) => Entry, options?: DeriveLabelsOptions): WithLabel<T>[];
|
|
8
|
+
export declare function deriveLabels<T>(values: T[], getSpec: (obj: T) => Entry, options?: DeriveLabelsOptions): WithLabel<T>[];
|
|
10
9
|
//#endregion
|
|
11
|
-
export {
|
|
10
|
+
export type { DeriveLabelsOptions as LabelDerivationOps, Entry as SpecExtractorResult };
|
|
12
11
|
//# sourceMappingURL=label.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.d.ts","names":[],"sources":["../../../src/render/util/label.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"label.d.ts","names":[],"sources":["../../../src/render/util/label.ts"],"mappings":";;KAaK,UAAU;EAAO,OAAO;EAAG;;;wBAGhB,aAAa,GAC3B,QAAQ,KACR,UAAU,KAAK,MAAM,OACrB,UAAS,sBACR,UAAU"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import { PColumnDataUniversal } from "../internal.js";
|
|
2
2
|
import { TreeNodeAccessor } from "../accessor.js";
|
|
3
3
|
import { DataInfo, DataInfoEntries, PColumn, PColumnKey, PartitionedDataInfoEntries } from "@milaboratories/pl-model-common";
|
|
4
|
-
|
|
5
4
|
//#region src/render/util/pcolumn_data.d.ts
|
|
6
|
-
declare const RT_RESOURCE_MAP: string;
|
|
7
|
-
declare const RT_RESOURCE_MAP_PARTITIONED: string;
|
|
8
|
-
declare const RT_JSON_PARTITIONED: string;
|
|
9
|
-
declare const RT_BINARY_PARTITIONED: string;
|
|
10
|
-
declare const RT_PARQUET_PARTITIONED: string;
|
|
11
|
-
declare const RT_JSON_SUPER_PARTITIONED: string;
|
|
12
|
-
declare const RT_BINARY_SUPER_PARTITIONED: string;
|
|
13
|
-
declare const RT_PARQUET_SUPER_PARTITIONED: string;
|
|
14
|
-
type PColumnResourceMapEntry<T> = {
|
|
5
|
+
export declare const RT_RESOURCE_MAP: string;
|
|
6
|
+
export declare const RT_RESOURCE_MAP_PARTITIONED: string;
|
|
7
|
+
export declare const RT_JSON_PARTITIONED: string;
|
|
8
|
+
export declare const RT_BINARY_PARTITIONED: string;
|
|
9
|
+
export declare const RT_PARQUET_PARTITIONED: string;
|
|
10
|
+
export declare const RT_JSON_SUPER_PARTITIONED: string;
|
|
11
|
+
export declare const RT_BINARY_SUPER_PARTITIONED: string;
|
|
12
|
+
export declare const RT_PARQUET_SUPER_PARTITIONED: string;
|
|
13
|
+
export type PColumnResourceMapEntry<T> = {
|
|
15
14
|
key: PColumnKey;
|
|
16
15
|
value: T;
|
|
17
16
|
};
|
|
18
|
-
type PColumnResourceMapData<T> = {
|
|
17
|
+
export type PColumnResourceMapData<T> = {
|
|
19
18
|
isComplete: boolean;
|
|
20
19
|
data: PColumnResourceMapEntry<T>[];
|
|
21
20
|
};
|
|
22
|
-
declare function parseResourceMap<T>(acc: TreeNodeAccessor | undefined, resourceParser: (acc: TreeNodeAccessor) => T | undefined, addEntriesWithNoData: false): PColumnResourceMapData<NonNullable<T>>;
|
|
23
|
-
declare function parseResourceMap<T>(acc: TreeNodeAccessor | undefined, resourceParser: (acc: TreeNodeAccessor) => T | undefined, addEntriesWithNoData: true): PColumnResourceMapData<T | undefined>;
|
|
24
|
-
type PColumnKeyList = {
|
|
25
|
-
/** array of keys */
|
|
21
|
+
export declare function parseResourceMap<T>(acc: TreeNodeAccessor | undefined, resourceParser: (acc: TreeNodeAccessor) => T | undefined, addEntriesWithNoData: false): PColumnResourceMapData<NonNullable<T>>;
|
|
22
|
+
export declare function parseResourceMap<T>(acc: TreeNodeAccessor | undefined, resourceParser: (acc: TreeNodeAccessor) => T | undefined, addEntriesWithNoData: true): PColumnResourceMapData<T | undefined>;
|
|
23
|
+
export type PColumnKeyList = {
|
|
24
|
+
/** array of keys */
|
|
25
|
+
data: PColumnKey[];
|
|
26
|
+
/** length of partition key */
|
|
26
27
|
keyLength: number;
|
|
27
28
|
};
|
|
28
29
|
/** Returns a list of all partition keys appeared in the p-column */
|
|
29
|
-
declare function getPartitionKeysList(acc: TreeNodeAccessor | undefined): PColumnKeyList | undefined;
|
|
30
|
+
export declare function getPartitionKeysList(acc: TreeNodeAccessor | undefined): PColumnKeyList | undefined;
|
|
30
31
|
/** Returns an array of unique partition keys for each column: the i-th element in the resulting 2d array contains all unique values of i-th partition axis. */
|
|
31
|
-
declare function getUniquePartitionKeys(acc: DataInfoEntries<unknown>): (string | number)[][];
|
|
32
|
-
declare function getUniquePartitionKeys(acc: DataInfoEntries<unknown> | TreeNodeAccessor | undefined): (string | number)[][] | undefined;
|
|
32
|
+
export declare function getUniquePartitionKeys(acc: DataInfoEntries<unknown>): (string | number)[][];
|
|
33
|
+
export declare function getUniquePartitionKeys(acc: DataInfoEntries<unknown> | TreeNodeAccessor | undefined): (string | number)[][] | undefined;
|
|
33
34
|
/**
|
|
34
35
|
* Parses the PColumn data from a TreeNodeAccessor into a DataInfoEntries structure.
|
|
35
36
|
* Returns undefined if any required data is missing.
|
|
@@ -39,14 +40,13 @@ declare function getUniquePartitionKeys(acc: DataInfoEntries<unknown> | TreeNode
|
|
|
39
40
|
* @param keyPrefix - Optional key prefix for recursive calls
|
|
40
41
|
* @returns DataInfoEntries representation of the PColumn data, or undefined if incomplete
|
|
41
42
|
*/
|
|
42
|
-
declare function parsePColumnData(acc: TreeNodeAccessor | undefined, keyPrefix?: PColumnKey): PartitionedDataInfoEntries<TreeNodeAccessor> | undefined;
|
|
43
|
+
export declare function parsePColumnData(acc: TreeNodeAccessor | undefined, keyPrefix?: PColumnKey): PartitionedDataInfoEntries<TreeNodeAccessor> | undefined;
|
|
43
44
|
/**
|
|
44
45
|
* Converts or parses the input into DataInfoEntries format.
|
|
45
|
-
|
|
46
46
|
* @param acc - The input data, which can be TreeNodeAccessor, DataInfoEntries, DataInfo, or undefined.
|
|
47
47
|
* @returns The data in DataInfoEntries format, or undefined if the input was undefined or data is not ready.
|
|
48
48
|
*/
|
|
49
|
-
declare function convertOrParsePColumnData(acc: TreeNodeAccessor | DataInfoEntries<TreeNodeAccessor> | DataInfo<TreeNodeAccessor> | undefined): DataInfoEntries<TreeNodeAccessor> | undefined;
|
|
49
|
+
export declare function convertOrParsePColumnData(acc: TreeNodeAccessor | DataInfoEntries<TreeNodeAccessor> | DataInfo<TreeNodeAccessor> | undefined): DataInfoEntries<TreeNodeAccessor> | undefined;
|
|
50
50
|
/**
|
|
51
51
|
* Returns the total number of rows in a PColumn, or `undefined` when the count
|
|
52
52
|
* cannot be determined without downloading data blobs.
|
|
@@ -67,9 +67,8 @@ declare function convertOrParsePColumnData(acc: TreeNodeAccessor | DataInfoEntri
|
|
|
67
67
|
* Note: do not confuse row count with `keyLength` / `partitionKeyLength`, which
|
|
68
68
|
* are axis-tuple lengths, not row counts.
|
|
69
69
|
*/
|
|
70
|
-
declare function getNumberOfRows(data: PColumnDataUniversal | undefined): number | undefined;
|
|
71
|
-
declare function isPColumnReady(c: PColumn<undefined | PColumnDataUniversal>): c is PColumn<PColumnDataUniversal>;
|
|
72
|
-
declare function allPColumnsReady(columns: PColumn<undefined | PColumnDataUniversal>[]): columns is PColumn<PColumnDataUniversal>[];
|
|
70
|
+
export declare function getNumberOfRows(data: PColumnDataUniversal | undefined): number | undefined;
|
|
71
|
+
export declare function isPColumnReady(c: PColumn<undefined | PColumnDataUniversal>): c is PColumn<PColumnDataUniversal>;
|
|
72
|
+
export declare function allPColumnsReady(columns: PColumn<undefined | PColumnDataUniversal>[]): columns is PColumn<PColumnDataUniversal>[];
|
|
73
73
|
//#endregion
|
|
74
|
-
export { PColumnKeyList, PColumnResourceMapData, PColumnResourceMapEntry, RT_BINARY_PARTITIONED, RT_BINARY_SUPER_PARTITIONED, RT_JSON_PARTITIONED, RT_JSON_SUPER_PARTITIONED, RT_PARQUET_PARTITIONED, RT_PARQUET_SUPER_PARTITIONED, RT_RESOURCE_MAP, RT_RESOURCE_MAP_PARTITIONED, allPColumnsReady, convertOrParsePColumnData, getNumberOfRows, getPartitionKeysList, getUniquePartitionKeys, isPColumnReady, parsePColumnData, parseResourceMap };
|
|
75
74
|
//# sourceMappingURL=pcolumn_data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcolumn_data.d.ts","names":[],"sources":["../../../src/render/util/pcolumn_data.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"pcolumn_data.d.ts","names":[],"sources":["../../../src/render/util/pcolumn_data.ts"],"mappings":";;;;qBAuBa;qBACA;qBAEA;qBACA;qBACA;qBAGA;qBACA;qBACA;YAED,wBAAwB;EAClC,KAAK;EACL,OAAO;;YAGG,uBAAuB;EACjC;EACA,MAAM,wBAAwB;;wBA+ChB,iBAAiB,GAC/B,KAAK,8BACL,iBAAiB,KAAK,qBAAqB,eAC3C,8BACC,uBAAuB,YAAY;wBACtB,iBAAiB,GAC/B,KAAK,8BACL,iBAAiB,KAAK,qBAAqB,eAC3C,6BACC,uBAAuB;YAWd;;EAEV,MAAM;;EAEN;;;wBAec,qBACd,KAAK,+BACJ;;wBAyGa,uBAAuB,KAAK;wBAC5B,uBACd,KAAK,2BAA2B;;;;;;;;;;wBAyClB,iBACd,KAAK,8BACL,YAAW,aACV,2BAA2B;;;;;;wBA2Pd,0BACd,KACI,mBACA,gBAAgB,oBAChB,SAAS,gCAEZ,gBAAgB;;;;;;;;;;;;;;;;;;;;;wBA8BH,gBAAgB,MAAM;wBAsCtB,eACd,GAAG,oBAAoB,wBACtB,KAAK,QAAQ;wBAmBA,iBACd,SAAS,oBAAoB,0BAC5B,WAAW,QAAQ"}
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
import { AAxisSelector, AnchoredPColumnSelector, LegacyAxisSelector, PColumnSelector } from "@milaboratories/pl-model-common";
|
|
2
|
-
|
|
3
2
|
//#region src/render/util/split_selectors.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* AAxisSelector with an optional split flag
|
|
6
5
|
*/
|
|
7
|
-
type AAxisSelectorWithSplit = AAxisSelector & {
|
|
6
|
+
export type AAxisSelectorWithSplit = AAxisSelector & {
|
|
8
7
|
split?: boolean;
|
|
9
8
|
};
|
|
10
9
|
/**
|
|
11
10
|
* APColumnSelector with an optional split flag for each axis
|
|
12
11
|
*/
|
|
13
|
-
type APColumnSelectorWithSplit = AnchoredPColumnSelector & {
|
|
12
|
+
export type APColumnSelectorWithSplit = AnchoredPColumnSelector & {
|
|
14
13
|
axes?: AAxisSelectorWithSplit[];
|
|
15
14
|
};
|
|
16
15
|
/**
|
|
17
16
|
* AxisSelector with an optional split flag
|
|
18
17
|
*/
|
|
19
|
-
type AxisSelectorWithSplit = LegacyAxisSelector & {
|
|
18
|
+
export type AxisSelectorWithSplit = LegacyAxisSelector & {
|
|
20
19
|
split?: boolean;
|
|
21
20
|
};
|
|
22
21
|
/**
|
|
23
22
|
* PColumnSelector with an optional split flag for each axis
|
|
24
23
|
*/
|
|
25
|
-
type PColumnSelectorWithSplit = PColumnSelector & {
|
|
24
|
+
export type PColumnSelectorWithSplit = PColumnSelector & {
|
|
26
25
|
axes?: AxisSelectorWithSplit[];
|
|
27
26
|
};
|
|
28
27
|
//#endregion
|
|
29
|
-
export { AAxisSelectorWithSplit, APColumnSelectorWithSplit, AxisSelectorWithSplit, PColumnSelectorWithSplit };
|
|
30
28
|
//# sourceMappingURL=split_selectors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split_selectors.d.ts","names":[],"sources":["../../../src/render/util/split_selectors.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"split_selectors.d.ts","names":[],"sources":["../../../src/render/util/split_selectors.ts"],"mappings":";;;;;YAUY,yBAAyB;EACnC;;;;;YAMU,4BAA4B;EACtC,OAAO;;;;;YAMG,wBAAwB;EAClC;;;;;YAMU,2BAA2B;EACrC,OAAO"}
|
|
@@ -6,14 +6,13 @@
|
|
|
6
6
|
* Standalone module to avoid circular dependencies between block_model.ts
|
|
7
7
|
* and service type resolution.
|
|
8
8
|
*/
|
|
9
|
-
declare const BLOCK_SERVICE_FLAGS: {
|
|
9
|
+
export declare const BLOCK_SERVICE_FLAGS: {
|
|
10
10
|
readonly requiresPFrameSpec: true;
|
|
11
11
|
readonly requiresPFrame: true;
|
|
12
12
|
readonly requiresDialog: true;
|
|
13
13
|
readonly requiresColumnsCollection: true;
|
|
14
14
|
};
|
|
15
|
-
type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;
|
|
16
|
-
declare const blockServiceNames: import("@milaboratories/pl-model-common").ServiceName[];
|
|
15
|
+
export type BlockServiceFlags = typeof BLOCK_SERVICE_FLAGS;
|
|
16
|
+
export declare const blockServiceNames: import("@milaboratories/pl-model-common").ServiceName[];
|
|
17
17
|
//#endregion
|
|
18
|
-
export { BLOCK_SERVICE_FLAGS, BlockServiceFlags, blockServiceNames };
|
|
19
18
|
//# sourceMappingURL=block_services.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_services.d.ts","names":[],"sources":["../../src/services/block_services.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"block_services.d.ts","names":[],"sources":["../../src/services/block_services.ts"],"mappings":";;;;;;;;qBAUa;;;;;;YAOD,2BAA2B;qBAE1B,6DAAiB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { GlobalCfgRenderCtx } from "../render/internal.js";
|
|
2
2
|
import { ModelServices } from "@milaboratories/pl-model-common";
|
|
3
|
-
|
|
4
3
|
//#region src/services/get_services.d.ts
|
|
5
|
-
declare function getService<T extends keyof ModelServices>(name: T, deps?: {
|
|
4
|
+
export declare function getService<T extends keyof ModelServices>(name: T, deps?: {
|
|
6
5
|
ctx?: GlobalCfgRenderCtx;
|
|
7
6
|
}): ModelServices[T];
|
|
8
7
|
//#endregion
|
|
9
|
-
export { getService };
|
|
10
8
|
//# sourceMappingURL=get_services.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_services.d.ts","names":[],"sources":["../../src/services/get_services.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_services.d.ts","names":[],"sources":["../../src/services/get_services.ts"],"mappings":";;;wBAWgB,WAAW,gBAAgB,eACzC,MAAM,GACN;EAAS,MAAM;IACd,cAAc"}
|