@platforma-sdk/model 1.52.0 → 1.52.7
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_storage.cjs.map +1 -1
- package/dist/block_storage.d.ts +10 -0
- package/dist/block_storage.d.ts.map +1 -1
- package/dist/block_storage.js.map +1 -1
- package/dist/block_storage_vm.cjs +12 -15
- package/dist/block_storage_vm.cjs.map +1 -1
- package/dist/block_storage_vm.d.ts +1 -9
- package/dist/block_storage_vm.d.ts.map +1 -1
- package/dist/block_storage_vm.js +13 -16
- package/dist/block_storage_vm.js.map +1 -1
- package/dist/components/PFrameForGraphs.cjs.map +1 -1
- package/dist/components/PFrameForGraphs.d.ts +2 -2
- package/dist/components/PFrameForGraphs.d.ts.map +1 -1
- package/dist/components/PFrameForGraphs.js.map +1 -1
- package/dist/components/PlDataTable.cjs.map +1 -1
- package/dist/components/PlDataTable.d.ts +3 -3
- package/dist/components/PlDataTable.d.ts.map +1 -1
- package/dist/components/PlDataTable.js.map +1 -1
- package/dist/package.json.cjs +1 -1
- package/dist/package.json.js +1 -1
- package/dist/pframe_utils/columns.cjs.map +1 -1
- package/dist/pframe_utils/columns.d.ts +3 -3
- package/dist/pframe_utils/columns.d.ts.map +1 -1
- package/dist/pframe_utils/columns.js.map +1 -1
- package/package.json +6 -6
- package/src/block_storage.ts +11 -0
- package/src/block_storage_vm.ts +13 -24
- package/src/components/PFrameForGraphs.ts +2 -2
- package/src/components/PlDataTable.ts +3 -4
- package/src/pframe_utils/columns.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../src/pframe_utils/columns.ts"],"sourcesContent":["import type { PColumn, PColumnSpec, PColumnLazy, PFrameDef } from '@milaboratories/pl-model-common';\nimport { getNormalizedAxesList, getAxisId, canonicalizeJson, isLinkerColumn, matchAxisId, isLabelColumn } from '@milaboratories/pl-model-common';\nimport type { AxesVault } from '../components';\nimport { enrichCompatible, getAvailableWithLinkersAxes } from '../components';\nimport type {
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../src/pframe_utils/columns.ts"],"sourcesContent":["import type { PColumn, PColumnSpec, PColumnLazy, PFrameDef } from '@milaboratories/pl-model-common';\nimport { getNormalizedAxesList, getAxisId, canonicalizeJson, isLinkerColumn, matchAxisId, isLabelColumn } from '@milaboratories/pl-model-common';\nimport type { AxesVault } from '../components';\nimport { enrichCompatible, getAvailableWithLinkersAxes } from '../components';\nimport type { RenderCtxBase, PColumnDataUniversal } from '../render';\nimport { PColumnCollection } from '../render';\n\nexport function getAllRelatedColumns<A, U>(\n ctx: RenderCtxBase<A, U>, predicate: (spec: PColumnSpec) => boolean,\n): PFrameDef<PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>> {\n // if current block doesn't produce own columns then use all columns from result pool\n const columns = new PColumnCollection();\n columns.addColumnProvider(ctx.resultPool);\n const allColumns = columns.getUniversalEntries(predicate, { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? [];\n\n const allAxes: AxesVault = new Map(allColumns\n .flatMap((column) => getNormalizedAxesList(column.spec.axesSpec))\n .map((axisSpec) => {\n const axisId = getAxisId(axisSpec);\n return [canonicalizeJson(axisId), axisSpec];\n }));\n\n // additional columns are duplicates with extra fields in domains for compatibility if there are ones with partial match\n const extendedColumns = enrichCompatible(allAxes, allColumns);\n\n return extendedColumns;\n}\n\nexport function getRelatedColumns<A, U>(ctx: RenderCtxBase<A, U>, { columns: rootColumns, predicate }: {\n columns: PColumn<PColumnDataUniversal>[];\n predicate: (spec: PColumnSpec) => boolean;\n}): PFrameDef<PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>> {\n // if current block has its own columns then take from result pool only compatible with them\n const columns = new PColumnCollection();\n columns.addColumnProvider(ctx.resultPool);\n columns.addColumns(rootColumns);\n\n // all possible axes from block columns\n const blockAxes: AxesVault = new Map();\n // axes from block columns and compatible result pool columns\n const allAxes: AxesVault = new Map();\n for (const c of rootColumns) {\n for (const spec of getNormalizedAxesList(c.spec.axesSpec)) {\n const aid = getAxisId(spec);\n blockAxes.set(canonicalizeJson(aid), spec);\n allAxes.set(canonicalizeJson(aid), spec);\n }\n }\n\n // all linker columns always go to pFrame - even it's impossible to use some of them they all are hidden\n const linkerColumns = columns.getUniversalEntries((spec) => predicate(spec) && isLinkerColumn(spec)) ?? [];\n const availableWithLinkersAxes = getAvailableWithLinkersAxes(linkerColumns, blockAxes);\n\n // all possible axes from connected linkers\n for (const item of availableWithLinkersAxes) {\n blockAxes.set(...item);\n allAxes.set(...item);\n }\n\n const blockAxesArr = Array.from(blockAxes.values());\n // all compatible with block columns but without label columns\n let compatibleWithoutLabels = (columns.getUniversalEntries((spec) => predicate(spec) && spec.axesSpec.some((axisSpec) => {\n const axisId = getAxisId(axisSpec);\n return blockAxesArr.some((selectorAxisSpec) => matchAxisId(getAxisId(selectorAxisSpec), axisId));\n }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((column) => !isLabelColumn(column.spec));\n\n // extend axes set for label columns request\n for (const c of compatibleWithoutLabels) {\n for (const spec of getNormalizedAxesList(c.spec.axesSpec)) {\n const aid = getAxisId(spec);\n allAxes.set(canonicalizeJson(aid), spec);\n }\n }\n\n const allAxesArr = Array.from(allAxes.values());\n // extend allowed columns - add columns thad doesn't have axes from block, but have all axes in 'allAxes' list (that means all axes from linkers or from 'hanging' of other selected columns)\n compatibleWithoutLabels = (columns.getUniversalEntries((spec) => predicate(spec) && spec.axesSpec.every((axisSpec) => {\n const axisId = getAxisId(axisSpec);\n return allAxesArr.some((selectorAxisSpec) => matchAxisId(getAxisId(selectorAxisSpec), axisId));\n }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((column) => !isLabelColumn(column.spec));\n\n // label columns must be compatible with full set of axes - block axes and axes from compatible columns from result pool\n const compatibleLabels = (columns.getUniversalEntries((spec) => predicate(spec) && spec.axesSpec.some((axisSpec) => {\n const axisId = getAxisId(axisSpec);\n return allAxesArr.some((selectorAxisSpec) => matchAxisId(getAxisId(selectorAxisSpec), axisId));\n }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((column) => isLabelColumn(column.spec));\n\n const compatible = [...compatibleWithoutLabels, ...compatibleLabels];\n\n // additional columns are duplicates with extra fields in domains for compatibility if there are ones with partial match\n const extendedColumns = enrichCompatible(blockAxes, compatible);\n\n return extendedColumns;\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/model",
|
|
3
|
-
"version": "1.52.
|
|
3
|
+
"version": "1.52.7",
|
|
4
4
|
"description": "Platforma.bio SDK / Block Model",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,20 +23,20 @@
|
|
|
23
23
|
"canonicalize": "~2.1.0",
|
|
24
24
|
"es-toolkit": "^1.39.10",
|
|
25
25
|
"zod": "~3.23.8",
|
|
26
|
-
"@milaboratories/pl-error-like": "1.12.5",
|
|
27
26
|
"@milaboratories/pl-model-common": "1.24.0",
|
|
28
|
-
"@milaboratories/ptabler-expression-js": "1.1.10"
|
|
27
|
+
"@milaboratories/ptabler-expression-js": "1.1.10",
|
|
28
|
+
"@milaboratories/pl-error-like": "1.12.5"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"typescript": "~5.6.3",
|
|
32
32
|
"vitest": "^4.0.16",
|
|
33
33
|
"@vitest/coverage-istanbul": "^4.0.16",
|
|
34
34
|
"fast-json-patch": "^3.1.1",
|
|
35
|
-
"@milaboratories/build-configs": "1.2.2",
|
|
36
|
-
"@milaboratories/ts-builder": "1.2.2",
|
|
37
35
|
"@milaboratories/eslint-config": "1.0.5",
|
|
36
|
+
"@milaboratories/build-configs": "1.4.0",
|
|
37
|
+
"@milaboratories/helpers": "1.13.0",
|
|
38
38
|
"@milaboratories/ts-configs": "1.2.0",
|
|
39
|
-
"@milaboratories/
|
|
39
|
+
"@milaboratories/ts-builder": "1.2.4"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"type-check": "ts-builder types --target node",
|
package/src/block_storage.ts
CHANGED
|
@@ -183,6 +183,17 @@ export function updateStorageDataVersion<TState>(
|
|
|
183
183
|
return { ...storage, __dataVersion: version };
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
/**
|
|
187
|
+
* Storage debug view returned by __pl_storage_debugView callback.
|
|
188
|
+
* Used by developer tools to display block storage info.
|
|
189
|
+
*/
|
|
190
|
+
export interface StorageDebugView {
|
|
191
|
+
/** Current data version (1-based, starts at 1) */
|
|
192
|
+
dataVersion: number;
|
|
193
|
+
/** Raw data payload stored in BlockStorage */
|
|
194
|
+
data: unknown;
|
|
195
|
+
}
|
|
196
|
+
|
|
186
197
|
// =============================================================================
|
|
187
198
|
// Plugin Data Functions
|
|
188
199
|
// =============================================================================
|
package/src/block_storage_vm.ts
CHANGED
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
* directly - they only see `state`.
|
|
7
7
|
*
|
|
8
8
|
* Registered callbacks (all prefixed with `__pl_` for internal SDK use):
|
|
9
|
-
* - `__pl_storage_normalize`: (rawStorage) => { storage, data }
|
|
10
9
|
* - `__pl_storage_applyUpdate`: (currentStorageJson, payload) => updatedStorageJson
|
|
11
|
-
* - `
|
|
10
|
+
* - `__pl_storage_debugView`: (rawStorage) => JSON string with storage debug view
|
|
12
11
|
* - `__pl_storage_migrate`: (currentStorageJson) => MigrationResult
|
|
13
12
|
* - `__pl_args_derive`: (storageJson) => ArgsDeriveResult
|
|
14
13
|
* - `__pl_prerunArgs_derive`: (storageJson) => ArgsDeriveResult
|
|
@@ -27,11 +26,13 @@ import {
|
|
|
27
26
|
BLOCK_STORAGE_SCHEMA_VERSION,
|
|
28
27
|
type BlockStorage,
|
|
29
28
|
type MutateStoragePayload,
|
|
29
|
+
type StorageDebugView,
|
|
30
30
|
createBlockStorage,
|
|
31
31
|
getStorageData,
|
|
32
32
|
isBlockStorage,
|
|
33
33
|
updateStorageData,
|
|
34
34
|
} from './block_storage';
|
|
35
|
+
import { stringifyJson, type StringifiedJson } from '@milaboratories/pl-model-common';
|
|
35
36
|
import { tryGetCfgRenderCtx, tryRegisterCallback } from './internal';
|
|
36
37
|
|
|
37
38
|
/**
|
|
@@ -123,42 +124,30 @@ function isLegacyModelV1ApiFormat(data: unknown): data is { args?: unknown } {
|
|
|
123
124
|
// Auto-register internal callbacks when module is loaded in VM
|
|
124
125
|
// =============================================================================
|
|
125
126
|
|
|
126
|
-
// Register normalize callback
|
|
127
|
-
tryRegisterCallback('__pl_storage_normalize', (rawStorage: unknown) => {
|
|
128
|
-
return normalizeStorage(rawStorage);
|
|
129
|
-
});
|
|
130
|
-
|
|
131
127
|
// Register apply update callback (requires existing storage)
|
|
132
128
|
tryRegisterCallback('__pl_storage_applyUpdate', (currentStorageJson: string, payload: MutateStoragePayload) => {
|
|
133
129
|
return applyStorageUpdate(currentStorageJson, payload);
|
|
134
130
|
});
|
|
135
131
|
|
|
136
132
|
/**
|
|
137
|
-
*
|
|
138
|
-
|
|
139
|
-
export interface StorageInfo {
|
|
140
|
-
/** Current data version (1-based, starts at 1) */
|
|
141
|
-
dataVersion: number;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Gets storage info from raw storage data.
|
|
146
|
-
* Returns structured info about the storage state.
|
|
133
|
+
* Gets storage debug view from raw storage data.
|
|
134
|
+
* Returns structured debug info about the storage state.
|
|
147
135
|
*
|
|
148
136
|
* @param rawStorage - Raw data from blockStorage field (may be JSON string or object)
|
|
149
|
-
* @returns JSON string with storage
|
|
137
|
+
* @returns JSON string with storage debug view
|
|
150
138
|
*/
|
|
151
|
-
function
|
|
139
|
+
function getStorageDebugView(rawStorage: unknown): StringifiedJson<StorageDebugView> {
|
|
152
140
|
const { storage } = normalizeStorage(rawStorage);
|
|
153
|
-
const
|
|
141
|
+
const debugView: StorageDebugView = {
|
|
154
142
|
dataVersion: storage.__dataVersion,
|
|
143
|
+
data: storage.__data,
|
|
155
144
|
};
|
|
156
|
-
return
|
|
145
|
+
return stringifyJson(debugView);
|
|
157
146
|
}
|
|
158
147
|
|
|
159
|
-
// Register
|
|
160
|
-
tryRegisterCallback('
|
|
161
|
-
return
|
|
148
|
+
// Register debug view callback
|
|
149
|
+
tryRegisterCallback('__pl_storage_debugView', (rawStorage: unknown) => {
|
|
150
|
+
return getStorageDebugView(rawStorage);
|
|
162
151
|
});
|
|
163
152
|
|
|
164
153
|
// =============================================================================
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
readAnnotationJson,
|
|
18
18
|
stringifyJson,
|
|
19
19
|
} from '@milaboratories/pl-model-common';
|
|
20
|
-
import type { PColumnDataUniversal, PColumnEntryUniversal, PColumnEntryWithLabel,
|
|
20
|
+
import type { PColumnDataUniversal, PColumnEntryUniversal, PColumnEntryWithLabel, RenderCtxBase } from '../render';
|
|
21
21
|
import { getAllRelatedColumns, getRelatedColumns } from '../pframe_utils/columns';
|
|
22
22
|
|
|
23
23
|
/** Create id for column copy with added keys in axes domains */
|
|
@@ -179,7 +179,7 @@ function getAdditionalColumnsForColumn<T extends Omit<PColumn<PColumnDataUnivers
|
|
|
179
179
|
and modified label (with added domain values in case if more than one copy with different domains exist).
|
|
180
180
|
*/
|
|
181
181
|
export function createPFrameForGraphs<A, U>(
|
|
182
|
-
ctx:
|
|
182
|
+
ctx: RenderCtxBase<A, U>,
|
|
183
183
|
blockColumns?: PColumn<PColumnDataUniversal>[],
|
|
184
184
|
): PFrameHandle | undefined {
|
|
185
185
|
const suitableSpec = (spec: PColumnSpec) => !isHiddenFromUIColumn(spec) && !isHiddenFromGraphColumn(spec);
|
|
@@ -34,8 +34,7 @@ import type {
|
|
|
34
34
|
AxisLabelProvider,
|
|
35
35
|
ColumnProvider,
|
|
36
36
|
PColumnDataUniversal,
|
|
37
|
-
|
|
38
|
-
RenderCtxLegacy,
|
|
37
|
+
RenderCtxBase,
|
|
39
38
|
TreeNodeAccessor,
|
|
40
39
|
} from '../render';
|
|
41
40
|
import {
|
|
@@ -632,7 +631,7 @@ export function isColumnOptional(spec: { annotations?: Annotation }): boolean {
|
|
|
632
631
|
* @returns PlAgDataTableV2 table source
|
|
633
632
|
*/
|
|
634
633
|
export function createPlDataTableV2<A, U>(
|
|
635
|
-
ctx:
|
|
634
|
+
ctx: RenderCtxBase<A, U>,
|
|
636
635
|
columns: PColumn<PColumnDataUniversal>[],
|
|
637
636
|
tableState: PlDataTableStateV2 | undefined,
|
|
638
637
|
ops?: CreatePlDataTableOps,
|
|
@@ -766,7 +765,7 @@ export function createPlDataTableV2<A, U>(
|
|
|
766
765
|
|
|
767
766
|
/** Create sheet entries for PlDataTable */
|
|
768
767
|
export function createPlDataTableSheet<A, U>(
|
|
769
|
-
ctx:
|
|
768
|
+
ctx: RenderCtxBase<A, U>,
|
|
770
769
|
axis: AxisSpec,
|
|
771
770
|
values: (string | number)[],
|
|
772
771
|
): PlDataTableSheet {
|
|
@@ -2,11 +2,11 @@ import type { PColumn, PColumnSpec, PColumnLazy, PFrameDef } from '@milaboratori
|
|
|
2
2
|
import { getNormalizedAxesList, getAxisId, canonicalizeJson, isLinkerColumn, matchAxisId, isLabelColumn } from '@milaboratories/pl-model-common';
|
|
3
3
|
import type { AxesVault } from '../components';
|
|
4
4
|
import { enrichCompatible, getAvailableWithLinkersAxes } from '../components';
|
|
5
|
-
import type {
|
|
5
|
+
import type { RenderCtxBase, PColumnDataUniversal } from '../render';
|
|
6
6
|
import { PColumnCollection } from '../render';
|
|
7
7
|
|
|
8
8
|
export function getAllRelatedColumns<A, U>(
|
|
9
|
-
ctx:
|
|
9
|
+
ctx: RenderCtxBase<A, U>, predicate: (spec: PColumnSpec) => boolean,
|
|
10
10
|
): PFrameDef<PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>> {
|
|
11
11
|
// if current block doesn't produce own columns then use all columns from result pool
|
|
12
12
|
const columns = new PColumnCollection();
|
|
@@ -26,7 +26,7 @@ export function getAllRelatedColumns<A, U>(
|
|
|
26
26
|
return extendedColumns;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export function getRelatedColumns<A, U>(ctx:
|
|
29
|
+
export function getRelatedColumns<A, U>(ctx: RenderCtxBase<A, U>, { columns: rootColumns, predicate }: {
|
|
30
30
|
columns: PColumn<PColumnDataUniversal>[];
|
|
31
31
|
predicate: (spec: PColumnSpec) => boolean;
|
|
32
32
|
}): PFrameDef<PColumn<PColumnDataUniversal> | PColumnLazy<undefined | PColumnDataUniversal>> {
|