@finos/legend-graph 9.0.0 → 10.1.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 (210) hide show
  1. package/lib/DSLData_Exports.d.ts +2 -1
  2. package/lib/DSLData_Exports.d.ts.map +1 -1
  3. package/lib/DSLData_Exports.js +2 -1
  4. package/lib/DSLData_Exports.js.map +1 -1
  5. package/lib/DSLMapping_Exports.d.ts +4 -0
  6. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  7. package/lib/DSLMapping_Exports.js +4 -0
  8. package/lib/DSLMapping_Exports.js.map +1 -1
  9. package/lib/DSLService_Exports.d.ts +7 -0
  10. package/lib/DSLService_Exports.d.ts.map +1 -1
  11. package/lib/DSLService_Exports.js +7 -0
  12. package/lib/DSLService_Exports.js.map +1 -1
  13. package/lib/MetaModelConst.d.ts +7 -4
  14. package/lib/MetaModelConst.d.ts.map +1 -1
  15. package/lib/MetaModelConst.js +8 -4
  16. package/lib/MetaModelConst.js.map +1 -1
  17. package/lib/graph/PureGraphPlugin.d.ts +1 -1
  18. package/lib/graph/PureGraphPlugin.js +1 -1
  19. package/lib/graphManager/AbstractPureGraphManager.d.ts +20 -11
  20. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  21. package/lib/graphManager/AbstractPureGraphManager.js +13 -0
  22. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  23. package/lib/graphManager/PureGraphManagerPlugin.d.ts +7 -4
  24. package/lib/graphManager/PureGraphManagerPlugin.d.ts.map +1 -1
  25. package/lib/graphManager/PureGraphManagerPlugin.js +1 -1
  26. package/lib/graphManager/PureGraphManagerPlugin.js.map +1 -1
  27. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts +41 -0
  28. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +1 -0
  29. package/lib/graphManager/action/analytics/MappingAnalytics.js +58 -0
  30. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +1 -0
  31. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts +2 -3
  32. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts.map +1 -1
  33. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js +8 -21
  34. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js.map +1 -1
  35. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.d.ts.map +1 -1
  36. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js +2 -1
  37. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js.map +1 -1
  38. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.d.ts.map +1 -1
  39. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js +3 -13
  40. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js.map +1 -1
  41. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts +18 -0
  42. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts.map +1 -0
  43. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js +17 -0
  44. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js.map +1 -0
  45. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts +2 -0
  46. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts.map +1 -1
  47. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js +2 -0
  48. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js.map +1 -1
  49. package/lib/helpers/Testable_Helper.d.ts +3 -0
  50. package/lib/helpers/Testable_Helper.d.ts.map +1 -1
  51. package/lib/helpers/Testable_Helper.js +3 -0
  52. package/lib/helpers/Testable_Helper.js.map +1 -1
  53. package/lib/helpers/ValueSpecificationHelper.d.ts +10 -3
  54. package/lib/helpers/ValueSpecificationHelper.d.ts.map +1 -1
  55. package/lib/helpers/ValueSpecificationHelper.js +59 -4
  56. package/lib/helpers/ValueSpecificationHelper.js.map +1 -1
  57. package/lib/index.d.ts +7 -1
  58. package/lib/index.d.ts.map +1 -1
  59. package/lib/index.js +7 -1
  60. package/lib/index.js.map +1 -1
  61. package/lib/models/metamodels/pure/data/EmbeddedData.d.ts +2 -2
  62. package/lib/models/metamodels/pure/data/EmbeddedData.d.ts.map +1 -1
  63. package/lib/models/metamodels/pure/data/{RelationalData.d.ts → RelationalCSVData.d.ts} +6 -15
  64. package/lib/models/metamodels/pure/data/RelationalCSVData.d.ts.map +1 -0
  65. package/lib/models/metamodels/pure/data/{RelationalData.js → RelationalCSVData.js} +10 -30
  66. package/lib/models/metamodels/pure/data/RelationalCSVData.js.map +1 -0
  67. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts +1 -0
  68. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts.map +1 -1
  69. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js +2 -0
  70. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js.map +1 -1
  71. package/lib/models/metamodels/pure/test/Test.d.ts +3 -1
  72. package/lib/models/metamodels/pure/test/Test.d.ts.map +1 -1
  73. package/lib/models/metamodels/pure/test/Test.js +2 -1
  74. package/lib/models/metamodels/pure/test/Test.js.map +1 -1
  75. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts +2 -8
  76. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts.map +1 -1
  77. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js +0 -11
  78. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js.map +1 -1
  79. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +3 -2
  80. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  81. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +6 -1
  82. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  83. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +12 -3
  84. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  85. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js +1 -1
  86. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  87. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +19 -10
  88. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  89. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +112 -139
  90. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  91. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -1
  92. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  93. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +11 -3
  94. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  95. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -0
  96. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  97. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +3 -0
  98. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  99. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts +40 -0
  100. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +1 -0
  101. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js +94 -0
  102. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +1 -0
  103. package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.d.ts → execution/V1_ExecutionHelper.d.ts} +2 -2
  104. package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.d.ts.map +1 -0
  105. package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.js → execution/V1_ExecutionHelper.js} +2 -2
  106. package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.js.map +1 -0
  107. package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts +2 -2
  108. package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts.map +1 -1
  109. package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.d.ts → V1_RelationalCSVData.d.ts} +6 -15
  110. package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.d.ts.map +1 -0
  111. package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.js → V1_RelationalCSVData.js} +9 -29
  112. package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.js.map +1 -0
  113. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts +1 -0
  114. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts.map +1 -1
  115. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js +2 -0
  116. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js.map +1 -1
  117. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts +2 -8
  118. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts.map +1 -1
  119. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js +0 -11
  120. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js.map +1 -1
  121. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.d.ts.map +1 -1
  122. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js +12 -21
  123. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js.map +1 -1
  124. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
  125. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +1 -0
  126. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
  127. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.d.ts.map +1 -1
  128. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js +2 -4
  129. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js.map +1 -1
  130. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
  131. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +5 -1
  132. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
  133. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -2
  134. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  135. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +6 -15
  136. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  137. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -0
  138. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  139. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +2 -1
  140. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  141. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts +5 -5
  142. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  143. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +11 -9
  144. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  145. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts +2 -3
  146. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  147. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +10 -15
  148. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  149. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts +1 -4
  150. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js +7 -14
  152. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  154. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -1
  155. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  156. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
  157. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +3 -7
  158. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
  159. package/lib/package.json +8 -4
  160. package/package.json +11 -7
  161. package/src/DSLData_Exports.ts +3 -0
  162. package/src/DSLMapping_Exports.ts +4 -0
  163. package/src/DSLService_Exports.ts +10 -0
  164. package/src/MetaModelConst.ts +10 -4
  165. package/src/graph/PureGraphPlugin.ts +1 -1
  166. package/src/graphManager/AbstractPureGraphManager.ts +48 -20
  167. package/src/graphManager/PureGraphManagerPlugin.ts +18 -8
  168. package/src/graphManager/action/analytics/MappingAnalytics.ts +71 -0
  169. package/src/graphManager/action/changeDetection/DSLData_ObserverHelper.ts +12 -33
  170. package/src/graphManager/action/changeDetection/DSLService_ObserverHelper.ts +2 -1
  171. package/src/graphManager/action/changeDetection/Testable_ObserverHelper.ts +3 -23
  172. package/src/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.ts +21 -0
  173. package/src/graphManager/action/creation/DSLMapping_ModelCreatorHelper.ts +4 -0
  174. package/src/helpers/Testable_Helper.ts +4 -0
  175. package/src/helpers/ValueSpecificationHelper.ts +106 -10
  176. package/src/index.ts +13 -1
  177. package/src/models/metamodels/pure/data/EmbeddedData.ts +2 -2
  178. package/src/models/metamodels/pure/data/{RelationalData.ts → RelationalCSVData.ts} +10 -33
  179. package/src/models/metamodels/pure/packageableElements/service/ServiceTest.ts +2 -0
  180. package/src/models/metamodels/pure/test/Test.ts +3 -1
  181. package/src/models/metamodels/pure/test/assertion/EqualToTDS.ts +4 -19
  182. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +15 -2
  183. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +17 -3
  184. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +306 -292
  185. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +24 -3
  186. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +18 -0
  187. package/src/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.ts +168 -0
  188. package/src/models/protocols/pure/v1/engine/{V1_ExecutionHelper.ts → execution/V1_ExecutionHelper.ts} +2 -2
  189. package/src/models/protocols/pure/v1/model/data/V1_EmbeddedData.ts +2 -2
  190. package/src/models/protocols/pure/v1/model/data/{V1_RelationalData.ts → V1_RelationalCSVData.ts} +9 -33
  191. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.ts +2 -0
  192. package/src/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.ts +3 -19
  193. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.ts +20 -31
  194. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +1 -0
  195. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.ts +2 -7
  196. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +7 -1
  197. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +10 -22
  198. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +7 -4
  199. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +27 -24
  200. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +16 -26
  201. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.ts +10 -27
  202. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -0
  203. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +3 -15
  204. package/tsconfig.json +6 -3
  205. package/lib/models/metamodels/pure/data/RelationalData.d.ts.map +0 -1
  206. package/lib/models/metamodels/pure/data/RelationalData.js.map +0 -1
  207. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.d.ts.map +0 -1
  208. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js.map +0 -1
  209. package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.d.ts.map +0 -1
  210. package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.js.map +0 -1
