@finos/legend-extension-dsl-data-quality 1.0.0

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 (260) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts +46 -0
  4. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts.map +1 -0
  5. package/lib/components/DSL_DataQuality_ClassElementDriver.js +116 -0
  6. package/lib/components/DSL_DataQuality_ClassElementDriver.js.map +1 -0
  7. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts +30 -0
  8. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -0
  9. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +161 -0
  10. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -0
  11. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts +25 -0
  12. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts.map +1 -0
  13. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js +2 -0
  14. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js.map +1 -0
  15. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts +27 -0
  16. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts.map +1 -0
  17. package/lib/components/DSL_DataQuality_ServiceElementDriver.js +41 -0
  18. package/lib/components/DSL_DataQuality_ServiceElementDriver.js.map +1 -0
  19. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts +19 -0
  20. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts.map +1 -0
  21. package/lib/components/DSL_NewDataQualityClassValidationElement.js +64 -0
  22. package/lib/components/DSL_NewDataQualityClassValidationElement.js.map +1 -0
  23. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts +19 -0
  24. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts.map +1 -0
  25. package/lib/components/DSL_NewDataQualityServiceValidationElement.js +41 -0
  26. package/lib/components/DSL_NewDataQualityServiceValidationElement.js.map +1 -0
  27. package/lib/components/DataQualityClassValidationEditor.d.ts +19 -0
  28. package/lib/components/DataQualityClassValidationEditor.d.ts.map +1 -0
  29. package/lib/components/DataQualityClassValidationEditor.js +29 -0
  30. package/lib/components/DataQualityClassValidationEditor.js.map +1 -0
  31. package/lib/components/DataQualityConstraintsSelection.d.ts +39 -0
  32. package/lib/components/DataQualityConstraintsSelection.d.ts.map +1 -0
  33. package/lib/components/DataQualityConstraintsSelection.js +133 -0
  34. package/lib/components/DataQualityConstraintsSelection.js.map +1 -0
  35. package/lib/components/DataQualityDataSpaceBuilder.d.ts +22 -0
  36. package/lib/components/DataQualityDataSpaceBuilder.d.ts.map +1 -0
  37. package/lib/components/DataQualityDataSpaceBuilder.js +101 -0
  38. package/lib/components/DataQualityDataSpaceBuilder.js.map +1 -0
  39. package/lib/components/DataQualityExplorerPanel.d.ts +29 -0
  40. package/lib/components/DataQualityExplorerPanel.d.ts.map +1 -0
  41. package/lib/components/DataQualityExplorerPanel.js +185 -0
  42. package/lib/components/DataQualityExplorerPanel.js.map +1 -0
  43. package/lib/components/DataQualityFilterPanel.d.ts +24 -0
  44. package/lib/components/DataQualityFilterPanel.d.ts.map +1 -0
  45. package/lib/components/DataQualityFilterPanel.js +32 -0
  46. package/lib/components/DataQualityFilterPanel.js.map +1 -0
  47. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts +22 -0
  48. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts.map +1 -0
  49. package/lib/components/DataQualityMappingAndRuntimeBuilder.js +98 -0
  50. package/lib/components/DataQualityMappingAndRuntimeBuilder.js.map +1 -0
  51. package/lib/components/DataQualityResultPanel.d.ts +22 -0
  52. package/lib/components/DataQualityResultPanel.d.ts.map +1 -0
  53. package/lib/components/DataQualityResultPanel.js +110 -0
  54. package/lib/components/DataQualityResultPanel.js.map +1 -0
  55. package/lib/components/DataQualityResultValues.d.ts +24 -0
  56. package/lib/components/DataQualityResultValues.d.ts.map +1 -0
  57. package/lib/components/DataQualityResultValues.js +31 -0
  58. package/lib/components/DataQualityResultValues.js.map +1 -0
  59. package/lib/components/DataQualityServiceValidationEditor.d.ts +19 -0
  60. package/lib/components/DataQualityServiceValidationEditor.d.ts.map +1 -0
  61. package/lib/components/DataQualityServiceValidationEditor.js +29 -0
  62. package/lib/components/DataQualityServiceValidationEditor.js.map +1 -0
  63. package/lib/components/DataQualitySideBar.d.ts +40 -0
  64. package/lib/components/DataQualitySideBar.d.ts.map +1 -0
  65. package/lib/components/DataQualitySideBar.js +78 -0
  66. package/lib/components/DataQualitySideBar.js.map +1 -0
  67. package/lib/components/DataQualityStructuralValidationsPanel.d.ts +22 -0
  68. package/lib/components/DataQualityStructuralValidationsPanel.d.ts.map +1 -0
  69. package/lib/components/DataQualityStructuralValidationsPanel.js +50 -0
  70. package/lib/components/DataQualityStructuralValidationsPanel.js.map +1 -0
  71. package/lib/components/DataQualityTabs.d.ts +22 -0
  72. package/lib/components/DataQualityTabs.d.ts.map +1 -0
  73. package/lib/components/DataQualityTabs.js +58 -0
  74. package/lib/components/DataQualityTabs.js.map +1 -0
  75. package/lib/components/DataQualityValidationEditor.d.ts +23 -0
  76. package/lib/components/DataQualityValidationEditor.d.ts.map +1 -0
  77. package/lib/components/DataQualityValidationEditor.js +24 -0
  78. package/lib/components/DataQualityValidationEditor.js.map +1 -0
  79. package/lib/components/constants/DataQualityConstants.d.ts +24 -0
  80. package/lib/components/constants/DataQualityConstants.d.ts.map +1 -0
  81. package/lib/components/constants/DataQualityConstants.js +25 -0
  82. package/lib/components/constants/DataQualityConstants.js.map +1 -0
  83. package/lib/components/index.d.ts +19 -0
  84. package/lib/components/index.d.ts.map +1 -0
  85. package/lib/components/index.js +19 -0
  86. package/lib/components/index.js.map +1 -0
  87. package/lib/components/states/ConstraintState.d.ts +30 -0
  88. package/lib/components/states/ConstraintState.d.ts.map +1 -0
  89. package/lib/components/states/ConstraintState.js +55 -0
  90. package/lib/components/states/ConstraintState.js.map +1 -0
  91. package/lib/components/states/DataQualityClassValidationState.d.ts +43 -0
  92. package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -0
  93. package/lib/components/states/DataQualityClassValidationState.js +162 -0
  94. package/lib/components/states/DataQualityClassValidationState.js.map +1 -0
  95. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts +34 -0
  96. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts.map +1 -0
  97. package/lib/components/states/DataQualityGraphFetchTreeState.js +70 -0
  98. package/lib/components/states/DataQualityGraphFetchTreeState.js.map +1 -0
  99. package/lib/components/states/DataQualityQueryBuilderState.d.ts +19 -0
  100. package/lib/components/states/DataQualityQueryBuilderState.d.ts.map +1 -0
  101. package/lib/components/states/DataQualityQueryBuilderState.js +19 -0
  102. package/lib/components/states/DataQualityQueryBuilderState.js.map +1 -0
  103. package/lib/components/states/DataQualityResultState.d.ts +44 -0
  104. package/lib/components/states/DataQualityResultState.d.ts.map +1 -0
  105. package/lib/components/states/DataQualityResultState.js +154 -0
  106. package/lib/components/states/DataQualityResultState.js.map +1 -0
  107. package/lib/components/states/DataQualityServiceValidationState.d.ts +25 -0
  108. package/lib/components/states/DataQualityServiceValidationState.d.ts.map +1 -0
  109. package/lib/components/states/DataQualityServiceValidationState.js +33 -0
  110. package/lib/components/states/DataQualityServiceValidationState.js.map +1 -0
  111. package/lib/components/states/DataQualityState.d.ts +67 -0
  112. package/lib/components/states/DataQualityState.d.ts.map +1 -0
  113. package/lib/components/states/DataQualityState.js +204 -0
  114. package/lib/components/states/DataQualityState.js.map +1 -0
  115. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts +51 -0
  116. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts.map +1 -0
  117. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js +321 -0
  118. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js.map +1 -0
  119. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +29 -0
  120. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -0
  121. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +30 -0
  122. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -0
  123. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts +22 -0
  124. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -0
  125. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +31 -0
  126. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -0
  127. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts +26 -0
  128. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts.map +1 -0
  129. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js +44 -0
  130. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js.map +1 -0
  131. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +47 -0
  132. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -0
  133. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +75 -0
  134. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -0
  135. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +20 -0
  136. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -0
  137. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +20 -0
  138. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -0
  139. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts +20 -0
  140. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts.map +1 -0
  141. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js +30 -0
  142. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js.map +1 -0
  143. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +26 -0
  144. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -0
  145. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +57 -0
  146. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -0
  147. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts +7 -0
  148. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -0
  149. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +42 -0
  150. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -0
  151. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +24 -0
  152. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -0
  153. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +98 -0
  154. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -0
  155. package/lib/graph-manager/index.d.ts +19 -0
  156. package/lib/graph-manager/index.d.ts.map +1 -0
  157. package/lib/graph-manager/index.js +19 -0
  158. package/lib/graph-manager/index.js.map +1 -0
  159. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +27 -0
  160. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -0
  161. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js +21 -0
  162. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -0
  163. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts +25 -0
  164. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -0
  165. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +140 -0
  166. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -0
  167. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts +18 -0
  168. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts.map +1 -0
  169. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js +20 -0
  170. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js.map +1 -0
  171. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +41 -0
  172. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -0
  173. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +95 -0
  174. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -0
  175. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts +46 -0
  176. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts.map +1 -0
  177. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js +76 -0
  178. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js.map +1 -0
  179. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts +22 -0
  180. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts.map +1 -0
  181. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js +32 -0
  182. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js.map +1 -0
  183. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts +22 -0
  184. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts.map +1 -0
  185. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js +31 -0
  186. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js.map +1 -0
  187. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts +24 -0
  188. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -0
  189. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js +92 -0
  190. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js.map +1 -0
  191. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts +20 -0
  192. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts.map +1 -0
  193. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js +56 -0
  194. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js.map +1 -0
  195. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts +22 -0
  196. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts.map +1 -0
  197. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js +70 -0
  198. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js.map +1 -0
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +29 -0
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -0
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +80 -0
  202. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -0
  203. package/lib/index.css +17 -0
  204. package/lib/index.css.map +1 -0
  205. package/lib/package.json +87 -0
  206. package/package.json +87 -0
  207. package/src/components/DSL_DataQuality_ClassElementDriver.tsx +175 -0
  208. package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +220 -0
  209. package/src/components/DSL_DataQuality_LegendStudioPlugin_Extension.ts +39 -0
  210. package/src/components/DSL_DataQuality_ServiceElementDriver.tsx +57 -0
  211. package/src/components/DSL_NewDataQualityClassValidationElement.tsx +156 -0
  212. package/src/components/DSL_NewDataQualityServiceValidationElement.tsx +74 -0
  213. package/src/components/DataQualityClassValidationEditor.tsx +49 -0
  214. package/src/components/DataQualityConstraintsSelection.tsx +376 -0
  215. package/src/components/DataQualityDataSpaceBuilder.tsx +274 -0
  216. package/src/components/DataQualityExplorerPanel.tsx +584 -0
  217. package/src/components/DataQualityFilterPanel.tsx +50 -0
  218. package/src/components/DataQualityMappingAndRuntimeBuilder.tsx +224 -0
  219. package/src/components/DataQualityResultPanel.tsx +335 -0
  220. package/src/components/DataQualityResultValues.tsx +61 -0
  221. package/src/components/DataQualityServiceValidationEditor.tsx +49 -0
  222. package/src/components/DataQualitySideBar.tsx +216 -0
  223. package/src/components/DataQualityStructuralValidationsPanel.tsx +105 -0
  224. package/src/components/DataQualityTabs.tsx +104 -0
  225. package/src/components/DataQualityValidationEditor.tsx +52 -0
  226. package/src/components/constants/DataQualityConstants.ts +24 -0
  227. package/src/components/index.ts +19 -0
  228. package/src/components/states/ConstraintState.ts +70 -0
  229. package/src/components/states/DataQualityClassValidationState.ts +308 -0
  230. package/src/components/states/DataQualityGraphFetchTreeState.ts +125 -0
  231. package/src/components/states/DataQualityQueryBuilderState.ts +19 -0
  232. package/src/components/states/DataQualityResultState.ts +217 -0
  233. package/src/components/states/DataQualityServiceValidationState.ts +56 -0
  234. package/src/components/states/DataQualityState.ts +354 -0
  235. package/src/components/utils/DataQualityGraphFetchTreeUtil.ts +592 -0
  236. package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +29 -0
  237. package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +36 -0
  238. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts +55 -0
  239. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +107 -0
  240. package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +46 -0
  241. package/src/graph-manager/DSL_DataQuality_GraphManagerPreset.ts +31 -0
  242. package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +113 -0
  243. package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +59 -0
  244. package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +153 -0
  245. package/src/graph-manager/index.ts +19 -0
  246. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +59 -0
  247. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +283 -0
  248. package/src/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.ts +27 -0
  249. package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +246 -0
  250. package/src/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.ts +103 -0
  251. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.ts +37 -0
  252. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.ts +36 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.ts +241 -0
  254. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.ts +113 -0
  255. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.ts +139 -0
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +186 -0
  257. package/style/_data-quality-validation-builder.scss +1660 -0
  258. package/style/index.scss +67 -0
  259. package/tsconfig.json +137 -0
  260. package/tsconfig.package.json +9 -0
