@finos/legend-extension-dsl-data-quality 2.1.31 → 2.1.32
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/DataQualityRelationLambdaGUIValidationEditor.d.ts.map +1 -1
- package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js +1 -1
- package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js.map +1 -1
- package/lib/components/DataQualityValidationFilterEditor.d.ts.map +1 -1
- package/lib/components/DataQualityValidationFilterEditor.js +25 -14
- package/lib/components/DataQualityValidationFilterEditor.js.map +1 -1
- package/lib/components/DataQualityValidationFunctionRenderer.d.ts +5 -8
- package/lib/components/DataQualityValidationFunctionRenderer.d.ts.map +1 -1
- package/lib/components/DataQualityValidationFunctionRenderer.js +8 -5
- package/lib/components/DataQualityValidationFunctionRenderer.js.map +1 -1
- package/lib/components/DataQualityValidationHelperFunctionEditor.js +1 -1
- package/lib/components/DataQualityValidationHelperFunctionEditor.js.map +1 -1
- package/lib/components/constants/DataQualityConstants.d.ts +3 -0
- package/lib/components/constants/DataQualityConstants.d.ts.map +1 -1
- package/lib/components/constants/DataQualityConstants.js +4 -0
- package/lib/components/constants/DataQualityConstants.js.map +1 -1
- package/lib/components/states/DataQualityValidationLambdaFormState.d.ts +1 -1
- package/lib/components/states/DataQualityValidationLambdaFormState.d.ts.map +1 -1
- package/lib/components/states/DataQualityValidationLambdaFormState.js +2 -2
- package/lib/components/states/DataQualityValidationLambdaFormState.js.map +1 -1
- package/lib/components/states/LambdaEditorWithGUIState.d.ts +1 -0
- package/lib/components/states/LambdaEditorWithGUIState.d.ts.map +1 -1
- package/lib/components/states/LambdaEditorWithGUIState.js +2 -1
- package/lib/components/states/LambdaEditorWithGUIState.js.map +1 -1
- package/lib/components/utils/DataQualityFunctionDefaults.d.ts +2 -0
- package/lib/components/utils/DataQualityFunctionDefaults.d.ts.map +1 -1
- package/lib/components/utils/DataQualityFunctionDefaults.js +14 -1
- package/lib/components/utils/DataQualityFunctionDefaults.js.map +1 -1
- package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.d.ts +6 -3
- package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.d.ts.map +1 -1
- package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.js +30 -6
- package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.js.map +1 -1
- package/lib/components/utils/DataQualityLambdaParameterParser.d.ts +9 -7
- package/lib/components/utils/DataQualityLambdaParameterParser.d.ts.map +1 -1
- package/lib/components/utils/DataQualityLambdaParameterParser.js +11 -4
- package/lib/components/utils/DataQualityLambdaParameterParser.js.map +1 -1
- package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.d.ts +2 -1
- package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.js +15 -1
- package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.js.map +1 -1
- package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.d.ts +2 -1
- package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.js +7 -1
- package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.js.map +1 -1
- package/lib/components/utils/DataQualityValidationFunction.d.ts +15 -4
- package/lib/components/utils/DataQualityValidationFunction.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationFunction.js +8 -1
- package/lib/components/utils/DataQualityValidationFunction.js.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.d.ts +17 -13
- package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.js +76 -45
- package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.js.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionFactory.d.ts +3 -2
- package/lib/components/utils/DataQualityValidationFunctionFactory.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionFactory.js +17 -3
- package/lib/components/utils/DataQualityValidationFunctionFactory.js.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionModifier.d.ts +7 -5
- package/lib/components/utils/DataQualityValidationFunctionModifier.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionModifier.js +12 -7
- package/lib/components/utils/DataQualityValidationFunctionModifier.js.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionObserver.d.ts +10 -9
- package/lib/components/utils/DataQualityValidationFunctionObserver.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationFunctionObserver.js +79 -16
- package/lib/components/utils/DataQualityValidationFunctionObserver.js.map +1 -1
- package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.d.ts +2 -1
- package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.d.ts.map +1 -1
- package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.js +11 -1
- package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.js.map +1 -1
- package/lib/data-quality-custom-selector.css +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/package.json +7 -7
- package/src/components/DataQualityRelationLambdaGUIValidationEditor.tsx +8 -1
- package/src/components/DataQualityValidationFilterEditor.tsx +49 -12
- package/src/components/DataQualityValidationFunctionRenderer.tsx +15 -13
- package/src/components/DataQualityValidationHelperFunctionEditor.tsx +1 -1
- package/src/components/constants/DataQualityConstants.ts +4 -0
- package/src/components/states/DataQualityValidationLambdaFormState.ts +5 -1
- package/src/components/states/LambdaEditorWithGUIState.ts +3 -1
- package/src/components/utils/DataQualityFunctionDefaults.ts +18 -1
- package/src/components/utils/DataQualityLambdaParameterExtractorVisitor.ts +59 -4
- package/src/components/utils/DataQualityLambdaParameterParser.ts +28 -5
- package/src/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.ts +25 -8
- package/src/components/utils/DataQualityValidationDescriptionGeneratorVisitor.ts +15 -7
- package/src/components/utils/DataQualityValidationFunction.ts +29 -4
- package/src/components/utils/DataQualityValidationFunctionCloningVisitor.ts +131 -77
- package/src/components/utils/DataQualityValidationFunctionFactory.ts +24 -1
- package/src/components/utils/DataQualityValidationFunctionModifier.ts +32 -1
- package/src/components/utils/DataQualityValidationFunctionObserver.ts +206 -105
- package/src/components/utils/DataQualityValidationNameGeneratorVisitor.ts +20 -8
|
@@ -19,17 +19,19 @@ import {
|
|
|
19
19
|
type DataQualityValidationFilterCondition,
|
|
20
20
|
type DataQualityValidationLogicalGroupFunction,
|
|
21
21
|
type DataQualityValidationAssertionFunction,
|
|
22
|
+
type DataQualityValidationPropertyGuarantee,
|
|
22
23
|
DataQualityValidationCustomHelperFunction,
|
|
23
24
|
DataQualityValidationFilterFunction,
|
|
24
25
|
} from '../utils/DataQualityValidationFunction.js';
|
|
25
|
-
import
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
import {
|
|
27
|
+
skipObserved,
|
|
28
|
+
type CollectionInstanceValue,
|
|
29
|
+
type PrimitiveInstanceValue,
|
|
28
30
|
} from '@finos/legend-graph';
|
|
29
31
|
|
|
30
|
-
export
|
|
32
|
+
export const observe_values = (
|
|
31
33
|
values: (PrimitiveInstanceValue | CollectionInstanceValue)[],
|
|
32
|
-
) {
|
|
34
|
+
) => {
|
|
33
35
|
values.forEach((param) => {
|
|
34
36
|
if (!isObservableObject(param)) {
|
|
35
37
|
makeObservable(param, {
|
|
@@ -37,105 +39,204 @@ export function observe_values(
|
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
41
|
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
func: DataQualityValidationFilterCondition
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
func:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const observe_FilterConditionParameters = skipObserved(
|
|
45
|
+
(func: DataQualityValidationFilterCondition) => {
|
|
46
|
+
makeObservable(func.parameters, {
|
|
47
|
+
otherParams: observable,
|
|
48
|
+
property: observable,
|
|
49
|
+
});
|
|
50
|
+
return func;
|
|
51
|
+
},
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
const observe_FilterConditionFunc = skipObserved(
|
|
55
|
+
(func: DataQualityValidationFilterCondition) => {
|
|
56
|
+
makeObservable(func, {
|
|
57
|
+
parameters: observable,
|
|
58
|
+
name: observable,
|
|
59
|
+
});
|
|
60
|
+
return func;
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
export const observe_DataQualityValidationFilterCondition = skipObserved(
|
|
65
|
+
(func: DataQualityValidationFilterCondition) => {
|
|
66
|
+
observe_values(func.parameters.otherParams);
|
|
67
|
+
observe_FilterConditionParameters(func);
|
|
68
|
+
observe_FilterConditionFunc(func);
|
|
69
|
+
|
|
70
|
+
return func;
|
|
71
|
+
},
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
const observe_PropertyGuaranteeParameters = skipObserved(
|
|
75
|
+
(func: DataQualityValidationPropertyGuarantee) => {
|
|
76
|
+
makeObservable(func.parameters, {
|
|
77
|
+
property: observable,
|
|
78
|
+
});
|
|
79
|
+
return func;
|
|
80
|
+
},
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
const observe_PropertyGuaranteeFunc = skipObserved(
|
|
84
|
+
(func: DataQualityValidationPropertyGuarantee) => {
|
|
85
|
+
makeObservable(func, {
|
|
86
|
+
parameters: observable,
|
|
87
|
+
name: observable,
|
|
88
|
+
});
|
|
89
|
+
return func;
|
|
90
|
+
},
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
export const observe_DataQualityValidationPropertyGuarantee = skipObserved(
|
|
94
|
+
(func: DataQualityValidationPropertyGuarantee) => {
|
|
95
|
+
observe_PropertyGuaranteeParameters(func);
|
|
96
|
+
observe_PropertyGuaranteeFunc(func);
|
|
97
|
+
|
|
98
|
+
return func;
|
|
99
|
+
},
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
const observe_LogicalGroupParameters = skipObserved(
|
|
103
|
+
(func: DataQualityValidationLogicalGroupFunction) => {
|
|
104
|
+
makeObservable(func.parameters, {
|
|
105
|
+
left: observable,
|
|
106
|
+
right: observable,
|
|
107
|
+
});
|
|
108
|
+
return func;
|
|
109
|
+
},
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
const observe_LogicalGroupFunc = skipObserved(
|
|
113
|
+
(func: DataQualityValidationLogicalGroupFunction) => {
|
|
114
|
+
makeObservable(func, {
|
|
115
|
+
parameters: observable,
|
|
116
|
+
name: observable,
|
|
117
|
+
changeName: action,
|
|
118
|
+
});
|
|
119
|
+
return func;
|
|
120
|
+
},
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
export const observe_DataQualityValidationLogicalGroupFunction = skipObserved(
|
|
124
|
+
(func: DataQualityValidationLogicalGroupFunction) => {
|
|
125
|
+
observe_LogicalGroupParameters(func);
|
|
126
|
+
observe_LogicalGroupFunc(func);
|
|
127
|
+
|
|
128
|
+
return func;
|
|
129
|
+
},
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
const observe_AssertionParameters = skipObserved(
|
|
133
|
+
(assertFunc: DataQualityValidationAssertionFunction) => {
|
|
134
|
+
makeObservable(assertFunc.parameters, {
|
|
135
|
+
columns: observable,
|
|
136
|
+
otherParam: observable,
|
|
137
|
+
});
|
|
138
|
+
return assertFunc;
|
|
139
|
+
},
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
const observe_AssertionFunc = skipObserved(
|
|
143
|
+
(assertFunc: DataQualityValidationAssertionFunction) => {
|
|
144
|
+
makeObservable(assertFunc, {
|
|
145
|
+
parameters: observable,
|
|
146
|
+
});
|
|
147
|
+
return assertFunc;
|
|
148
|
+
},
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
export const observe_AssertionFunction = skipObserved(
|
|
152
|
+
(assertFunc: DataQualityValidationAssertionFunction) => {
|
|
153
|
+
observe_AssertionParameters(assertFunc);
|
|
154
|
+
observe_AssertionFunc(assertFunc);
|
|
155
|
+
|
|
156
|
+
return assertFunc;
|
|
157
|
+
},
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
const observe_FilterFunctionLambda = skipObserved(
|
|
161
|
+
(func: DataQualityValidationFilterFunction) => {
|
|
162
|
+
makeObservable(func.parameters.lambda, {
|
|
163
|
+
body: observable,
|
|
164
|
+
});
|
|
165
|
+
return func;
|
|
166
|
+
},
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
const observe_FilterFunctionParameters = skipObserved(
|
|
170
|
+
(func: DataQualityValidationFilterFunction) => {
|
|
171
|
+
makeObservable(func.parameters, {
|
|
172
|
+
lambda: observable,
|
|
173
|
+
});
|
|
174
|
+
return func;
|
|
175
|
+
},
|
|
176
|
+
);
|
|
177
|
+
|
|
178
|
+
const observe_FilterFunctionFunc = skipObserved(
|
|
179
|
+
(func: DataQualityValidationFilterFunction) => {
|
|
180
|
+
makeObservable(func, {
|
|
181
|
+
parameters: observable,
|
|
182
|
+
});
|
|
183
|
+
return func;
|
|
184
|
+
},
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
export const observe_DataQualityValidationFilterFunction = skipObserved(
|
|
188
|
+
(func: DataQualityValidationFilterFunction) => {
|
|
189
|
+
observe_FilterFunctionLambda(func);
|
|
190
|
+
observe_FilterFunctionParameters(func);
|
|
191
|
+
observe_FilterFunctionFunc(func);
|
|
192
|
+
|
|
193
|
+
return func;
|
|
194
|
+
},
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
const observe_CustomHelperParameters = skipObserved(
|
|
198
|
+
(func: DataQualityValidationCustomHelperFunction) => {
|
|
199
|
+
makeObservable(func.parameters, {
|
|
200
|
+
column: observable,
|
|
201
|
+
otherParams: observable,
|
|
202
|
+
});
|
|
203
|
+
return func;
|
|
204
|
+
},
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
const observe_CustomHelperFunc = skipObserved(
|
|
208
|
+
(func: DataQualityValidationCustomHelperFunction) => {
|
|
209
|
+
makeObservable(func, {
|
|
210
|
+
parameters: observable,
|
|
211
|
+
});
|
|
212
|
+
return func;
|
|
213
|
+
},
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
export const observe_DataQualityValidationCustomHelperFunction = skipObserved(
|
|
217
|
+
(func: DataQualityValidationCustomHelperFunction) => {
|
|
218
|
+
observe_values(func.parameters.otherParams);
|
|
219
|
+
observe_CustomHelperParameters(func);
|
|
220
|
+
observe_CustomHelperFunc(func);
|
|
221
|
+
|
|
222
|
+
return func;
|
|
223
|
+
},
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
export const observe_FilterFunction = skipObserved(
|
|
227
|
+
(
|
|
228
|
+
func:
|
|
229
|
+
| DataQualityValidationCustomHelperFunction
|
|
230
|
+
| DataQualityValidationFilterFunction,
|
|
231
|
+
) => {
|
|
232
|
+
if (func instanceof DataQualityValidationCustomHelperFunction) {
|
|
233
|
+
observe_DataQualityValidationCustomHelperFunction(func);
|
|
234
|
+
}
|
|
135
235
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
236
|
+
if (func instanceof DataQualityValidationFilterFunction) {
|
|
237
|
+
observe_DataQualityValidationFilterFunction(func);
|
|
238
|
+
}
|
|
139
239
|
|
|
140
|
-
|
|
141
|
-
}
|
|
240
|
+
return func;
|
|
241
|
+
},
|
|
242
|
+
);
|
|
@@ -19,13 +19,14 @@ import {
|
|
|
19
19
|
PrimitiveInstanceValue,
|
|
20
20
|
} from '@finos/legend-graph';
|
|
21
21
|
import { DataQualityFunctionDefaults } from './DataQualityFunctionDefaults.js';
|
|
22
|
-
import
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
import {
|
|
23
|
+
DataQualityValidationPropertyGuarantee,
|
|
24
|
+
type DataQualityValidationAssertionFunction,
|
|
25
|
+
type DataQualityValidationCustomHelperFunction,
|
|
26
|
+
type DataQualityValidationFilterCondition,
|
|
27
|
+
type DataQualityValidationFilterFunction,
|
|
28
|
+
type DataQualityValidationFunctionVisitor,
|
|
29
|
+
type DataQualityValidationLogicalGroupFunction,
|
|
29
30
|
} from './DataQualityValidationFunction.js';
|
|
30
31
|
import { hashArray } from '@finos/legend-shared';
|
|
31
32
|
|
|
@@ -76,7 +77,14 @@ export class DataQualityValidationNameGeneratorVisitor
|
|
|
76
77
|
func.name,
|
|
77
78
|
);
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
let columnName = '';
|
|
81
|
+
|
|
82
|
+
if (property instanceof DataQualityValidationPropertyGuarantee) {
|
|
83
|
+
columnName = property.parameters.property.func.value.name;
|
|
84
|
+
} else {
|
|
85
|
+
columnName = property.func.value.name;
|
|
86
|
+
}
|
|
87
|
+
|
|
80
88
|
if (!columnName || !nameTemplate) {
|
|
81
89
|
return '';
|
|
82
90
|
}
|
|
@@ -111,6 +119,10 @@ export class DataQualityValidationNameGeneratorVisitor
|
|
|
111
119
|
return `${leftName}${operator}${rightName}`;
|
|
112
120
|
}
|
|
113
121
|
|
|
122
|
+
visitPropertyGuarantee(): string {
|
|
123
|
+
return '';
|
|
124
|
+
}
|
|
125
|
+
|
|
114
126
|
private composeName(
|
|
115
127
|
columnName: string,
|
|
116
128
|
params: string[],
|