@finos/legend-graph 8.0.3 → 10.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 (455) 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 +2 -1
  6. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  7. package/lib/DSLMapping_Exports.js +2 -1
  8. package/lib/DSLMapping_Exports.js.map +1 -1
  9. package/lib/DSLService_Exports.d.ts +4 -0
  10. package/lib/DSLService_Exports.d.ts.map +1 -1
  11. package/lib/DSLService_Exports.js +4 -0
  12. package/lib/DSLService_Exports.js.map +1 -1
  13. package/lib/MetaModelConst.d.ts +7 -5
  14. package/lib/MetaModelConst.d.ts.map +1 -1
  15. package/lib/MetaModelConst.js +8 -5
  16. package/lib/MetaModelConst.js.map +1 -1
  17. package/lib/MetaModelUtils.d.ts +9 -4
  18. package/lib/MetaModelUtils.d.ts.map +1 -1
  19. package/lib/MetaModelUtils.js +23 -9
  20. package/lib/MetaModelUtils.js.map +1 -1
  21. package/lib/graphManager/AbstractPureGraphManager.d.ts +29 -8
  22. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  23. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  24. package/lib/graphManager/DSLMapping_PureGraphManagerPlugin_Extension.d.ts +6 -0
  25. package/lib/graphManager/DSLMapping_PureGraphManagerPlugin_Extension.d.ts.map +1 -1
  26. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts +41 -0
  27. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +1 -0
  28. package/lib/graphManager/action/analytics/MappingAnalytics.js +58 -0
  29. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +1 -0
  30. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts +2 -3
  31. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts.map +1 -1
  32. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js +8 -21
  33. package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js.map +1 -1
  34. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +3 -1
  35. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  36. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +25 -8
  37. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  38. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.d.ts.map +1 -1
  39. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js +2 -1
  40. package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js.map +1 -1
  41. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.d.ts.map +1 -1
  42. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js +3 -13
  43. package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js.map +1 -1
  44. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts +18 -0
  45. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts.map +1 -0
  46. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js +17 -0
  47. package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js.map +1 -0
  48. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts +2 -0
  49. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts.map +1 -1
  50. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js +4 -1
  51. package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js.map +1 -1
  52. package/lib/graphManager/action/validation/DSLMapping_ValidationHelper.d.ts.map +1 -1
  53. package/lib/graphManager/action/validation/DSLMapping_ValidationHelper.js +2 -4
  54. package/lib/graphManager/action/validation/DSLMapping_ValidationHelper.js.map +1 -1
  55. package/lib/helpers/Testable_Helper.d.ts +3 -0
  56. package/lib/helpers/Testable_Helper.d.ts.map +1 -1
  57. package/lib/helpers/Testable_Helper.js +3 -0
  58. package/lib/helpers/Testable_Helper.js.map +1 -1
  59. package/lib/helpers/ValueSpecificationHelper.d.ts +10 -3
  60. package/lib/helpers/ValueSpecificationHelper.d.ts.map +1 -1
  61. package/lib/helpers/ValueSpecificationHelper.js +59 -4
  62. package/lib/helpers/ValueSpecificationHelper.js.map +1 -1
  63. package/lib/index.d.ts +11 -1
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js +12 -2
  66. package/lib/index.js.map +1 -1
  67. package/lib/models/metamodels/pure/data/EmbeddedData.d.ts +2 -2
  68. package/lib/models/metamodels/pure/data/EmbeddedData.d.ts.map +1 -1
  69. package/lib/models/metamodels/pure/data/EmbeddedData.js +1 -1
  70. package/lib/models/metamodels/pure/data/EmbeddedData.js.map +1 -1
  71. package/lib/models/metamodels/pure/data/{RelationalData.d.ts → RelationalCSVData.d.ts} +6 -15
  72. package/lib/models/metamodels/pure/data/RelationalCSVData.d.ts.map +1 -0
  73. package/lib/models/metamodels/pure/data/{RelationalData.js → RelationalCSVData.js} +10 -30
  74. package/lib/models/metamodels/pure/data/RelationalCSVData.js.map +1 -0
  75. package/lib/models/metamodels/pure/executionPlan/nodes/ExecutionNode.d.ts +1 -0
  76. package/lib/models/metamodels/pure/executionPlan/nodes/ExecutionNode.d.ts.map +1 -1
  77. package/lib/models/metamodels/pure/executionPlan/nodes/ExecutionNode.js +2 -0
  78. package/lib/models/metamodels/pure/executionPlan/nodes/ExecutionNode.js.map +1 -1
  79. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +1 -2
  80. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  81. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +1 -4
  82. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  83. package/lib/models/metamodels/pure/packageableElements/connection/Connection.js +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/connection/Connection.js.map +1 -1
  85. package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/domain/Class.js +1 -1
  87. package/lib/models/metamodels/pure/packageableElements/domain/Class.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js +1 -1
  89. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js +1 -1
  91. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/domain/Property.js +1 -1
  93. package/lib/models/metamodels/pure/packageableElements/domain/Property.js.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js +1 -1
  95. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js +1 -1
  97. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js +1 -1
  99. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js +1 -1
  101. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_BindingTransformer.js +1 -1
  103. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_BindingTransformer.js.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts.map +1 -1
  105. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js +2 -2
  106. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js.map +1 -1
  107. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js +1 -1
  108. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js.map +1 -1
  109. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.js +2 -2
  110. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.js.map +1 -1
  111. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js.map +1 -1
  113. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.d.ts +3 -2
  114. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.d.ts.map +1 -1
  115. package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +1 -1
  117. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +32 -0
  119. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -0
  120. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +41 -0
  121. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -0
  122. package/lib/models/metamodels/pure/packageableElements/mapping/LocalMappingPropertyInfo.js +1 -1
  123. package/lib/models/metamodels/pure/packageableElements/mapping/LocalMappingPropertyInfo.js.map +1 -1
  124. package/lib/models/metamodels/pure/packageableElements/mapping/MappingInclude.js +5 -5
  125. package/lib/models/metamodels/pure/packageableElements/mapping/MappingInclude.js.map +1 -1
  126. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +1 -0
  127. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
  128. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +1 -1
  129. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  130. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js +3 -3
  131. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js.map +1 -1
  132. package/lib/models/metamodels/pure/packageableElements/section/Section.js +2 -2
  133. package/lib/models/metamodels/pure/packageableElements/section/Section.js.map +1 -1
  134. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js +2 -2
  135. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js.map +1 -1
  136. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts +1 -0
  137. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts.map +1 -1
  138. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js +2 -0
  139. package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js.map +1 -1
  140. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.js +1 -1
  141. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.js.map +1 -1
  142. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  143. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -0
  144. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  145. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInputData.js +1 -1
  146. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInputData.js.map +1 -1
  147. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.d.ts.map +1 -1
  148. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js +2 -1
  149. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js.map +1 -1
  150. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +2 -2
  151. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
  152. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +3 -3
  153. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
  154. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.d.ts.map +1 -1
  155. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.js +1 -1
  156. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.js.map +1 -1
  157. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js +1 -1
  158. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js.map +1 -1
  159. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js +1 -1
  160. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js.map +1 -1
  161. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/ModelChainConnection.js +1 -1
  162. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/ModelChainConnection.js.map +1 -1
  163. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js +1 -1
  164. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js.map +1 -1
  165. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/ObjectInputData.js +1 -1
  166. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/ObjectInputData.js.map +1 -1
  167. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  168. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -0
  169. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  170. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +2 -2
  171. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
  172. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +3 -3
  173. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
  174. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +7 -0
  175. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
  176. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +8 -3
  177. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
  178. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  179. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js +2 -1
  180. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  181. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/FilterMapping.js +1 -1
  182. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/FilterMapping.js.map +1 -1
  183. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInputData.js +1 -1
  184. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInputData.js.map +1 -1
  185. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.d.ts.map +1 -1
  186. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.js +1 -0
  187. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.js.map +1 -1
  188. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
  189. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  190. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +3 -3
  191. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  192. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Database.d.ts.map +1 -1
  193. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Database.js +1 -1
  194. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Database.js.map +1 -1
  195. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js +1 -1
  196. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js.map +1 -1
  197. package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js +2 -2
  198. package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js.map +1 -1
  199. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js +2 -2
  200. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js.map +1 -1
  201. package/lib/models/metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue.js +1 -1
  202. package/lib/models/metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue.js.map +1 -1
  203. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js +1 -1
  204. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js.map +1 -1
  205. package/lib/models/metamodels/pure/test/Test.d.ts +3 -1
  206. package/lib/models/metamodels/pure/test/Test.d.ts.map +1 -1
  207. package/lib/models/metamodels/pure/test/Test.js +2 -1
  208. package/lib/models/metamodels/pure/test/Test.js.map +1 -1
  209. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts +2 -8
  210. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts.map +1 -1
  211. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js +0 -11
  212. package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js.map +1 -1
  213. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +3 -3
  214. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  215. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +11 -10
  216. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  217. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts +12 -0
  218. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -1
  219. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +11 -7
  220. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  221. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  222. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +24 -20
  223. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  224. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +200 -166
  225. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  226. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +3 -1
  227. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  228. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +20 -14
  229. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  230. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -0
  231. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  232. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +3 -0
  233. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  234. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts +40 -0
  235. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +1 -0
  236. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js +94 -0
  237. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +1 -0
  238. package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.d.ts → execution/V1_ExecutionHelper.d.ts} +2 -2
  239. package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.d.ts.map +1 -0
  240. package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.js → execution/V1_ExecutionHelper.js} +2 -2
  241. package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.js.map +1 -0
  242. package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts +2 -2
  243. package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts.map +1 -1
  244. package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.d.ts → V1_RelationalCSVData.d.ts} +6 -15
  245. package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.d.ts.map +1 -0
  246. package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.js → V1_RelationalCSVData.js} +9 -29
  247. package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.js.map +1 -0
  248. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +1 -0
  249. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
  250. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts +1 -0
  251. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts.map +1 -1
  252. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js +2 -0
  253. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js.map +1 -1
  254. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +7 -0
  255. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
  256. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +7 -2
  257. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
  258. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts +2 -8
  259. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts.map +1 -1
  260. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js +0 -11
  261. package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js.map +1 -1
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +8 -7
  264. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.d.ts +1 -3
  266. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.d.ts.map +1 -1
  267. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.js +0 -2
  268. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.js.map +1 -1
  269. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.d.ts.map +1 -1
  270. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js +12 -21
  271. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js.map +1 -1
  272. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.d.ts.map +1 -1
  273. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js +2 -2
  274. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js.map +1 -1
  275. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts.map +1 -1
  276. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js +5 -4
  277. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js.map +1 -1
  278. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_GenerationSpecificationTransformer.d.ts.map +1 -1
  279. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_GenerationSpecificationTransformer.js +3 -2
  280. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_GenerationSpecificationTransformer.js.map +1 -1
  281. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  282. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +61 -79
  283. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  284. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.d.ts.map +1 -1
  285. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.js +3 -3
  286. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.js.map +1 -1
  287. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RuntimeTransformer.d.ts.map +1 -1
  288. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RuntimeTransformer.js +2 -2
  289. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RuntimeTransformer.js.map +1 -1
  290. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_SectionIndexTransformer.d.ts.map +1 -1
  291. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_SectionIndexTransformer.js +4 -4
  292. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_SectionIndexTransformer.js.map +1 -1
  293. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
  294. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +4 -3
  295. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
  296. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.d.ts.map +1 -1
  297. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js +2 -4
  298. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js.map +1 -1
  299. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js +2 -2
  300. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +1 -1
  301. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
  302. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +5 -1
  303. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
  304. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts +2 -1
  305. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
  306. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +18 -4
  307. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
  308. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -2
  309. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  310. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +6 -15
  311. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  312. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -0
  313. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  314. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +2 -1
  315. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  316. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +2 -2
  317. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  318. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts +5 -5
  319. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  320. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +11 -9
  321. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  322. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts +2 -3
  323. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  324. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +10 -15
  325. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  326. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts +1 -4
  327. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts.map +1 -1
  328. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js +7 -14
  329. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js.map +1 -1
  330. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  331. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -1
  332. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  333. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
  334. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +3 -7
  335. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
  336. package/lib/package.json +5 -5
  337. package/package.json +8 -8
  338. package/src/DSLData_Exports.ts +3 -0
  339. package/src/DSLMapping_Exports.ts +2 -4
  340. package/src/DSLService_Exports.ts +4 -0
  341. package/src/MetaModelConst.ts +10 -5
  342. package/src/MetaModelUtils.ts +28 -8
  343. package/src/graphManager/AbstractPureGraphManager.ts +51 -19
  344. package/src/graphManager/DSLMapping_PureGraphManagerPlugin_Extension.ts +14 -0
  345. package/src/graphManager/action/analytics/MappingAnalytics.ts +71 -0
  346. package/src/graphManager/action/changeDetection/DSLData_ObserverHelper.ts +12 -33
  347. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +47 -13
  348. package/src/graphManager/action/changeDetection/DSLService_ObserverHelper.ts +2 -1
  349. package/src/graphManager/action/changeDetection/Testable_ObserverHelper.ts +3 -23
  350. package/src/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.ts +21 -0
  351. package/src/graphManager/action/creation/DSLMapping_ModelCreatorHelper.ts +6 -1
  352. package/src/graphManager/action/validation/DSLMapping_ValidationHelper.ts +2 -4
  353. package/src/helpers/Testable_Helper.ts +4 -0
  354. package/src/helpers/ValueSpecificationHelper.ts +106 -10
  355. package/src/index.ts +18 -6
  356. package/src/models/metamodels/pure/data/EmbeddedData.ts +3 -3
  357. package/src/models/metamodels/pure/data/{RelationalData.ts → RelationalCSVData.ts} +10 -33
  358. package/src/models/metamodels/pure/executionPlan/nodes/ExecutionNode.ts +3 -0
  359. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +1 -5
  360. package/src/models/metamodels/pure/packageableElements/connection/Connection.ts +1 -1
  361. package/src/models/metamodels/pure/packageableElements/domain/Class.ts +3 -1
  362. package/src/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.ts +1 -1
  363. package/src/models/metamodels/pure/packageableElements/domain/DerivedProperty.ts +1 -1
  364. package/src/models/metamodels/pure/packageableElements/domain/Property.ts +1 -1
  365. package/src/models/metamodels/pure/packageableElements/domain/PropertyReference.ts +1 -1
  366. package/src/models/metamodels/pure/packageableElements/domain/StereotypeReference.ts +1 -1
  367. package/src/models/metamodels/pure/packageableElements/domain/TagReference.ts +1 -1
  368. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.ts +1 -1
  369. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_BindingTransformer.ts +1 -1
  370. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.ts +6 -2
  371. package/src/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.ts +1 -1
  372. package/src/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.ts +2 -2
  373. package/src/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.ts +1 -1
  374. package/src/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.ts +4 -2
  375. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +1 -1
  376. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +61 -0
  377. package/src/models/metamodels/pure/packageableElements/mapping/LocalMappingPropertyInfo.ts +1 -1
  378. package/src/models/metamodels/pure/packageableElements/mapping/MappingInclude.ts +5 -5
  379. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +1 -1
  380. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +1 -1
  381. package/src/models/metamodels/pure/packageableElements/runtime/Runtime.ts +3 -3
  382. package/src/models/metamodels/pure/packageableElements/section/Section.ts +2 -2
  383. package/src/models/metamodels/pure/packageableElements/service/ServiceExecution.ts +2 -2
  384. package/src/models/metamodels/pure/packageableElements/service/ServiceTest.ts +2 -0
  385. package/src/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.ts +1 -1
  386. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +1 -0
  387. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInputData.ts +1 -1
  388. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.ts +2 -1
  389. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +3 -4
  390. package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.ts +3 -1
  391. package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.ts +1 -1
  392. package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.ts +1 -1
  393. package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/ModelChainConnection.ts +1 -1
  394. package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.ts +1 -1
  395. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/ObjectInputData.ts +1 -1
  396. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +1 -0
  397. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +3 -4
  398. package/src/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +8 -3
  399. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +2 -1
  400. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/FilterMapping.ts +1 -1
  401. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInputData.ts +1 -1
  402. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.ts +1 -0
  403. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -4
  404. package/src/models/metamodels/pure/packageableElements/store/relational/model/Database.ts +3 -1
  405. package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.ts +1 -1
  406. package/src/models/metamodels/pure/packageableElements/store/relational/model/TableReference.ts +2 -2
  407. package/src/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.ts +2 -2
  408. package/src/models/metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue.ts +1 -1
  409. package/src/models/metamodels/pure/rawValueSpecification/RawVariableExpression.ts +1 -1
  410. package/src/models/metamodels/pure/test/Test.ts +3 -1
  411. package/src/models/metamodels/pure/test/assertion/EqualToTDS.ts +4 -19
  412. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +21 -14
  413. package/src/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.ts +26 -0
  414. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +16 -8
  415. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +306 -208
  416. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +30 -15
  417. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +18 -0
  418. package/src/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.ts +168 -0
  419. package/src/models/protocols/pure/v1/engine/{V1_ExecutionHelper.ts → execution/V1_ExecutionHelper.ts} +2 -2
  420. package/src/models/protocols/pure/v1/model/data/V1_EmbeddedData.ts +2 -2
  421. package/src/models/protocols/pure/v1/model/data/{V1_RelationalData.ts → V1_RelationalCSVData.ts} +9 -33
  422. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +1 -1
  423. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.ts +2 -0
  424. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +7 -2
  425. package/src/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.ts +3 -19
  426. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +10 -12
  427. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.ts +1 -14
  428. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.ts +20 -31
  429. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.ts +4 -5
  430. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.ts +4 -6
  431. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_GenerationSpecificationTransformer.ts +2 -4
  432. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +80 -128
  433. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.ts +3 -8
  434. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_RuntimeTransformer.ts +1 -2
  435. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_SectionIndexTransformer.ts +7 -10
  436. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +4 -6
  437. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.ts +2 -7
  438. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts +2 -2
  439. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +7 -1
  440. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +29 -3
  441. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +10 -22
  442. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +7 -4
  443. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +2 -2
  444. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +27 -24
  445. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +16 -26
  446. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.ts +10 -27
  447. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -0
  448. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +3 -15
  449. package/tsconfig.json +7 -3
  450. package/lib/models/metamodels/pure/data/RelationalData.d.ts.map +0 -1
  451. package/lib/models/metamodels/pure/data/RelationalData.js.map +0 -1
  452. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.d.ts.map +0 -1
  453. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js.map +0 -1
  454. package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.d.ts.map +0 -1
  455. package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.js.map +0 -1
