@finos/legend-graph 4.0.3 → 5.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 (441) hide show
  1. package/lib/DSLMapping_Exports.d.ts +1 -0
  2. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  3. package/lib/DSLMapping_Exports.js +1 -0
  4. package/lib/DSLMapping_Exports.js.map +1 -1
  5. package/lib/GraphManagerState.d.ts.map +1 -1
  6. package/lib/GraphManagerState.js +2 -1
  7. package/lib/GraphManagerState.js.map +1 -1
  8. package/lib/GraphManagerTestUtils.js +1 -1
  9. package/lib/GraphManagerTestUtils.js.map +1 -1
  10. package/lib/MetaModelConst.d.ts +2 -1
  11. package/lib/MetaModelConst.d.ts.map +1 -1
  12. package/lib/MetaModelConst.js +5 -3
  13. package/lib/MetaModelConst.js.map +1 -1
  14. package/lib/MetaModelUtils.d.ts +1 -0
  15. package/lib/MetaModelUtils.d.ts.map +1 -1
  16. package/lib/MetaModelUtils.js +1 -0
  17. package/lib/MetaModelUtils.js.map +1 -1
  18. package/lib/graph/BasicModel.d.ts +39 -24
  19. package/lib/graph/BasicModel.d.ts.map +1 -1
  20. package/lib/graph/BasicModel.js +106 -52
  21. package/lib/graph/BasicModel.js.map +1 -1
  22. package/lib/graph/DependencyManager.d.ts +22 -24
  23. package/lib/graph/DependencyManager.d.ts.map +1 -1
  24. package/lib/graph/DependencyManager.js +87 -54
  25. package/lib/graph/DependencyManager.js.map +1 -1
  26. package/lib/graph/PureGraphPlugin.d.ts +4 -0
  27. package/lib/graph/PureGraphPlugin.d.ts.map +1 -1
  28. package/lib/graph/PureGraphPlugin.js +4 -0
  29. package/lib/graph/PureGraphPlugin.js.map +1 -1
  30. package/lib/graph/PureModel.d.ts +18 -16
  31. package/lib/graph/PureModel.d.ts.map +1 -1
  32. package/lib/graph/PureModel.js +75 -108
  33. package/lib/graph/PureModel.js.map +1 -1
  34. package/lib/graphManager/AbstractPureGraphManager.d.ts +9 -5
  35. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  36. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  37. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts +3 -0
  38. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts.map +1 -1
  39. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js +4 -2
  40. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js.map +1 -1
  41. package/lib/graphManager/PureGraphManagerPlugin.d.ts +4 -0
  42. package/lib/graphManager/PureGraphManagerPlugin.d.ts.map +1 -1
  43. package/lib/graphManager/PureGraphManagerPlugin.js +4 -0
  44. package/lib/graphManager/PureGraphManagerPlugin.js.map +1 -1
  45. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.d.ts +4 -0
  46. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.d.ts.map +1 -1
  47. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.js +4 -0
  48. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.js.map +1 -1
  49. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  50. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +0 -5
  51. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  52. package/lib/graphManager/action/changeDetection/DomainObserverHelper.d.ts.map +1 -1
  53. package/lib/graphManager/action/changeDetection/DomainObserverHelper.js +4 -4
  54. package/lib/graphManager/action/changeDetection/DomainObserverHelper.js.map +1 -1
  55. package/lib/graphManager/action/changeDetection/GraphObserverHelper.d.ts +1 -1
  56. package/lib/graphManager/action/changeDetection/GraphObserverHelper.d.ts.map +1 -1
  57. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +3 -5
  58. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  59. package/lib/graphManager/action/changeDetection/PackageableElementObserver.d.ts +1 -1
  60. package/lib/graphManager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
  61. package/lib/graphManager/action/changeDetection/PackageableElementObserver.js +1 -1
  62. package/lib/graphManager/action/changeDetection/PackageableElementObserver.js.map +1 -1
  63. package/lib/graphManager/action/changeDetection/RawValueSpecificationObserver.d.ts +2 -2
  64. package/lib/graphManager/action/changeDetection/RawValueSpecificationObserver.d.ts.map +1 -1
  65. package/lib/graphManager/action/changeDetection/RawValueSpecificationObserver.js +6 -5
  66. package/lib/graphManager/action/changeDetection/RawValueSpecificationObserver.js.map +1 -1
  67. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
  68. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +8 -10
  69. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
  70. package/lib/graphManager/action/execution/ExecutionResult.d.ts +1 -1
  71. package/lib/graphManager/action/execution/ExecutionResult.d.ts.map +1 -1
  72. package/lib/graphManager/action/execution/ExecutionResult.js.map +1 -1
  73. package/lib/helpers/DomainHelper.d.ts +7 -3
  74. package/lib/helpers/DomainHelper.d.ts.map +1 -1
  75. package/lib/helpers/DomainHelper.js +78 -5
  76. package/lib/helpers/DomainHelper.js.map +1 -1
  77. package/lib/helpers/MappingHelper.d.ts.map +1 -1
  78. package/lib/helpers/MappingHelper.js +2 -2
  79. package/lib/helpers/MappingHelper.js.map +1 -1
  80. package/lib/index.d.ts +1 -0
  81. package/lib/index.d.ts.map +1 -1
  82. package/lib/index.js +1 -0
  83. package/lib/index.js.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts +1 -7
  85. package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +2 -8
  87. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts.map +1 -1
  89. package/lib/models/metamodels/pure/packageableElements/domain/Class.js +2 -0
  90. package/lib/models/metamodels/pure/packageableElements/domain/Class.js.map +1 -1
  91. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts +0 -7
  92. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
  93. package/lib/models/metamodels/pure/packageableElements/domain/Package.js +1 -32
  94. package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
  95. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.d.ts +2 -3
  96. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.d.ts.map +1 -1
  97. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js +1 -12
  98. package/lib/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js.map +1 -1
  99. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +2 -3
  100. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
  101. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +0 -11
  102. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  103. package/lib/models/metamodels/pure/packageableElements/mapping/InputData.d.ts +0 -1
  104. package/lib/models/metamodels/pure/packageableElements/mapping/InputData.d.ts.map +1 -1
  105. package/lib/models/metamodels/pure/packageableElements/mapping/InputData.js +0 -1
  106. package/lib/models/metamodels/pure/packageableElements/mapping/InputData.js.map +1 -1
  107. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts +0 -5
  108. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts.map +1 -1
  109. package/lib/models/metamodels/pure/packageableElements/mapping/MappingTestAssert.d.ts +0 -1
  110. package/lib/models/metamodels/pure/packageableElements/mapping/MappingTestAssert.d.ts.map +1 -1
  111. package/lib/models/metamodels/pure/packageableElements/mapping/MappingTestAssert.js +0 -1
  112. package/lib/models/metamodels/pure/packageableElements/mapping/MappingTestAssert.js.map +1 -1
  113. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js +1 -0
  115. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts +7 -21
  117. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +3 -37
  119. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts +32 -0
  121. package/lib/models/metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts.map +1 -0
  122. package/lib/models/metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js +40 -0
  123. package/lib/models/metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js.map +1 -0
  124. package/lib/models/metamodels/pure/packageableElements/section/Section.d.ts +1 -5
  125. package/lib/models/metamodels/pure/packageableElements/section/Section.d.ts.map +1 -1
  126. package/lib/models/metamodels/pure/packageableElements/section/Section.js +0 -5
  127. package/lib/models/metamodels/pure/packageableElements/section/Section.js.map +1 -1
  128. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.d.ts +0 -1
  129. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.d.ts.map +1 -1
  130. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js +0 -1
  131. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js.map +1 -1
  132. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -4
  133. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  134. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +3 -12
  135. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  136. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.d.ts.map +1 -1
  137. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js +2 -2
  138. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js.map +1 -1
  139. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts +0 -1
  140. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts.map +1 -1
  141. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js +0 -1
  142. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js.map +1 -1
  143. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +0 -1
  144. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
  145. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +0 -1
  146. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
  147. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
  148. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +2 -0
  149. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
  150. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +2 -4
  151. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  152. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js +1 -7
  153. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  154. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.d.ts.map +1 -1
  155. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.js +2 -2
  156. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.js.map +1 -1
  157. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.d.ts +0 -1
  158. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.d.ts.map +1 -1
  159. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js +0 -1
  160. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js.map +1 -1
  161. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Table.d.ts.map +1 -1
  162. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Table.js +4 -2
  163. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Table.js.map +1 -1
  164. package/lib/models/metamodels/pure/packageableElements/store/relational/model/View.d.ts.map +1 -1
  165. package/lib/models/metamodels/pure/packageableElements/store/relational/model/View.js +4 -2
  166. package/lib/models/metamodels/pure/packageableElements/store/relational/model/View.js.map +1 -1
  167. package/lib/models/metamodels/pure/packageableElements/store/relational/model/milestoning/Milestoning.d.ts +2 -2
  168. package/lib/models/metamodels/pure/packageableElements/store/relational/model/milestoning/Milestoning.d.ts.map +1 -1
  169. package/lib/models/metamodels/pure/packageableElements/store/relational/model/milestoning/Milestoning.js.map +1 -1
  170. package/lib/models/metamodels/pure/rawValueSpecification/{RawInstanceValue.d.ts → RawPrimitiveInstanceValue.d.ts} +2 -2
  171. package/lib/models/metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue.d.ts.map +1 -0
  172. package/lib/models/metamodels/pure/rawValueSpecification/{RawInstanceValue.js → RawPrimitiveInstanceValue.js} +3 -3
  173. package/lib/models/metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue.js.map +1 -0
  174. package/lib/models/metamodels/pure/rawValueSpecification/RawValueSpecification.d.ts +2 -2
  175. package/lib/models/metamodels/pure/rawValueSpecification/RawValueSpecification.d.ts.map +1 -1
  176. package/lib/models/metamodels/pure/rawValueSpecification/RawValueSpecification.js.map +1 -1
  177. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  178. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +8 -7
  179. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  180. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -0
  181. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  182. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js +4 -0
  183. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  184. package/lib/models/protocols/pure/v1/V1_Core_SystemModels.json +2 -2
  185. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +5 -4
  186. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  187. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +68 -52
  188. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  189. package/lib/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +0 -1
  190. package/lib/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
  191. package/lib/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.js +1 -1
  192. package/lib/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
  193. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts +0 -9
  194. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts.map +1 -1
  195. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.js +0 -10
  196. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.js.map +1 -1
  197. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_InputData.d.ts +0 -1
  198. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_InputData.d.ts.map +1 -1
  199. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_InputData.js +0 -1
  200. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_InputData.js.map +1 -1
  201. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MappingTestAssert.d.ts +0 -1
  202. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MappingTestAssert.d.ts.map +1 -1
  203. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MappingTestAssert.js +0 -1
  204. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MappingTestAssert.js.map +1 -1
  205. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceExecution.d.ts +0 -5
  206. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceExecution.d.ts.map +1 -1
  207. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceExecution.js +0 -6
  208. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceExecution.js.map +1 -1
  209. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts +0 -1
  210. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts.map +1 -1
  211. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js +0 -1
  212. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js.map +1 -1
  213. package/lib/models/protocols/pure/v1/model/packageableElements/store/flatData/model/V1_FlatDataDataType.d.ts +0 -1
  214. package/lib/models/protocols/pure/v1/model/packageableElements/store/flatData/model/V1_FlatDataDataType.d.ts.map +1 -1
  215. package/lib/models/protocols/pure/v1/model/packageableElements/store/flatData/model/V1_FlatDataDataType.js +0 -1
  216. package/lib/models/protocols/pure/v1/model/packageableElements/store/flatData/model/V1_FlatDataDataType.js.map +1 -1
  217. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts +0 -1
  218. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts.map +1 -1
  219. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js +0 -1
  220. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js.map +1 -1
  221. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +0 -10
  222. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
  223. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +0 -11
  224. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
  225. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
  226. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +2 -0
  227. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
  228. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/postprocessor/V1_PostProcessor.d.ts +0 -1
  229. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/postprocessor/V1_PostProcessor.d.ts.map +1 -1
  230. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/postprocessor/V1_PostProcessor.js +0 -1
  231. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/postprocessor/V1_PostProcessor.js.map +1 -1
  232. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts +0 -1
  233. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts.map +1 -1
  234. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js +0 -1
  235. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js.map +1 -1
  236. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalOperationElement.d.ts +0 -1
  237. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalOperationElement.d.ts.map +1 -1
  238. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalOperationElement.js +0 -1
  239. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalOperationElement.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/milestoning/V1_Milestoning.d.ts +2 -2
  241. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/milestoning/V1_Milestoning.d.ts.map +1 -1
  242. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/milestoning/V1_Milestoning.js.map +1 -1
  243. package/lib/models/protocols/pure/v1/model/rawValueSpecification/{V1_RawInstanceValue.d.ts → V1_RawPrimitiveInstanceValue.d.ts} +4 -4
  244. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawPrimitiveInstanceValue.d.ts.map +1 -0
  245. package/lib/models/protocols/pure/v1/model/rawValueSpecification/{V1_RawInstanceValue.js → V1_RawPrimitiveInstanceValue.js} +4 -4
  246. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawPrimitiveInstanceValue.js.map +1 -0
  247. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawValueSpecification.d.ts +2 -2
  248. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawValueSpecification.d.ts.map +1 -1
  249. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawValueSpecification.js.map +1 -1
  250. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/path/V1_PathElement.d.ts +0 -1
  251. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/path/V1_PathElement.d.ts.map +1 -1
  252. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/path/V1_PathElement.js +0 -1
  253. package/lib/models/protocols/pure/v1/model/valueSpecification/raw/path/V1_PathElement.js.map +1 -1
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -1
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MilestoningTransformer.js +3 -3
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MilestoningTransformer.js.map +1 -1
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts +3 -42
  260. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  261. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +13 -2
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.d.ts +2 -2
  264. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.d.ts.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.js +7 -7
  266. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.js.map +1 -1
  267. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
  268. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +2 -2
  269. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  270. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.d.ts +6 -4
  271. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.d.ts.map +1 -1
  272. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js +22 -8
  273. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js.map +1 -1
  274. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts +29 -2
  275. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts.map +1 -1
  276. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js +58 -12
  277. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js.map +1 -1
  278. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +1 -1
  279. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js +4 -4
  280. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +1 -1
  281. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts +1 -1
  282. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +1 -1
  283. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js +4 -3
  284. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +1 -1
  285. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts +5 -2
  286. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +1 -1
  287. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js +54 -48
  288. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +1 -1
  289. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts +1 -1
  290. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +1 -1
  291. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js +5 -4
  292. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +1 -1
  293. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts +1 -1
  294. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
  295. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +16 -16
  296. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
  297. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts +1 -1
  298. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +1 -1
  299. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js +7 -7
  300. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +1 -1
  301. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts +1 -1
  302. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
  303. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +5 -5
  304. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
  305. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts +2 -2
  306. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +1 -1
  307. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js +3 -3
  308. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +1 -1
  309. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +4 -4
  310. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
  311. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts +1 -1
  312. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts.map +1 -1
  313. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +9 -8
  314. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  315. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +2 -2
  316. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  317. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
  318. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
  319. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.d.ts +1 -1
  320. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.d.ts.map +1 -1
  321. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js +20 -22
  322. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js.map +1 -1
  323. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +5 -5
  324. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  325. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.d.ts +11 -1
  326. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.d.ts.map +1 -1
  327. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js +39 -24
  328. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js.map +1 -1
  329. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +3 -38
  330. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  331. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +61 -40
  332. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  333. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
  334. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +2 -2
  335. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
  336. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.d.ts +2 -2
  337. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.d.ts.map +1 -1
  338. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.js +5 -5
  339. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.js.map +1 -1
  340. package/lib/package.json +1 -1
  341. package/package.json +4 -4
  342. package/src/DSLMapping_Exports.ts +1 -0
  343. package/src/GraphManagerState.ts +2 -1
  344. package/src/GraphManagerTestUtils.tsx +1 -1
  345. package/src/MetaModelConst.ts +6 -4
  346. package/src/MetaModelUtils.ts +8 -0
  347. package/src/graph/BasicModel.ts +187 -81
  348. package/src/graph/DependencyManager.ts +140 -81
  349. package/src/graph/PureGraphPlugin.ts +4 -0
  350. package/src/graph/PureModel.ts +105 -108
  351. package/src/graphManager/AbstractPureGraphManager.ts +9 -7
  352. package/src/graphManager/DSLExternalFormat_GraphManagerHelper.ts +15 -5
  353. package/src/graphManager/PureGraphManagerPlugin.ts +4 -0
  354. package/src/graphManager/action/TEMPORARY__AbstractEngineConfig.ts +4 -0
  355. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +1 -6
  356. package/src/graphManager/action/changeDetection/DomainObserverHelper.ts +4 -4
  357. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +3 -5
  358. package/src/graphManager/action/changeDetection/PackageableElementObserver.ts +1 -1
  359. package/src/graphManager/action/changeDetection/RawValueSpecificationObserver.ts +10 -7
  360. package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +19 -24
  361. package/src/graphManager/action/execution/ExecutionResult.ts +1 -1
  362. package/src/helpers/DomainHelper.ts +148 -6
  363. package/src/helpers/MappingHelper.ts +7 -5
  364. package/src/index.ts +1 -0
  365. package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +3 -10
  366. package/src/models/metamodels/pure/packageableElements/domain/Class.ts +2 -0
  367. package/src/models/metamodels/pure/packageableElements/domain/Package.ts +1 -56
  368. package/src/models/metamodels/pure/packageableElements/mapping/AssociationImplementation.ts +2 -16
  369. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +2 -16
  370. package/src/models/metamodels/pure/packageableElements/mapping/InputData.ts +0 -2
  371. package/src/models/metamodels/pure/packageableElements/mapping/Mapping.ts +0 -6
  372. package/src/models/metamodels/pure/packageableElements/mapping/MappingTestAssert.ts +0 -2
  373. package/src/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.ts +1 -0
  374. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +9 -57
  375. package/src/models/metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.ts +51 -0
  376. package/src/models/metamodels/pure/packageableElements/section/Section.ts +1 -6
  377. package/src/models/metamodels/pure/packageableElements/service/ServiceExecution.ts +0 -2
  378. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +6 -21
  379. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.ts +2 -5
  380. package/src/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.ts +0 -2
  381. package/src/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +0 -2
  382. package/src/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +2 -0
  383. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +2 -10
  384. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalInstanceSetImplementation.ts +2 -5
  385. package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.ts +0 -2
  386. package/src/models/metamodels/pure/packageableElements/store/relational/model/Table.ts +4 -4
  387. package/src/models/metamodels/pure/packageableElements/store/relational/model/View.ts +4 -4
  388. package/src/models/metamodels/pure/packageableElements/store/relational/model/milestoning/Milestoning.ts +2 -2
  389. package/src/models/metamodels/pure/rawValueSpecification/{RawInstanceValue.ts → RawPrimitiveInstanceValue.ts} +2 -2
  390. package/src/models/metamodels/pure/rawValueSpecification/RawValueSpecification.ts +4 -2
  391. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +12 -9
  392. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +4 -0
  393. package/src/models/protocols/pure/v1/V1_Core_SystemModels.json +2 -2
  394. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +101 -95
  395. package/src/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.ts +1 -1
  396. package/src/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.ts +0 -10
  397. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_InputData.ts +0 -2
  398. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_MappingTestAssert.ts +0 -2
  399. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceExecution.ts +0 -7
  400. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.ts +0 -2
  401. package/src/models/protocols/pure/v1/model/packageableElements/store/flatData/model/V1_FlatDataDataType.ts +0 -2
  402. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.ts +0 -2
  403. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +0 -12
  404. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +2 -0
  405. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/postprocessor/V1_PostProcessor.ts +0 -2
  406. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.ts +0 -2
  407. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalOperationElement.ts +0 -2
  408. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/milestoning/V1_Milestoning.ts +2 -2
  409. package/src/models/protocols/pure/v1/model/rawValueSpecification/{V1_RawInstanceValue.ts → V1_RawPrimitiveInstanceValue.ts} +4 -4
  410. package/src/models/protocols/pure/v1/model/rawValueSpecification/V1_RawValueSpecification.ts +4 -2
  411. package/src/models/protocols/pure/v1/model/valueSpecification/raw/path/V1_PathElement.ts +1 -3
  412. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +1 -1
  413. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MilestoningTransformer.ts +3 -3
  414. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +22 -2
  415. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.ts +9 -11
  416. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +2 -4
  417. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.ts +41 -11
  418. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts +70 -12
  419. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts +13 -5
  420. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.ts +9 -8
  421. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.ts +140 -153
  422. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.ts +9 -8
  423. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +35 -31
  424. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.ts +16 -14
  425. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +15 -9
  426. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts +9 -5
  427. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +7 -7
  428. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +22 -13
  429. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +3 -3
  430. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
  431. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.ts +22 -22
  432. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +9 -9
  433. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.ts +43 -28
  434. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +76 -42
  435. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +2 -4
  436. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.ts +7 -7
  437. package/tsconfig.json +3 -2
  438. package/lib/models/metamodels/pure/rawValueSpecification/RawInstanceValue.d.ts.map +0 -1
  439. package/lib/models/metamodels/pure/rawValueSpecification/RawInstanceValue.js.map +0 -1
  440. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawInstanceValue.d.ts.map +0 -1
  441. package/lib/models/protocols/pure/v1/model/rawValueSpecification/V1_RawInstanceValue.js.map +0 -1
