@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
@@ -25,7 +25,10 @@ import {
25
25
  } from '@finos/legend-shared';
26
26
  import { CORE_PURE_PATH } from '../../../../../../../MetaModelConst';
27
27
  import { Class } from '../../../../../../metamodels/pure/packageableElements/domain/Class';
28
- import type { V1_GraphBuilderContext } from '../../../transformation/pureGraph/to/V1_GraphBuilderContext';
28
+ import {
29
+ V1_buildFullPath,
30
+ type V1_GraphBuilderContext,
31
+ } from '../../../transformation/pureGraph/to/V1_GraphBuilderContext';
29
32
  import type {
30
33
  V1_PackageableElement,
31
34
  V1_PackageableElementVisitor,
@@ -83,8 +86,8 @@ export class V1_ProtocolToMetaModelGraphThirdPassBuilder
83
86
  }
84
87
 
85
88
  visit_Class(element: V1_Class): void {
86
- const _class = this.context.graph.getClass(
87
- this.context.graph.buildPath(element.package, element.name),
89
+ const _class = this.context.currentSubGraph.getOwnClass(
90
+ V1_buildFullPath(element.package, element.name),
88
91
  );
89
92
  element.superTypes.forEach((type) => {
90
93
  // supertype `Any` will not be processed
@@ -102,7 +105,7 @@ export class V1_ProtocolToMetaModelGraphThirdPassBuilder
102
105
  assertErrorThrown(error);
103
106
  // NOTE: reconsider this as we might need to get elements from `system` and `platform` as well
104
107
  throw new GraphBuilderError(
105
- `Can't find supertype '${type}' of class '${this.context.graph.buildPath(
108
+ `Can't find supertype '${type}' of class '${V1_buildFullPath(
106
109
  element.package,
107
110
  element.name,
108
111
  )}': ${error.message}`,
@@ -126,13 +129,13 @@ export class V1_ProtocolToMetaModelGraphThirdPassBuilder
126
129
  }
127
130
 
128
131
  visit_Association(element: V1_Association): void {
132
+ const association = this.context.currentSubGraph.getOwnAssociation(
133
+ V1_buildFullPath(element.package, element.name),
134
+ );
129
135
  assertTrue(
130
136
  element.properties.length === 2,
131
137
  'Association must have exactly 2 properties',
132
138
  );
133
- const association = this.context.graph.getAssociation(
134
- this.context.graph.buildPath(element.package, element.name),
135
- );
136
139
  const first = guaranteeNonNullable(element.properties[0]);
137
140
  const second = guaranteeNonNullable(element.properties[1]);
138
141
  if (first.name === second.name) {
@@ -166,14 +169,12 @@ export class V1_ProtocolToMetaModelGraphThirdPassBuilder
166
169
  }
167
170
 
168
171
  visit_FlatData(element: V1_FlatData): void {
169
- this.context.graph.getFlatDataStore(
170
- this.context.graph.buildPath(element.package, element.name),
171
- );
172
+ return;
172
173
  }
173
174
 
174
175
  visit_Database(element: V1_Database): void {
175
- const database = this.context.graph.getDatabase(
176
- this.context.graph.buildPath(element.package, element.name),
176
+ const database = this.context.currentSubGraph.getOwnDatabase(
177
+ V1_buildFullPath(element.package, element.name),
177
178
  );
178
179
  element.schemas.forEach((schema) =>
179
180
  V1_buildDatabaseSchemaViewsFirstPass(schema, database, this.context),
@@ -181,8 +182,9 @@ export class V1_ProtocolToMetaModelGraphThirdPassBuilder
181
182
  }
182
183
 
183
184
  visit_Mapping(element: V1_Mapping): void {
184
- const path = this.context.graph.buildPath(element.package, element.name);
185
- const mapping = this.context.graph.getMapping(path);
185
+ const mapping = this.context.currentSubGraph.getOwnMapping(
186
+ V1_buildFullPath(element.package, element.name),
187
+ );
186
188
  mapping.classMappings = element.classMappings.map((classMapping) =>
187
189
  classMapping.accept_ClassMappingVisitor(
188
190
  new V1_ProtocolToMetaModelClassMappingFirstPassBuilder(
@@ -31,10 +31,7 @@ import type { PropertyMappingsImplementation } from '../../../../../../metamodel
31
31
  import { EmbeddedFlatDataPropertyMapping } from '../../../../../../metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping';
32
32
  import { FlatDataPropertyMapping } from '../../../../../../metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping';
33
33
  import type { EnumerationMapping } from '../../../../../../metamodels/pure/packageableElements/mapping/EnumerationMapping';
34
- import {
35
- TEMPORARY__UnresolvedSetImplementation,
36
- type SetImplementation,
37
- } from '../../../../../../metamodels/pure/packageableElements/mapping/SetImplementation';
34
+ import type { SetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/SetImplementation';
38
35
  import { Class } from '../../../../../../metamodels/pure/packageableElements/domain/Class';
39
36
  import type { Association } from '../../../../../../metamodels/pure/packageableElements/domain/Association';
40
37
  import type { TableAlias } from '../../../../../../metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement';
@@ -75,7 +72,7 @@ import { MappingClass } from '../../../../../../metamodels/pure/packageableEleme
75
72
  import { LocalMappingPropertyInfo } from '../../../../../../metamodels/pure/packageableElements/mapping/LocalMappingPropertyInfo';
76
73
  import type { AggregationAwareSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation';
77
74
  import { AggregationAwarePropertyMapping } from '../../../../../../metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwarePropertyMapping';
78
- import { V1_resolvePathsInRawLambda } from './helpers/V1_ValueSpecificationPathResolver';
75
+ import { V1_buildRawLambdaWithResolvedPaths } from './helpers/V1_ValueSpecificationPathResolver';
79
76
  import {
80
77
  V1_deserializeRelationalOperationElement,
81
78
  V1_serializeRelationalOperationElement,
@@ -92,6 +89,7 @@ import type { AbstractProperty } from '../../../../../../metamodels/pure/package
92
89
  import { BindingTransformer } from '../../../../../../metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_BindingTransformer';
93
90
  import type { Mapping } from '../../../../../../metamodels/pure/packageableElements/mapping/Mapping';
94
91
  import { V1_resolveBinding } from './V1_DSLExternalFormat_GraphBuilderHelper';
92
+ import { TEMPORARY__UnresolvedSetImplementation } from '../../../../../../metamodels/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation';
95
93
 
96
94
  /* @MARKER: RELAXED GRAPH CHECK - See https://github.com/finos/legend-studio/issues/880 */
97
95
  const TEMPORARY__getClassMappingByIdOrReturnUnresolved = (
@@ -241,7 +239,11 @@ export class V1_ProtocolToMetaModelPropertyMappingBuilder
241
239
  const purePropertyMapping = new PurePropertyMapping(
242
240
  topParent,
243
241
  property,
244
- V1_resolvePathsInRawLambda(this.context, [], protocol.transform.body),
242
+ V1_buildRawLambdaWithResolvedPaths(
243
+ [],
244
+ protocol.transform.body,
245
+ this.context,
246
+ ),
245
247
  sourceSetImplementation ?? topParent,
246
248
  targetSetImplementation,
247
249
  protocol.explodeProperty,
@@ -322,7 +324,11 @@ export class V1_ProtocolToMetaModelPropertyMappingBuilder
322
324
  ),
323
325
  property,
324
326
  ),
325
- V1_resolvePathsInRawLambda(this.context, [], protocol.transform.body),
327
+ V1_buildRawLambdaWithResolvedPaths(
328
+ [],
329
+ protocol.transform.body,
330
+ this.context,
331
+ ),
326
332
  sourceSetImplementation,
327
333
  targetSetImplementation,
328
334
  );
@@ -834,10 +840,10 @@ export class V1_ProtocolToMetaModelPropertyMappingBuilder
834
840
  guaranteeNonNullable(sourceSetImplementation),
835
841
  targetSetImplementation,
836
842
  );
837
- xStorePropertyMapping.crossExpression = V1_resolvePathsInRawLambda(
838
- this.context,
843
+ xStorePropertyMapping.crossExpression = V1_buildRawLambdaWithResolvedPaths(
839
844
  protocol.crossExpression.parameters,
840
845
  protocol.crossExpression.body,
846
+ this.context,
841
847
  );
842
848
  return xStorePropertyMapping;
843
849
  }
@@ -21,8 +21,8 @@ import type { V1_GraphBuilderContext } from '../../../transformation/pureGraph/t
21
21
  import type { V1_RawValueSpecificationVisitor } from '../../../model/rawValueSpecification/V1_RawValueSpecification';
22
22
  import type { V1_RawLambda } from '../../../model/rawValueSpecification/V1_RawLambda';
23
23
  import type { V1_RawVariable } from '../../../model/rawValueSpecification/V1_RawVariable';
24
- import type { V1_RawInstanceValue } from '../../../model/rawValueSpecification/V1_RawInstanceValue';
25
- import { RawInstanceValue } from '../../../../../../metamodels/pure/rawValueSpecification/RawInstanceValue';
24
+ import type { V1_RawPrimitiveInstanceValue } from '../../../model/rawValueSpecification/V1_RawPrimitiveInstanceValue';
25
+ import { RawPrimitiveInstanceValue } from '../../../../../../metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue';
26
26
 
27
27
  export class V1_ProtocolToMetaModelRawValueSpecificationBuilder
28
28
  implements V1_RawValueSpecificationVisitor<RawValueSpecification>
@@ -53,14 +53,18 @@ export class V1_ProtocolToMetaModelRawValueSpecificationBuilder
53
53
  );
54
54
  }
55
55
 
56
- visit_InstanceValue(
57
- valueSpecification: V1_RawInstanceValue,
56
+ visit_PrimitiveInstanceValue(
57
+ valueSpecification: V1_RawPrimitiveInstanceValue,
58
58
  ): RawValueSpecification {
59
59
  const multiplicity = this.context.graph.getMultiplicity(
60
60
  valueSpecification.multiplicity.lowerBound,
61
61
  valueSpecification.multiplicity.upperBound,
62
62
  );
63
63
  const type = this.context.resolveType(valueSpecification.type);
64
- return new RawInstanceValue(type, multiplicity, valueSpecification.values);
64
+ return new RawPrimitiveInstanceValue(
65
+ type,
66
+ multiplicity,
67
+ valueSpecification.values,
68
+ );
65
69
  }
66
70
  }
@@ -26,17 +26,17 @@ import { GroupByFunctionSpecification } from '../../../../../../../metamodels/pu
26
26
  import { AggregationFunctionSpecification } from '../../../../../../../metamodels/pure/packageableElements/mapping/aggregationAware/AggregationFunctionSpecification';
27
27
  import type { V1_AggregateFunction } from '../../../../model/packageableElements/store/relational/mapping/aggregationAware/V1_AggregateFunction';
28
28
  import { V1_ProtocolToMetaModelClassMappingFirstPassBuilder } from '../V1_ProtocolToMetaModelClassMappingFirstPassBuilder';
29
- import { V1_resolvePathsInRawLambda } from './V1_ValueSpecificationPathResolver';
29
+ import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver';
30
30
 
31
31
  const buildGroupByFunction = (
32
32
  groupByFunction: V1_GroupByFunction,
33
33
  context: V1_GraphBuilderContext,
34
34
  ): GroupByFunctionSpecification => {
35
35
  const groupByFunctionSpecification = new GroupByFunctionSpecification(
36
- V1_resolvePathsInRawLambda(
37
- context,
36
+ V1_buildRawLambdaWithResolvedPaths(
38
37
  groupByFunction.groupByFn.parameters,
39
38
  groupByFunction.groupByFn.body,
39
+ context,
40
40
  ),
41
41
  );
42
42
 
@@ -47,15 +47,15 @@ const buildAggregateFunction = (
47
47
  aggregationFunction: V1_AggregateFunction,
48
48
  context: V1_GraphBuilderContext,
49
49
  ): AggregationFunctionSpecification => {
50
- const mapFn = V1_resolvePathsInRawLambda(
51
- context,
50
+ const mapFn = V1_buildRawLambdaWithResolvedPaths(
52
51
  aggregationFunction.mapFn.parameters,
53
52
  aggregationFunction.mapFn.body,
54
- );
55
- const aggregateFn = V1_resolvePathsInRawLambda(
56
53
  context,
54
+ );
55
+ const aggregateFn = V1_buildRawLambdaWithResolvedPaths(
57
56
  aggregationFunction.aggregateFn.parameters,
58
57
  aggregationFunction.aggregateFn.body,
58
+ context,
59
59
  );
60
60
  return new AggregationFunctionSpecification(mapFn, aggregateFn);
61
61
  };
@@ -38,15 +38,21 @@ import type {
38
38
  PropertyOwner,
39
39
  } from '../../../../../../../metamodels/pure/packageableElements/domain/AbstractProperty';
40
40
  import type { V1_ValueSpecification } from '../../../../model/valueSpecification/V1_ValueSpecification';
41
- import type { V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext';
41
+ import {
42
+ V1_buildFullPath,
43
+ type V1_GraphBuilderContext,
44
+ } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext';
42
45
  import type { V1_Constraint } from '../../../../model/packageableElements/domain/V1_Constraint';
43
46
  import type { V1_RawVariable } from '../../../../model/rawValueSpecification/V1_RawVariable';
44
47
  import type { V1_Property } from '../../../../model/packageableElements/domain/V1_Property';
45
48
  import type { V1_DerivedProperty } from '../../../../model/packageableElements/domain/V1_DerivedProperty';
46
49
  import type { V1_Unit } from '../../../../model/packageableElements/domain/V1_Measure';
47
50
  import type { V1_TaggedValue } from '../../../../model/packageableElements/domain/V1_TaggedValue';
48
- import { V1_resolvePathsInRawLambda } from './V1_ValueSpecificationPathResolver';
49
- import { _package_addElement } from '../../../../../../../../helpers/DomainHelper';
51
+ import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver';
52
+ import {
53
+ addElementToPackage,
54
+ getOrCreateGraphPackage,
55
+ } from '../../../../../../../../helpers/DomainHelper';
50
56
 
51
57
  export const V1_buildTaggedValue = (
52
58
  taggedValue: V1_TaggedValue,
@@ -75,19 +81,19 @@ export const V1_buildConstraint = (
75
81
  const pureConstraint = new Constraint(
76
82
  constraint.name,
77
83
  _class,
78
- V1_resolvePathsInRawLambda(
79
- context,
84
+ V1_buildRawLambdaWithResolvedPaths(
80
85
  constraint.functionDefinition.parameters,
81
86
  constraint.functionDefinition.body,
87
+ context,
82
88
  ),
83
89
  );
84
90
  pureConstraint.enforcementLevel = constraint.enforcementLevel;
85
91
  pureConstraint.externalId = constraint.externalId;
86
92
  pureConstraint.messageFunction = constraint.messageFunction
87
- ? V1_resolvePathsInRawLambda(
88
- context,
93
+ ? V1_buildRawLambdaWithResolvedPaths(
89
94
  constraint.messageFunction.parameters,
90
95
  constraint.messageFunction.body,
96
+ context,
91
97
  )
92
98
  : constraint.messageFunction;
93
99
  return pureConstraint;
@@ -133,19 +139,22 @@ export const V1_buildUnit = (
133
139
  unit.name,
134
140
  parentMeasure,
135
141
  unit.conversionFunction
136
- ? V1_resolvePathsInRawLambda(
137
- context,
142
+ ? V1_buildRawLambdaWithResolvedPaths(
138
143
  unit.conversionFunction.parameters,
139
144
  unit.conversionFunction.body,
145
+ context,
140
146
  )
141
147
  : undefined,
142
148
  );
143
- const path = currentGraph.buildPath(unit.package, unit.name);
149
+ const path = V1_buildFullPath(unit.package, unit.name);
144
150
  assertTrue(
145
151
  !currentGraph.getOwnNullableElement(path),
146
152
  `Element '${path}' already exists`,
147
153
  );
148
- _package_addElement(currentGraph.getOrCreatePackage(unit.package), pureUnit);
154
+ addElementToPackage(
155
+ getOrCreateGraphPackage(currentGraph, unit.package, undefined),
156
+ pureUnit,
157
+ );
149
158
  currentGraph.setOwnType(path, pureUnit);
150
159
  return pureUnit;
151
160
  };
@@ -218,10 +227,10 @@ export const V1_buildDerivedProperty = (
218
227
  derivedProperty.taggedValues = property.taggedValues
219
228
  .map((taggedValue) => V1_buildTaggedValue(taggedValue, context))
220
229
  .filter(isNonNullable);
221
- const rawLambda = V1_resolvePathsInRawLambda(
222
- context,
230
+ const rawLambda = V1_buildRawLambdaWithResolvedPaths(
223
231
  property.parameters,
224
232
  property.body,
233
+ context,
225
234
  );
226
235
  derivedProperty.body = rawLambda.body;
227
236
  derivedProperty.parameters = rawLambda.parameters;
@@ -64,7 +64,7 @@ import { V1_ObjectInputData } from '../../../../model/packageableElements/store/
64
64
  import { V1_FlatDataInputData } from '../../../../model/packageableElements/store/flatData/mapping/V1_FlatDataInputData';
65
65
  import type { V1_ClassMapping } from '../../../../model/packageableElements/mapping/V1_ClassMapping';
66
66
  import type { V1_MappingInclude } from '../../../../model/packageableElements/mapping/V1_MappingInclude';
67
- import { V1_resolvePathsInRawLambda } from './V1_ValueSpecificationPathResolver';
67
+ import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver';
68
68
  import { V1_RelationalInputData } from '../../../../model/packageableElements/store/relational/mapping/V1_RelationalInputData';
69
69
  import {
70
70
  getRelationalInputType,
@@ -269,10 +269,10 @@ export const V1_buildMappingTest = (
269
269
  `Mapping test 'name' field is missing or empty`,
270
270
  );
271
271
  assertNonNullable(mappingTest.query, `Mapping test 'query' field is missing`);
272
- const query = V1_resolvePathsInRawLambda(
273
- context,
272
+ const query = V1_buildRawLambdaWithResolvedPaths(
274
273
  mappingTest.query.parameters,
275
274
  mappingTest.query.body,
275
+ context,
276
276
  );
277
277
  // TODO: fix this when we support another mapping test type
278
278
  assertType(
@@ -29,7 +29,7 @@ import { V1_ProcessingMilestoning } from '../../../../model/packageableElements/
29
29
  import { ProcessingMilestoning } from '../../../../../../../metamodels/pure/packageableElements/store/relational/model/milestoning/ProcessingMilestoning';
30
30
  import type { V1_GraphBuilderContext } from '../V1_GraphBuilderContext';
31
31
  import type { StoreRelational_PureProtocolProcessorPlugin_Extension } from '../../../../../StoreRelational_PureProtocolProcessorPlugin_Extension';
32
- import { RawInstanceValue } from '../../../../../../../metamodels/pure/rawValueSpecification/RawInstanceValue';
32
+ import { RawPrimitiveInstanceValue } from '../../../../../../../metamodels/pure/rawValueSpecification/RawPrimitiveInstanceValue';
33
33
  import { V1_ProtocolToMetaModelRawValueSpecificationBuilder } from '../V1_ProtocolToMetaModelRawValueSpecificationBuilder';
34
34
 
35
35
  const buildBusinessMilesoning = (
@@ -54,7 +54,7 @@ const buildBusinessMilesoning = (
54
54
  protocol.infinityDate.accept_RawValueSpecificationVisitor(
55
55
  new V1_ProtocolToMetaModelRawValueSpecificationBuilder(context),
56
56
  ),
57
- RawInstanceValue,
57
+ RawPrimitiveInstanceValue,
58
58
  );
59
59
  }
60
60
  return metamodel;
@@ -74,7 +74,7 @@ const buildBusinessSnapshotMilestoning = (
74
74
  protocol.infinityDate.accept_RawValueSpecificationVisitor(
75
75
  new V1_ProtocolToMetaModelRawValueSpecificationBuilder(context),
76
76
  ),
77
- RawInstanceValue,
77
+ RawPrimitiveInstanceValue,
78
78
  );
79
79
  }
80
80
  return metamodel;
@@ -102,7 +102,7 @@ const buildProcessingMilestoning = (
102
102
  protocol.infinityDate.accept_RawValueSpecificationVisitor(
103
103
  new V1_ProtocolToMetaModelRawValueSpecificationBuilder(context),
104
104
  ),
105
- RawInstanceValue,
105
+ RawPrimitiveInstanceValue,
106
106
  );
107
107
  }
108
108
  return metamodel;
@@ -27,7 +27,6 @@ import {
27
27
  DefaultCodeSection,
28
28
  } from '../../../../../../../metamodels/pure/packageableElements/section/Section';
29
29
  import type { SectionIndex } from '../../../../../../../metamodels/pure/packageableElements/section/SectionIndex';
30
- import { Package } from '../../../../../../../metamodels/pure/packageableElements/domain/Package';
31
30
  import { PackageableElementExplicitReference } from '../../../../../../../metamodels/pure/packageableElements/PackageableElementReference';
32
31
  import type { V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext';
33
32
  import {
@@ -37,42 +36,43 @@ import {
37
36
  } from '../../../../model/packageableElements/section/V1_Section';
38
37
 
39
38
  export const V1_buildSection = (
40
- section: V1_Section,
39
+ protocol: V1_Section,
41
40
  context: V1_GraphBuilderContext,
42
41
  parentSectionIndex: SectionIndex,
43
42
  ): Section => {
44
- let sec: Section;
45
- if (section instanceof V1_ImportAwareCodeSection) {
43
+ let section: Section;
44
+
45
+ if (protocol instanceof V1_ImportAwareCodeSection) {
46
46
  const importAwareSection = new ImportAwareCodeSection(
47
- section.parserName,
47
+ protocol.parserName,
48
48
  parentSectionIndex,
49
49
  );
50
- importAwareSection.imports = uniq(section.imports)
50
+ importAwareSection.imports = uniq(protocol.imports)
51
51
  .map((_package) => {
52
- const element = context.graph.getNullableElement(_package, true);
53
- if (!(element instanceof Package)) {
52
+ const pkg = context.graph.getNullablePackage(_package);
53
+ if (!pkg) {
54
54
  context.log.warn(
55
55
  LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE),
56
56
  `Can't find section import package '${_package}'`,
57
57
  );
58
+ return undefined;
58
59
  }
59
- return element instanceof Package
60
- ? // NOTE: here we use explicit because this information from section
61
- // must always be the package full path
62
- PackageableElementExplicitReference.create(element)
63
- : undefined;
60
+ // NOTE: here we use explicit because this information from section
61
+ // must always be the package full path
62
+ return PackageableElementExplicitReference.create(pkg);
64
63
  })
65
64
  .filter(isNonNullable);
66
- sec = importAwareSection;
67
- } else if (section instanceof V1_DefaultCodeSection) {
68
- sec = new DefaultCodeSection(section.parserName, parentSectionIndex);
65
+ section = importAwareSection;
66
+ } else if (protocol instanceof V1_DefaultCodeSection) {
67
+ section = new DefaultCodeSection(protocol.parserName, parentSectionIndex);
69
68
  } else {
70
- throw new UnsupportedOperationError(`Can't build section`, section);
69
+ throw new UnsupportedOperationError(`Can't build section`, protocol);
71
70
  }
71
+
72
72
  // NOTE: we ignore not-found element path and duplicated import packages, but we will prune them as well
73
- sec.elements = uniq(section.elements)
73
+ section.elements = uniq(protocol.elements)
74
74
  .map((elementPath) => {
75
- const element = context.graph.getNullableElement(elementPath);
75
+ const element = context.graph.getOwnNullableElement(elementPath);
76
76
  if (!element) {
77
77
  context.log.warn(
78
78
  LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE),
@@ -80,18 +80,18 @@ export const V1_buildSection = (
80
80
  );
81
81
  return element;
82
82
  }
83
- if (context.graph.getOwnSection(element.path)) {
83
+ if (context.graph.getOwnNullableSection(element.path)) {
84
84
  context.log.warn(
85
85
  LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE),
86
86
  `Found duplicated section element '${elementPath}'`,
87
87
  );
88
88
  } else {
89
- context.graph.setOwnSection(element.path, sec);
89
+ context.graph.setOwnSection(element.path, section);
90
90
  }
91
91
  // NOTE: here we use explicit because this information from section
92
92
  // must always be the full element path
93
93
  return PackageableElementExplicitReference.create(element);
94
94
  })
95
95
  .filter(isNonNullable);
96
- return sec;
96
+ return section;
97
97
  };
@@ -64,7 +64,7 @@ import {
64
64
  V1_PackageableElementPointer,
65
65
  V1_PackageableElementPointerType,
66
66
  } from '../../../../model/packageableElements/V1_PackageableElement';
67
- import { V1_resolvePathsInRawLambda } from './V1_ValueSpecificationPathResolver';
67
+ import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver';
68
68
  import { GraphBuilderError } from '../../../../../../../../graphManager/GraphManagerUtils';
69
69
 
70
70
  export const V1_buildServiceTest = (
@@ -81,10 +81,10 @@ export const V1_buildServiceTest = (
81
81
  const singleTest = new SingleExecutionTest(parentService, serviceTest.data);
82
82
  singleTest.asserts = serviceTest.asserts.map((assert) => {
83
83
  const testContainer = new TestContainer(
84
- V1_resolvePathsInRawLambda(
85
- context,
84
+ V1_buildRawLambdaWithResolvedPaths(
86
85
  assert.assert.parameters,
87
86
  assert.assert.body,
87
+ context,
88
88
  ),
89
89
  singleTest,
90
90
  );
@@ -129,10 +129,10 @@ export const V1_buildServiceTest = (
129
129
  );
130
130
  keyedTest.asserts = test.asserts.map((assert) => {
131
131
  const testContaier = new TestContainer(
132
- V1_resolvePathsInRawLambda(
133
- context,
132
+ V1_buildRawLambdaWithResolvedPaths(
134
133
  assert.assert.parameters,
135
134
  assert.assert.body,
135
+ context,
136
136
  ),
137
137
  keyedTest,
138
138
  );
@@ -248,10 +248,10 @@ export const V1_buildServiceExecution = (
248
248
  `Service Pure execution 'func' field is missing`,
249
249
  );
250
250
  return new PureSingleExecution(
251
- V1_resolvePathsInRawLambda(
252
- context,
251
+ V1_buildRawLambdaWithResolvedPaths(
253
252
  serviceExecution.func.parameters,
254
253
  serviceExecution.func.body,
254
+ context,
255
255
  ),
256
256
  parentService,
257
257
  context.resolveMapping(serviceExecution.mapping),
@@ -275,10 +275,10 @@ export const V1_buildServiceExecution = (
275
275
  );
276
276
  const execution = new PureMultiExecution(
277
277
  serviceExecution.executionKey,
278
- V1_resolvePathsInRawLambda(
279
- context,
278
+ V1_buildRawLambdaWithResolvedPaths(
280
279
  serviceExecution.func.parameters,
281
280
  serviceExecution.func.body,
281
+ context,
282
282
  ),
283
283
  parentService,
284
284
  );
@@ -80,7 +80,12 @@ class V1_ValueSpecificationPathResolver
80
80
  implements V1_ValueSpecificationVisitor<V1_ValueSpecification>
81
81
  {
82
82
  context: V1_GraphBuilderContext;
83
- hasModifiedLambda = false;
83
+ /**
84
+ * This flag is an optimization we do so the consumer can tell if any modification to the protocol
85
+ * models happened as part of path resolution.
86
+ */
87
+ hasModified = false;
88
+
84
89
  constructor(context: V1_GraphBuilderContext) {
85
90
  this.context = context;
86
91
  }
@@ -323,47 +328,50 @@ function V1_resolveElementPath(
323
328
  resolver: V1_ValueSpecificationPathResolver,
324
329
  ): string {
325
330
  const resolvedPath = resolverFunc(path).value.path;
326
- // Note: this handles any system elements + primitive types already resolved. i.e String, ModelStore
327
331
  if (resolvedPath !== path) {
328
- resolver.hasModifiedLambda = true;
332
+ resolver.hasModified = true;
329
333
  }
330
334
  return resolvedPath;
331
335
  }
332
336
 
333
337
  /**
334
- * Method resolves element paths inside RawLambda
338
+ * Method resolves element paths inside raw lambda.
339
+ *
335
340
  * To do this we take RawLamba (body: object, parameters: obect) convert it to Lambda and
336
- * resolve where possible (where an element path is defined as part of the value specification flow.
337
- * When completed we convert it back to RawLambda.
338
- * This method ignores any function matching therefore if any time we encounter an error resolving an element path
339
- * inside the value specification, we continue on the graph unchanging the value spec.
340
- * We use this new resolved lamba if we have changed any element path (noted by the hasModifiedLambda flag)
341
- * The whole flow is wrapper around a try/catch and we use the orginal lambda if any errors arise from this flow.
341
+ * resolve paths using section index where possible (wherever an element path is defined as
342
+ * part of the value specification flow. When completed we convert it back to raw lambda.
343
+ *
344
+ * This method ignores any function matching therefore if any time we encounter an error resolving an
345
+ * element path inside the value specification, we continue on the graph unchanging the value spec.
346
+ * We use this new resolved lambda if we have changed any element path.
347
+ *
348
+ * NOTE: Here we fail silently, and we would use the orginal lambda if any errors arise from this procedure.
342
349
  */
343
350
  const V1_resolveLambdaElementPaths = (
344
- _context: V1_GraphBuilderContext,
345
351
  rawLambdaProtocol: V1_RawLambda,
352
+ context: V1_GraphBuilderContext,
346
353
  ): V1_RawLambda => {
347
354
  try {
348
- // Convert raw lambda to lambda
355
+ // Convert raw lambda to V1 lambda
349
356
  const lambdaProtocol = V1_deserializeValueSpecification(
350
357
  V1_serializeRawValueSpecification(rawLambdaProtocol),
351
358
  );
352
- // Resolve paths in lambda
353
- const resolver = new V1_ValueSpecificationPathResolver(_context);
359
+ // Resolve paths in V1 lambda
360
+ const resolver = new V1_ValueSpecificationPathResolver(context);
354
361
  lambdaProtocol.accept_ValueSpecificationVisitor(resolver);
355
- // if the resolver has modified lambda then convert lambda back to raw lambda and return
356
- // else return orginal lambda
357
- return resolver.hasModifiedLambda
362
+ // if the resolver has modified the lambda then convert lambda back to raw lambda and return
363
+ // else return orginal lambda (this check saves us the work to convert between
364
+ // raw protocol and protocol forms)
365
+ return resolver.hasModified
358
366
  ? (V1_deserializeRawValueSpecification(
359
367
  V1_serializeValueSpecification(lambdaProtocol),
360
368
  ) as V1_RawLambda)
361
369
  : rawLambdaProtocol;
362
370
  } catch (error) {
363
371
  assertErrorThrown(error);
364
- // return orginal lambda if anything goes wrong
372
+ // silently return orginal lambda if anything goes wrong
365
373
  error.message = `Can't resolve element paths for lambda:\n${error.message}`;
366
- _context.log.warn(
374
+ context.log.warn(
367
375
  LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE),
368
376
  error,
369
377
  );
@@ -371,20 +379,27 @@ const V1_resolveLambdaElementPaths = (
371
379
  }
372
380
  };
373
381
 
374
- export const V1_resolvePathsInRawLambda = (
375
- _context: V1_GraphBuilderContext,
376
- parameters?: object,
377
- body?: object,
382
+ /**
383
+ * This method will traverse through the lambda protocol model tree
384
+ * and **with best effort** try to rewrite the lambda so all shortened
385
+ * paths inside the lambda are fully resolved.
386
+ *
387
+ * This is needed since apps like `Studio` leave value specifications raw/unprocessed
388
+ * when building the graph, hence any modification to section index or imports
389
+ * will not apply to the raw value specification (for the contrast, see the
390
+ * behavior of references)
391
+ */
392
+ export const V1_buildRawLambdaWithResolvedPaths = (
393
+ parameters: object | undefined,
394
+ body: object | undefined,
395
+ context: V1_GraphBuilderContext,
378
396
  ): RawLambda => {
379
397
  const rawLambda = new V1_RawLambda();
380
398
  rawLambda.parameters = parameters ?? [];
381
399
  rawLambda.body = body ?? [];
382
- const resolverEnabled =
383
- !_context.options?.TEMPORARY__disableRawLambdaResolver &&
384
- !_context.options?.TEMPORARY__keepSectionIndex;
385
400
  let resolved = rawLambda;
386
- if (resolverEnabled) {
387
- resolved = V1_resolveLambdaElementPaths(_context, rawLambda);
401
+ if (context.enableRawLambdaAutoPathResolution) {
402
+ resolved = V1_resolveLambdaElementPaths(rawLambda, context);
388
403
  }
389
404
  return new RawLambda(resolved.parameters, resolved.body);
390
405
  };