@@ -18,7 +18,6 @@ import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.
18
18
  import {
19
19
  CORE_PURE_PATH,
20
20
  ELEMENT_PATH_DELIMITER,
21
- SOURCE_INFORMATION_KEY,
22
21
  PackageableElementPointerType,
23
22
  } from '../../../../MetaModelConst.js';
24
23
  import {
@@ -32,7 +31,6 @@ import {
32
31
  getClass,
33
32
  guaranteeNonNullable,
34
33
  UnsupportedOperationError,
35
- recursiveOmit,
36
34
  assertTrue,
37
35
  assertErrorThrown,
38
36
  promisify,
@@ -40,6 +38,10 @@ import {
40
38
  filterByType,
41
39
  isNonNullable,
42
40
  guaranteeNonEmptyString,
41
+ addUniqueEntry,
42
+ uuid,
43
+ deleteEntry,
44
+ assertType,
43
45
  } from '@finos/legend-shared';
44
46
  import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig.js';
45
47
  import {
@@ -48,7 +50,7 @@ import {
48
50
  type GraphBuilderOptions,
49
51
  type ExecutionOptions,
50
52
  } from '../../../../graphManager/AbstractPureGraphManager.js';
51
- import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping.js';
53
+ import type { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping.js';
52
54
  import {
53
55
  type Runtime,
54
56
  EngineRuntime,
@@ -208,7 +210,7 @@ import {
208
210
  V1_buildLightQuery,
209
211
  V1_transformQuerySearchSpecification,
210
212
  } from './engine/V1_EngineHelper.js';
211
- import { V1_buildExecutionResult } from './engine/V1_ExecutionHelper.js';
213
+ import { V1_buildExecutionResult } from './engine/execution/V1_ExecutionHelper.js';
212
214
  import {
213
215
  type Entity,
214
216
  ENTITY_PATH_DELIMITER,
@@ -216,6 +218,7 @@ import {
216
218
  import {
217
219
  DependencyGraphBuilderError,
218
220
  GraphBuilderError,
221
+ PureClientVersion,
219
222
  SystemGraphBuilderError,
220
223
  } from '../../../../graphManager/GraphManagerUtils.js';
221
224
  import {
@@ -246,7 +249,10 @@ import {
246
249
  import { V1_AtomicTestId } from './model/test/V1_AtomicTestId.js';
247
250
  import type { RunTestsTestableInput } from '../../../metamodels/pure/test/result/RunTestsTestableInput.js';
248
251
  import { V1_buildTestsResult } from './engine/test/V1_RunTestsResult.js';
249
- import type { TestResult } from '../../../metamodels/pure/test/result/TestResult.js';
252
+ import {
253
+ type TestResult,
254
+ TestFailed,
255
+ } from '../../../metamodels/pure/test/result/TestResult.js';
250
256
  import type { Service } from '../../../../DSLService_Exports.js';
251
257
  import type { Testable } from '../../../metamodels/pure/test/Testable.js';
252
258
  import { stub_RawLambda } from '../../../../graphManager/action/creation/RawValueSpecificationCreatorHelper.js';
@@ -254,7 +260,25 @@ import {
254
260
  getNullableIDFromTestable,
255
261
  getNullableTestable,
256
262
  } from '../../../../helpers/Testable_Helper.js';
263
+ import type { TestAssertion } from '../../../metamodels/pure/test/assertion/TestAssertion.js';
264
+ import type { AssertFail } from '../../../metamodels/pure/test/assertion/status/AssertFail.js';
265
+ import {
266
+ type AtomicTest,
267
+ TestSuite,
268
+ } from '../../../metamodels/pure/test/Test.js';
257
269
  import { V1_getIncludedMappingPath } from './helper/V1_DSLMapping_Helper.js';
270
+ import { pruneSourceInformation } from '../../../../MetaModelUtils.js';
271
+ import { stub_Mapping } from '../../../../graphManager/action/creation/DSLMapping_ModelCreatorHelper.js';
272
+ import {
273
+ V1_buildModelCoverageAnalysisResult,
274
+ V1_MappingModelCoverageAnalysisInput,
275
+ V1_MappingModelCoverageAnalysisResult,
276
+ } from './engine/analytics/V1_MappingAnalytics.js';
277
+ import type {
278
+ MappingModelCoverageAnalysisResult,
279
+ RawMappingModelCoverageAnalysisResult,
280
+ } from '../../../../graphManager/action/analytics/MappingAnalytics.js';
281
+ import { deserialize } from 'serializr';
258
282
 
259
283
  const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
260
284
 
@@ -1666,6 +1690,56 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1666
1690
  return result;
1667
1691
  }
1668
1692
 
1693
+ async generateExpectedResult(
1694
+ testable: Testable,
1695
+ test: AtomicTest,
1696
+ baseAssertion: TestAssertion,
1697
+ graph: PureModel,
1698
+ ): Promise<AssertFail> {
1699
+ const id = uuid();
1700
+ try {
1701
+ baseAssertion.id = id;
1702
+ addUniqueEntry(test.assertions, baseAssertion);
1703
+ const runTestsInput = new V1_RunTestsInput();
1704
+ runTestsInput.model = this.getFullGraphModelData(graph);
1705
+ const runTestableInput = new V1_RunTestsTestableInput();
1706
+ const unitAtomicTest = new V1_AtomicTestId();
1707
+ runTestableInput.testable = guaranteeNonNullable(
1708
+ getNullableIDFromTestable(
1709
+ testable,
1710
+ graph,
1711
+ this.pluginManager.getPureGraphManagerPlugins(),
1712
+ ),
1713
+ );
1714
+ runTestsInput.testables = [runTestableInput];
1715
+ const parent = test.__parent;
1716
+ unitAtomicTest.testSuiteId =
1717
+ parent instanceof TestSuite ? parent.id : undefined;
1718
+ unitAtomicTest.atomicTestId = test.id;
1719
+ const runTestsResult = await this.engine.runTests(runTestsInput);
1720
+ const results = V1_buildTestsResult(
1721
+ runTestsResult,
1722
+ (_id: string): Testable | undefined =>
1723
+ getNullableTestable(
1724
+ _id,
1725
+ graph,
1726
+ this.pluginManager.getPureGraphManagerPlugins(),
1727
+ ),
1728
+ );
1729
+ const result = results[0];
1730
+ assertType(result, TestFailed);
1731
+ const status = result.assertStatuses.find(
1732
+ (e) => e.assertion === baseAssertion,
1733
+ );
1734
+ return guaranteeNonNullable(status);
1735
+ } catch (error) {
1736
+ assertErrorThrown(error);
1737
+ throw error;
1738
+ } finally {
1739
+ deleteEntry(test.assertions, baseAssertion);
1740
+ }
1741
+ }
1742
+
1669
1743
  // ------------------------------------------- ValueSpecification -------------------------------------------
1670
1744
 
1671
1745
  buildValueSpecification(
@@ -1840,13 +1914,14 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1840
1914
  * object to identify relevant classes yet. so the more economical way to to base on the classification above and the knowledge about hierarchy between
1841
1915
  * models (e.g. service can use mapping, runtime, connection, store, etc.) we can roughly prune the graph model data by group. Following is an example
1842
1916
  * for mapping used for execution, but this can generalized if we introduce hierarchy/ranking for model type
1843
- *
1844
1917
  */
1845
1918
  const graphData = this.getFullGraphModelData(graph);
1846
1919
  const prunedGraphData = new V1_PureModelContextData();
1847
1920
  const extraExecutionElements = this.pluginManager
1848
1921
  .getPureProtocolProcessorPlugins()
1849
- .flatMap((element) => element.V1_getExtraExecutionInputGetters?.() ?? [])
1922
+ .flatMap(
1923
+ (element) => element.V1_getExtraExecutionInputCollectors?.() ?? [],
1924
+ )
1850
1925
  .flatMap((getter) => getter(graph, mapping, runtime, graphData));
1851
1926
  prunedGraphData.elements = graphData.elements
1852
1927
  .filter(
@@ -1889,7 +1964,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1889
1964
  mapping: Mapping,
1890
1965
  lambda: RawLambda,
1891
1966
  runtime: Runtime,
1892
- clientVersion: string,
1893
1967
  options?: ExecutionOptions,
1894
1968
  ): Promise<ExecutionResult> {
1895
1969
  return V1_buildExecutionResult(
@@ -1899,19 +1973,18 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1899
1973
  mapping,
1900
1974
  lambda,
1901
1975
  runtime,
1902
- clientVersion,
1976
+ PureClientVersion.VX_X_X,
1903
1977
  ),
1904
1978
  options,
1905
1979
  ),
1906
1980
  );
1907
1981
  }
1908
1982
 
1909
- generateMappingTestData(
1983
+ generateExecuteTestData(
1910
1984
  graph: PureModel,
1911
1985
  mapping: Mapping,
1912
1986
  lambda: RawLambda,
1913
1987
  runtime: Runtime,
1914
- clientVersion: string,
1915
1988
  parameters: (string | number | boolean)[],
1916
1989
  options?: {
1917
1990
  anonymizeGeneratedData?: boolean;
@@ -1924,14 +1997,14 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1924
1997
  mapping,
1925
1998
  lambda,
1926
1999
  runtime,
1927
- clientVersion,
2000
+ PureClientVersion.VX_X_X,
1928
2001
  testDataGenerationExecuteInput,
1929
2002
  );
1930
2003
  testDataGenerationExecuteInput.parameters = parameters;
1931
2004
  testDataGenerationExecuteInput.hashStrings = Boolean(
1932
2005
  options?.anonymizeGeneratedData,
1933
2006
  );
1934
- return this.engine.generateMappingTestData(testDataGenerationExecuteInput);
2007
+ return this.engine.generateExecuteTestData(testDataGenerationExecuteInput);
1935
2008
  }
1936
2009
 
1937
2010
  generateExecutionPlan(
@@ -1939,10 +2012,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1939
2012
  mapping: Mapping,
1940
2013
  lambda: RawLambda,
1941
2014
  runtime: Runtime,
1942
- clientVersion: string,
1943
2015
  ): Promise<RawExecutionPlan> {
1944
2016
  return this.engine.generateExecutionPlan(
1945
- this.createExecutionInput(graph, mapping, lambda, runtime, clientVersion),
2017
+ this.createExecutionInput(
2018
+ graph,
2019
+ mapping,
2020
+ lambda,
2021
+ runtime,
2022
+ PureClientVersion.VX_X_X,
2023
+ ),
1946
2024
  );
1947
2025
  }
1948
2026
 
@@ -1951,10 +2029,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1951
2029
  mapping: Mapping,
1952
2030
  lambda: RawLambda,
1953
2031
  runtime: Runtime,
1954
- clientVersion: string,
1955
2032
  ): Promise<{ plan: RawExecutionPlan; debug: string }> {
1956
2033
  const result = await this.engine.debugExecutionPlanGeneration(
1957
- this.createExecutionInput(graph, mapping, lambda, runtime, clientVersion),
2034
+ this.createExecutionInput(
2035
+ graph,
2036
+ mapping,
2037
+ lambda,
2038
+ runtime,
2039
+ PureClientVersion.VX_X_X,
2040
+ ),
1958
2041
  );
1959
2042
  return {
1960
2043
  plan: result.plan,
@@ -2339,7 +2422,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2339
2422
  (keyedExecutionParameter) =>
2340
2423
  new KeyedExecutionParameter(
2341
2424
  keyedExecutionParameter.key,
2342
- PackageableElementExplicitReference.create(new Mapping('')),
2425
+ PackageableElementExplicitReference.create(stub_Mapping()),
2343
2426
  new EngineRuntime(),
2344
2427
  ),
2345
2428
  );
@@ -2348,7 +2431,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2348
2431
  service.execution = new PureSingleExecution(
2349
2432
  stub_RawLambda(),
2350
2433
  service,
2351
- PackageableElementExplicitReference.create(new Mapping('')),
2434
+ PackageableElementExplicitReference.create(stub_Mapping()),
2352
2435
  new EngineRuntime(),
2353
2436
  );
2354
2437
  }
@@ -2416,64 +2499,224 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2416
2499
  return hashMap;
2417
2500
  }
2418
2501
 
2419
- // ------------------------------------------- Raw Protocol Handling -------------------------------------------
2502
+ // ---------------------------------------- Analysis ----------------------------------------
2420
2503
 
2421
- /**
2422
- * As mentioned, this method is needed because sometimes we want to parse and store protocol from grammar
2423
- * However, we want to prune away the source information. There is no realy good way to do this, other than
2424
- * hard-coding the source informations fields like this. We should cleanup these in the backend and use
2425
- * pointer instead so source information is coupled with the value instead of having custom-name source information
2426
- * fields like these, polluting the protocol models.
2427
- */
2428
- pruneSourceInformation = (
2429
- object: Record<PropertyKey, unknown>,
2430
- ): Record<PropertyKey, unknown> =>
2431
- recursiveOmit(
2432
- object,
2433
- [
2434
- SOURCE_INFORMATION_KEY,
2435
- // domain
2436
- 'profileSourceInformation',
2437
- 'propertyTypeSourceInformation',
2438
- // connection
2439
- 'elementSourceInformation',
2440
- 'classSourceInformation',
2441
- 'mappingsSourceInformation',
2442
- // mapping
2443
- 'classSourceInformation',
2444
- 'sourceClassSourceInformation',
2445
- 'enumMappingIdSourceInformation',
2446
- 'flatDataSourceInformation',
2447
- // service
2448
- 'mappingSourceInformation',
2449
- // flat-data store
2450
- 'nameSourceInformation',
2451
- 'driverIdSourceInformation',
2452
- // file generation
2453
- 'typeSourceInformation',
2454
- ].concat(
2455
- this.pluginManager
2456
- .getPureProtocolProcessorPlugins()
2457
- .flatMap(
2458
- (plugin) => plugin.V1_getExtraSourceInformationKeys?.() ?? [],
2459
- ),
2504
+ private buildMappingModelCoverageAnalysisInputContextData = (
2505
+ graph: PureModel,
2506
+ ): V1_PureModelContextData => {
2507
+ const graphData = this.getFullGraphModelData(graph);
2508
+ const prunedGraphData = new V1_PureModelContextData();
2509
+ const extraElements = this.pluginManager
2510
+ .getPureProtocolProcessorPlugins()
2511
+ .flatMap(
2512
+ (element) =>
2513
+ element.V1_getExtraMappingModelCoverageAnalysisInputCollectors?.() ??
2514
+ [],
2515
+ )
2516
+ .flatMap((getter) => getter(graph, graphData));
2517
+ prunedGraphData.elements = this.getFullGraphModelData(graph)
2518
+ .elements.filter(
2519
+ (element) =>
2520
+ element instanceof V1_Class ||
2521
+ element instanceof V1_Enumeration ||
2522
+ element instanceof V1_Profile ||
2523
+ element instanceof V1_Association ||
2524
+ element instanceof V1_ConcreteFunctionDefinition ||
2525
+ element instanceof V1_Measure ||
2526
+ element instanceof V1_Store ||
2527
+ element instanceof V1_Mapping,
2528
+ )
2529
+ .concat(extraElements);
2530
+ return prunedGraphData;
2531
+ };
2532
+
2533
+ async analyzeMappingModelCoverage(
2534
+ graph: PureModel,
2535
+ mapping: Mapping,
2536
+ ): Promise<MappingModelCoverageAnalysisResult> {
2537
+ const modelCoverageAnalysisInput =
2538
+ new V1_MappingModelCoverageAnalysisInput();
2539
+ modelCoverageAnalysisInput.clientVersion = PureClientVersion.VX_X_X;
2540
+ modelCoverageAnalysisInput.mapping = mapping.path;
2541
+ modelCoverageAnalysisInput.model =
2542
+ this.buildMappingModelCoverageAnalysisInputContextData(graph);
2543
+ return V1_buildModelCoverageAnalysisResult(
2544
+ await this.engine.analyzeMappingModelCoverage(modelCoverageAnalysisInput),
2545
+ );
2546
+ }
2547
+
2548
+ buildMappingModelCoverageAnalysisResult(
2549
+ input: RawMappingModelCoverageAnalysisResult,
2550
+ ): MappingModelCoverageAnalysisResult {
2551
+ return V1_buildModelCoverageAnalysisResult(
2552
+ deserialize(
2553
+ V1_MappingModelCoverageAnalysisResult,
2554
+ input as PlainObject<V1_MappingModelCoverageAnalysisResult>,
2460
2555
  ),
2461
2556
  );
2557
+ }
2558
+
2559
+ // --------------------------------------------- Utilities ---------------------------------------------
2462
2560
 
2463
2561
  elementToEntity = (
2464
2562
  element: PackageableElement,
2465
- pruneSourceInformation?: boolean,
2563
+ options?: {
2564
+ pruneSourceInformation?: boolean;
2565
+ },
2466
2566
  ): Entity => {
2467
2567
  const entity = this.elementProtocolToEntity(
2468
2568
  this.elementToProtocol<V1_PackageableElement>(element),
2469
2569
  );
2470
- if (pruneSourceInformation) {
2471
- entity.content = this.pruneSourceInformation(entity.content);
2570
+ if (options?.pruneSourceInformation) {
2571
+ entity.content = pruneSourceInformation(entity.content);
2472
2572
  }
2473
2573
  return entity;
2474
2574
  };
2475
2575
 
2476
- // --------------------------------------------- SHARED ---------------------------------------------
2576
+ async buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]> {
2577
+ const dbBuilderInput = new V1_DatabaseBuilderInput();
2578
+ dbBuilderInput.connection = V1_transformRelationalDatabaseConnection(
2579
+ input.connection,
2580
+ new V1_GraphTransformerContextBuilder(
2581
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2582
+ ).build(),
2583
+ );
2584
+ const targetDatabase = new V1_TargetDatabase();
2585
+ targetDatabase.package = input.targetDatabase.package;
2586
+ targetDatabase.name = input.targetDatabase.name;
2587
+ dbBuilderInput.targetDatabase = targetDatabase;
2588
+ const config = new V1_DatabaseBuilderConfig();
2589
+ config.maxTables = input.config.maxTables;
2590
+ config.enrichTables = input.config.enrichTables;
2591
+ config.enrichPrimaryKeys = input.config.enrichPrimaryKeys;
2592
+ config.enrichColumns = input.config.enrichColumns;
2593
+ config.patterns = input.config.patterns.map(
2594
+ (storePattern: DatabasePattern): V1_DatabasePattern => {
2595
+ const pattern = new V1_DatabasePattern();
2596
+ pattern.schemaPattern = storePattern.schemaPattern;
2597
+ pattern.tablePattern = storePattern.tablePattern;
2598
+ pattern.escapeSchemaPattern = storePattern.escapeSchemaPattern;
2599
+ pattern.escapeTablePattern = storePattern.escapeTablePattern;
2600
+ return pattern;
2601
+ },
2602
+ );
2603
+ dbBuilderInput.config = config;
2604
+ return this.pureModelContextDataToEntities(
2605
+ await this.engine.buildDatabase(dbBuilderInput),
2606
+ );
2607
+ }
2608
+
2609
+ // --------------------------------------------- HACKY ---------------------------------------------
2610
+
2611
+ HACKY__createGetAllLambda(_class: Class): RawLambda {
2612
+ return new RawLambda(
2613
+ [],
2614
+ [
2615
+ {
2616
+ _type: 'func',
2617
+ function: 'getAll',
2618
+ parameters: [
2619
+ {
2620
+ _type: 'packageableElementPtr',
2621
+ fullPath: _class.path,
2622
+ },
2623
+ ],
2624
+ },
2625
+ ],
2626
+ );
2627
+ }
2628
+
2629
+ HACKY__createServiceTestAssertLambda(assertData: string): RawLambda {
2630
+ return new RawLambda(
2631
+ [
2632
+ {
2633
+ _type: 'var',
2634
+ class: 'meta::pure::mapping::Result',
2635
+ multiplicity: { lowerBound: 1, upperBound: 1 },
2636
+ name: 'res',
2637
+ },
2638
+ ],
2639
+ [
2640
+ {
2641
+ _type: 'func',
2642
+ function: 'equalJsonStrings',
2643
+ parameters: [
2644
+ {
2645
+ _type: 'func',
2646
+ function: 'toString',
2647
+ parameters: [
2648
+ {
2649
+ _type: 'func',
2650
+ function: 'toOne',
2651
+ parameters: [
2652
+ {
2653
+ _type: 'property',
2654
+ parameters: [
2655
+ {
2656
+ _type: 'var',
2657
+ name: 'res',
2658
+ },
2659
+ ],
2660
+ property: 'values',
2661
+ },
2662
+ ],
2663
+ },
2664
+ ],
2665
+ },
2666
+ {
2667
+ _type: 'string',
2668
+ multiplicity: {
2669
+ lowerBound: 1,
2670
+ upperBound: 1,
2671
+ },
2672
+ values: [assertData],
2673
+ },
2674
+ ],
2675
+ },
2676
+ ],
2677
+ );
2678
+ }
2679
+
2680
+ HACKY__extractServiceTestAssertionData(query: RawLambda): string | undefined {
2681
+ let json: string | undefined;
2682
+ try {
2683
+ json = (
2684
+ (
2685
+ ((query.body as unknown[])[0] as Record<PropertyKey, unknown>) // FunctionValue
2686
+ .parameters as unknown[]
2687
+ )[1] as {
2688
+ values: (string | undefined)[];
2689
+ }
2690
+ ).values[0];
2691
+ assertTrue(typeof json === 'string', `Expected value of type 'string'`);
2692
+ } catch (error) {
2693
+ assertErrorThrown(error);
2694
+ this.log.warn(
2695
+ LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_MANAGER_FAILURE),
2696
+ `Can't extract assertion result`,
2697
+ );
2698
+ json = undefined;
2699
+ }
2700
+ if (!json) {
2701
+ /* Add other assertion cases if we read others */
2702
+ }
2703
+ return json;
2704
+ }
2705
+
2706
+ HACKY__createDefaultBlankLambda(): RawLambda {
2707
+ return new RawLambda(
2708
+ [{ _type: 'var', name: 'x' }],
2709
+ [
2710
+ {
2711
+ _type: 'string',
2712
+ multiplicity: { lowerBound: 1, upperBound: 1 },
2713
+ values: [''],
2714
+ },
2715
+ ],
2716
+ );
2717
+ }
2718
+
2719
+ // --------------------------------------------- Shared ---------------------------------------------
2477
2720
 
2478
2721
  private async entitiesToPureModelContextData(
2479
2722
  entities: Entity[],
@@ -2643,149 +2886,4 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2643
2886
  );
2644
2887
  return graphData;
2645
2888
  };
2646
-
2647
- // --------------------------------------------- Utilities ---------------------------------------------
2648
-
2649
- async buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]> {
2650
- const dbBuilderInput = new V1_DatabaseBuilderInput();
2651
- dbBuilderInput.connection = V1_transformRelationalDatabaseConnection(
2652
- input.connection,
2653
- new V1_GraphTransformerContextBuilder(
2654
- this.pluginManager.getPureProtocolProcessorPlugins(),
2655
- ).build(),
2656
- );
2657
- const targetDatabase = new V1_TargetDatabase();
2658
- targetDatabase.package = input.targetDatabase.package;
2659
- targetDatabase.name = input.targetDatabase.name;
2660
- dbBuilderInput.targetDatabase = targetDatabase;
2661
- const config = new V1_DatabaseBuilderConfig();
2662
- config.maxTables = input.config.maxTables;
2663
- config.enrichTables = input.config.enrichTables;
2664
- config.enrichPrimaryKeys = input.config.enrichPrimaryKeys;
2665
- config.enrichColumns = input.config.enrichColumns;
2666
- config.patterns = input.config.patterns.map(
2667
- (storePattern: DatabasePattern): V1_DatabasePattern => {
2668
- const pattern = new V1_DatabasePattern();
2669
- pattern.schemaPattern = storePattern.schemaPattern;
2670
- pattern.tablePattern = storePattern.tablePattern;
2671
- pattern.escapeSchemaPattern = storePattern.escapeSchemaPattern;
2672
- pattern.escapeTablePattern = storePattern.escapeTablePattern;
2673
- return pattern;
2674
- },
2675
- );
2676
- dbBuilderInput.config = config;
2677
- return this.pureModelContextDataToEntities(
2678
- await this.engine.buildDatabase(dbBuilderInput),
2679
- );
2680
- }
2681
-
2682
- // --------------------------------------------- HACKY ---------------------------------------------
2683
-
2684
- HACKY__createGetAllLambda(_class: Class): RawLambda {
2685
- return new RawLambda(
2686
- [],
2687
- [
2688
- {
2689
- _type: 'func',
2690
- function: 'getAll',
2691
- parameters: [
2692
- {
2693
- _type: 'packageableElementPtr',
2694
- fullPath: _class.path,
2695
- },
2696
- ],
2697
- },
2698
- ],
2699
- );
2700
- }
2701
-
2702
- HACKY__createServiceTestAssertLambda(assertData: string): RawLambda {
2703
- return new RawLambda(
2704
- [
2705
- {
2706
- _type: 'var',
2707
- class: 'meta::pure::mapping::Result',
2708
- multiplicity: { lowerBound: 1, upperBound: 1 },
2709
- name: 'res',
2710
- },
2711
- ],
2712
- [
2713
- {
2714
- _type: 'func',
2715
- function: 'equalJsonStrings',
2716
- parameters: [
2717
- {
2718
- _type: 'func',
2719
- function: 'toString',
2720
- parameters: [
2721
- {
2722
- _type: 'func',
2723
- function: 'toOne',
2724
- parameters: [
2725
- {
2726
- _type: 'property',
2727
- parameters: [
2728
- {
2729
- _type: 'var',
2730
- name: 'res',
2731
- },
2732
- ],
2733
- property: 'values',
2734
- },
2735
- ],
2736
- },
2737
- ],
2738
- },
2739
- {
2740
- _type: 'string',
2741
- multiplicity: {
2742
- lowerBound: 1,
2743
- upperBound: 1,
2744
- },
2745
- values: [assertData],
2746
- },
2747
- ],
2748
- },
2749
- ],
2750
- );
2751
- }
2752
-
2753
- HACKY__extractServiceTestAssertionData(query: RawLambda): string | undefined {
2754
- let json: string | undefined;
2755
- try {
2756
- json = (
2757
- (
2758
- ((query.body as unknown[])[0] as Record<PropertyKey, unknown>) // FunctionValue
2759
- .parameters as unknown[]
2760
- )[1] as {
2761
- values: (string | undefined)[];
2762
- }
2763
- ).values[0];
2764
- assertTrue(typeof json === 'string', `Expected value of type 'string'`);
2765
- } catch (error) {
2766
- assertErrorThrown(error);
2767
- this.log.warn(
2768
- LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_MANAGER_FAILURE),
2769
- `Can't extract assertion result`,
2770
- );
2771
- json = undefined;
2772
- }
2773
- if (!json) {
2774
- /* Add other assertion cases if we read others */
2775
- }
2776
- return json;
2777
- }
2778
-
2779
- HACKY__createDefaultBlankLambda(): RawLambda {
2780
- return new RawLambda(
2781
- [{ _type: 'var', name: 'x' }],
2782
- [
2783
- {
2784
- _type: 'string',
2785
- multiplicity: { lowerBound: 1, upperBound: 1 },
2786
- values: [''],
2787
- },
2788
- ],
2789
- );
2790
- }
2791
2889
  }