@@ -24,6 +24,8 @@ import type { V1_DatasourceSpecification } from './V1_DatasourceSpecification';
24
24
  import type { V1_AuthenticationStrategy } from './V1_AuthenticationStrategy';
25
25
  import type { V1_PostProcessor } from './postprocessor/V1_PostProcessor';
26
26
 
27
+ // TODO: to be modularized or handled differently
28
+ // See https://github.com/finos/legend-studio/issues/946
27
29
  export enum V1_DatabaseType {
28
30
  DB2 = 'DB2',
29
31
  H2 = 'H2',
@@ -17,7 +17,5 @@
17
17
  import type { Hashable } from '@finos/legend-shared';
18
18
 
19
19
  export abstract class V1_PostProcessor implements Hashable {
20
- private readonly _$nominalTypeBrand!: 'V1_PostProcessor';
21
-
22
20
  abstract get hashCode(): string;
23
21
  }
@@ -18,8 +18,6 @@ import { type Hashable, hashArray } from '@finos/legend-shared';
18
18
  import { CORE_HASH_STRUCTURE } from '../../../../../../../../../MetaModelConst';
19
19
 
20
20
  export abstract class V1_RelationalDataType implements Hashable {
21
- private readonly _$nominalTypeBrand!: 'V1_RelationalDataType';
22
-
23
21
  abstract get hashCode(): string;
24
22
  }
25
23
 
@@ -20,8 +20,6 @@ import type { V1_JoinPointer } from './V1_JoinPointer';
20
20
  import type { V1_TablePtr } from './V1_TablePtr';
21
21
 
22
22
  export abstract class V1_RelationalOperationElement implements Hashable {
23
- private readonly _$nominalTypeBrand!: 'V1_RelationalOperationElement';
24
-
25
23
  abstract get hashCode(): string;
26
24
  }
27
25
 
@@ -15,9 +15,9 @@
15
15
  */
16
16
 
17
17
  import type { Hashable } from '@finos/legend-shared';
18
- import type { V1_RawInstanceValue } from '../../../../../rawValueSpecification/V1_RawInstanceValue';
18
+ import type { V1_RawPrimitiveInstanceValue } from '../../../../../rawValueSpecification/V1_RawPrimitiveInstanceValue';
19
19
 
20
20
  export abstract class V1_Milestoning implements Hashable {
21
- infinityDate?: V1_RawInstanceValue | undefined;
21
+ infinityDate?: V1_RawPrimitiveInstanceValue | undefined;
22
22
  abstract get hashCode(): string;
23
23
  }
@@ -19,10 +19,10 @@ import { CORE_HASH_STRUCTURE } from '../../../../../../MetaModelConst';
19
19
  import {
20
20
  type V1_RawValueSpecificationVisitor,
21
21
  V1_RawValueSpecification,
22
- } from '../../model/rawValueSpecification/V1_RawValueSpecification';
23
- import type { V1_Multiplicity } from '../../model/packageableElements/domain/V1_Multiplicity';
22
+ } from './V1_RawValueSpecification';
23
+ import type { V1_Multiplicity } from '../packageableElements/domain/V1_Multiplicity';
24
24
 
