@finos/legend-graph 10.1.2 → 11.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 (338) hide show
  1. package/lib/DSLData_Exports.d.ts +1 -1
  2. package/lib/DSLData_Exports.d.ts.map +1 -1
  3. package/lib/DSLData_Exports.js +1 -1
  4. package/lib/DSLData_Exports.js.map +1 -1
  5. package/lib/DSLMapping_Exports.d.ts +6 -2
  6. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  7. package/lib/DSLMapping_Exports.js +6 -2
  8. package/lib/DSLMapping_Exports.js.map +1 -1
  9. package/lib/GraphManagerState.d.ts +21 -18
  10. package/lib/GraphManagerState.d.ts.map +1 -1
  11. package/lib/GraphManagerState.js +68 -59
  12. package/lib/GraphManagerState.js.map +1 -1
  13. package/lib/GraphManagerTestUtils.js.map +1 -1
  14. package/lib/MetaModelConst.d.ts +44 -42
  15. package/lib/MetaModelConst.d.ts.map +1 -1
  16. package/lib/MetaModelConst.js +52 -50
  17. package/lib/MetaModelConst.js.map +1 -1
  18. package/lib/graph/BasicModel.d.ts +1 -1
  19. package/lib/graph/BasicModel.d.ts.map +1 -1
  20. package/lib/graph/BasicModel.js +4 -4
  21. package/lib/graph/BasicModel.js.map +1 -1
  22. package/lib/graph/DependencyManager.d.ts +1 -1
  23. package/lib/graph/DependencyManager.d.ts.map +1 -1
  24. package/lib/graph/DependencyManager.js +2 -2
  25. package/lib/graph/DependencyManager.js.map +1 -1
  26. package/lib/graph/PureModel.d.ts +8 -2
  27. package/lib/graph/PureModel.d.ts.map +1 -1
  28. package/lib/graph/PureModel.js +8 -2
  29. package/lib/graph/PureModel.js.map +1 -1
  30. package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -16
  31. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  32. package/lib/graphManager/AbstractPureGraphManager.js +15 -0
  33. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  34. package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
  35. package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
  36. package/lib/graphManager/GraphManagerEvent.js +1 -0
  37. package/lib/graphManager/GraphManagerEvent.js.map +1 -1
  38. package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
  39. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
  40. package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
  41. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
  42. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
  43. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
  44. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
  45. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
  46. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
  47. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
  48. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
  49. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
  50. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  51. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
  52. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  53. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
  54. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  55. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
  56. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
  57. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
  58. package/lib/helpers/DSLMapping_Helper.js +1 -1
  59. package/lib/helpers/DSLMapping_Helper.js.map +1 -1
  60. package/lib/helpers/DomainHelper.d.ts +2 -0
  61. package/lib/helpers/DomainHelper.d.ts.map +1 -1
  62. package/lib/helpers/DomainHelper.js +5 -1
  63. package/lib/helpers/DomainHelper.js.map +1 -1
  64. package/lib/index.d.ts +3 -9
  65. package/lib/index.d.ts.map +1 -1
  66. package/lib/index.js +3 -9
  67. package/lib/index.js.map +1 -1
  68. package/lib/models/metamodels/pure/Reference.d.ts +16 -19
  69. package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
  70. package/lib/models/metamodels/pure/Reference.js +14 -19
  71. package/lib/models/metamodels/pure/Reference.js.map +1 -1
  72. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
  73. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  74. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
  75. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  76. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
  77. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
  78. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
  79. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
  80. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
  81. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
  83. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
  85. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
  87. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
  89. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
  91. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
  93. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
  95. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
  97. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
  99. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
  101. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
  103. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
  105. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  106. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
  107. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  108. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
  109. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
  111. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
  113. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  115. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
  116. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  117. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
  118. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  119. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
  120. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
  121. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
  122. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
  123. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  124. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
  125. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  126. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
  127. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  128. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  129. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -17
  130. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  131. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +153 -146
  132. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  133. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -2
  134. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  135. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -3
  136. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  137. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -2
  138. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  139. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -52
  140. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  141. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
  142. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
  143. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
  144. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
  145. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
  146. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
  147. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
  148. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
  149. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
  150. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
  152. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
  154. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
  155. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
  156. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  157. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
  158. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  159. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
  160. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  161. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
  162. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
  163. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
  164. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
  165. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
  166. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
  167. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
  168. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
  169. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
  170. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
  171. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
  172. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
  173. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
  174. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
  175. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
  176. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
  177. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
  178. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
  179. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
  180. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
  181. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
  182. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
  183. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
  184. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
  185. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
  186. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
  187. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
  188. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
  189. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  190. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
  191. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  192. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
  193. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
  194. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
  195. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
  196. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
  197. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
  198. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
  199. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
  200. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
  201. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
  202. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
  203. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
  204. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
  205. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
  206. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
  207. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
  208. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
  209. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
  210. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  211. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
  212. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  213. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
  214. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  215. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
  216. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  217. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
  218. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  219. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  220. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
  221. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  222. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
  223. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
  224. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
  225. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
  226. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
  227. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
  228. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
  229. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
  230. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
  231. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
  232. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
  233. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
  234. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  235. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
  236. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  243. package/lib/package.json +5 -5
  244. package/package.json +8 -8
  245. package/src/DSLData_Exports.ts +1 -1
  246. package/src/DSLMapping_Exports.ts +20 -6
  247. package/src/GraphManagerState.ts +104 -91
  248. package/src/GraphManagerTestUtils.tsx +4 -4
  249. package/src/MetaModelConst.ts +59 -56
  250. package/src/graph/BasicModel.ts +4 -4
  251. package/src/graph/DependencyManager.ts +2 -2
  252. package/src/graph/PureModel.ts +10 -2
  253. package/src/graphManager/AbstractPureGraphManager.ts +54 -31
  254. package/src/graphManager/GraphManagerEvent.ts +1 -0
  255. package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
  256. package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
  257. package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
  258. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
  259. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
  260. package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
  261. package/src/helpers/DSLMapping_Helper.ts +1 -1
  262. package/src/helpers/DomainHelper.ts +14 -0
  263. package/src/index.ts +6 -17
  264. package/src/models/metamodels/pure/Reference.ts +17 -26
  265. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
  266. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
  267. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
  268. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
  269. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
  270. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
  271. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
  272. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
  273. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
  274. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
  275. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
  276. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
  277. package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
  278. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
  279. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
  280. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +243 -232
  281. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -2
  282. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -32
  283. package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
  284. package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
  285. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
  286. package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
  287. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
  288. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
  289. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
  290. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
  291. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
  292. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
  293. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
  294. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
  295. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
  296. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
  297. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
  298. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
  299. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
  300. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
  301. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
  302. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
  303. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
  304. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
  305. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
  306. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
  307. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
  308. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
  309. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
  310. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
  311. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
  312. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
  313. package/tsconfig.json +13 -12
  314. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
  315. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
  316. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
  317. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
  318. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
  319. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
  320. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
  321. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
  322. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
  323. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
  324. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
  325. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
  326. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
  327. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
  328. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
  329. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
  330. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
  331. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
  332. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
  333. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
  334. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
  335. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
  336. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
  337. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
  338. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.js';