@@ -0,0 +1,71 @@
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
+
17
+ export type RawMappingModelCoverageAnalysisResult = object;
18
+
19
+ export class MappedEntity {
20
+ readonly __NAME_TO_PROPERTY!: Map<string, MappedProperty>;
21
+
22
+ path: string;
23
+ properties: MappedProperty[];
24
+
25
+ constructor(path: string, properties: MappedProperty[]) {
26
+ this.path = path;
27
+ this.properties = properties;
28
+ this.__NAME_TO_PROPERTY = new Map<string, MappedProperty>();
29
+ properties.map((p) => this.__NAME_TO_PROPERTY.set(p.name, p));
30
+ }
31
+ }
32
+
33
+ export class MappedProperty {
34
+ name: string;
35
+
36
+ constructor(name: string) {
37
+ this.name = name;
38
+ }
39
+ }
40
+
41
+ export class EntityMappedProperty extends MappedProperty {
42
+ entityPath: string;
43
+ subType: string | undefined;
44
+
45
+ constructor(name: string, entityPath: string, subType: string | undefined) {
46
+ super(name);
47
+ this.entityPath = entityPath;
48
+ this.subType = subType;
49
+ }
50
+ }
51
+
52
+ export class EnumMappedProperty extends MappedProperty {
53
+ enumPath: string;
54
+
55
+ constructor(name: string, enumPath: string) {
56
+ super(name);
57
+ this.enumPath = enumPath;
58
+ }
59
+ }
60
+
61
+ export class MappingModelCoverageAnalysisResult {
62
+ readonly __PATH_TO_ENTITY!: Map<string, MappedEntity>;
63
+
64
+ mappedEntities: MappedEntity[];
65
+
66
+ constructor(mappedEntities: MappedEntity[]) {
67
+ this.mappedEntities = mappedEntities;
68
+ this.__PATH_TO_ENTITY = new Map<string, MappedEntity>();
69
+ mappedEntities.map((e) => this.__PATH_TO_ENTITY.set(e.path, e));
70
+ }
71
+ }
@@ -22,11 +22,9 @@ import {
22
22
  ModelStoreData,
23
23
  } from '../../../models/metamodels/pure/data/EmbeddedData.js';