25
- export class V1_RawInstanceValue
25
+ export class V1_RawPrimitiveInstanceValue
26
26
  extends V1_RawValueSpecification
27
27
  implements Hashable
28
28
  {
@@ -44,6 +44,6 @@ export class V1_RawInstanceValue
44
44
  accept_RawValueSpecificationVisitor<T>(
45
45
  visitor: V1_RawValueSpecificationVisitor<T>,
46
46
  ): T {
47
- return visitor.visit_InstanceValue(this);
47
+ return visitor.visit_PrimitiveInstanceValue(this);
48
48
  }
49
49
  }
@@ -16,12 +16,14 @@
16
16
 
17
17
  import type { V1_RawVariable } from '../../model/rawValueSpecification/V1_RawVariable';
18
18
  import type { V1_RawLambda } from '../../model/rawValueSpecification/V1_RawLambda';
19
- import type { V1_RawInstanceValue } from './V1_RawInstanceValue';
19
+ import type { V1_RawPrimitiveInstanceValue } from './V1_RawPrimitiveInstanceValue';
20
20
 
21
21
  export interface V1_RawValueSpecificationVisitor<T> {
22
22
  visit_Lambda(valueSpecification: V1_RawLambda): T;
23
23
  visit_Variable(valueSpecification: V1_RawVariable): T;
24
- visit_InstanceValue(valueSpecification: V1_RawInstanceValue): T;
24
+ visit_PrimitiveInstanceValue(
25
+ valueSpecification: V1_RawPrimitiveInstanceValue,
26
+ ): T;
25
27
  }