17
- import { CORE_PURE_PATH, ELEMENT_PATH_DELIMITER, PackageableElementPointerType, } from '../../../../MetaModelConst.js';
17
+ import { CORE_PURE_PATH, PackageableElementPointerType, } from '../../../../MetaModelConst.js';
18
18
  import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertTrue, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, assertType, uniq, IllegalStateError, } from '@finos/legend-shared';
19
19
  import { AbstractPureGraphManager, } from '../../../../graphManager/AbstractPureGraphManager.js';
20
20
  import { PureModel, } from '../../../../graph/PureModel.js';
@@ -28,12 +28,12 @@ import { V1_serializePackageableElement } from './transformation/pureProtocol/V1
28
28
  import { V1_entitiesToPureModelContextData, V1_serializePureModelContext, V1_deserializePureModelContextData, V1_setupPureModelContextDataSerialization, } from './transformation/pureProtocol/V1_PureProtocolSerialization.js';
29
29
  import { V1_PureModelContextData } from './model/context/V1_PureModelContextData.js';
30
30
  import { V1_PackageableElementPointer, } from './model/packageableElements/V1_PackageableElement.js';
31
- import { V1_ProtocolToMetaModelGraphFirstPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js';
32
- import { V1_ProtocolToMetaModelGraphSecondPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js';
33
- import { V1_ProtocolToMetaModelGraphThirdPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js';
34
- import { V1_ProtocolToMetaModelGraphFourthPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js';
35
- import { V1_ProtocolToMetaModelGraphFifthPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js';
36
- import { V1_ProtocolToMetaModelRawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js';
31
+ import { V1_ElementFirstPassBuilder } from './transformation/pureGraph/to/V1_ElementFirstPassBuilder.js';
32
+ import { V1_ElementSecondPassBuilder } from './transformation/pureGraph/to/V1_ElementSecondPassBuilder.js';
33
+ import { V1_ElementThirdPassBuilder } from './transformation/pureGraph/to/V1_ElementThirdPassBuilder.js';
34
+ import { V1_ElementFourthPassBuilder } from './transformation/pureGraph/to/V1_ElementFourthPassBuilder.js';
35
+ import { V1_ElementFifthPassBuilder } from './transformation/pureGraph/to/V1_ElementFifthPassBuilder.js';
36
+ import { V1_RawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js';
37
37
  import { V1_RawBaseExecutionContext } from './model/rawValueSpecification/V1_RawExecutionContext.js';
38
38
  import { V1_GraphBuilderContextBuilder, } from './transformation/pureGraph/to/V1_GraphBuilderContext.js';
39
39
  import { V1_PureModelContextPointer } from './model/context/V1_PureModelContextPointer.js';
@@ -87,25 +87,9 @@ import { TestFailed, TestError, } from '../../../metamodels/pure/test/result/Tes
87
87
  import { getNullableIDFromTestable, getNullableTestable, } from '../../../../helpers/Testable_Helper.js';
88
88
  import { TestSuite, } from '../../../metamodels/pure/test/Test.js';
89
89
  import { pruneSourceInformation } from '../../../../MetaModelUtils.js';
90
- import { V1_buildModelCoverageAnalysisResult, V1_MappingModelCoverageAnalysisInput, V1_MappingModelCoverageAnalysisResult, } from './engine/analytics/V1_MappingAnalytics.js';
90
+ import { V1_buildModelCoverageAnalysisResult, V1_MappingModelCoverageAnalysisInput, V1_MappingModelCoverageAnalysisResult, } from './engine/analytics/V1_MappingModelCoverageAnalysis.js';
91
91
  import { deserialize } from 'serializr';
92
- const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
93
- const getMultiplicitySuffix = (multiplicity) => {
94
- if (multiplicity.lowerBound === multiplicity.upperBound) {
95
- return multiplicity.lowerBound.toString();
96
- }
97
- else if (multiplicity.lowerBound === 0 &&
98
- multiplicity.upperBound === undefined) {
99
- return V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE;
100
- }
101
- return `$${multiplicity.lowerBound}_${multiplicity.upperBound ?? V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE}$`;
102
- };
103
- const getVariableSuffix = (variable) => `${variable.class
104
- .split(ELEMENT_PATH_DELIMITER)
105
- .pop()}_${getMultiplicitySuffix(variable.multiplicity)}_`;
106
- const getFunctionSuffix = (fn) => `${fn.parameters.map((p) => getVariableSuffix(p)).join('_')}_${fn.returnType
107
- .split(ELEMENT_PATH_DELIMITER)
108
- .pop()}_${getMultiplicitySuffix(fn.returnMultiplicity)}_`;
92
+ import { V1_getFunctionSuffix } from './helper/V1_DomainHelper.js';
109
93
  class V1_PureModelContextDataIndex {
110
94
  elements = [];
111
95
  nativeElements = [];
@@ -135,7 +119,7 @@ const mergePureModelContextData = (...data) => {
135
119
  }
136
120
  return mergedData;
137
121
  };
138
- const indexPureModelContextData = (report, data, extensions) => {
122
+ export const V1_indexPureModelContextData = (report, data, extensions) => {
139
123
  const index = new V1_PureModelContextDataIndex();
140
124
  index.elements = data.elements;
141
125
  const otherElementsByClass = new Map();
@@ -288,7 +272,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
288
272
  const buildInputs = [
289
273
  {
290
274
  model: systemModel,
291
- data: indexPureModelContextData(report, systemData, this.graphBuilderExtensions),
275
+ data: V1_indexPureModelContextData(report, systemData, this.graphBuilderExtensions),
292
276
  },
293
277
  ];
294
278
  // build
@@ -310,7 +294,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
310
294
  buildState.setMessage(undefined);
311
295
  }
312
296
  }
313
- async buildDependencies(coreModel, systemModel, dependencyManager, dependencyEntitiesMap, buildState, options) {
297
+ async buildDependencies(coreModel, systemModel, dependencyManager, dependencyEntitiesIndex, buildState, options) {
314
298
  const stopWatch = new StopWatch();
315
299
  const report = new GraphBuilderReport();
316
300
  buildState.reset();
@@ -318,25 +302,25 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
318
302
  const graph = new PureModel(coreModel, systemModel, this.pluginManager.getPureGraphPlugins());
319
303
  graph.dependencyManager = dependencyManager;
320
304
  try {
321
- dependencyManager.initialize(dependencyEntitiesMap);
305
+ dependencyManager.initialize(dependencyEntitiesIndex);
322
306
  // deserialize
323
307
  buildState.setMessage(`Partitioning and deserializing elements...`);
324
- const dependencyDataMap = new Map();
325
- await Promise.all(Array.from(dependencyEntitiesMap.entries()).map(([dependencyKey, entities]) => {
308
+ const dependencyGraphDataIndex = new Map();
309
+ await Promise.all(Array.from(dependencyEntitiesIndex.entries()).map(([dependencyKey, entities]) => {
326
310
  const projectModelData = new V1_PureModelContextData();
327
- dependencyDataMap.set(dependencyKey, projectModelData);
311
+ dependencyGraphDataIndex.set(dependencyKey, projectModelData);
328
312
  return V1_entitiesToPureModelContextData(entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
329
313
  }));
330
314
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
331
315
  // prepare build inputs
332
- const buildInputs = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
316
+ const buildInputs = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
333
317
  model: graph.dependencyManager.getModel(dependencyKey),
334
- data: indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
318
+ data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
335
319
  }));
336
320
  // build
337
321
  await this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, buildState, options);
338
322
  buildState.pass();
339
- report.otherStats.projectCount = dependencyEntitiesMap.size;
323
+ report.otherStats.projectCount = dependencyEntitiesIndex.size;
340
324
  report.timings = {
341
325
  ...Object.fromEntries(stopWatch.records),
342
326
  [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
@@ -367,7 +351,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
367
351
  const buildInputs = [
368
352
  {
369
353
  model: graph,
370
- data: indexPureModelContextData(report, data, this.graphBuilderExtensions),
354
+ data: V1_indexPureModelContextData(report, data, this.graphBuilderExtensions),
371
355
  },
372
356
  ];
373
357
  // build
@@ -411,22 +395,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
411
395
  try {
412
396
  // deserialize
413
397
  buildState.setMessage(`Deserializing elements...`);
414
- const generatedDataMap = new Map();
398
+ const generationGraphDataIndex = new Map();
415
399
  await Promise.all(Array.from(generatedEntities.entries()).map(([generationParentPath, entities]) => {
416
400
  const generatedData = new V1_PureModelContextData();
417
- generatedDataMap.set(generationParentPath, generatedData);
401
+ generationGraphDataIndex.set(generationParentPath, generatedData);
418
402
  return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins());
419
403
  }));
420
404
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
421
405
  // prepare build inputs
422
- const buildInputs = Array.from(generatedDataMap.entries()).map(([generationParentPath, generatedData]) => ({
406
+ const buildInputs = Array.from(generationGraphDataIndex.entries()).map(([generationParentPath, generatedData]) => ({
423
407
  model: generatedModel,
424
- data: indexPureModelContextData(report, generatedData, this.graphBuilderExtensions),
408
+ data: V1_indexPureModelContextData(report, generatedData, this.graphBuilderExtensions),
425
409
  }));
426
410
  // build
427
411
  await this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, buildState, options);
428
412
  buildState.pass();
429
- report.otherStats.generationCount = generatedDataMap.size;
413
+ report.otherStats.generationCount = generationGraphDataIndex.size;
430
414
  report.timings = {
431
415
  ...Object.fromEntries(stopWatch.records),
432
416
  [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
@@ -512,63 +496,63 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
512
496
  await Promise.all(inputs.flatMap(async (input) => {
513
497
  // create the package cache
514
498
  const packageCache = new Map();
515
- await Promise.all(input.data.nativeElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache))));
516
- await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.flatMap(async (builder) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache)))));
499
+ await Promise.all(input.data.nativeElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache))));
500
+ await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.flatMap(async (builder) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache)))));
517
501
  }));
518
502
  }
519
503
  async buildTypes(graph, inputs, options) {
520
504
  // Second pass
521
- await Promise.all(inputs.flatMap((input) => input.data.profiles.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
522
- await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
523
- await Promise.all(inputs.flatMap((input) => input.data.enumerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
524
- await Promise.all(inputs.flatMap((input) => input.data.measures.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
525
- await Promise.all(inputs.flatMap((input) => input.data.functions.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
505
+ await Promise.all(inputs.flatMap((input) => input.data.profiles.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
506
+ await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
507
+ await Promise.all(inputs.flatMap((input) => input.data.enumerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
508
+ await Promise.all(inputs.flatMap((input) => input.data.measures.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
509
+ await Promise.all(inputs.flatMap((input) => input.data.functions.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
526
510
  // Third pass
527
- await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
528
- await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
511
+ await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
512
+ await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
529
513
  // Fourth Pass
530
- await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
531
- await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
514
+ await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
515
+ await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
532
516
  // Fifth pass
533
- await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
517
+ await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
534
518
  }
535
519
  async buildStores(graph, inputs, options) {
536
- await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
537
- await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
538
- await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
539
- await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
520
+ await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
521
+ await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
522
+ await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
523
+ await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
540
524
  }
541
525
  async buildMappings(graph, inputs, options) {
542
- await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
543
- await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
544
- await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
526
+ await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
527
+ await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
528
+ await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
545
529
  }
546
530
  async buildConnectionsAndRuntimes(graph, inputs, options) {
547
531
  // NOTE: connections must be built before runtimes
548
- await Promise.all(inputs.flatMap((input) => input.data.connections.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
549
- await Promise.all(inputs.flatMap((input) => input.data.runtimes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
532
+ await Promise.all(inputs.flatMap((input) => input.data.connections.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
533
+ await Promise.all(inputs.flatMap((input) => input.data.runtimes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
550
534
  }
551
535
  async buildServices(graph, inputs, options) {
552
- await Promise.all(inputs.flatMap((input) => input.data.services.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
536
+ await Promise.all(inputs.flatMap((input) => input.data.services.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
553
537
  }
554
538
  async buildDataElements(graph, inputs, options) {
555
- await Promise.all(inputs.flatMap((input) => input.data.dataElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
539
+ await Promise.all(inputs.flatMap((input) => input.data.dataElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
556
540
  }
557
541
  async buildFileGenerations(graph, inputs, options) {
558
- await Promise.all(inputs.flatMap((input) => input.data.fileGenerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
542
+ await Promise.all(inputs.flatMap((input) => input.data.fileGenerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
559
543
  }
560
544
  async buildGenerationSpecifications(graph, inputs, options) {
561
- await Promise.all(inputs.flatMap((input) => input.data.generationSpecifications.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
545
+ await Promise.all(inputs.flatMap((input) => input.data.generationSpecifications.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
562
546
  }
563
547
  async buildSectionIndices(graph, inputs, options) {
564
- await Promise.all(inputs.flatMap((input) => input.data.sectionIndices.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
548
+ await Promise.all(inputs.flatMap((input) => input.data.sectionIndices.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
565
549
  }
566
550
  async buildOtherElements(graph, inputs, options) {
567
551
  await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.map(async (builder) => {
568
- await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
569
- await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
570
- await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
571
- await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ProtocolToMetaModelGraphFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
552
+ await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
553
+ await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
554
+ await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
555
+ await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
572
556
  }));
573
557
  }
574
558
  visitWithGraphBuilderErrorHandling(element, visitor) {
@@ -602,8 +586,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
602
586
  !(el instanceof V1_SectionIndex));
603
587
  return this.pureModelContextDataToEntities(pmcd);
604
588
  }
605
- async pureCodeToLambda(lambda, lambdaId) {
606
- const result = await this.engine.transformCodeToLambda(lambda, lambdaId);
589
+ async pureCodeToLambda(lambda, lambdaId, options) {
590
+ const result = await this.engine.transformCodeToLambda(lambda, lambdaId, options);
607
591
  return new RawLambda(result.parameters, result.body);
608
592
  }
609
593
  async lambdaToPureCode(lambda, pretty) {
@@ -754,7 +738,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
754
738
  const json = this.serializeValueSpecification(valueSpecification);
755
739
  // deserialize json and builds metamodal raw value spec
756
740
  const rawValueSpecification = V1_deserializeRawValueSpecification(json);
757
- return rawValueSpecification.accept_RawValueSpecificationVisitor(new V1_ProtocolToMetaModelRawValueSpecificationBuilder(new V1_GraphBuilderContextBuilder(graph, graph, this.graphBuilderExtensions, this.log).build()));
741
+ return rawValueSpecification.accept_RawValueSpecificationVisitor(new V1_RawValueSpecificationBuilder(new V1_GraphBuilderContextBuilder(graph, graph, this.graphBuilderExtensions, this.log).build()));
758
742
  }
759
743
  serializeRawValueSpecification(metamodel) {
760
744
  return V1_serializeRawValueSpecification(metamodel.accept_RawValueSpecificationVisitor(new V1_RawValueSpecificationTransformer(new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build())));
@@ -844,20 +828,20 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
844
828
  executeInput.context = new V1_RawBaseExecutionContext(); // TODO: potentially need to support more types
845
829
  return executeInput;
846
830
  };
847
- async executeMapping(graph, mapping, lambda, runtime, options) {
831
+ async executeMapping(lambda, mapping, runtime, graph, options) {
848
832
  return V1_buildExecutionResult(await this.engine.executeMapping(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION), options));
849
833
  }
850
- generateExecuteTestData(graph, mapping, lambda, runtime, parameters, options) {
834
+ generateExecuteTestData(lambda, parameters, mapping, runtime, graph, options) {
851
835
  const testDataGenerationExecuteInput = new V1_TestDataGenerationExecutionInput();
852
836
  this.buildExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION, testDataGenerationExecuteInput);
853
837
  testDataGenerationExecuteInput.parameters = parameters;
854
838
  testDataGenerationExecuteInput.hashStrings = Boolean(options?.anonymizeGeneratedData);
855
839
  return this.engine.generateExecuteTestData(testDataGenerationExecuteInput);
856
840
  }
857
- generateExecutionPlan(graph, mapping, lambda, runtime) {
841
+ generateExecutionPlan(lambda, mapping, runtime, graph) {
858
842
  return this.engine.generateExecutionPlan(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION));
859
843
  }
860
- async debugExecutionPlanGeneration(graph, mapping, lambda, runtime) {
844
+ async debugExecutionPlanGeneration(lambda, mapping, runtime, graph) {
861
845
  const result = await this.engine.debugExecutionPlanGeneration(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION));
862
846
  return {
863
847
  plan: result.plan,
@@ -874,7 +858,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
874
858
  return V1_serializeExecutionNode(V1_transformExecutionNode(executionNode, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build()));
875
859
  }
876
860
  // --------------------------------------------- Service ---------------------------------------------
877
- async registerService(graph, service, groupdId, artifactId, server, executionMode, version) {
861
+ async registerService(service, graph, groupId, artifactId, version, server, executionMode) {
878
862
  const serverServiceInfo = await this.engine.getServerServiceInfo();
879
863
  // input
880
864
  let input;
@@ -887,7 +871,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
887
871
  break;
888
872
  }
889
873
  case ServiceExecutionMode.SEMI_INTERACTIVE: {
890
- const sdlcInfo = new V1_AlloySDLC(groupdId, artifactId, version);
874
+ const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
891
875
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
892
876
  // data
893
877
  const data = new V1_PureModelContextData();
@@ -914,7 +898,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
914
898
  break;
915
899
  }
916
900
  case ServiceExecutionMode.PROD: {
917
- const sdlcInfo = new V1_AlloySDLC(groupdId, artifactId, version);
901
+ const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
918
902
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
919
903
  sdlcInfo.packageableElementPointers = [
920
904
  new V1_PackageableElementPointer(PackageableElementPointerType.SERVICE, service.path),
@@ -946,46 +930,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
946
930
  async getLightQuery(queryId) {
947
931
  return V1_buildLightQuery(await this.engine.getQuery(queryId), this.engine.getCurrentUserId());
948
932
  }
949
- // TODO: we could potentially reshape this method to build light graph with just indexing
950
- // and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
951
- // return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
952
- async indexEntitiesWithDependencyIntoGraph(graph, _entities, dependencyEntities, entityFilterFunc) {
953
- let entities = _entities;
954
- graph.dependencyManager.initialize(dependencyEntities);
955
- if (entityFilterFunc) {
956
- Array.from(dependencyEntities.entries()).forEach(([dependencyKey, dEntities]) => {
957
- dependencyEntities.set(dependencyKey, dEntities.filter(entityFilterFunc));
958
- });
959
- entities = _entities.filter(entityFilterFunc);
960
- }
961
- const report = new GraphBuilderReport();
962
- // build dependency pmcd models
963
- const dependencyDataMap = new Map();
964
- await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
965
- const projectModelData = new V1_PureModelContextData();
966
- dependencyDataMap.set(dependencyKey, projectModelData);
967
- return V1_entitiesToPureModelContextData(value, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
968
- }));
969
- const dependencyGraphBuilderInput = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
970
- data: indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
971
- model: graph.dependencyManager.getModel(dependencyKey),
972
- }));
973
- // build main pmcd
974
- const data = new V1_PureModelContextData();
975
- await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
976
- const mainGraphBuilderInput = [
977
- {
978
- model: graph,
979
- data: indexPureModelContextData(report, data, this.graphBuilderExtensions),
980
- },
981
- ];
982
- const graphBuilderInput = [
983
- ...dependencyGraphBuilderInput,
984
- ...mainGraphBuilderInput,
985
- ];
986
- await this.initializeAndIndexElements(graph, graphBuilderInput);
987
- return graphBuilderInput;
988
- }
989
933
  // --------------------------------------------- Query ------------------------------------------------------
990
934
  async getQuery(queryId, graph) {
991
935
  return V1_buildQuery(await this.engine.getQuery(queryId), graph, this.engine.getCurrentUserId());
@@ -1031,26 +975,17 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1031
975
  .concat(extraElements));
1032
976
  return prunedGraphData;
1033
977
  };
1034
- async analyzeMappingModelCoverage(graph, mapping) {
1035
- const modelCoverageAnalysisInput = new V1_MappingModelCoverageAnalysisInput();
1036
- modelCoverageAnalysisInput.clientVersion =
1037
- V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
1038
- modelCoverageAnalysisInput.mapping = mapping.path;
1039
- modelCoverageAnalysisInput.model =
1040
- this.buildMappingModelCoverageAnalysisInputContextData(graph);
1041
- return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(modelCoverageAnalysisInput));
978
+ async analyzeMappingModelCoverage(mapping, graph) {
979
+ const input = new V1_MappingModelCoverageAnalysisInput();
980
+ input.clientVersion = V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
981
+ input.mapping = mapping.path;
982
+ input.model = this.buildMappingModelCoverageAnalysisInputContextData(graph);
983
+ return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(input));
1042
984
  }
1043
985
  buildMappingModelCoverageAnalysisResult(input) {
1044
986
  return V1_buildModelCoverageAnalysisResult(deserialize(V1_MappingModelCoverageAnalysisResult, input));
1045
987
  }
1046
- // --------------------------------------------- Utilities ---------------------------------------------
1047
- elementToEntity = (element, options) => {
1048
- const entity = this.elementProtocolToEntity(this.elementToProtocol(element));
1049
- if (options?.pruneSourceInformation) {
1050
- entity.content = pruneSourceInformation(entity.content);
1051
- }
1052
- return entity;
1053
- };
988
+ // --------------------------------------------- Database ---------------------------------------------
1054
989
  async buildDatabase(input) {
1055
990
  const dbBuilderInput = new V1_DatabaseBuilderInput();
1056
991
  dbBuilderInput.connection = V1_transformRelationalDatabaseConnection(input.connection, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build());
@@ -1162,11 +1097,78 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1162
1097
  },
1163
1098
  ]);
1164
1099
  }
1100
+ // --------------------------------------------- Utilities ---------------------------------------------
1101
+ elementToEntity = (element, options) => {
1102
+ const entity = this.elementProtocolToEntity(this.elementToProtocol(element));
1103
+ if (options?.pruneSourceInformation) {
1104
+ entity.content = pruneSourceInformation(entity.content);
1105
+ }
1106
+ return entity;
1107
+ };
1165
1108
  // --------------------------------------------- Shared ---------------------------------------------
1166
- async entitiesToPureModelContextData(entities) {
1167
- const graphData = new V1_PureModelContextData();
1168
- await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins());
1169
- return graphData;
1109
+ /**
1110
+ * This method helps indexing the graph from graph and dependencies' entities
1111
+ * This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph
1112
+ * and the Pure model context data which can be used to further build the graph
1113
+ *
1114
+ * There are a few simple analytics we want to do on the graph which does not necessarily
1115
+ * require us to build the full-graph, in fact, doing so would be too costly. In those scenarios,
1116
+ * we need to build the _light_ graph, hence the existence of this utility method
1117
+ *
1118
+ * TODO?: do we need to account for system elements?
1119
+ */
1120
+ async indexLightGraph(graph, entities, dependencyEntities, entityFilterFn, entityProcessorFn) {
1121
+ const report = new GraphBuilderReport();
1122
+ // build main graph builder input
1123
+ const data = new V1_PureModelContextData();
1124
+ await V1_entitiesToPureModelContextData(entities
1125
+ .filter((entity) => {
1126
+ // never exclude section index as it could be used for path resolution when building the graph later
1127
+ if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
1128
+ return true;
1129
+ }
1130
+ if (entityFilterFn) {
1131
+ return entityFilterFn(entity);
1132
+ }
1133
+ return true;
1134
+ })
1135
+ .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins());
1136
+ const mainGraphBuilderInput = [
1137
+ {
1138
+ model: graph,
1139
+ data: V1_indexPureModelContextData(report, data, this.graphBuilderExtensions),
1140
+ },
1141
+ ];
1142
+ // build dependencies graph builder input
1143
+ graph.dependencyManager.initialize(dependencyEntities);
1144
+ const dependencyGraphDataIndex = new Map();
1145
+ await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
1146
+ const projectModelData = new V1_PureModelContextData();
1147
+ dependencyGraphDataIndex.set(dependencyKey, projectModelData);
1148
+ return V1_entitiesToPureModelContextData(value
1149
+ .filter((entity) => {
1150
+ // never exclude section index as it could be used for path resolution when building the graph later
1151
+ if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
1152
+ return true;
1153
+ }
1154
+ if (entityFilterFn) {
1155
+ return entityFilterFn(entity);
1156
+ }
1157
+ return true;
1158
+ })
1159
+ .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
1160
+ }));
1161
+ const dependencyGraphBuilderInput = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
1162
+ data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
1163
+ model: graph.dependencyManager.getModel(dependencyKey),
1164
+ }));
1165
+ // index simplified graph
1166
+ const graphBuilderInput = [
1167
+ ...dependencyGraphBuilderInput,
1168
+ ...mainGraphBuilderInput,
1169
+ ];
1170
+ await this.initializeAndIndexElements(graph, graphBuilderInput);
1171
+ return graphBuilderInput;
1170
1172
  }
1171
1173
  getFullGraphModelData(graph, options) {
1172
1174
  const contextData1 = this.graphToPureModelContextData(graph, {
@@ -1179,15 +1181,20 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1179
1181
  ];
1180
1182
  return contextData1;
1181
1183
  }
1182
- elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
1183
- .withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
1184
- .build());
1185
- pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
1186
1184
  elementProtocolToEntity = (elementProtocol) => ({
1187
1185
  path: this.getElementPath(elementProtocol),
1188
1186
  content: V1_serializePackageableElement(elementProtocol, this.pluginManager.getPureProtocolProcessorPlugins()),
1189
1187
  classifierPath: this.getElementClassiferPath(elementProtocol),
1190
1188
  });
1189
+ async entitiesToPureModelContextData(entities) {
1190
+ const graphData = new V1_PureModelContextData();
1191
+ await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins());
1192
+ return graphData;
1193
+ }
1194
+ elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
1195
+ .withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
1196
+ .build());
1197
+ pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
1191
1198
  getElementPath = (elementProtocol) => {
1192
1199
  let name = elementProtocol.name;
1193
1200
  // These functions calculation the function suffix and are used to identify if an
@@ -1195,7 +1202,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1195
1202
  // if so, we will remove that suffix
1196
1203
  // TODO: to be revised when we support function overloading
1197
1204
  if (elementProtocol instanceof V1_ConcreteFunctionDefinition) {
1198
- const suffixIndex = elementProtocol.name.indexOf(getFunctionSuffix(elementProtocol));
1205
+ const suffixIndex = elementProtocol.name.indexOf(V1_getFunctionSuffix(elementProtocol));
1199
1206
  if (suffixIndex > 0) {
1200
1207
  name = elementProtocol.name.substring(0, suffixIndex - 1);
1201
1208
  }