@@ -0,0 +1,321 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import {} from '@finos/legend-art';
17
+ import { addUniqueEntry, assertErrorThrown, assertType, deleteEntry, hashArray, LogEvent, UnsupportedOperationError, } from '@finos/legend-shared';
18
+ import { action, computed, makeObservable, observable } from 'mobx';
19
+ import { Class, GRAPH_MANAGER_EVENT, PackageableElementExplicitReference, PropertyExplicitReference, getAllClassConstraints, isStubbed_RawLambda, TYPE_CAST_TOKEN, } from '@finos/legend-graph';
20
+ import { graphFetchTree_addSubTree, graphFetchTree_removeSubTree, QueryBuilderExplorerTreePropertyNodeData, QueryBuilderExplorerTreeSubTypeNodeData, } from '@finos/legend-query-builder';
21
+ import { DataQualityPropertyGraphFetchTree, DataQualityRootGraphFetchTree, } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
22
+ import { ConstraintState } from '../states/ConstraintState.js';
23
+ import { DATA_QUALITY_HASH_STRUCTURE } from '../../graph/metamodel/DSL_DataQuality_HashUtils.js';
24
+ import { dataQualityGraphFetchTree_removeConstraints, graphFetchTree_removeAllSubTrees, } from '../../graph-manager/DSL_DataQuality_GraphModifierHelper.js';
25
+ export class DataQualityGraphFetchTreeNodeData {
26
+ id;
27
+ label;
28
+ tree;
29
+ parentId;
30
+ editorStore;
31
+ isOpen;
32
+ isReadOnly;
33
+ childrenIds = [];
34
+ constraints = [];
35
+ constructor(editorStore, id, label, parentId, graphFetchTreeNode) {
36
+ makeObservable(this, {
37
+ hashCode: computed,
38
+ constraints: observable,
39
+ isReadOnly: observable,
40
+ setConstraintsForClass: action,
41
+ setIsReadOnly: action,
42
+ });
43
+ this.id = id;
44
+ this.label = label;
45
+ this.parentId = parentId;
46
+ this.tree = graphFetchTreeNode;
47
+ // NOTE: in this tree, every node is open
48
+ this.isOpen = true;
49
+ this.editorStore = editorStore;
50
+ }
51
+ setIsReadOnly(isReadOnly) {
52
+ this.isReadOnly = isReadOnly;
53
+ }
54
+ setConstraintsForClass(_class, constraintsToSelect) {
55
+ const constraints = getAllClassConstraints(_class).map((constraint) => new ConstraintState(constraint));
56
+ const lambdas = new Map();
57
+ const index = new Map();
58
+ constraints.forEach((constraintState) => {
59
+ if (!isStubbed_RawLambda(constraintState.constraint.functionDefinition)) {
60
+ lambdas.set(constraintState.lambdaId, constraintState.constraint.functionDefinition);
61
+ index.set(constraintState.lambdaId, constraintState);
62
+ if (constraintsToSelect.find((constraintName) => constraintState.constraint.name === constraintName)) {
63
+ constraintState.isSelected = true;
64
+ }
65
+ }
66
+ });
67
+ if (lambdas.size) {
68
+ this.editorStore.graphManagerState.graphManager
69
+ .lambdasToPureCode(lambdas)
70
+ .then((res) => {
71
+ res.forEach((grammarText, key) => {
72
+ const constraintState = index.get(key);
73
+ constraintState?.setLambdaString(constraintState.extractLambdaString(grammarText));
74
+ });
75
+ this.constraints = constraints;
76
+ })
77
+ .catch((error) => {
78
+ assertErrorThrown(error);
79
+ this.editorStore.applicationStore.logService.error(LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE), error);
80
+ });
81
+ }
82
+ }
83
+ get type() {
84
+ if (this.tree instanceof DataQualityPropertyGraphFetchTree) {
85
+ return this.tree.property.value.genericType.value.rawType;
86
+ }
87
+ if (this.tree instanceof DataQualityRootGraphFetchTree) {
88
+ return this.tree.class.value;
89
+ }
90
+ throw new UnsupportedOperationError(`Can't get type of Graph Fetch Tree`, this.tree);
91
+ }
92
+ get hashCode() {
93
+ return hashArray([
94
+ DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_GRAPH_FETCH_TREE_NODE_DATA,
95
+ this.id,
96
+ this.label,
97
+ this.tree,
98
+ this.parentId ?? '',
99
+ hashArray(this.childrenIds),
100
+ ]);
101
+ }
102
+ }
103
+ export const generateRootGraphFetchTreeNodeID = (parentNodeId, classValue) => `${parentNodeId ? `${parentNodeId}.` : ''}${classValue ? `${TYPE_CAST_TOKEN}${classValue}` : ''}`;
104
+ const getPrunableNodes = (treeData) => Array.from(treeData.nodes.values()).filter((node) => (node.type instanceof Class &&
105
+ node.childrenIds.length === 0 &&
106
+ node.constraints.length === 0) ||
107
+ // orphan node
108
+ (node.tree instanceof DataQualityPropertyGraphFetchTree &&
109
+ node.parentId &&
110
+ !treeData.nodes.has(node.parentId)));
111
+ const removeNode = (treeData, node) => {
112
+ const parentNode = node.parentId
113
+ ? treeData.nodes.get(node.parentId)
114
+ : undefined;
115
+ if (parentNode) {
116
+ deleteEntry(parentNode.childrenIds, node.id);
117
+ graphFetchTree_removeSubTree(parentNode.tree, node.tree);
118
+ }
119
+ else {
120
+ if (node.tree instanceof DataQualityRootGraphFetchTree) {
121
+ deleteEntry(treeData.rootIds, node.id);
122
+ dataQualityGraphFetchTree_removeConstraints(node.tree);
123
+ graphFetchTree_removeAllSubTrees(node.tree);
124
+ }
125
+ graphFetchTree_removeSubTree(treeData.tree, node.tree);
126
+ }
127
+ treeData.nodes.delete(node.id);
128
+ };
129
+ const pruneTreeData = (treeData) => {
130
+ let prunableNodes = getPrunableNodes(treeData);
131
+ while (prunableNodes.length) {
132
+ prunableNodes.forEach((node) => {
133
+ removeNode(treeData, node);
134
+ });
135
+ prunableNodes = getPrunableNodes(treeData);
136
+ }
137
+ };
138
+ export const removeNodeRecursively = (treeData, node) => {
139
+ removeNode(treeData, node);
140
+ pruneTreeData(treeData);
141
+ };
142
+ export const generateGraphFetchTreeNodeID = (property, parentNodeId, subType) => `${parentNodeId ? `${parentNodeId}.` : ''}${property.name}${subType ? `${TYPE_CAST_TOKEN}${subType.path}` : ''}`;
143
+ const buildGraphFetchSubTree = (editorStore, tree, parentNode, nodes, fetchConstraints, isReadOnly) => {
144
+ assertType(tree, DataQualityPropertyGraphFetchTree, 'Graph fetch sub-tree must be a property graph fetch tree');
145
+ const property = tree.property.value;
146
+ const subType = tree.subType?.value;
147
+ const parentNodeId = parentNode?.id;
148
+ const node = new DataQualityGraphFetchTreeNodeData(editorStore, generateGraphFetchTreeNodeID(property, parentNodeId, subType), property.name, parentNodeId, tree);
149
+ node.setIsReadOnly(isReadOnly);
150
+ if (node.type instanceof Class &&
151
+ fetchConstraints &&
152
+ tree.constraints.length) {
153
+ node.setConstraintsForClass(node.type, tree.constraints);
154
+ }
155
+ tree.subTrees.forEach((subTree) => {
156
+ const subTreeNode = buildGraphFetchSubTree(editorStore, subTree, node, nodes, fetchConstraints, isReadOnly);
157
+ addUniqueEntry(node.childrenIds, subTreeNode.id);
158
+ nodes.set(subTreeNode.id, subTreeNode);
159
+ });
160
+ return node;
161
+ };
162
+ const buildRootGraphFetchSubTree = (editorStore, tree, parentNode, nodes, fetchConstraints, isReadonly) => {
163
+ const parentNodeId = parentNode?.id;
164
+ const node = new DataQualityGraphFetchTreeNodeData(editorStore, generateRootGraphFetchTreeNodeID(parentNodeId, tree.class.valueForSerialization ?? ''), tree.class.value.name, parentNodeId, tree);
165
+ node.setIsReadOnly(isReadonly);
166
+ if (node.type instanceof Class &&
167
+ fetchConstraints &&
168
+ tree.constraints.length) {
169
+ node.setConstraintsForClass(node.type, tree.constraints);
170
+ }
171
+ tree.subTrees.forEach((subTree) => {
172
+ const subTreeNode = buildGraphFetchSubTree(editorStore, subTree, node, nodes, fetchConstraints, isReadonly);
173
+ addUniqueEntry(node.childrenIds, subTreeNode.id);
174
+ nodes.set(subTreeNode.id, subTreeNode);
175
+ });
176
+ return node;
177
+ };
178
+ export const buildGraphFetchTreeData = (editorStore, tree, displayRoot = false, fetchConstraints, isReadOnly) => {
179
+ const rootIds = [];
180
+ const nodes = new Map();
181
+ if (displayRoot) {
182
+ const rootNode = buildRootGraphFetchSubTree(editorStore, tree, undefined, nodes, fetchConstraints, isReadOnly);
183
+ addUniqueEntry(rootIds, rootNode.id);
184
+ nodes.set(rootNode.id, rootNode);
185
+ }
186
+ else {
187
+ tree.subTrees.forEach((subTree) => {
188
+ const subTreeNode = buildGraphFetchSubTree(editorStore, subTree, undefined, nodes, fetchConstraints, isReadOnly);
189
+ addUniqueEntry(rootIds, subTreeNode.id);
190
+ nodes.set(subTreeNode.id, subTreeNode);
191
+ });
192
+ }
193
+ return { rootIds, nodes, tree };
194
+ };
195
+ export const isGraphFetchTreeDataEmpty = (treeData) => treeData.tree.subTrees.length === 0;
196
+ export const isConstraintsClassesTreeEmpty = (treeData) => treeData.rootIds.length === 0;
197
+ export const updateNodeConstraints = (treeData, node, constraint, addConstraint) => {
198
+ //update the node of graph fetch tree present
199
+ const updatedTreeNode = node.tree;
200
+ if (addConstraint) {
201
+ updatedTreeNode.constraints.push(constraint.name);
202
+ }
203
+ else {
204
+ updatedTreeNode.constraints = updatedTreeNode.constraints.filter((constraintName) => constraintName !== constraint.name);
205
+ }
206
+ };
207
+ export const addQueryBuilderPropertyNode = (treeData, explorerTreeData, node, dataQualityState) => {
208
+ const editorStore = dataQualityState.editorStore;
209
+ const rootNodeId = generateRootGraphFetchTreeNodeID(undefined, treeData.tree.class.valueForSerialization ?? '');
210
+ //root node and property node handled differently
211
+ //handling property node
212
+ if (node instanceof QueryBuilderExplorerTreePropertyNodeData) {
213
+ // traverse the property node all the way to the root and resolve the
214
+ // chain of property that leads to this property node
215
+ const propertyGraphFetchTrees = [
216
+ new DataQualityPropertyGraphFetchTree(PropertyExplicitReference.create(node.property), undefined),
217
+ ];
218
+ let parentExplorerTreeNode = explorerTreeData.nodes.get(node.parentId);
219
+ while (parentExplorerTreeNode instanceof
220
+ QueryBuilderExplorerTreePropertyNodeData ||
221
+ parentExplorerTreeNode instanceof QueryBuilderExplorerTreeSubTypeNodeData) {
222
+ let subType = undefined;
223
+ let subtypeAssigned = false;
224
+ while (parentExplorerTreeNode instanceof
225
+ QueryBuilderExplorerTreeSubTypeNodeData) {
226
+ if (!subtypeAssigned) {
227
+ subType = PackageableElementExplicitReference.create(parentExplorerTreeNode.subclass);
228
+ subtypeAssigned = true;
229
+ }
230
+ parentExplorerTreeNode = explorerTreeData.nodes.get(parentExplorerTreeNode.parentId);
231
+ }
232
+ if (parentExplorerTreeNode instanceof
233
+ QueryBuilderExplorerTreePropertyNodeData &&
234
+ parentExplorerTreeNode.mappingData.entityMappedProperty?.subType &&
235
+ parentExplorerTreeNode.type instanceof Class) {
236
+ subType = PackageableElementExplicitReference.create(parentExplorerTreeNode.type);
237
+ }
238
+ if (parentExplorerTreeNode instanceof
239
+ QueryBuilderExplorerTreePropertyNodeData) {
240
+ const propertyGraphFetchTree = new DataQualityPropertyGraphFetchTree(PropertyExplicitReference.create(parentExplorerTreeNode.property), subType);
241
+ propertyGraphFetchTree.subTrees.push(propertyGraphFetchTrees[0]);
242
+ propertyGraphFetchTrees.unshift(propertyGraphFetchTree);
243
+ parentExplorerTreeNode = explorerTreeData.nodes.get(parentExplorerTreeNode.parentId);
244
+ }
245
+ else {
246
+ dataQualityState.applicationStore.notificationService.notifyError(`Can't cast the root class of graph fetch structure to its subtype`);
247
+ return;
248
+ }
249
+ }
250
+ // traverse the chain of property from the root class to find a node in the
251
+ // current graph fetch tree that matches any of this property, consider
252
+ // this the starting point
253
+ //
254
+ // If we found a match, use that as the starting point, otherwise, use the root
255
+ // of the graph fetch tree as the starting point
256
+ //
257
+ // NOTE: here we assume that we don't allow specifying duplicated nodes.
258
+ // perhaps we need to allow that behavior in the future so people can customize the
259
+ // shape of the object (e.g. same field but under different aliases)
260
+ //current node id will be pointing root node id
261
+ let currentNodeId = rootNodeId;
262
+ let parentNode = treeData.nodes.get(rootNodeId);
263
+ let newSubTree;
264
+ for (const propertyGraphFetchTree of propertyGraphFetchTrees) {
265
+ currentNodeId = generateGraphFetchTreeNodeID(propertyGraphFetchTree.property.value, currentNodeId, propertyGraphFetchTree.subType?.value);
266
+ const existingGraphFetchNode = treeData.nodes.get(currentNodeId);
267
+ if (existingGraphFetchNode) {
268
+ parentNode = existingGraphFetchNode;
269
+ }
270
+ else {
271
+ newSubTree = propertyGraphFetchTree;
272
+ break;
273
+ }
274
+ }
275
+ // construct the query builder graph fetch subtree from the starting point
276
+ if (newSubTree) {
277
+ const childNode = buildGraphFetchSubTree(editorStore, newSubTree, parentNode, treeData.nodes, false, false);
278
+ treeData.nodes.set(childNode.id, childNode);
279
+ if (parentNode) {
280
+ addUniqueEntry(parentNode.childrenIds, childNode.id);
281
+ graphFetchTree_addSubTree(parentNode.tree, childNode.tree, dataQualityState.dataQualityQueryBuilderState.observerContext);
282
+ }
283
+ else {
284
+ //this case arises when we reach upto rootNode
285
+ let rootNode = treeData.nodes.get(rootNodeId);
286
+ //check if root node exists in actual tree made
287
+ if (!rootNode) {
288
+ rootNode = buildRootGraphFetchSubTree(editorStore, treeData.tree, undefined, treeData.nodes, false, false);
289
+ addUniqueEntry(treeData.rootIds, rootNode.id);
290
+ treeData.nodes.set(rootNode.id, rootNode);
291
+ }
292
+ addUniqueEntry(rootNode.childrenIds, childNode.id);
293
+ graphFetchTree_addSubTree(treeData.tree, childNode.tree, dataQualityState.dataQualityQueryBuilderState.observerContext);
294
+ }
295
+ }
296
+ const nodeToShowConstraintsFor = treeData.nodes.get(`${rootNodeId}.${node.id}`);
297
+ //fetching constraints for class node and making sure constraints is populated for the first time
298
+ if (nodeToShowConstraintsFor &&
299
+ node.type instanceof Class &&
300
+ nodeToShowConstraintsFor.constraints.length === 0) {
301
+ nodeToShowConstraintsFor.setConstraintsForClass(node.type, []);
302
+ treeData.nodes.set(nodeToShowConstraintsFor.id, nodeToShowConstraintsFor);
303
+ }
304
+ }
305
+ else {
306
+ //this case arises when root node is dragged
307
+ let rootNodeFromTree = treeData.nodes.get(rootNodeId);
308
+ //check if root node already exists in data quality root graph fetch tree
309
+ if (!rootNodeFromTree) {
310
+ rootNodeFromTree = buildRootGraphFetchSubTree(editorStore, treeData.tree, undefined, treeData.nodes, false, false);
311
+ addUniqueEntry(treeData.rootIds, rootNodeFromTree.id);
312
+ }
313
+ //making sure root node is class type and constraints is fetch for first time
314
+ if (node.type instanceof Class &&
315
+ rootNodeFromTree.constraints.length === 0) {
316
+ rootNodeFromTree.setConstraintsForClass(node.type, []);
317
+ }
318
+ treeData.nodes.set(rootNodeFromTree.id, rootNodeFromTree);
319
+ }
320
+ };
321
+ //# sourceMappingURL=DataQualityGraphFetchTreeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityGraphFetchTreeUtil.js","sourceRoot":"","sources":["../../../src/components/utils/DataQualityGraphFetchTreeUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export declare enum DATA_QUALITY_HASH_STRUCTURE {
17
+ DATA_QUALITY_CONSTRAINTS_CONFIGURATION = "DATA_QUALITY_CONSTRAINTS_CONFIGURATION",
18
+ DATA_QUALITY_SERVICE_VALIDATION_CONFIGURATION = "DATA_QUALITY_SERVICE_VALIDATION_CONFIGURATION",
19
+ DATA_QUALTIY_DATASPACE_EXECUTION_CONTEXT = "DATA_QUALITY_DATASPACE_EXECUTION_CONTEXT",
20
+ DATA_QUALITY_MAPPING_AND_RUNTIME_EXECUTION_CONTEXT = "DATA_QUALITY_MAPPING_AND_RUNTIME_EXECUTION_CONTEXT",
21
+ DATA_QUALITY_GRAPH_FETCH_STATE = "DATA_QUALITY_GRAPH_FETCH_STATE",
22
+ DATA_QUALITY_GRAPH_FETCH_TREE = "DATA_QUALITY_GRAPH_FETCH_TREE",
23
+ DATA_QUALITY_ROOT_GRAPH_FETCH_TREE = "DATA_QUALITY_ROOT_GRAPH_FETCH_TREE",
24
+ DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE = "DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE",
25
+ DATA_QUALITY_SUBTYPE_GRAPH_FETCH_TREE = "DATA_QUALITY_SUBTYPE_GRAPH_FETCH_TREE",
26
+ DATA_QUALITY_GRAPH_FETCH_TREE_NODE_DATA = "DATA_QUALITY_GRAPH_FETCH_TREE_NODE_DATA",
27
+ DATA_QUALITY_STATE = "DATA_QUALITY_STATE"
28
+ }
29
+ //# sourceMappingURL=DSL_DataQuality_HashUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSL_DataQuality_HashUtils.d.ts","sourceRoot":"","sources":["../../../src/graph/metamodel/DSL_DataQuality_HashUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,2BAA2B;IACrC,sCAAsC,2CAA2C;IACjF,6CAA6C,kDAAkD;IAC/F,wCAAwC,6CAA6C;IACrF,kDAAkD,uDAAuD;IACzG,8BAA8B,mCAAmC;IACjE,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;IACzE,sCAAsC,2CAA2C;IACjF,qCAAqC,0CAA0C;IAC/E,uCAAuC,4CAA4C;IACnF,kBAAkB,uBAAuB;CAC1C"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export var DATA_QUALITY_HASH_STRUCTURE;
17
+ (function (DATA_QUALITY_HASH_STRUCTURE) {
18
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_CONSTRAINTS_CONFIGURATION"] = "DATA_QUALITY_CONSTRAINTS_CONFIGURATION";
19
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_SERVICE_VALIDATION_CONFIGURATION"] = "DATA_QUALITY_SERVICE_VALIDATION_CONFIGURATION";
20
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALTIY_DATASPACE_EXECUTION_CONTEXT"] = "DATA_QUALITY_DATASPACE_EXECUTION_CONTEXT";
21
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_MAPPING_AND_RUNTIME_EXECUTION_CONTEXT"] = "DATA_QUALITY_MAPPING_AND_RUNTIME_EXECUTION_CONTEXT";
22
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_GRAPH_FETCH_STATE"] = "DATA_QUALITY_GRAPH_FETCH_STATE";
23
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_GRAPH_FETCH_TREE"] = "DATA_QUALITY_GRAPH_FETCH_TREE";
24
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_ROOT_GRAPH_FETCH_TREE"] = "DATA_QUALITY_ROOT_GRAPH_FETCH_TREE";
25
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE"] = "DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE";
26
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_SUBTYPE_GRAPH_FETCH_TREE"] = "DATA_QUALITY_SUBTYPE_GRAPH_FETCH_TREE";
27
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_GRAPH_FETCH_TREE_NODE_DATA"] = "DATA_QUALITY_GRAPH_FETCH_TREE_NODE_DATA";
28
+ DATA_QUALITY_HASH_STRUCTURE["DATA_QUALITY_STATE"] = "DATA_QUALITY_STATE";
29
+ })(DATA_QUALITY_HASH_STRUCTURE || (DATA_QUALITY_HASH_STRUCTURE = {}));
30
+ //# sourceMappingURL=DSL_DataQuality_HashUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSL_DataQuality_HashUtils.js","sourceRoot":"","sources":["../../../src/graph/metamodel/DSL_DataQuality_HashUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,2BAYX;AAZD,WAAY,2BAA2B;IACrC,gHAAiF,CAAA;IACjF,8HAA+F,CAAA;IAC/F,oHAAqF,CAAA;IACrF,wIAAyG,CAAA;IACzG,gGAAiE,CAAA;IACjE,8FAA+D,CAAA;IAC/D,wGAAyE,CAAA;IACzE,gHAAiF,CAAA;IACjF,8GAA+E,CAAA;IAC/E,kHAAmF,CAAA;IACnF,wEAAyC,CAAA;AAC3C,CAAC,EAZW,2BAA2B,KAA3B,2BAA2B,QAYtC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type Clazz } from '@finos/legend-shared';
17
+ import { type PackageableElement, PureGraphPlugin } from '@finos/legend-graph';
18
+ export declare class DSL_DataQuality_PureGraphPlugin extends PureGraphPlugin {
19
+ constructor();
20
+ getExtraPureGraphExtensionClasses(): Clazz<PackageableElement>[];
21
+ }
22
+ //# sourceMappingURL=DSL_DataQuality_PureGraphPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSL_DataQuality_PureGraphPlugin.d.ts","sourceRoot":"","sources":["../../../src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO/E,qBAAa,+BAAgC,SAAQ,eAAe;;IAKzD,iCAAiC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;CAM1E"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import {} from '@finos/legend-shared';
17
+ import { PureGraphPlugin } from '@finos/legend-graph';
18
+ import packageJson from '../../../package.json';
19
+ import { DataQualityClassValidationsConfiguration, DataQualityServiceValidationConfiguration, } from './pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
20
+ export class DSL_DataQuality_PureGraphPlugin extends PureGraphPlugin {
21
+ constructor() {
22
+ super(packageJson.extensions.pureGraphPlugin, packageJson.version);
23
+ }
24
+ getExtraPureGraphExtensionClasses() {
25
+ return [
26
+ DataQualityClassValidationsConfiguration,
27
+ DataQualityServiceValidationConfiguration,
28
+ ];
29
+ }
30
+ }
31
+ //# sourceMappingURL=DSL_DataQuality_PureGraphPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSL_DataQuality_PureGraphPlugin.js","sourceRoot":"","sources":["../../../src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAA2B,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,+EAA+E,CAAC;AAEvF,MAAM,OAAO,+BAAgC,SAAQ,eAAe;IAClE;QACE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAEQ,iCAAiC;QACxC,OAAO;YACL,wCAAwC;YACxC,yCAAyC;SAC1C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type Hashable } from '@finos/legend-shared';
17
+ import { RootGraphFetchTree, PropertyGraphFetchTree } from '@finos/legend-graph';
18
+ export declare class DataQualityRootGraphFetchTree extends RootGraphFetchTree implements Hashable {
19
+ constraints: string[];
20
+ get hashCode(): string;
21
+ }
22
+ export declare class DataQualityPropertyGraphFetchTree extends PropertyGraphFetchTree implements Hashable {
23
+ constraints: string[];
24
+ get hashCode(): string;
25
+ }
26
+ //# sourceMappingURL=DataQualityGraphFetchTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityGraphFetchTree.d.ts","sourceRoot":"","sources":["../../../../../../src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,6BACX,SAAQ,kBACR,YAAW,QAAQ;IAEnB,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,IAAa,QAAQ,IAAI,MAAM,CAQ9B;CACF;AAED,qBAAa,iCACX,SAAQ,sBACR,YAAW,QAAQ;IAEnB,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,IAAa,QAAQ,IAAI,MAAM,CAS9B;CACF"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { hashArray } from '@finos/legend-shared';
17
+ import { RootGraphFetchTree, PropertyGraphFetchTree, } from '@finos/legend-graph';
18
+ import { DATA_QUALITY_HASH_STRUCTURE } from '../../../DSL_DataQuality_HashUtils.js';
19
+ export class DataQualityRootGraphFetchTree extends RootGraphFetchTree {
20
+ constraints = [];
21
+ get hashCode() {
22
+ return hashArray([
23
+ DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_ROOT_GRAPH_FETCH_TREE,
24
+ hashArray(this.subTrees),
25
+ hashArray(this.subTypeTrees),
26
+ hashArray(this.constraints),
27
+ this.class.valueForSerialization ?? '',
28
+ ]);
29
+ }
30
+ }
31
+ export class DataQualityPropertyGraphFetchTree extends PropertyGraphFetchTree {
32
+ constraints = [];
33
+ get hashCode() {
34
+ return hashArray([
35
+ DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE,
36
+ hashArray(this.subTrees),
37
+ this.property.value.name,
38
+ this.alias ?? '',
39
+ this.subType?.valueForSerialization ?? '',
40
+ hashArray(this.constraints),
41
+ ]);
42
+ }
43
+ }
44
+ //# sourceMappingURL=DataQualityGraphFetchTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityGraphFetchTree.js","sourceRoot":"","sources":["../../../../../../src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAiB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,OAAO,6BACX,SAAQ,kBAAkB;IAG1B,WAAW,GAAa,EAAE,CAAC;IAC3B,IAAa,QAAQ;QACnB,OAAO,SAAS,CAAC;YACf,2BAA2B,CAAC,kCAAkC;YAC9D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,iCACX,SAAQ,sBAAsB;IAG9B,WAAW,GAAa,EAAE,CAAC;IAC3B,IAAa,QAAQ;QACnB,OAAO,SAAS,CAAC;YACf,2BAA2B,CAAC,sCAAsC;YAClE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,OAAO,EAAE,qBAAqB,IAAI,EAAE;YACzC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type PackageableElementVisitor, type GraphFetchTree, type Mapping, type PackageableElementReference, type PackageableRuntime, type RawLambda, PackageableElement } from '@finos/legend-graph';
17
+ import { type Hashable } from '@finos/legend-shared';
18
+ import type { DataSpace } from '@finos/legend-extension-dsl-data-space/graph';
19
+ import type { DataQualityRootGraphFetchTree } from './DataQualityGraphFetchTree.js';
20
+ export declare abstract class DataQualityExecutionContext implements Hashable {
21
+ abstract get hashCode(): string;
22
+ }
23
+ export declare class DataSpaceDataQualityExecutionContext extends DataQualityExecutionContext {
24
+ context: string;
25
+ dataSpace: PackageableElementReference<DataSpace>;
26
+ get hashCode(): string;
27
+ }
28
+ export declare class MappingAndRuntimeDataQualityExecutionContext extends DataQualityExecutionContext {
29
+ mapping: PackageableElementReference<Mapping>;
30
+ runtime: PackageableElementReference<PackageableRuntime>;
31
+ get hashCode(): string;
32
+ }
33
+ export declare class DataQualityClassValidationsConfiguration extends PackageableElement implements Hashable {
34
+ context: DataQualityExecutionContext;
35
+ dataQualityRootGraphFetchTree: DataQualityRootGraphFetchTree | undefined;
36
+ filter?: RawLambda | undefined;
37
+ protected get _elementHashCode(): string;
38
+ accept_PackageableElementVisitor<T>(visitor: PackageableElementVisitor<T>): T;
39
+ }
40
+ export declare class DataQualityServiceValidationConfiguration extends PackageableElement implements Hashable {
41
+ serviceName: string | undefined;
42
+ contextName: string | undefined;
43
+ dataQualityRootGraphFetchTree: GraphFetchTree | undefined;
44
+ protected get _elementHashCode(): string;
45
+ accept_PackageableElementVisitor<T>(visitor: PackageableElementVisitor<T>): T;
46
+ }
47
+ //# sourceMappingURL=DataQualityValidationConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityValidationConfiguration.d.ts","sourceRoot":"","sources":["../../../../../../src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAEpF,8BAAsB,2BAA4B,YAAW,QAAQ;IACnE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC;CACjC;AAED,qBAAa,oCAAqC,SAAQ,2BAA2B;IACnF,OAAO,EAAG,MAAM,CAAC;IACjB,SAAS,EAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAa,QAAQ,IAAI,MAAM,CAM9B;CACF;AAED,qBAAa,4CAA6C,SAAQ,2BAA2B;IAC3F,OAAO,EAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAG,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;IAE1D,IAAa,QAAQ,IAAI,MAAM,CAM9B;CACF;AAED,qBAAa,wCACX,SAAQ,kBACR,YAAW,QAAQ;IAEnB,OAAO,EAAG,2BAA2B,CAAC;IACtC,6BAA6B,EAAE,6BAA6B,GAAG,SAAS,CAAC;IACzE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAE/B,cAAuB,gBAAgB,IAAI,MAAM,CAOhD;IAED,gCAAgC,CAAC,CAAC,EAChC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,CAAC;CAGL;AAED,qBAAa,yCACX,SAAQ,kBACR,YAAW,QAAQ;IAEnB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6BAA6B,EAAE,cAAc,GAAG,SAAS,CAAC;IAE1D,cAAuB,gBAAgB,IAAI,MAAM,CAOhD;IAED,gCAAgC,CAAC,CAAC,EAChC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,CAAC;CAGL"}