@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
@@ -25,7 +25,7 @@ export class BindingTransformer implements Hashable {
25
25
  get hashCode(): string {
26
26
  return hashArray([
27
27
  CORE_HASH_STRUCTURE.BINDING_TRANSFORMER,
28
- this.binding.hashValue,
28
+ this.binding.valueForSerialization ?? '',
29
29
  ]);
30
30
  }
31
31
  }
@@ -29,10 +29,14 @@ export class ModelUnit implements Hashable {
29
29
  return hashArray([
30
30
  DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.MODEL_UNIT,
31
31
  hashArray(
32
- this.packageableElementIncludes.map((element) => element.hashValue),
32
+ this.packageableElementIncludes.map(
33
+ (element) => element.valueForSerialization ?? '',
34
+ ),
33
35
  ),
34
36
  hashArray(
35
- this.packageableElementExcludes.map((element) => element.hashValue),
37
+ this.packageableElementExcludes.map(
38
+ (element) => element.valueForSerialization ?? '',
39
+ ),
36
40
  ),
37
41
  ]);
38
42
  }
@@ -43,7 +43,7 @@ export class FileGenerationSpecification
43
43
  hashArray(
44
44
  this.scopeElements.map((element) =>
45
45
  element instanceof PackageableElementReference
46
- ? element.hashValue
46
+ ? element.valueForSerialization ?? ''
47
47
  : element,
48
48
  ),
49
49
  ),
@@ -44,7 +44,7 @@ export class GenerationTreeNode implements Hashable {
44
44
  get hashCode(): string {
45
45
  return hashArray([
46
46
  CORE_HASH_STRUCTURE.GENERATION_TREE_NODE,
47
- this.generationElement.hashValue,
47
+ this.generationElement.valueForSerialization ?? '',
48
48
  this.id,
49
49
  ]);
50
50
  }
@@ -72,7 +72,7 @@ export class GenerationSpecification
72
72
  this.fileGenerations.map((fileGeneration) =>
73
73
  hashElementPointer(
74
74
  PackageableElementPointerType.FILE_GENERATION,
75
- fileGeneration.hashValue,
75
+ fileGeneration.valueForSerialization ?? '',
76
76
  ),
77
77
  ),
78
78
  ),
@@ -52,7 +52,7 @@ export abstract class AssociationImplementation
52
52
  CORE_HASH_STRUCTURE.ASSOCIATION_IMPLEMENTATION,
53
53
  this.association.value.path,
54
54
  this.id.valueForSerialization ?? '',
55
- hashArray(this.stores.map((e) => e.hashValue)),
55
+ hashArray(this.stores.map((e) => e.valueForSerialization ?? '')),
56
56
  ]);
57
57
  }
58
58
  }
@@ -25,12 +25,14 @@ import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst.js';
25
25
  import { Enum } from '../domain/Enum.js';
26
26
  import type { EnumValueReference } from '../domain/EnumValueReference.js';
27
27
 
