@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.
Files changed (90) hide show
  1. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.d.ts.map +1 -1
  2. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js +1 -1
  3. package/lib/components/DataQualityRelationLambdaGUIValidationEditor.js.map +1 -1
  4. package/lib/components/DataQualityValidationFilterEditor.d.ts.map +1 -1
  5. package/lib/components/DataQualityValidationFilterEditor.js +25 -14
  6. package/lib/components/DataQualityValidationFilterEditor.js.map +1 -1
  7. package/lib/components/DataQualityValidationFunctionRenderer.d.ts +5 -8
  8. package/lib/components/DataQualityValidationFunctionRenderer.d.ts.map +1 -1
  9. package/lib/components/DataQualityValidationFunctionRenderer.js +8 -5
  10. package/lib/components/DataQualityValidationFunctionRenderer.js.map +1 -1
  11. package/lib/components/DataQualityValidationHelperFunctionEditor.js +1 -1
  12. package/lib/components/DataQualityValidationHelperFunctionEditor.js.map +1 -1
  13. package/lib/components/constants/DataQualityConstants.d.ts +3 -0
  14. package/lib/components/constants/DataQualityConstants.d.ts.map +1 -1
  15. package/lib/components/constants/DataQualityConstants.js +4 -0
  16. package/lib/components/constants/DataQualityConstants.js.map +1 -1
  17. package/lib/components/states/DataQualityValidationLambdaFormState.d.ts +1 -1
  18. package/lib/components/states/DataQualityValidationLambdaFormState.d.ts.map +1 -1
  19. package/lib/components/states/DataQualityValidationLambdaFormState.js +2 -2
  20. package/lib/components/states/DataQualityValidationLambdaFormState.js.map +1 -1
  21. package/lib/components/states/LambdaEditorWithGUIState.d.ts +1 -0
  22. package/lib/components/states/LambdaEditorWithGUIState.d.ts.map +1 -1
  23. package/lib/components/states/LambdaEditorWithGUIState.js +2 -1
  24. package/lib/components/states/LambdaEditorWithGUIState.js.map +1 -1
  25. package/lib/components/utils/DataQualityFunctionDefaults.d.ts +2 -0
  26. package/lib/components/utils/DataQualityFunctionDefaults.d.ts.map +1 -1
  27. package/lib/components/utils/DataQualityFunctionDefaults.js +14 -1
  28. package/lib/components/utils/DataQualityFunctionDefaults.js.map +1 -1
  29. package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.d.ts +6 -3
  30. package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.d.ts.map +1 -1
  31. package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.js +30 -6
  32. package/lib/components/utils/DataQualityLambdaParameterExtractorVisitor.js.map +1 -1
  33. package/lib/components/utils/DataQualityLambdaParameterParser.d.ts +9 -7
  34. package/lib/components/utils/DataQualityLambdaParameterParser.d.ts.map +1 -1
  35. package/lib/components/utils/DataQualityLambdaParameterParser.js +11 -4
  36. package/lib/components/utils/DataQualityLambdaParameterParser.js.map +1 -1
  37. package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.d.ts +2 -1
  38. package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.d.ts.map +1 -1
  39. package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.js +15 -1
  40. package/lib/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.js.map +1 -1
  41. package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.d.ts +2 -1
  42. package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.d.ts.map +1 -1
  43. package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.js +7 -1
  44. package/lib/components/utils/DataQualityValidationDescriptionGeneratorVisitor.js.map +1 -1
  45. package/lib/components/utils/DataQualityValidationFunction.d.ts +15 -4
  46. package/lib/components/utils/DataQualityValidationFunction.d.ts.map +1 -1
  47. package/lib/components/utils/DataQualityValidationFunction.js +8 -1
  48. package/lib/components/utils/DataQualityValidationFunction.js.map +1 -1
  49. package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.d.ts +17 -13
  50. package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.d.ts.map +1 -1
  51. package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.js +76 -45
  52. package/lib/components/utils/DataQualityValidationFunctionCloningVisitor.js.map +1 -1
  53. package/lib/components/utils/DataQualityValidationFunctionFactory.d.ts +3 -2
  54. package/lib/components/utils/DataQualityValidationFunctionFactory.d.ts.map +1 -1
  55. package/lib/components/utils/DataQualityValidationFunctionFactory.js +17 -3
  56. package/lib/components/utils/DataQualityValidationFunctionFactory.js.map +1 -1
  57. package/lib/components/utils/DataQualityValidationFunctionModifier.d.ts +7 -5
  58. package/lib/components/utils/DataQualityValidationFunctionModifier.d.ts.map +1 -1
  59. package/lib/components/utils/DataQualityValidationFunctionModifier.js +12 -7
  60. package/lib/components/utils/DataQualityValidationFunctionModifier.js.map +1 -1
  61. package/lib/components/utils/DataQualityValidationFunctionObserver.d.ts +10 -9
  62. package/lib/components/utils/DataQualityValidationFunctionObserver.d.ts.map +1 -1
  63. package/lib/components/utils/DataQualityValidationFunctionObserver.js +79 -16
  64. package/lib/components/utils/DataQualityValidationFunctionObserver.js.map +1 -1
  65. package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.d.ts +2 -1
  66. package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.d.ts.map +1 -1
  67. package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.js +11 -1
  68. package/lib/components/utils/DataQualityValidationNameGeneratorVisitor.js.map +1 -1
  69. package/lib/data-quality-custom-selector.css +1 -1
  70. package/lib/index.css +1 -1
  71. package/lib/package.json +1 -1
  72. package/package.json +7 -7
  73. package/src/components/DataQualityRelationLambdaGUIValidationEditor.tsx +8 -1
  74. package/src/components/DataQualityValidationFilterEditor.tsx +49 -12
  75. package/src/components/DataQualityValidationFunctionRenderer.tsx +15 -13
  76. package/src/components/DataQualityValidationHelperFunctionEditor.tsx +1 -1
  77. package/src/components/constants/DataQualityConstants.ts +4 -0
  78. package/src/components/states/DataQualityValidationLambdaFormState.ts +5 -1
  79. package/src/components/states/LambdaEditorWithGUIState.ts +3 -1
  80. package/src/components/utils/DataQualityFunctionDefaults.ts +18 -1
  81. package/src/components/utils/DataQualityLambdaParameterExtractorVisitor.ts +59 -4
  82. package/src/components/utils/DataQualityLambdaParameterParser.ts +28 -5
  83. package/src/components/utils/DataQualityValidateFunctionToPureLambdaVisitor.ts +25 -8
  84. package/src/components/utils/DataQualityValidationDescriptionGeneratorVisitor.ts +15 -7
  85. package/src/components/utils/DataQualityValidationFunction.ts +29 -4
  86. package/src/components/utils/DataQualityValidationFunctionCloningVisitor.ts +131 -77
  87. package/src/components/utils/DataQualityValidationFunctionFactory.ts +24 -1
  88. package/src/components/utils/DataQualityValidationFunctionModifier.ts +32 -1
  89. package/src/components/utils/DataQualityValidationFunctionObserver.ts +206 -105
  90. 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 type {
26
- CollectionInstanceValue,
27
- PrimitiveInstanceValue,
26
+ import {
27
+ skipObserved,
28
+ type CollectionInstanceValue,
29
+ type PrimitiveInstanceValue,
28
30
  } from '@finos/legend-graph';
29
31
 
30
- export function observe_values(
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
- export function observe_DataQualityValidationFilterCondition(
43
- func: DataQualityValidationFilterCondition,
44
- ) {
45
- observe_values(func.parameters.otherParams);
46
-
47
- makeObservable(func.parameters, {
48
- otherParams: observable,
49
- property: observable,
50
- });
51
-
52
- makeObservable(func, {
53
- parameters: observable,
54
- name: observable,
55
- });
56
-
57
- return func;
58
- }
59
-
60
- export function observe_DataQualityValidationLogicalGroupFunction(
61
- func: DataQualityValidationLogicalGroupFunction,
62
- ) {
63
- makeObservable(func.parameters, {
64
- left: observable,
65
- right: observable,
66
- });
67
-
68
- makeObservable(func, {
69
- parameters: observable,
70
- name: observable,
71
- changeName: action,
72
- });
73
-
74
- return func;
75
- }
76
-
77
- export function observe_AssertionFunction(
78
- assertFunc: DataQualityValidationAssertionFunction,
79
- ) {
80
- makeObservable(assertFunc.parameters, {
81
- columns: observable,
82
- otherParam: observable,
83
- });
84
-
85
- makeObservable(assertFunc, {
86
- parameters: observable,
87
- });
88
-
89
- return assertFunc;
90
- }
91
-
92
- export function observe_DataQualityValidationFilterFunction(
93
- func: DataQualityValidationFilterFunction,
94
- ) {
95
- makeObservable(func.parameters.lambda, {
96
- body: observable,
97
- });
98
-
99
- makeObservable(func.parameters, {
100
- lambda: observable,
101
- });
102
-
103
- makeObservable(func, {
104
- parameters: observable,
105
- });
106
-
107
- return func;
108
- }
109
-
110
- export function observe_DataQualityValidationCustomHelperFunction(
111
- func: DataQualityValidationCustomHelperFunction,
112
- ) {
113
- observe_values(func.parameters.otherParams);
114
-
115
- makeObservable(func.parameters, {
116
- column: observable,
117
- otherParams: observable,
118
- });
119
-
120
- makeObservable(func, {
121
- parameters: observable,
122
- });
123
-
124
- return func;
125
- }
126
-
127
- export function observe_FilterFunction(
128
- func:
129
- | DataQualityValidationCustomHelperFunction
130
- | DataQualityValidationFilterFunction,
131
- ) {
132
- if (func instanceof DataQualityValidationCustomHelperFunction) {
133
- observe_DataQualityValidationCustomHelperFunction(func);
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
- if (func instanceof DataQualityValidationFilterFunction) {
137
- observe_DataQualityValidationFilterFunction(func);
138
- }
236
+ if (func instanceof DataQualityValidationFilterFunction) {
237
+ observe_DataQualityValidationFilterFunction(func);
238
+ }
139
239
 
140
- return func;
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 type {
23
- DataQualityValidationAssertionFunction,
24
- DataQualityValidationCustomHelperFunction,
25
- DataQualityValidationFilterCondition,
26
- DataQualityValidationFilterFunction,
27
- DataQualityValidationFunctionVisitor,
28
- DataQualityValidationLogicalGroupFunction,
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
- const columnName = property.func.value.name;
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[],