24
24
  import {
25
- type RelationalDataTable,
26
- type RelationalDataTableColumn,
27
- type RelationalDataTableRow,
28
- RelationalData,
29
- } from '../../../models/metamodels/pure/data/RelationalData.js';
25
+ type RelationalCSVDataTable,
26
+ RelationalCSVData,
27
+ } from '../../../models/metamodels/pure/data/RelationalCSVData.js';
30
28
  import type { DataElement } from '../../../models/metamodels/pure/packageableElements/data/DataElement.js';
31
29
  import type { EmbeddedData_PureGraphManagerPlugin_Extension } from '../../EmbeddedData_PureGraphManagerPlugin_Extension.js';
32
30
  import {
@@ -74,39 +72,20 @@ export const observe_ModelStoreData = skipObserved(
74
72
  },
75
73
  );
76
74
 
77
- export const observe_RelationalDataTableColumn = skipObserved(
78
- (metamodel: RelationalDataTableColumn): RelationalDataTableColumn => {
75
+ export const observe_RelationalDataTable = skipObserved(
76
+ (metamodel: RelationalCSVDataTable): RelationalCSVDataTable => {
79
77
  makeObservable(metamodel, {
78
+ values: observable,
79
+ table: observable,
80
+ schema: observable,
80
81
  hashCode: computed,
81
82
  });
82
83
  return metamodel;
83
84
  },
84
85
  );
85
86
 
86
- export const observe_RelationalDataTableRow = skipObserved(
87
- (metamodel: RelationalDataTableRow): RelationalDataTableRow => {
88
- makeObservable(metamodel, {
89
- hashCode: computed,
90
- });
91
- return metamodel;
92
- },
93
- );
94
-
95
- const observe_RelationalDataTable = skipObserved(
96
- (metamodel: RelationalDataTable): RelationalDataTable => {
97
- makeObservable(metamodel, {
98
- columns: observable,
99
- rows: observable,
100
- hashCode: computed,
101
- });
102
- metamodel.columns.forEach(observe_RelationalDataTableColumn);
103
- metamodel.rows.forEach(observe_RelationalDataTableRow);
104
- return metamodel;
105
- },
106
- );
107
-
108
- const observe_RelationalData = skipObserved(
109
- (metamodel: RelationalData): RelationalData => {
87
+ const observe_RelationalCSVData = skipObserved(
88
+ (metamodel: RelationalCSVData): RelationalCSVData => {
110
89
  makeObservable(metamodel, {
111
90
  tables: observable,
112
91
  hashCode: computed,
@@ -126,8 +105,8 @@ export function observe_EmbeddedData(
126
105
  return observe_ExternalFormatData(metamodel);
127
106
  } else if (metamodel instanceof ModelStoreData) {
128
107
  return observe_ModelStoreData(metamodel);
129
- } else if (metamodel instanceof RelationalData) {
130
- return observe_RelationalData(metamodel);
108
+ } else if (metamodel instanceof RelationalCSVData) {
109
+ return observe_RelationalCSVData(metamodel);
131
110
  }
132
111
  const extraEmbeddedDataObservers = context.plugins.flatMap(
133
112
  (plugin) =>
@@ -75,7 +75,7 @@ export const observe_ParameterValue = skipObserved(
75
75
  (metamodel: ParameterValue): ParameterValue => {
76
76
  makeObservable(metamodel, {
77
77
  name: observable,
78
- value: observable,
78
+ value: observable.ref,
79
79
  hashCode: computed,
80
80
  });
81
81
 
@@ -102,6 +102,7 @@ export const observe_ServiceTest = skipObserved(
102
102
  (metamodel: ServiceTest): ServiceTest => {
103
103
  makeObservable(metamodel, {
104
104
  id: observable,
105
+ serializationFormat: observable,
105
106
  assertions: observable,
106
107
  parameters: observable,
107
108
  hashCode: computed,
@@ -19,21 +19,14 @@ import { ServiceTest } from '../../../DSLService_Exports.js';
19
19
  import { ServiceTestSuite } from '../../../models/metamodels/pure/packageableElements/service/ServiceTestSuite.js';
20
20
  import { EqualTo } from '../../../models/metamodels/pure/test/assertion/EqualTo.js';
21
21
  import { EqualToJson } from '../../../models/metamodels/pure/test/assertion/EqualToJson.js';
22
- import {
23
- EqualToTDS,
24
- type RelationalTDS,
25
- } from '../../../models/metamodels/pure/test/assertion/EqualToTDS.js';
22
+ import { EqualToTDS } from '../../../models/metamodels/pure/test/assertion/EqualToTDS.js';
26
23
  import type { TestAssertion } from '../../../models/metamodels/pure/test/assertion/TestAssertion.js';
27
24
  import type {
28
25
  AtomicTest,
29
26
  TestSuite,
30
27
  } from '../../../models/metamodels/pure/test/Test.js';
31
28
  import { type ObserverContext, skipObserved } from './CoreObserverHelper.js';
32
- import {
33
- observe_ExternalFormatData,
34
- observe_RelationalDataTableColumn,
35
- observe_RelationalDataTableRow,
36
- } from './DSLData_ObserverHelper.js';
29
+ import { observe_ExternalFormatData } from './DSLData_ObserverHelper.js';
37
30
  import {
38
31
  observe_ServiceTest,
39
32
  observe_ServiceTestSuite,
@@ -49,26 +42,13 @@ const observe_EqualTo = skipObserved((metamodel: EqualTo): EqualTo => {
49
42
  return metamodel;
50
43
  });
51
44
 
52
- const observe_RelationalTDS = skipObserved(
53
- (metamodel: RelationalTDS): RelationalTDS => {
54
- makeObservable(metamodel, {
55
- rows: observable,
56
- columns: observable,
57
- hashCode: computed,
58
- });
59
- metamodel.columns.forEach(observe_RelationalDataTableColumn);
60
- metamodel.rows.forEach(observe_RelationalDataTableRow);
61
- return metamodel;
62
- },
63
- );
64
-
65
45
  const observe_EqualToTDS = skipObserved((metamodel: EqualToTDS): EqualToTDS => {
66
46
  makeObservable(metamodel, {
67
47
  id: observable,
68
48
  expected: observable,
69
49
  hashCode: computed,
70
50
  });
71
- observe_RelationalTDS(metamodel.expected);
51
+ observe_ExternalFormatData(metamodel.expected);
72
52
  return metamodel;
73
53
  });
74
54
 
@@ -0,0 +1,21 @@
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
+
17
+ import type { ExternalFormatData } from '../../../models/metamodels/pure/data/EmbeddedData.js';
18
+
19
+ export const isStubbed_ExternalFormatData = (
20
+ value: ExternalFormatData,
21
+ ): boolean => value.data === '';
@@ -15,6 +15,7 @@
15
15
  */
16
16
 
17
17
  import { isNonNullable } from '@finos/legend-shared';
18
+ import { PackageableRuntime } from '../../../DSLMapping_Exports.js';
18
19
  import type { EnumValueMapping } from '../../../models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js';
19
20
  import { Mapping } from '../../../models/metamodels/pure/packageableElements/mapping/Mapping.js';
20
21
  import type { SetImplementationContainer } from '../../../models/metamodels/pure/packageableElements/mapping/SetImplementationContainer.js';
@@ -32,3 +33,6 @@ export const isStubbed_StoreConnections = (value: StoreConnections): boolean =>
32
33
  export const isStubbed_SetImplementationContainer = (
33
34
  value: SetImplementationContainer,
34
35
  ): boolean => !value.setImplementation.value.id.value;
36
+
37
+ export const stub_PackageableRuntime = (): PackageableRuntime =>
38
+ new PackageableRuntime('');
@@ -20,6 +20,10 @@ import type { PureGraphManagerPlugin } from '../graphManager/PureGraphManagerPlu
20
20
  import { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
21
21
  import type { Testable } from '../models/metamodels/pure/test/Testable.js';
22
22
 
23
+ export const DEFAULT_TEST_SUITE_PREFIX = 'testSuite';
24
+ export const DEFAULT_TEST_PREFIX = 'test';
25
+ export const DEFAULT_TEST_ASSERTION_PREFIX = 'assertion';
26
+
23
27
  export const getNullableTestable = (
24
28
  id: string,
25
29
  graph: PureModel,
@@ -14,22 +14,35 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { guaranteeType } from '@finos/legend-shared';
17
+ import { guaranteeType, Randomizer } from '@finos/legend-shared';
18
18
  import type { PureModel } from '../graph/PureModel.js';
19
+ import type { GraphManagerState } from '../GraphManagerState.js';
19
20
  import {
20
- type GraphManagerState,
21
- type LambdaFunction,
22
- type ValueSpecification,
23
- LambdaFunctionInstanceValue,
24
- RawLambda,
25
- } from '../index.js';
26
- import {
27
- type PRIMITIVE_TYPE,
21
+ DATE_FORMAT,
22
+ DATE_TIME_FORMAT,
23
+ PRIMITIVE_TYPE,
28
24
  TYPICAL_MULTIPLICITY_TYPE,
29
25
  } from '../MetaModelConst.js';
26
+ import { Enumeration } from '../models/metamodels/pure/packageableElements/domain/Enumeration.js';
27
+ import { EnumValueExplicitReference } from '../models/metamodels/pure/packageableElements/domain/EnumValueReference.js';
30
28
  import { GenericType } from '../models/metamodels/pure/packageableElements/domain/GenericType.js';
31
29
  import { GenericTypeExplicitReference } from '../models/metamodels/pure/packageableElements/domain/GenericTypeReference.js';
32
- import { PrimitiveInstanceValue } from '../models/metamodels/pure/valueSpecification/InstanceValue.js';
30
+ import { PrimitiveType } from '../models/metamodels/pure/packageableElements/domain/PrimitiveType.js';
31
+ import { RawLambda } from '../models/metamodels/pure/rawValueSpecification/RawLambda.js';
32
+ import {
33
+ type InstanceValue,
34
+ CollectionInstanceValue,
35
+ EnumValueInstanceValue,
36
+ PrimitiveInstanceValue,
37
+ } from '../models/metamodels/pure/valueSpecification/InstanceValue.js';
38
+ import {
39
+ type LambdaFunction,
40
+ LambdaFunctionInstanceValue,
41
+ } from '../models/metamodels/pure/valueSpecification/LambdaFunction.js';
42
+ import type { ValueSpecification } from '../models/metamodels/pure/valueSpecification/ValueSpecification.js';
43
+ import type { VariableExpression } from '../models/metamodels/pure/valueSpecification/VariableExpression.js';
44
+ import { getEnumValue } from './DomainHelper.js';
45
+ import { format, addDays } from 'date-fns';
33
46
 
34
47
  export const buildPrimitiveInstanceValue = (
35
48
  graph: PureModel,
@@ -79,3 +92,86 @@ export const buildRawLambdaFromLambdaFunction = (
79
92
  RawLambda,
80
93
  );
81
94
  };
95
+
96
+ const createMockPrimitiveProperty = (
97
+ primitiveType: PrimitiveType,
98
+ propertyName: string,
99
+ ): string | number | boolean => {
100
+ const randomizer = new Randomizer();
101
+ switch (primitiveType.name) {
102
+ case PRIMITIVE_TYPE.BOOLEAN:
103
+ return randomizer.getRandomItemInCollection([true, false]) ?? true;
104
+ case PRIMITIVE_TYPE.FLOAT:
105
+ return randomizer.getRandomFloat();
106
+ case PRIMITIVE_TYPE.DECIMAL:
107
+ return randomizer.getRandomDouble();
108
+ case PRIMITIVE_TYPE.NUMBER:
109
+ case PRIMITIVE_TYPE.INTEGER:
110
+ return randomizer.getRandomWholeNumber(100);
111
+ // NOTE that `Date` is the umbrella type that comprises `StrictDate` and `DateTime`, but for simplicity, we will generate `Date` as `StrictDate`
112
+ case PRIMITIVE_TYPE.DATE:
113
+ case PRIMITIVE_TYPE.STRICTDATE:
114
+ return format(
115
+ randomizer.getRandomDate(
116
+ new Date(Date.now()),
117
+ addDays(Date.now(), 100),
118
+ ),
119
+ DATE_FORMAT,
120
+ );
121
+ case PRIMITIVE_TYPE.DATETIME:
122
+ return format(
123
+ randomizer.getRandomDate(
124
+ new Date(Date.now()),
125
+ addDays(Date.now(), 100),
126
+ ),
127
+ DATE_TIME_FORMAT,
128
+ );
129
+ case PRIMITIVE_TYPE.STRING:
130
+ default:
131
+ return `${propertyName} ${randomizer.getRandomWholeNumber(100)}`;
132
+ }
133
+ };
134
+
135
+ export const createMockEnumerationProperty = (
136
+ enumeration: Enumeration,
137
+ ): string =>
138
+ new Randomizer().getRandomItemInCollection(enumeration.values)?.name ?? '';
139
+
140
+ export const generateVariableExpressionMockValue = (
141
+ parameter: VariableExpression,
142
+ ): InstanceValue | undefined => {
143
+ const varType = parameter.genericType?.value.rawType;
144
+ const multiplicity = parameter.multiplicity;
145
+ if ((!multiplicity.upperBound || multiplicity.upperBound > 1) && varType) {
146
+ return new CollectionInstanceValue(
147
+ multiplicity,
148
+ GenericTypeExplicitReference.create(new GenericType(varType)),
149
+ );
150
+ }
151
+ if (varType instanceof PrimitiveType) {
152
+ const primitiveInst = new PrimitiveInstanceValue(
153
+ GenericTypeExplicitReference.create(new GenericType(varType)),
154
+ multiplicity,
155
+ );
156
+ primitiveInst.values = [
157
+ createMockPrimitiveProperty(
158
+ varType,
159
+ parameter.name === '' ? 'myVar' : parameter.name,
160
+ ),
161
+ ];
162
+ return primitiveInst;
163
+ } else if (varType instanceof Enumeration) {
164
+ const enumValueInstance = new EnumValueInstanceValue(
165
+ GenericTypeExplicitReference.create(new GenericType(varType)),
166
+ multiplicity,
167
+ );
168
+ const mock = createMockEnumerationProperty(varType);
169
+ if (mock !== '') {
170
+ enumValueInstance.values = [
171
+ EnumValueExplicitReference.create(getEnumValue(varType, mock)),
172
+ ];
173
+ }
174
+ return enumValueInstance;
175
+ }
176
+ return undefined;
177
+ };
package/src/index.ts CHANGED
@@ -188,6 +188,7 @@ export { GraphManagerState } from './GraphManagerState.js';
188
188
  export * from './GraphManagerStateProvider.js';
189
189
  export * from './GraphManagerTestUtils.js';
190
190
  export {
191
+ AbstractPureGraphManagerExtension,
191
192
  AbstractPureGraphManager,
192
193
  type GraphBuilderOptions,
193
194
  } from './graphManager/AbstractPureGraphManager.js';
@@ -218,7 +219,14 @@ export { ServiceExecutionMode } from './graphManager/action/service/ServiceExecu
218
219
  export { ServiceRegistrationResult } from './graphManager/action/service/ServiceRegistrationResult.js';
219
220
  export { DEPRECATED__ServiceTestResult } from './graphManager/action/service/DEPRECATED__ServiceTestResult.js';
220
221
  export { SourceInformation } from './graphManager/action/SourceInformation.js';
221
-
222
+ export {
223
+ MappingModelCoverageAnalysisResult,
224
+ MappedEntity,
225
+ MappedProperty,
226
+ EntityMappedProperty,
227
+ EnumMappedProperty,
228
+ } from './graphManager/action/analytics/MappingAnalytics.js';
229
+ export { V1_MappingModelCoverageAnalysisResult } from './models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js';
222
230
  export * from './models/protocols/pure/PureProtocolProcessorPlugin.js';
223
231
 
224
232
  // --------------------------------------------- TRANSFORMATION --------------------------------------------------
@@ -289,6 +297,9 @@ export * from './models/metamodels/pure/test/assertion/status/AssertPass.js';
289
297
  export * from './models/metamodels/pure/test/assertion/status/EqualToJsonAssertFail.js';
290
298
  export * from './models/metamodels/pure/test/assertion/TestAssertion.js';
291
299
  export * from './models/metamodels/pure/test/Test.js';
300
+ export * from './models/metamodels/pure/test/assertion/EqualTo.js';
301
+ export * from './models/metamodels/pure/test/assertion/EqualToJson.js';
302
+ export * from './models/metamodels/pure/test/assertion/EqualToTDS.js';
292
303
  export * from './models/metamodels/pure/test/result/AtomicTestId.js';
293
304
 
294
305
  // --------------------------------------------- VALIDATION --------------------------------------------------
@@ -311,6 +322,7 @@ export * from './graphManager/action/changeDetection/GraphObserverHelper.js';
311
322
  export * from './graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js';
312
323
  export * from './graphManager/action/changeDetection/DSLService_ObserverHelper.js';
313
324
  export * from './graphManager/action/changeDetection/DSLGenerationSpecification_ObserverHelper.js';
325
+ export * from './graphManager/action/changeDetection/Testable_ObserverHelper.js';
314
326
 
315
327
  export * from './graphManager/action/changeDetection/EngineObserverHelper.js';
316
328
 
@@ -20,14 +20,14 @@ import { hashObjectWithoutSourceInformation } from '../../../../MetaModelUtils.j
20
20
  import type { DataElement } from '../packageableElements/data/DataElement.js';
21
21
  import type { Class } from '../packageableElements/domain/Class.js';
22
22
  import type { PackageableElementReference } from '../packageableElements/PackageableElementReference.js';
23
- import type { RelationalData } from './RelationalData.js';
23
+ import type { RelationalCSVData } from './RelationalCSVData.js';
24
24
 
25
25
  export interface EmbeddedDataVisitor<T> {
26
26
  visit_EmbeddedData(embeddedData: EmbeddedData): T;
27
27
  visit_ExternalFormatData(externalFormatData: ExternalFormatData): T;
28
28
  visit_ModelStoreData(modelStoreData: ModelStoreData): T;
29
29
  visit_DataElementReference(dataElementReference: DataElementReference): T;
30
- visit_RelationalData(relationalData: RelationalData): T;
30
+ visit_RelationalCSVData(relationalData: RelationalCSVData): T;
31
31
  }
32
32
 
33
33
  export abstract class EmbeddedData implements Hashable {
@@ -18,53 +18,30 @@ import { type Hashable, hashArray } from '@finos/legend-shared';
18
18
  import { CORE_HASH_STRUCTURE } from '../../../../MetaModelConst.js';
19
19
  import { type EmbeddedDataVisitor, EmbeddedData } from './EmbeddedData.js';
20
20
 
21
- export class RelationalDataTableColumn implements Hashable {
22
- value!: string;
23
-
24
- get hashCode(): string {
25
- return hashArray([
26
- CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE_COLUMN,
27
- this.value,
28
- ]);
29
- }
30
- }
31
- export class RelationalDataTableRow implements Hashable {
21
+ export class RelationalCSVDataTable implements Hashable {
22
+ schema!: string;
23
+ table!: string;
32
24
  values!: string;
33
25
 
34
26
  get hashCode(): string {
35
27
  return hashArray([
36
- CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE_ROW,
28
+ CORE_HASH_STRUCTURE.RELATIONAL_CSV_DATA_TABLE,
29
+ this.schema,
30
+ this.table,
37
31
  this.values,
38
32
  ]);
39
33
  }
40
34
  }
41
-
42
- export class RelationalDataTable implements Hashable {
43
- schemaName: string | undefined;
44
- tableName!: string;
45
- columns: RelationalDataTableColumn[] = [];
46
- rows: RelationalDataTableRow[] = [];
47
-
48
- get hashCode(): string {
49
- return hashArray([
50
- CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE,
51
- this.schemaName ?? '',
52
- this.tableName,
53
- hashArray(this.columns),
54
- hashArray(this.rows),
55
- ]);
56
- }
57
- }
58
- export class RelationalData extends EmbeddedData implements Hashable {
59
- tables: RelationalDataTable[] = [];
35
+ export class RelationalCSVData extends EmbeddedData implements Hashable {
36
+ tables: RelationalCSVDataTable[] = [];
60
37
 
61
38
  accept_EmbeddedDataVisitor<T>(visitor: EmbeddedDataVisitor<T>): T {
62
- return visitor.visit_RelationalData(this);
39
+ return visitor.visit_RelationalCSVData(this);
63
40
  }
64
41
 
65
42
  get hashCode(): string {
66
43
  return hashArray([
67
- CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE,
44
+ CORE_HASH_STRUCTURE.RELATIONAL_CSV_DATA_TABLE,
68
45
  hashArray(this.tables),
69
46
  ]);
70
47
  }
@@ -20,6 +20,7 @@ import { AtomicTest } from '../../test/Test.js';
20
20
  import type { ParameterValue } from './ParameterValue.js';
21
21
 
22
22
  export class ServiceTest extends AtomicTest implements Hashable {
23
+ serializationFormat: string | undefined;
23
24
  parameters: ParameterValue[] = [];
24
25
 
25
26
  get hashCode(): string {
@@ -28,6 +29,7 @@ export class ServiceTest extends AtomicTest implements Hashable {
28
29
  this.id,
29
30
  hashArray(this.assertions),
30
31
  hashArray(this.parameters),
32
+ this.serializationFormat ?? '',
31
33
  ]);
32
34
  }
33
35
  }
@@ -16,6 +16,7 @@
16
16
 
17
17
  import type { Hashable } from '@finos/legend-shared';
18
18
  import type { TestAssertion } from './assertion/TestAssertion.js';
19
+ import type { Testable } from './Testable.js';
19
20
 
20
21
  export abstract class Test implements Hashable {
21
22
  id!: string;
@@ -24,13 +25,14 @@ export abstract class Test implements Hashable {
24
25
  }
25
26
 
26
27
  export abstract class AtomicTest extends Test implements Hashable {
27
- __parentSuite: TestSuite | undefined;
28
+ __parent!: TestSuite | Testable;
28
29
  assertions: TestAssertion[] = [];
29
30
 
30
31
  abstract override get hashCode(): string;
31
32
  }
32
33
 
33
34
  export abstract class TestSuite extends Test implements Hashable {
35
+ __parent!: Testable;
34
36
  tests: AtomicTest[] = [];
35
37
 
36
38
  abstract override get hashCode(): string;
@@ -14,29 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { hashArray, type Hashable } from '@finos/legend-shared';
17
+ import { hashArray } from '@finos/legend-shared';
18
18
  import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst.js';
19
- import type {
20
- RelationalDataTableColumn,
21
- RelationalDataTableRow,
22
- } from '../../data/RelationalData.js';
23
- import { type TestAssertionVisitor, TestAssertion } from './TestAssertion.js';
24
-
25
- export class RelationalTDS implements Hashable {
26
- columns: RelationalDataTableColumn[] = [];
27
- rows: RelationalDataTableRow[] = [];
19
+ import type { ExternalFormatData } from '../../data/EmbeddedData.js';
28
20
 
29
- get hashCode(): string {
30
- return hashArray([
31
- CORE_HASH_STRUCTURE.RELATIONAL_TDS,
32
- hashArray(this.columns),
33
- hashArray(this.rows),
34
- ]);
35
- }
36
- }
21
+ import { type TestAssertionVisitor, TestAssertion } from './TestAssertion.js';
37
22
 
38
23
  export class EqualToTDS extends TestAssertion {
39
- expected!: RelationalTDS;
24
+ expected!: ExternalFormatData;
40
25
 
41
26
  get hashCode(): string {
42
27
  return hashArray([
@@ -55,7 +55,8 @@ import {
55
55
  type V1_ElementProtocolDeserializer,
56
56
  type V1_ElementProtocolSerializer,
57
57
  type V1_ElementTransformer,
58
- type V1_ExecutionInputGetter,
58
+ type V1_ExecutionInputCollector,
59
+ type V1_MappingModelCoverageAnalysisInputCollector,
59
60
  PureProtocolProcessorPlugin,
60
61
  } from './PureProtocolProcessorPlugin.js';
61
62
  import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData.js';
@@ -299,7 +300,7 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
299
300
  ];
300
301
  }
301
302
 
302
- override V1_getExtraExecutionInputGetters(): V1_ExecutionInputGetter[] {
303
+ override V1_getExtraExecutionInputCollectors(): V1_ExecutionInputCollector[] {
303
304
  return [
304
305
  (
305
306
  graph: PureModel,
@@ -313,6 +314,18 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
313
314
  ];
314
315
  }
315
316
 
317
+ override V1_getExtraMappingModelCoverageAnalysisInputCollectors(): V1_MappingModelCoverageAnalysisInputCollector[] {
318
+ return [
319
+ (
320
+ graph: PureModel,
321
+ protocolGraph: V1_PureModelContextData,
322
+ ): V1_PackageableElement[] =>
323
+ protocolGraph.elements.filter(
324
+ (element) => element instanceof V1_SchemaSet,
325
+ ),
326
+ ];
327
+ }
328
+
316
329
  V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[] {
317
330
  return [
318
331
  (