28
+ export type SourceValueType = Enum | string | number | undefined;
29
+
28
30
  export class SourceValue {
29
31
  readonly _UUID = uuid();
30
32
 
31
- value: Enum | string | number | undefined;
33
+ value: SourceValueType;
32
34
 
33
- constructor(value: Enum | string | number | undefined) {
35
+ constructor(value: SourceValueType) {
34
36
  this.value = value;
35
37
  }
36
38
  }
@@ -50,7 +50,7 @@ export class EnumerationMapping implements Hashable {
50
50
  return hashArray([
51
51
  CORE_HASH_STRUCTURE.ENUMERATION_MAPPING,
52
52
  this.id.valueForSerialization ?? '',
53
- this.enumeration.hashValue,
53
+ this.enumeration.valueForSerialization ?? '',
54
54
  // If there are no enum value mapping, source type means nothing since it's not in the protocol anyway
55
55
  this.enumValueMappings.filter(
56
56
  // TODO: use `isStubbed_EnumValueMapping` when we refactor hashing
@@ -0,0 +1,61 @@
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 {
18
+ type OptionalPackageableElementReference,
19
+ OptionalPackageableElementExplicitReference,
20
+ } from '../PackageableElementReference.js';
21
+ import type { Mapping } from './Mapping.js';
22
+ import type { EnumerationMapping } from './EnumerationMapping.js';
23
+ import { OptionalReferenceWithOwner } from '../../Reference.js';
24
+
25
+ export abstract class OptionalEnumerationMappingReference extends OptionalReferenceWithOwner {
26
+ override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
27
+ value?: EnumerationMapping | undefined;
28
+
29
+ protected constructor(
30
+ ownerReference: OptionalPackageableElementReference<Mapping>,
31
+ value: EnumerationMapping | undefined,
32
+ ) {
33
+ super(ownerReference);
34
+ this.ownerReference = ownerReference;
35
+ this.value = value;
36
+ }
37
+
38
+ abstract get valueForSerialization(): string | undefined;
39
+ }
40
+
41
+ export class OptionalEnumerationMappingExplicitReference extends OptionalEnumerationMappingReference {
42
+ override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
43
+
44
+ private constructor(value: EnumerationMapping | undefined) {
45
+ const ownerReference = OptionalPackageableElementExplicitReference.create(
46
+ value?._PARENT,
47
+ );
48
+ super(ownerReference, value);
49
+ this.ownerReference = ownerReference;
50
+ }
51
+
52
+ static create(
53
+ value: EnumerationMapping | undefined,
54
+ ): OptionalEnumerationMappingExplicitReference {
55
+ return new OptionalEnumerationMappingExplicitReference(value);
56
+ }
57
+
58
+ get valueForSerialization(): string | undefined {
59
+ return this.value?.id.value;
60
+ }
61
+ }
@@ -28,7 +28,7 @@ export class LocalMappingPropertyInfo implements Hashable {
28
28
  get hashCode(): string {
29
29
  return hashArray([
30
30
  CORE_HASH_STRUCTURE.LOCAL_MAPPING_PROPERTY,
31
- this.localMappingPropertyType.hashValue,
31
+ this.localMappingPropertyType.valueForSerialization ?? '',
32
32
  this.localMappingPropertyMultiplicity,
33
33
  ]);
34
34
  }
@@ -34,11 +34,11 @@ export class MappingInclude {
34
34
  get hashCode(): string {
35
35
  return hashArray([
36
36
  CORE_HASH_STRUCTURE.MAPPING_INCLUDE,
37
- this.included.hashValue,
38
- getNullableFirstElement(this.storeSubstitutions)?.original.hashValue ??
39
- '',
40
- getNullableFirstElement(this.storeSubstitutions)?.substitute.hashValue ??
41
- '',
37
+ this.included.valueForSerialization ?? '',
38
+ getNullableFirstElement(this.storeSubstitutions)?.original
39
+ .valueForSerialization ?? '',
40
+ getNullableFirstElement(this.storeSubstitutions)?.substitute
41
+ .valueForSerialization ?? '',
42
42
  ]);
43
43
  }
44
44
  }
@@ -30,8 +30,8 @@ import type { AggregationAwarePropertyMapping } from './aggregationAware/Aggrega
30
30
  import type { XStorePropertyMapping } from './xStore/XStorePropertyMapping.js';
31
31
  import type { LocalMappingPropertyInfo } from './LocalMappingPropertyInfo.js';
32
32
 
33
- /* @MARKER: NEW CLASS MAPPING TYPE SUPPORT --- consider adding class mapping type handler here whenever support for a new one is added to the app */
34
33
  export interface PropertyMappingVisitor<T> {
34
+ visit_PropertyMapping(propertyMapping: PropertyMapping): T;
35
35
  visit_PurePropertyMapping(propertyMapping: PurePropertyMapping): T;
36
36
  visit_FlatDataPropertyMapping(propertyMapping: FlatDataPropertyMapping): T;
37
37
  visit_EmbeddedFlatDataPropertyMapping(
@@ -92,7 +92,7 @@ export abstract class SetImplementation
92
92
  return hashArray([
93
93
  CORE_HASH_STRUCTURE.SET_IMPLEMENTATION,
94
94
  this.id.valueForSerialization ?? '',
95
- this.class.hashValue,
95
+ this.class.valueForSerialization ?? '',
96
96
  this.root.valueForSerialization.toString(),
97
97
  this.superSetImplementationId ?? '',
98
98
  ]);
@@ -59,7 +59,7 @@ export class StoreConnections implements Hashable {
59
59
  CORE_HASH_STRUCTURE.STORE_CONNECTIONS,
60
60
  hashElementPointer(
61
61
  PackageableElementPointerType.STORE,
62
- this.store.hashValue,
62
+ this.store.valueForSerialization ?? '',
63
63
  ),
64
64
  hashArray(this.storeConnections),
65
65
  ]);
@@ -81,7 +81,7 @@ export class EngineRuntime extends Runtime implements Hashable {
81
81
  this.mappings.map((mapping) =>
82
82
  hashElementPointer(
83
83
  PackageableElementPointerType.MAPPING,
84
- mapping.hashValue,
84
+ mapping.valueForSerialization ?? '',
85
85
  ),
86
86
  ),
87
87
  ),
@@ -108,7 +108,7 @@ export class RuntimePointer extends Runtime implements Hashable {
108
108
  get hashCode(): string {
109
109
  return hashArray([
110
110
  CORE_HASH_STRUCTURE.RUNTIME_POINTER,
111
- this.packageableRuntime.hashValue,
111
+ this.packageableRuntime.valueForSerialization ?? '',
112
112
  ]);
113
113
  }
114
114
  }
@@ -36,7 +36,7 @@ export abstract class Section implements Hashable {
36
36
  return hashArray([
37
37
  CORE_HASH_STRUCTURE.SECTION,
38
38
  this.parserName,
39
- hashArray(this.elements.map((e) => e.hashValue)),
39
+ hashArray(this.elements.map((e) => e.valueForSerialization ?? '')),
40
40
  ]);
41
41
  }
42
42
  }
@@ -48,7 +48,7 @@ export class ImportAwareCodeSection extends Section {
48
48
  return hashArray([
49
49
  CORE_HASH_STRUCTURE.IMPORT_AWARE_CODE_SECTION,
50
50
  super.hashCode,
51
- hashArray(this.imports.map((e) => e.hashValue)),
51
+ hashArray(this.imports.map((e) => e.valueForSerialization ?? '')),
52
52
  ]);
53
53
  }
54
54
  }
@@ -66,7 +66,7 @@ export class PureSingleExecution extends PureExecution implements Hashable {
66
66
  return hashArray([
67
67
  CORE_HASH_STRUCTURE.SERVICE_PURE_SINGLE_EXECUTION,
68
68
  super.hashCode,
69
- this.mapping.hashValue,
69
+ this.mapping.valueForSerialization ?? '',
70
70
  this.runtime,
71
71
  ]);
72
72
  }
@@ -93,7 +93,7 @@ export class KeyedExecutionParameter implements Hashable {
93
93
  return hashArray([
94
94
  CORE_HASH_STRUCTURE.SERVICE_KEYED_EXECUTION_PARAMETER,
95
95
  this.key,
96
- this.mapping.hashValue,
96
+ this.mapping.valueForSerialization ?? '',
97
97
  this.runtime,
98
98
  ]);
99
99
  }
@@ -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
  }
@@ -43,7 +43,7 @@ export class FlatDataConnection extends Connection implements Hashable {
43
43
  get hashCode(): string {
44
44
  return hashArray([
45
45
  CORE_HASH_STRUCTURE.FLAT_DATA_CONNECTION,
46
- this.store.hashValue,
46
+ this.store.valueForSerialization ?? '',
47
47
  this.url,
48
48
  ]);
49
49
  }
@@ -88,6 +88,7 @@ export class EmbeddedFlatDataPropertyMapping
88
88
  this.propertyMappings.filter(
89
89
  // TODO: we should also handle of other property mapping types
90
90
  // using some form of extension mechanism
91
+ // This is a rather optimistic check as we make assumption on the type of property mapping included here
91
92
  (propertyMapping) => {
92
93
  if (propertyMapping instanceof FlatDataPropertyMapping) {
93
94
  // TODO: use `isStubbed_RawLambda` when we move this out of the metamodel
@@ -42,7 +42,7 @@ export class FlatDataInputData extends InputData implements Hashable {
42
42
  CORE_HASH_STRUCTURE.FLAT_DATA_INPUT_DATA,
43
43
  hashElementPointer(
44
44
  PackageableElementPointerType.STORE,
45
- this.sourceFlatData.hashValue,
45
+ this.sourceFlatData.valueForSerialization ?? '',
46
46
  ),
47
47
  this.data,
48
48
  ]);
@@ -56,13 +56,14 @@ export class FlatDataInstanceSetImplementation
56
56
  return hashArray([
57
57
  CORE_HASH_STRUCTURE.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION,
58
58
  super.hashCode,
59
- this.sourceRootRecordType.ownerReference.hashValue,
59
+ this.sourceRootRecordType.ownerReference.valueForSerialization ?? '',
60
60
  this.sourceRootRecordType.value._OWNER.name,
61
61
  this.filter ?? '',
62
62
  hashArray(
63
63
  this.propertyMappings.filter(
64
64
  // TODO: we should also handle of other property mapping types
65
65
  // using some form of extension mechanism
66
+ // This is a rather optimistic check as we make assumption on the type of property mapping included here
66
67
  (propertyMapping) => {
67
68
  if (propertyMapping instanceof FlatDataPropertyMapping) {
68
69
  // TODO: use `isStubbed_RawLambda` when we move this out of the metamodel
@@ -16,20 +16,19 @@
16
16
 
17
17
  import { CORE_HASH_STRUCTURE } from '../../../../../../../MetaModelConst.js';
18
18
  import { hashArray, type Hashable } from '@finos/legend-shared';
19
- import type { EnumerationMapping } from '../../../mapping/EnumerationMapping.js';
20
19
  import type { RawLambda } from '../../../../rawValueSpecification/RawLambda.js';
21
20
  import { AbstractFlatDataPropertyMapping } from './AbstractFlatDataPropertyMapping.js';
22
21
  import type { SetImplementation } from '../../../mapping/SetImplementation.js';
23
22
  import type { PropertyMappingsImplementation } from '../../../mapping/PropertyMappingsImplementation.js';
24
23
  import type { PropertyReference } from '../../../domain/PropertyReference.js';
25
24
  import type { PropertyMappingVisitor } from '../../../mapping/PropertyMapping.js';
25
+ import { OptionalEnumerationMappingExplicitReference } from '../../../mapping/EnumerationMappingReference.js';
26
26
 
27
27
  export class FlatDataPropertyMapping
28
28
  extends AbstractFlatDataPropertyMapping
29
29
  implements Hashable
30
30
  {
31
- // TODO: convert to reference
32
- transformer?: EnumerationMapping | undefined;
31
+ transformer = OptionalEnumerationMappingExplicitReference.create(undefined);
33
32
  /**
34
33
  * Studio does not process value specification, they are left in raw JSON form
35
34
  *
@@ -52,7 +51,7 @@ export class FlatDataPropertyMapping
52
51
  return hashArray([
53
52
  CORE_HASH_STRUCTURE.FLAT_DATA_PROPERTY_MAPPING,
54
53
  super.hashCode,
55
- this.transformer?.id.value ?? '',
54
+ this.transformer.valueForSerialization ?? '',
56
55
  this.transform,
57
56
  ]);
58
57
  }
@@ -27,7 +27,9 @@ export class FlatData extends Store implements Hashable {
27
27
  return hashArray([
28
28
  CORE_HASH_STRUCTURE.FLAT_DATA,
29
29
  this.path,
30
- hashArray(this.includes.map((include) => include.hashValue)),
30
+ hashArray(
31
+ this.includes.map((include) => include.valueForSerialization ?? ''),
32
+ ),
31
33
  hashArray(this.sections),
32
34
  ]);
33
35
  }
@@ -41,7 +41,7 @@ export abstract class FlatDataSectionReference extends ReferenceWithOwner {
41
41
  get pointerHashCode(): string {
42
42
  return [
43
43
  CORE_HASH_STRUCTURE.FLAT_DATA_SECTION_POINTER,
44
- this.ownerReference.hashValue,
44
+ this.ownerReference.valueForSerialization ?? '',
45
45
  this.value.name,
46
46
  ]
47
47
  .map(hashString)
@@ -48,7 +48,7 @@ export class JsonModelConnection
48
48
  get hashCode(): string {
49
49
  return hashArray([
50
50
  CORE_HASH_STRUCTURE.JSON_MODEL_CONNECTION,
51
- this.class.hashValue,
51
+ this.class.valueForSerialization ?? '',
52
52
  this.url,
53
53
  ]);
54
54
  }
@@ -40,7 +40,7 @@ export class ModelChainConnection extends Connection {
40
40
  get hashCode(): string {
41
41
  return hashArray([
42
42
  CORE_HASH_STRUCTURE.MODEL_CHAIN_CONNECTION,
43
- hashArray(this.mappings.map((m) => m.hashValue)),
43
+ hashArray(this.mappings.map((m) => m.valueForSerialization ?? '')),
44
44
  ]);
45
45
  }
46
46
  }
@@ -43,7 +43,7 @@ export class XmlModelConnection
43
43
  get hashCode(): string {
44
44
  return hashArray([
45
45
  CORE_HASH_STRUCTURE.XML_MODEL_CONNECTION,
46
- this.class.hashValue,
46
+ this.class.valueForSerialization ?? '',
47
47
  this.url,
48
48
  ]);
49
49
  }
@@ -54,7 +54,7 @@ export class ObjectInputData extends InputData implements Hashable {
54
54
  get hashCode(): string {
55
55
  return hashArray([
56
56
  CORE_HASH_STRUCTURE.OBJECT_INPUT_DATA,
57
- this.sourceClass.hashValue,
57
+ this.sourceClass.valueForSerialization ?? '',
58
58
  this.inputType,
59
59
  this.data,
60
60
  ]);
@@ -63,6 +63,7 @@ export class PureInstanceSetImplementation
63
63
  this.propertyMappings.filter(
64
64
  // TODO: we should also handle of other property mapping types
65
65
  // using some form of extension mechanism
66
+ // This is a rather optimistic check as we make assumption on the type of property mapping included here
66
67
  (propertyMapping) =>
67
68
  // TODO: use `isStubbed_RawLambda` when we move this out of the metamodel
68
69
  Boolean(propertyMapping.transform.parameters) ||
@@ -20,15 +20,14 @@ import {
20
20
  type PropertyMappingVisitor,
21
21
  PropertyMapping,
22
22
  } from '../../../mapping/PropertyMapping.js';
23
- import type { EnumerationMapping } from '../../../mapping/EnumerationMapping.js';
24
23
  import type { PropertyReference } from '../../../domain/PropertyReference.js';
25
24
  import type { SetImplementation } from '../../../mapping/SetImplementation.js';
26
25
  import type { PropertyMappingsImplementation } from '../../../mapping/PropertyMappingsImplementation.js';
27
26
  import type { RawLambda } from '../../../../rawValueSpecification/RawLambda.js';
27
+ import { OptionalEnumerationMappingExplicitReference } from '../../../mapping/EnumerationMappingReference.js';
28
28
 
29
29
  export class PurePropertyMapping extends PropertyMapping implements Hashable {
30
- // TODO: convert to reference
31
- transformer?: EnumerationMapping | undefined;
30
+ transformer = OptionalEnumerationMappingExplicitReference.create(undefined);
32
31
  /**
33
32
  * Studio does not process value specification, they are left in raw JSON form
34
33
  *
@@ -54,7 +53,7 @@ export class PurePropertyMapping extends PropertyMapping implements Hashable {
54
53
  return hashArray([
55
54
  CORE_HASH_STRUCTURE.PURE_PROPERTY_MAPPING,
56
55
  super.hashCode,
57
- this.transformer?.id.value ?? '',
56
+ this.transformer.valueForSerialization ?? '',
58
57
  this.transform,
59
58
  Boolean(this.explodeProperty).toString(),
60
59
  ]);
@@ -26,8 +26,13 @@ import type { Database } from '../model/Database.js';
26
26
  import type { PackageableElementReference } from '../../../PackageableElementReference.js';
27
27
  import type { PostProcessor } from './postprocessor/PostProcessor.js';
28
28
 
29
- // TODO: to be modularized or handled differently
30
- // See https://github.com/finos/legend-studio/issues/946
29
+ /**
30
+ * TODO: to be modularized or handled differently
31
+ *
32
+ * @modularize
33
+ * See https://github.com/finos/legend-studio/issues/946
34
+ * See https://github.com/finos/legend-studio/issues/65
35
+ */
31
36
  export enum DatabaseType {
32
37
  DB2 = 'DB2',
33
38
  H2 = 'H2',
@@ -81,7 +86,7 @@ export class RelationalDatabaseConnection extends DatabaseConnection {
81
86
  get hashCode(): string {
82
87
  return hashArray([
83
88
  CORE_HASH_STRUCTURE.RELATIONAL_DATABASE_CONNECTION,
84
- this.store.hashValue,
89
+ this.store.valueForSerialization ?? '',
85
90
  this.timeZone ?? '',
86
91
  this.quoteIdentifiers?.toString() ?? '',
87
92
  this.datasourceSpecification,
@@ -89,13 +89,14 @@ export class EmbeddedRelationalInstanceSetImplementation
89
89
  return hashArray([
90
90
  CORE_HASH_STRUCTURE.EMBEDDED_REALTIONAL_PROPERTY_MAPPING,
91
91
  super.hashCode,
92
- this.class.hashValue,
92
+ this.class.valueForSerialization ?? '',
93
93
  hashArray(this.primaryKey),
94
94
  // skip `root` since we disregard it in embedded property mappings
95
95
  hashArray(
96
96
  this.propertyMappings.filter((propertyMapping) => {
97
97
  // TODO: we should also handle of other property mapping types
98
98
  // using some form of extension mechanism
99
+ // This is a rather optimistic check as we make assumption on the type of property mapping included here
99
100
  if (propertyMapping instanceof RelationalPropertyMapping) {
100
101
  // TODO: use `isStubbed_RawRelationalOperationElement` when we move this out of the metamodel
101
102
  return !isEmpty(propertyMapping.relationalOperation);
@@ -39,7 +39,7 @@ export class FilterMapping implements Hashable {
39
39
  get hashCode(): string {
40
40
  return hashArray([
41
41
  CORE_HASH_STRUCTURE.FILTER_MAPPING,
42
- this.filter.ownerReference.hashValue,
42
+ this.filter.ownerReference.valueForSerialization ?? '',
43
43
  this.filter.value.name,
44
44
  hashArray(this.joinTreeNode ? extractLine(this.joinTreeNode) : []),
45
45
  ]);
@@ -44,7 +44,7 @@ export class RelationalInputData extends InputData implements Hashable {
44
44
  get hashCode(): string {
45
45
  return hashArray([
46
46
  CORE_HASH_STRUCTURE.RELATIONAL_INPUT_DATA,
47
- this.database.hashValue,
47
+ this.database.valueForSerialization ?? '',
48
48
  this.data,
49
49
  this.inputType,
50
50
  ]);
@@ -40,6 +40,7 @@ export class RelationalInstanceSetImplementation
40
40
  this.propertyMappings.filter(
41
41
  // TODO: we should also handle of other property mapping types
42
42
  // using some form of extension mechanism
43
+ // This is a rather optimistic check as we make assumption on the type of property mapping included here
43
44
  (propertyMapping) => {
44
45
  if (propertyMapping instanceof RelationalPropertyMapping) {
45
46
  // TODO: use `isStubbed_RawRelationalOperationElement` when we move this out of the metamodel
@@ -16,7 +16,6 @@
16
16
 
17
17
  import { CORE_HASH_STRUCTURE } from '../../../../../../../MetaModelConst.js';
18
18
  import { hashArray, type Hashable } from '@finos/legend-shared';
19
- import type { EnumerationMapping } from '../../../mapping/EnumerationMapping.js';
20
19
  import {
21
20
  type PropertyMappingVisitor,
22
21
  PropertyMapping,
@@ -24,13 +23,13 @@ import {
24
23
  import { hashObjectWithoutSourceInformation } from '../../../../../../../MetaModelUtils.js';
25
24
  import type { RawRelationalOperationElement } from '../model/RawRelationalOperationElement.js';
26
25
  import type { BindingTransformer } from '../../../externalFormat/store/DSLExternalFormat_BindingTransformer.js';
26
+ import { OptionalEnumerationMappingExplicitReference } from '../../../mapping/EnumerationMappingReference.js';
27
27
 
28
28
  export class RelationalPropertyMapping
29
29
  extends PropertyMapping
30
30
  implements Hashable
31
31
  {
32
- // TODO: convert to reference
33
- transformer?: EnumerationMapping | undefined;
32
+ transformer = OptionalEnumerationMappingExplicitReference.create(undefined);
34
33
  /**
35
34
  * Studio does not process value specification, they are left in raw JSON form
36
35
  *
@@ -47,7 +46,7 @@ export class RelationalPropertyMapping
47
46
  return hashArray([
48
47
  CORE_HASH_STRUCTURE.REALTIONAL_PROPERTY_MAPPING,
49
48
  super.hashCode,
50
- this.transformer?.id.value ?? '',
49
+ this.transformer.valueForSerialization ?? '',
51
50
  this.bindingTransformer ?? '',
52
51
  hashObjectWithoutSourceInformation(this.relationalOperation),
53
52
  ]);
@@ -31,7 +31,9 @@ export class Database extends Store implements Hashable {
31
31
  return hashArray([
32
32
  CORE_HASH_STRUCTURE.DATABASE,
33
33
  this.path,
34
- hashArray(this.includes.map((include) => include.hashValue)),
34
+ hashArray(
35
+ this.includes.map((include) => include.valueForSerialization ?? ''),
36
+ ),
35
37
  hashArray(this.schemas),
36
38
  hashArray(this.joins),
37
39
  hashArray(this.filters),
@@ -101,7 +101,7 @@ export class JoinTreeNode {
101
101
  get hashCode(): string {
102
102
  return hashArray([
103
103
  CORE_HASH_STRUCTURE.DATABASE_JOIN,
104
- this.join.ownerReference.hashValue,
104
+ this.join.ownerReference.valueForSerialization ?? '',
105
105
  this.join.value.name,
106
106
  this.joinType ?? '',
107
107
  ]);
@@ -49,7 +49,7 @@ export abstract class TableReference extends NamedRelationalReference {
49
49
  get pointerHashCode(): string {
50
50
  return [
51
51
  CORE_HASH_STRUCTURE.RELATIONAL_OPERATION_TABLE_POINTER,
52
- this.ownerReference.hashValue,
52
+ this.ownerReference.valueForSerialization ?? '',
53
53
  this.value.schema.name,
54
54
  this.value.name,
55
55
  ]
@@ -60,7 +60,7 @@ export abstract class TableReference extends NamedRelationalReference {
60
60
  get selfJoinPointerHashCode(): string {
61
61
  return [
62
62
  CORE_HASH_STRUCTURE.RELATIONAL_OPERATION_TABLE_POINTER,
63
- this.ownerReference.hashValue,
63
+ this.ownerReference.valueForSerialization ?? '',
64
64
  SELF_JOIN_SCHEMA_NAME,
65
65
  SELF_JOIN_TABLE_NAME,
66
66
  ]
@@ -40,7 +40,7 @@ export abstract class ViewReference extends NamedRelationalReference {
40
40
  get pointerHashCode(): string {
41
41
  return [
42
42
  CORE_HASH_STRUCTURE.RELATIONAL_OPERATION_TABLE_POINTER,
43
- this.ownerReference.hashValue,
43
+ this.ownerReference.valueForSerialization ?? '',
44
44
  this.value.schema.name,
45
45
  this.value.name,
46
46
  ]
@@ -51,7 +51,7 @@ export abstract class ViewReference extends NamedRelationalReference {
51
51
  get selfJoinPointerHashCode(): string {
52
52
  return [
53
53
  CORE_HASH_STRUCTURE.RELATIONAL_OPERATION_TABLE_POINTER,
54
- this.ownerReference.hashValue,
54
+ this.ownerReference.valueForSerialization ?? '',
55
55
  SELF_JOIN_SCHEMA_NAME,
56
56
  SELF_JOIN_TABLE_NAME,
57
57
  ]