@finos/legend-extension-dsl-data-quality 2.0.25 → 2.0.26
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/lib/components/DSL_DataQuality_ElementDriver.js +6 -6
- package/lib/components/DSL_DataQuality_ElementDriver.js.map +1 -1
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +0 -1
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/DSL_NewDataQualityValidationElement.js +1 -1
- package/lib/components/DSL_NewDataQualityValidationElement.js.map +1 -1
- package/lib/components/DataQualityDataSpaceBuilder.d.ts.map +1 -1
- package/lib/components/DataQualityDataSpaceBuilder.js +3 -3
- package/lib/components/DataQualityDataSpaceBuilder.js.map +1 -1
- package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts.map +1 -1
- package/lib/components/DataQualityMappingAndRuntimeBuilder.js +5 -4
- package/lib/components/DataQualityMappingAndRuntimeBuilder.js.map +1 -1
- package/lib/components/DataQualityResultPanel.d.ts.map +1 -1
- package/lib/components/DataQualityResultPanel.js +1 -1
- package/lib/components/DataQualityResultPanel.js.map +1 -1
- package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -1
- package/lib/components/states/DataQualityClassValidationState.js +8 -8
- package/lib/components/states/DataQualityClassValidationState.js.map +1 -1
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.d.ts.map +1 -1
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.js +2 -1
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.js.map +1 -1
- package/lib/components/states/DataQualityState.d.ts.map +1 -1
- package/lib/components/states/DataQualityState.js +5 -5
- package/lib/components/states/DataQualityState.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js +3 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js +4 -4
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +5 -5
- package/package.json +16 -16
- package/src/components/DSL_DataQuality_ElementDriver.tsx +6 -6
- package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +1 -2
- package/src/components/DSL_NewDataQualityValidationElement.tsx +1 -1
- package/src/components/DataQualityDataSpaceBuilder.tsx +7 -3
- package/src/components/DataQualityMappingAndRuntimeBuilder.tsx +9 -4
- package/src/components/DataQualityResultPanel.tsx +3 -1
- package/src/components/states/DataQualityClassValidationState.ts +15 -10
- package/src/components/states/DataQualityRelationValidationLambdaEditorState.ts +5 -2
- package/src/components/states/DataQualityState.ts +5 -4
- package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.ts +3 -2
- package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.ts +9 -4
- package/style/_data-quality-relation-validation-builder.scss +4 -4
@@ -17,7 +17,7 @@
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
18
|
import { useApplicationStore } from '@finos/legend-application';
|
19
19
|
import { useEffect } from 'react';
|
20
|
-
import { guaranteeType } from '@finos/legend-shared';
|
20
|
+
import { guaranteeNonNullable, guaranteeType } from '@finos/legend-shared';
|
21
21
|
import { flowResult } from 'mobx';
|
22
22
|
import {
|
23
23
|
type Runtime,
|
@@ -81,7 +81,9 @@ export const DataQualityDataSpaceBuilderSetupPanelContent = observer(
|
|
81
81
|
buildExecutionContextOption,
|
82
82
|
);
|
83
83
|
const runtimeOptions = getMappingCompatibleRuntimes(
|
84
|
-
|
84
|
+
guaranteeNonNullable(
|
85
|
+
dataQualityQueryBuilderState.executionContextState.mapping,
|
86
|
+
),
|
85
87
|
dataQualityState.graphManagerState.usableRuntimes,
|
86
88
|
)
|
87
89
|
.map(
|
@@ -98,7 +100,9 @@ export const DataQualityDataSpaceBuilderSetupPanelContent = observer(
|
|
98
100
|
: null;
|
99
101
|
const classes = resolveUsableDataSpaceClasses(
|
100
102
|
dataSpace,
|
101
|
-
|
103
|
+
guaranteeNonNullable(
|
104
|
+
dataQualityQueryBuilderState.executionContextState.mapping,
|
105
|
+
),
|
102
106
|
dataQualityState.graphManagerState,
|
103
107
|
);
|
104
108
|
|
@@ -41,6 +41,7 @@ import {
|
|
41
41
|
buildRuntimeValueOption,
|
42
42
|
getRuntimeOptionFormatter,
|
43
43
|
} from '@finos/legend-query-builder';
|
44
|
+
import { at, guaranteeNonNullable } from '@finos/legend-shared';
|
44
45
|
|
45
46
|
export const DataQualityMappingAndRuntimeBuilder = observer(
|
46
47
|
(props: { dataQualityState: DataQualityClassValidationState }) => {
|
@@ -82,15 +83,17 @@ export const DataQualityMappingAndRuntimeBuilder = observer(
|
|
82
83
|
dataQualityState.changeMapping(val.value);
|
83
84
|
const runtimeOptions = getRuntimesBasedOnMapping();
|
84
85
|
if (runtimeOptions.length) {
|
85
|
-
dataQualityQueryBuilderState.changeRuntime(runtimeOptions
|
86
|
+
dataQualityQueryBuilderState.changeRuntime(at(runtimeOptions, 0));
|
86
87
|
}
|
87
88
|
dataQualityState.updateElementOnMappingChange();
|
88
89
|
const classes = getMappingCompatibleClasses(
|
89
|
-
|
90
|
+
guaranteeNonNullable(
|
91
|
+
dataQualityQueryBuilderState.executionContextState.mapping,
|
92
|
+
),
|
90
93
|
dataQualityState.graphManagerState.usableClasses,
|
91
94
|
);
|
92
95
|
if (runtimeOptions.length && classes.length) {
|
93
|
-
dataQualityState.changeClass(classes
|
96
|
+
dataQualityState.changeClass(at(classes, 0));
|
94
97
|
dataQualityState.updateElementOnClassChange();
|
95
98
|
}
|
96
99
|
};
|
@@ -116,7 +119,9 @@ export const DataQualityMappingAndRuntimeBuilder = observer(
|
|
116
119
|
|
117
120
|
const classes = selectedRuntimeOption
|
118
121
|
? getMappingCompatibleClasses(
|
119
|
-
|
122
|
+
guaranteeNonNullable(
|
123
|
+
dataQualityQueryBuilderState.executionContextState.mapping,
|
124
|
+
),
|
120
125
|
dataQualityState.graphManagerState.usableClasses,
|
121
126
|
)
|
122
127
|
: [];
|
@@ -87,7 +87,9 @@ export const DataQualityResultPanel = observer(
|
|
87
87
|
);
|
88
88
|
return;
|
89
89
|
}
|
90
|
-
const genericType = new GenericType(
|
90
|
+
const genericType = new GenericType(
|
91
|
+
guaranteeNonNullable(queryBuilderState.class),
|
92
|
+
);
|
91
93
|
const genericTypeReference =
|
92
94
|
GenericTypeExplicitReference.create(genericType);
|
93
95
|
|
@@ -45,7 +45,6 @@ import {
|
|
45
45
|
type GeneratorFn,
|
46
46
|
assertType,
|
47
47
|
filterByType,
|
48
|
-
getNullableFirstEntry,
|
49
48
|
guaranteeNonNullable,
|
50
49
|
guaranteeType,
|
51
50
|
} from '@finos/legend-shared';
|
@@ -122,7 +121,9 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
122
121
|
),
|
123
122
|
);
|
124
123
|
classOptions = getMappingCompatibleClasses(
|
125
|
-
|
124
|
+
guaranteeNonNullable(
|
125
|
+
this.dataQualityQueryBuilderState.executionContextState.mapping,
|
126
|
+
),
|
126
127
|
this.graphManagerState.usableClasses,
|
127
128
|
);
|
128
129
|
} else if (
|
@@ -144,7 +145,9 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
144
145
|
);
|
145
146
|
classOptions = resolveUsableDataSpaceClasses(
|
146
147
|
this.dataSpace,
|
147
|
-
|
148
|
+
guaranteeNonNullable(
|
149
|
+
this.dataQualityQueryBuilderState.executionContextState.mapping,
|
150
|
+
),
|
148
151
|
this.graphManagerState,
|
149
152
|
);
|
150
153
|
}
|
@@ -159,9 +162,7 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
159
162
|
.value,
|
160
163
|
);
|
161
164
|
} else {
|
162
|
-
this.dataQualityQueryBuilderState.setClass(
|
163
|
-
getNullableFirstEntry(classOptions),
|
164
|
-
);
|
165
|
+
this.dataQualityQueryBuilderState.setClass(classOptions[0]);
|
165
166
|
this.dataQualityGraphFetchTreeState = new DataQualityGraphFetchTreeState(
|
166
167
|
this,
|
167
168
|
);
|
@@ -200,7 +201,9 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
200
201
|
new MappingAndRuntimeDataQualityExecutionContext();
|
201
202
|
mappingAndRuntimeExecutionContext.mapping =
|
202
203
|
PackageableElementExplicitReference.create(
|
203
|
-
|
204
|
+
guaranteeNonNullable(
|
205
|
+
this.dataQualityQueryBuilderState.executionContextState.mapping,
|
206
|
+
),
|
204
207
|
);
|
205
208
|
guaranteeNonNullable(
|
206
209
|
this.dataQualityQueryBuilderState.executionContextState.runtimeValue,
|
@@ -248,7 +251,7 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
248
251
|
new RuntimePointer(executionContext.defaultRuntime),
|
249
252
|
);
|
250
253
|
const compatibleClasses = resolveUsableDataSpaceClasses(
|
251
|
-
this.dataSpace
|
254
|
+
guaranteeNonNullable(this.dataSpace),
|
252
255
|
mapping,
|
253
256
|
this.graphManagerState,
|
254
257
|
);
|
@@ -258,7 +261,7 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
258
261
|
!this.dataQualityQueryBuilderState.class ||
|
259
262
|
!compatibleClasses.includes(this.dataQualityQueryBuilderState.class)
|
260
263
|
) {
|
261
|
-
const possibleNewClass =
|
264
|
+
const possibleNewClass = compatibleClasses[0];
|
262
265
|
if (possibleNewClass) {
|
263
266
|
this.changeClass(possibleNewClass);
|
264
267
|
}
|
@@ -281,7 +284,9 @@ export class DataQualityClassValidationState extends DataQualityState {
|
|
281
284
|
new DataSpaceDataQualityExecutionContext();
|
282
285
|
dataSpaceExecutionContext.context = this.executionContext.name;
|
283
286
|
dataSpaceExecutionContext.dataSpace =
|
284
|
-
PackageableElementExplicitReference.create(
|
287
|
+
PackageableElementExplicitReference.create(
|
288
|
+
guaranteeNonNullable(this.dataSpace),
|
289
|
+
);
|
285
290
|
dataQualityClassValidation_setDataQualityContext(
|
286
291
|
this.constraintsConfigurationElement,
|
287
292
|
dataSpaceExecutionContext,
|
@@ -98,10 +98,13 @@ export class DataQualityRelationValidationLambdaEditorState extends LambdaEditor
|
|
98
98
|
pretty?: boolean | undefined;
|
99
99
|
preserveCompilationError?: boolean | undefined;
|
100
100
|
}): GeneratorFn<void> {
|
101
|
-
if (
|
101
|
+
if (
|
102
|
+
this.relationValidation.rowMapFunction &&
|
103
|
+
!isStubbed_RawLambda(this.relationValidation.rowMapFunction)
|
104
|
+
) {
|
102
105
|
try {
|
103
106
|
const lambdas = new Map<string, RawLambda>();
|
104
|
-
lambdas.set(this.lambdaId, this.relationValidation.rowMapFunction
|
107
|
+
lambdas.set(this.lambdaId, this.relationValidation.rowMapFunction);
|
105
108
|
const isolatedLambdas =
|
106
109
|
(yield this.editorStore.graphManagerState.graphManager.lambdasToPureCode(
|
107
110
|
lambdas,
|
@@ -65,6 +65,7 @@ import {
|
|
65
65
|
hashArray,
|
66
66
|
isNonNullable,
|
67
67
|
assertType,
|
68
|
+
at,
|
68
69
|
} from '@finos/legend-shared';
|
69
70
|
import { type GenericLegendApplicationStore } from '@finos/legend-application';
|
70
71
|
import { DataQualityResultState } from './DataQualityResultState.js';
|
@@ -296,7 +297,7 @@ export abstract class DataQualityState extends ElementEditorState {
|
|
296
297
|
`Can't build filter state: data quality filter only support lambda`,
|
297
298
|
);
|
298
299
|
processFilterLambda(
|
299
|
-
compiledValueSpecification.values
|
300
|
+
at(compiledValueSpecification.values, 0),
|
300
301
|
this.dataQualityQueryBuilderState,
|
301
302
|
);
|
302
303
|
}
|
@@ -359,7 +360,7 @@ export abstract class DataQualityState extends ElementEditorState {
|
|
359
360
|
return;
|
360
361
|
}
|
361
362
|
const genericType = new GenericType(
|
362
|
-
this.dataQualityQueryBuilderState.class
|
363
|
+
guaranteeNonNullable(this.dataQualityQueryBuilderState.class),
|
363
364
|
);
|
364
365
|
const genericTypeReference =
|
365
366
|
GenericTypeExplicitReference.create(genericType);
|
@@ -415,7 +416,7 @@ export abstract class DataQualityState extends ElementEditorState {
|
|
415
416
|
this.resultState = new DataQualityResultState(this);
|
416
417
|
this.initializeGraphFetchTreeState(
|
417
418
|
buildDefaultDataQualityRootGraphFetchTree(
|
418
|
-
this.dataQualityQueryBuilderState.class
|
419
|
+
guaranteeNonNullable(this.dataQualityQueryBuilderState.class),
|
419
420
|
),
|
420
421
|
);
|
421
422
|
this.updateElementOnClassChange();
|
@@ -425,7 +426,7 @@ export abstract class DataQualityState extends ElementEditorState {
|
|
425
426
|
dataQualityClassValidation_setDataQualityGraphFetchTree(
|
426
427
|
this
|
427
428
|
.constraintsConfigurationElement as DataQualityClassValidationsConfiguration,
|
428
|
-
this.dataQualityGraphFetchTreeState.treeData
|
429
|
+
guaranteeNonNullable(this.dataQualityGraphFetchTreeState.treeData).tree,
|
429
430
|
);
|
430
431
|
dataQualityClassValidation_setFilter(
|
431
432
|
this
|
@@ -16,6 +16,7 @@
|
|
16
16
|
|
17
17
|
import { V1_DataQualityPropertyGraphFetchTree } from '../model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js';
|
18
18
|
import {
|
19
|
+
at,
|
19
20
|
guaranteeNonNullable,
|
20
21
|
UnsupportedOperationError,
|
21
22
|
} from '@finos/legend-shared';
|
@@ -219,7 +220,7 @@ function transformRootGraphFetchTreeToDataQualityRootGraphFetchTree(
|
|
219
220
|
(_propertyTree, index) =>
|
220
221
|
transformGraphFetchTreeToDataQualityGraphFetchTree(
|
221
222
|
_propertyTree,
|
222
|
-
V1_rootGraphFetchTree.subTrees
|
223
|
+
at(V1_rootGraphFetchTree.subTrees, index),
|
223
224
|
),
|
224
225
|
);
|
225
226
|
return dataQualityRootGraphFetchTree;
|
@@ -241,7 +242,7 @@ function transformPropertyGraphFetchTreeToDataQualityPropertyGraphFetchTree(
|
|
241
242
|
propertyGraphFetchTree.subTrees.map((_propertyTree, index) =>
|
242
243
|
transformGraphFetchTreeToDataQualityGraphFetchTree(
|
243
244
|
_propertyTree,
|
244
|
-
V1_propertyGraphFetchTree.subTrees
|
245
|
+
at(V1_propertyGraphFetchTree.subTrees, index),
|
245
246
|
),
|
246
247
|
);
|
247
248
|
dataQualityPropertyGraphFetchTree.constraints =
|
@@ -29,7 +29,12 @@ import {
|
|
29
29
|
V1_RawValueSpecificationTransformer,
|
30
30
|
} from '@finos/legend-graph';
|
31
31
|
import { V1_DataQualityRootGraphFetchTree } from '../model/graphFetch/V1_DataQualityRootGraphFetchTree.js';
|
32
|
-
import {
|
32
|
+
import {
|
33
|
+
assertType,
|
34
|
+
at,
|
35
|
+
guaranteeNonNullable,
|
36
|
+
UnsupportedOperationError,
|
37
|
+
} from '@finos/legend-shared';
|
33
38
|
import { V1_DataQualityPropertyGraphFetchTree } from '../model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js';
|
34
39
|
import {
|
35
40
|
DataQualityPropertyGraphFetchTree,
|
@@ -88,7 +93,7 @@ export function V1_transformGraphFetchTreeToDataQualityGraphFetchTree(
|
|
88
93
|
(subTree, index) =>
|
89
94
|
V1_transformGraphFetchTreeToDataQualityGraphFetchTree(
|
90
95
|
subTree,
|
91
|
-
graphFetchTree.subTrees
|
96
|
+
at(graphFetchTree.subTrees, index),
|
92
97
|
),
|
93
98
|
);
|
94
99
|
return v1_DataQualityRootGraphFetchTree;
|
@@ -108,7 +113,7 @@ export function V1_transformGraphFetchTreeToDataQualityGraphFetchTree(
|
|
108
113
|
v1_graphFetchTree.subTrees.map((subTree, index) =>
|
109
114
|
V1_transformGraphFetchTreeToDataQualityGraphFetchTree(
|
110
115
|
subTree,
|
111
|
-
graphFetchTree.subTrees
|
116
|
+
at(graphFetchTree.subTrees, index),
|
112
117
|
),
|
113
118
|
);
|
114
119
|
return v1_DataQualityPropertyGraphFetchTree;
|
@@ -124,7 +129,7 @@ export function V1_transformDataQualityExecutionContext(
|
|
124
129
|
if (value instanceof DataSpaceDataQualityExecutionContext) {
|
125
130
|
const dataSpaceExecutionContext =
|
126
131
|
new V1_DataSpaceDataQualityExecutionContext();
|
127
|
-
dataSpaceExecutionContext.context = value.context
|
132
|
+
dataSpaceExecutionContext.context = guaranteeNonNullable(value.context);
|
128
133
|
dataSpaceExecutionContext.dataSpace = new V1_PackageableElementPointer(
|
129
134
|
DATA_SPACE_ELEMENT_POINTER,
|
130
135
|
value.dataSpace.valueForSerialization ?? '',
|
@@ -92,7 +92,7 @@
|
|
92
92
|
height: 100%;
|
93
93
|
width: 100%;
|
94
94
|
padding: 1rem;
|
95
|
-
overflow:
|
95
|
+
overflow: auto;
|
96
96
|
}
|
97
97
|
}
|
98
98
|
|
@@ -109,7 +109,7 @@
|
|
109
109
|
height: 2.8rem;
|
110
110
|
z-index: 1;
|
111
111
|
display: flex;
|
112
|
-
overflow-x:
|
112
|
+
overflow-x: auto;
|
113
113
|
overflow-y: hidden;
|
114
114
|
}
|
115
115
|
|
@@ -166,7 +166,7 @@
|
|
166
166
|
&__description {
|
167
167
|
display: -webkit-box;
|
168
168
|
-webkit-box-orient: vertical;
|
169
|
-
|
169
|
+
line-clamp: 2;
|
170
170
|
overflow: hidden;
|
171
171
|
text-align: left;
|
172
172
|
height: calc(100% - 2.8rem);
|
@@ -180,7 +180,7 @@
|
|
180
180
|
height: 100%;
|
181
181
|
width: 100%;
|
182
182
|
padding: 1rem;
|
183
|
-
overflow:
|
183
|
+
overflow: auto;
|
184
184
|
|
185
185
|
&__item {
|
186
186
|
padding-top: 1rem;
|