26
28
 
27
29
  export abstract class V1_RawValueSpecification {
@@ -14,6 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export abstract class V1_PathElement {
18
- private readonly _$nominalTypeBrand!: 'V1_PathElement';
19
- }
17
+ export abstract class V1_PathElement {}
@@ -25,7 +25,6 @@ import type { Mapping } from '../../../../../../metamodels/pure/packageableEleme
25
25
  import type {
26
26
  SetImplementationVisitor,
27
27
  SetImplementation,
28
- TEMPORARY__UnresolvedSetImplementation,
29
28
  } from '../../../../../../metamodels/pure/packageableElements/mapping/SetImplementation';
30
29
  import type {
31
30
  PropertyMappingVisitor,
@@ -149,6 +148,7 @@ import type { SubstituteStore } from '../../../../../../metamodels/pure/packagea
149
148
  import { V1_BindingTransformer } from '../../../model/packageableElements/externalFormat/store/V1_BindingTransformer';
150
149
  import { V1_MergeOperationClassMapping } from '../../../model/packageableElements/mapping/V1_MergeOperationClassMapping';
151
150
  import { MergeOperationSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation';
151
+ import type { TEMPORARY__UnresolvedSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation';
152
152
 
153
153
  export const V1_transformPropertyReference = (
154
154
  element: PropertyReference,
@@ -25,7 +25,7 @@ import { V1_ProcessingMilestoning } from '../../../model/packageableElements/sto
25
25
  import { ProcessingMilestoning } from '../../../../../../metamodels/pure/packageableElements/store/relational/model/milestoning/ProcessingMilestoning';
26
26
  import type { StoreRelational_PureProtocolProcessorPlugin_Extension } from '../../../../StoreRelational_PureProtocolProcessorPlugin_Extension';
27
27
  import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext';
28
- import { V1_RawInstanceValue } from '../../../model/rawValueSpecification/V1_RawInstanceValue';
28
+ import { V1_RawPrimitiveInstanceValue } from '../../../model/rawValueSpecification/V1_RawPrimitiveInstanceValue';
29
29
  import { V1_RawValueSpecificationTransformer } from './V1_RawValueSpecificationTransformer';
30
30
 
31
31
  const transformBusinessMilesoning = (
@@ -41,7 +41,7 @@ const transformBusinessMilesoning = (
41
41
  metamodel.infinityDate.accept_RawValueSpecificationVisitor(
42
42
  new V1_RawValueSpecificationTransformer(context),
43
43
  ),
44
- V1_RawInstanceValue,
44
+ V1_RawPrimitiveInstanceValue,
45
45
  );
46
46
  }
47
47
  return protocol;
@@ -68,7 +68,7 @@ const transformProcessingMilestoning = (
68
68
  metamodel.infinityDate.accept_RawValueSpecificationVisitor(
69
69
  new V1_RawValueSpecificationTransformer(context),
70
70
  ),
71
- V1_RawInstanceValue,
71
+ V1_RawPrimitiveInstanceValue,
72
72
  );
73
73
  }
74
74
  return protocol;
@@ -14,7 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { UnsupportedOperationError } from '@finos/legend-shared';
17
+ import {
18
+ assertErrorThrown,
19
+ UnsupportedOperationError,
20
+ } from '@finos/legend-shared';
18
21
  import type {
19
22
  PackageableElement,
20
23
  PackageableElementVisitor,
@@ -62,7 +65,7 @@ import type {
62
65
  } from '../../../../PureProtocolProcessorPlugin';
63
66
  import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext';
64
67
 
65
- export class V1_PackageableElementTransformer
68
+ class V1_PackageableElementTransformer
66
69
  implements PackageableElementVisitor<V1_PackageableElement>
67
70
  {
68
71
  context: V1_GraphTransformerContext;
@@ -167,3 +170,20 @@ export class V1_PackageableElementTransformer
167
170
  return V1_transformGenerationSpecification(element);
168
171
  }
169
172
  }
173
+
174
+ export const V1_transformPackageableElement = (
175
+ element: PackageableElement,
176
+ plugins: PureProtocolProcessorPlugin[],
177
+ context: V1_GraphTransformerContext,
178
+ ): V1_PackageableElement => {
179
+ try {
180
+ return element.accept_PackageableElementVisitor(
181
+ new V1_PackageableElementTransformer(plugins, context),
182
+ );
183
+ } catch (error) {
184
+ assertErrorThrown(error);
185
+ // TODO?: should we wrap this in GraphTransformerError?
186
+ error.message = `Can't transform element '${element.path}': ${error.message}`;
187
+ throw error;
188
+ }
189
+ };
@@ -27,8 +27,8 @@ import { SOURCE_INFORMATION_KEY } from '../../../../../../../MetaModelConst';
27
27
  import { recursiveOmit } from '@finos/legend-shared';
28
28
  import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext';
29
29
  import type { V1_RawValueSpecification } from '../../../model/rawValueSpecification/V1_RawValueSpecification';
30
- import { V1_RawInstanceValue } from '../../../model/rawValueSpecification/V1_RawInstanceValue';
31
- import type { RawInstanceValue } from '../../../../../../metamodels/pure/rawValueSpecification/RawInstanceValue';
30
+ import { V1_RawPrimitiveInstanceValue } from '../../../model/rawValueSpecification/V1_RawPrimitiveInstanceValue';
31
+ import type { RawPrimitiveInstanceValue } from '../../../../../../metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue';
32
32
 
33
33
  export class V1_RawValueSpecificationTransformer
34
34
  implements RawValueSpecificationVisitor<V1_RawValueSpecification>
@@ -78,18 +78,16 @@ export class V1_RawValueSpecificationTransformer
78
78
  return rawVariable;
79
79
  }
80
80
 
81
- visit_RawInstanceValue(
82
- rawValueSpecification: RawInstanceValue,
81
+ visit_RawPrimitiveInstanceValue(
82
+ rawValueSpecification: RawPrimitiveInstanceValue,
83
83
  ): V1_RawValueSpecification {
84
- const rawInstanceValue = new V1_RawInstanceValue();
85
- rawInstanceValue.type = V1_transformElementReference(
86
- rawValueSpecification.type,
87
- );
88
- rawInstanceValue.multiplicity = V1_transformMultiplicity(
84
+ const protocol = new V1_RawPrimitiveInstanceValue();
85
+ protocol.type = V1_transformElementReference(rawValueSpecification.type);
86
+ protocol.multiplicity = V1_transformMultiplicity(
89
87
  rawValueSpecification.multiplicity,
90
88
  );
91
- rawInstanceValue.values = rawValueSpecification.values;
92
- return rawInstanceValue;
89
+ protocol.values = rawValueSpecification.values;
90
+ return protocol;
93
91
  }
94
92
  }
95
93
 
@@ -15,6 +15,7 @@
15
15
  */
16
16
 
17
17
  import {
18
+ filterByType,
18
19
  guaranteeNonNullable,
19
20
  guaranteeType,
20
21
  UnsupportedOperationError,
@@ -295,10 +296,7 @@ class V1_ValueSpecificationTransformer
295
296
  collection.multiplicity.upperBound =
296
297
  valueSpecification.multiplicity.upperBound;
297
298
  collection.values = valueSpecification.values
298
- .filter(
299
- (type: unknown): type is ValueSpecification =>
300
- type instanceof ValueSpecification,
301
- )
299
+ .filter(filterByType(ValueSpecification))
302
300
  .map((e) =>
303
301
  e.accept_ValueSpecificationVisitor(
304
302
  new V1_ValueSpecificationTransformer(
@@ -18,11 +18,19 @@ import {
18
18
  type GenericClazz,
19
19
  assertNonEmptyString,
20
20
  assertTrue,
21
+ AssertionError,
21
22
  } from '@finos/legend-shared';
22
- import { _package_addElement } from '../../../../../../../helpers/DomainHelper';
23
+ import {
24
+ addElementToPackage,
25
+ getOrCreateGraphPackage,
26
+ } from '../../../../../../../helpers/DomainHelper';
27
+ import type { Package } from '../../../../../../metamodels/pure/packageableElements/domain/Package';
23
28
  import type { PackageableElement } from '../../../../../../metamodels/pure/packageableElements/PackageableElement';
24
29
  import type { V1_PackageableElement } from '../../../model/packageableElements/V1_PackageableElement';
25
- import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext';
30
+ import {
31
+ V1_buildFullPath,
32
+ type V1_GraphBuilderContext,
33
+ } from './V1_GraphBuilderContext';
26
34
 
27
35
  export type V1_ElementBuilderPass = (
28
36
  elementProtocol: V1_PackageableElement,
@@ -38,6 +46,25 @@ export type V1_ElementThirdPassBuilder = V1_ElementBuilderPass;
38
46
  export type V1_ElementFourthPassBuilder = V1_ElementBuilderPass;
39
47
  export type V1_ElementFifthPassBuilder = V1_ElementBuilderPass;
40
48
 
49
+ export const V1_checkDuplicatedElement = (
50
+ path: string,
51
+ context: V1_GraphBuilderContext,
52
+ cache: Set<string> | undefined,
53
+ ): void => {
54
+ if (cache) {
55
+ if (cache.has(path)) {
56
+ throw new AssertionError(`Element '${path}' already exists`);
57
+ } else {
58
+ cache.add(path);
59
+ }
60
+ } else {
61
+ assertTrue(
62
+ !context.graph.getNullableElement(path),
63
+ `Element '${path}' already exists`,
64
+ );
65
+ }
66
+ };
67
+
41
68
  /**
42
69
  * Element builder is a mechanism to handling the building process of
43
70
  * element.
@@ -55,8 +82,8 @@ export type V1_ElementFifthPassBuilder = V1_ElementBuilderPass;
55
82
  *
56
83
  * Also note that as of right now we will run build pass 2-5 of each element
57
84
  * consecutively so there is no opportunity to `interleave` build passes of
58
- * different elements. This is definitely more flexible, but also a complexity
59
- * we don't see the need for right now.
85
+ * different elements. That definitely seems more flexible, but also incur
86
+ * a fair amount of complexity we don't see the need for right now.
60
87
  */
61
88
  export class V1_ElementBuilder<T extends V1_PackageableElement> {
62
89
  readonly elementClassName: string;
@@ -104,6 +131,8 @@ export class V1_ElementBuilder<T extends V1_PackageableElement> {
104
131
  runFirstPass(
105
132
  elementProtocol: T,
106
133
  context: V1_GraphBuilderContext,
134
+ packageCache: Map<string, Package> | undefined,
135
+ elementPathCache: Set<string> | undefined,
107
136
  ): PackageableElement {
108
137
  assertNonEmptyString(
109
138
  elementProtocol.package,
@@ -113,17 +142,18 @@ export class V1_ElementBuilder<T extends V1_PackageableElement> {
113
142
  elementProtocol.name,
114
143
  `Element 'name' field is missing or empty`,
115
144
  );
116
- const path = context.currentSubGraph.buildPath(
145
+ const path = V1_buildFullPath(
117
146
  elementProtocol.package,
118
147
  elementProtocol.name,
119
148
  );
120
- assertTrue(
121
- !context.graph.getNullableElement(path),
122
- `Element '${path}' already exists`,
123
- );
149
+ V1_checkDuplicatedElement(path, context, elementPathCache);
124
150
  const element = this.firstPass(elementProtocol, context);
125
- _package_addElement(
126
- context.currentSubGraph.getOrCreatePackage(elementProtocol.package),
151
+ addElementToPackage(
152
+ getOrCreateGraphPackage(
153
+ context.currentSubGraph,
154
+ elementProtocol.package,
155
+ packageCache,
156
+ ),
127
157
  element,
128
158
  );
129
159
  return element;
@@ -17,6 +17,7 @@
17
17
  import {
18
18
  PRIMITIVE_TYPE,
19
19
  ELEMENT_PATH_DELIMITER,
20
+ ROOT_PACKAGE_NAME,
20
21
  } from '../../../../../../../MetaModelConst';
21
22
  import {
22
23
  type Log,
@@ -79,6 +80,15 @@ import type { GraphBuilderOptions } from '../../../../../../../graphManager/Abst
79
80
  import { DataType } from '../../../../../../metamodels/pure/packageableElements/domain/DataType';
80
81
  import { GraphBuilderError } from '../../../../../../../graphManager/GraphManagerUtils';
81
82
 
83
+ export const V1_buildFullPath = (
84
+ packagePath: string | undefined,
85
+ name: string | undefined,
86
+ ): string =>
87
+ `${guaranteeNonNullable(
88
+ packagePath,
89
+ 'Package path is required',
90
+ )}${ELEMENT_PATH_DELIMITER}${guaranteeNonNullable(name, 'Name is required')}`;
91
+
82
92
  interface ResolutionResult<T> {
83
93
  /**
84
94
  * The resolved element.
@@ -95,24 +105,57 @@ interface ResolutionResult<T> {
95
105
  }
96
106
 
97
107
  export class V1_GraphBuilderContext {
108
+ private readonly autoImports: Package[];
109
+ private readonly sectionImports: Package[] = [];
98
110
  readonly log: Log;
99
111
  readonly currentSubGraph: BasicModel;
100
112
  readonly extensions: V1_GraphBuilderExtensions;
101
113
  readonly graph: PureModel;
102
- readonly imports: Package[] = [];
103
114
  readonly section?: Section | undefined;
104
115
  readonly options?: GraphBuilderOptions | undefined;
105
116
 
106
117
  constructor(builder: V1_GraphBuilderContextBuilder) {
107
118
  this.log = builder.log;
108
119
  this.graph = builder.graph;
120
+ this.autoImports = this.graph.autoImports;
109
121
  this.currentSubGraph = builder.currentSubGraph;
110
122
  this.extensions = builder.extensions;
111
- this.imports = builder.imports;
123
+ this.sectionImports = builder.sectionImports;
112
124
  this.section = builder.section;
113
125
  this.options = builder.options;
114
126
  }
115
127
 
128
+ /**
129
+ * Since we haven't fully supported section index, shortened paths
130
+ * using imports in the graph might need to be fully resolved.
131
+ *
132
+ * To handle this need, we make use of references. References can auto
133
+ * resolve full paths when the section index is deleted. But, when
134
+ * building the graph, we leave the value specifications
135
+ * raw/unprocessed. Hence, we cannot make use of references to do full
136
+ * path resolution, as such, we make a best effort traversal in the model
137
+ * of raw value specifications to resolve path automatically.
138
+ *
139
+ * We create this flag to control the behavior of lambda auto path-resolution.
140
+ * This rewriting behavior should not be done for immutable graphs, such as
141
+ * system, depdendencies, and generation. However, in overall, it would be controlled
142
+ * also by the `TEMPORARY__preserveSectionIndex` flag.
143
+ *
144
+ * NOTE: When we fully support section index, we would certainly need to
145
+ * revise the usefullness of this flag, perhaps, we don't auto-resolve anymore,
146
+ * but this mechanism would still be beneficial as we can keep it as an utility
147
+ * to resolve raw lambdas' paths when the user deliberately delete the section
148
+ * index, for example.
149
+ *
150
+ * https://github.com/finos/legend-studio/issues/1067
151
+ */
152
+ get enableRawLambdaAutoPathResolution(): boolean {
153
+ return (
154
+ this.graph.root.path === ROOT_PACKAGE_NAME.MAIN &&
155
+ !this.options?.TEMPORARY__preserveSectionIndex
156
+ );
157
+ }
158
+
116
159
  resolve<T>(
117
160
  path: string,
118
161
  resolverFn: (path: string) => T,
@@ -134,21 +177,37 @@ export class V1_GraphBuilderContext {
134
177
  // NOTE: here we make the assumption that we have populated the indices properly so the same element
135
178
  // is not referred using 2 different paths in the same element index
136
179
  const results = new Map<string, ResolutionResult<T>>();
137
- uniq(this.imports).forEach((importPackage) => {
180
+ this.autoImports.forEach((importPackage) => {
138
181
  try {
139
182
  const fullPath = importPackage.path + ELEMENT_PATH_DELIMITER + path;
140
183
  const element = resolverFn(fullPath);
141
184
  if (element) {
142
185
  results.set(fullPath, {
143
186
  element,
144
- resolvedUsingSectionImports:
145
- !this.graph.sectionAutoImports.includes(importPackage),
187
+ resolvedUsingSectionImports: false,
146
188
  });
147
189
  }
148
190
  } catch {
149
191
  // do nothing
150
192
  }
151
193
  });
194
+ // only resolve section imports if there is a section
195
+ if (this.section) {
196
+ this.sectionImports.forEach((importPackage) => {
197
+ try {
198
+ const fullPath = importPackage.path + ELEMENT_PATH_DELIMITER + path;
199
+ const element = resolverFn(fullPath);
200
+ if (element) {
201
+ results.set(fullPath, {
202
+ element,
203
+ resolvedUsingSectionImports: true,
204
+ });
205
+ }
206
+ } catch {
207
+ // do nothing
208
+ }
209
+ });
210
+ }
152
211
  switch (results.size) {
153
212
  /**
154
213
  * NOTE: if nothing is found then we will try to find user-defined elements at root package (i.e. no package)
@@ -468,7 +527,7 @@ export class V1_GraphBuilderContextBuilder {
468
527
  currentSubGraph: BasicModel;
469
528
  extensions: V1_GraphBuilderExtensions;
470
529
  graph: PureModel;
471
- imports: Package[] = [];
530
+ sectionImports: Package[] = [];
472
531
  section?: Section | undefined;
473
532
  options?: GraphBuilderOptions | undefined;
474
533
 
@@ -487,19 +546,18 @@ export class V1_GraphBuilderContextBuilder {
487
546
  }
488
547
 
489
548
  withElement(element: V1_PackageableElement): V1_GraphBuilderContextBuilder {
490
- const section = this.graph.getOwnSection(element.path);
549
+ const section = this.graph.getOwnNullableSection(element.path);
491
550
  return this.withSection(section);
492
551
  }
493
552
 
494
553
  withSection(section: Section | undefined): V1_GraphBuilderContextBuilder {
495
554
  this.section = section;
496
- // NOTE: we add auto-imports regardless the type of the section or whether if there is any section at all
497
- // so system elements will always be resolved no matter what.
498
- this.imports = this.graph.sectionAutoImports;
499
555
  if (section instanceof ImportAwareCodeSection) {
500
- this.imports = this.imports.concat(section.imports.map((i) => i.value));
556
+ this.sectionImports = this.sectionImports.concat(
557
+ section.imports.map((i) => i.value),
558
+ );
501
559
  }
502
- this.imports = uniq(this.imports); // remove duplicates
560
+ this.sectionImports = uniq(this.sectionImports); // remove duplicates
503
561
  return this;
504
562
  }
505
563
 
@@ -44,7 +44,7 @@ import { V1_getInferredClassMappingId } from '../../../transformation/pureGraph/
44
44
  import { AggregationAwareSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation';
45
45
  import type { InstanceSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/InstanceSetImplementation';
46
46
  import { V1_buildAggregateContainer } from './helpers/V1_AggregationAwareClassMappingBuilderHelper';
47
- import { V1_resolvePathsInRawLambda } from './helpers/V1_ValueSpecificationPathResolver';
47
+ import { V1_buildRawLambdaWithResolvedPaths } from './helpers/V1_ValueSpecificationPathResolver';
48
48
  import { V1_buildRelationalMappingFilter } from './helpers/V1_RelationalClassMappingBuilderHelper';
49
49
  import { toOptionalPackageableElementReference } from '../../../../../../metamodels/pure/packageableElements/PackageableElementReference';
50
50
  import type { DSLMapping_PureProtocolProcessorPlugin_Extension } from '../../../../DSLMapping_PureProtocolProcessorPlugin_Extension';
@@ -132,10 +132,10 @@ export class V1_ProtocolToMetaModelClassMappingFirstPassBuilder
132
132
  targetClass,
133
133
  InferableMappingElementRootExplicitValue.create(classMapping.root),
134
134
  getClassMappingOperationType(classMapping.operation),
135
- V1_resolvePathsInRawLambda(
136
- this.context,
135
+ V1_buildRawLambdaWithResolvedPaths(
137
136
  classMapping.validationFunction.parameters,
138
137
  classMapping.validationFunction.body,
138
+ this.context,
139
139
  ),
140
140
  );
141
141
  }
@@ -163,7 +163,11 @@ export class V1_ProtocolToMetaModelClassMappingFirstPassBuilder
163
163
  toOptionalPackageableElementReference(srcClassReference),
164
164
  );
165
165
  pureInstanceSetImplementation.filter = classMapping.filter
166
- ? V1_resolvePathsInRawLambda(this.context, [], classMapping.filter.body)
166
+ ? V1_buildRawLambdaWithResolvedPaths(
167
+ [],
168
+ classMapping.filter.body,
169
+ this.context,
170
+ )
167
171
  : undefined;
168
172
  return pureInstanceSetImplementation;
169
173
  }
@@ -191,7 +195,11 @@ export class V1_ProtocolToMetaModelClassMappingFirstPassBuilder
191
195
  sourceRootRecordType,
192
196
  );
193
197
  flatDataInstanceSetImplementation.filter = classMapping.filter
194
- ? V1_resolvePathsInRawLambda(this.context, [], classMapping.filter.body)
198
+ ? V1_buildRawLambdaWithResolvedPaths(
199
+ [],
200
+ classMapping.filter.body,
201
+ this.context,
202
+ )
195
203
  : undefined;
196
204
  return flatDataInstanceSetImplementation;
197
205
  }
@@ -15,7 +15,10 @@
15
15
  */
16
16
 
17
17
  import { UnsupportedOperationError } from '@finos/legend-shared';
18
- import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext';
18
+ import {
19
+ V1_buildFullPath,
20
+ type V1_GraphBuilderContext,
21
+ } from './V1_GraphBuilderContext';
19
22
  import type {
20
23
  V1_PackageableElement,
21
24
  V1_PackageableElementVisitor,
@@ -69,8 +72,8 @@ export class V1_ProtocolToMetaModelGraphFifthPassBuilder
69
72
  }
70
73
 
71
74
  visit_Class(element: V1_Class): void {
72
- const _class = this.context.graph.getClass(
73
- this.context.graph.buildPath(element.package, element.name),
75
+ const _class = this.context.currentSubGraph.getOwnClass(
76
+ V1_buildFullPath(element.package, element.name),
74
77
  );
75
78
  _class.derivedProperties = element.derivedProperties.map(
76
79
  (derivedProperty) =>
@@ -92,14 +95,12 @@ export class V1_ProtocolToMetaModelGraphFifthPassBuilder
92
95
  }
93
96
 
94
97
  visit_FlatData(element: V1_FlatData): void {
95
- this.context.graph.getFlatDataStore(
96
- this.context.graph.buildPath(element.package, element.name),
97
- );
98
+ return;
98
99
  }
99
100
 
100
101
  visit_Database(element: V1_Database): void {
101
- const database = this.context.graph.getDatabase(
102
- this.context.graph.buildPath(element.package, element.name),
102
+ const database = this.context.currentSubGraph.getOwnDatabase(
103
+ V1_buildFullPath(element.package, element.name),
103
104
  );
104
105
  element.schemas.forEach((schema) =>
105
106
  V1_buildDatabaseSchemaViewsSecondPass(schema, this.context, database),