@finos/legend-graph 2.0.4 → 2.1.2

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 (345) hide show
  1. package/lib/DSLService_Exports.d.ts +1 -1
  2. package/lib/DSLService_Exports.d.ts.map +1 -1
  3. package/lib/DSLService_Exports.js +1 -1
  4. package/lib/DSLService_Exports.js.map +1 -1
  5. package/lib/graph/BasicModel.d.ts.map +1 -1
  6. package/lib/graph/BasicModel.js +10 -9
  7. package/lib/graph/BasicModel.js.map +1 -1
  8. package/lib/graphManager/AbstractPureGraphManager.d.ts +2 -1
  9. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  10. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  11. package/lib/index.d.ts +8 -1
  12. package/lib/index.d.ts.map +1 -1
  13. package/lib/index.js +8 -1
  14. package/lib/index.js.map +1 -1
  15. package/lib/models/GraphModifierHelper.d.ts +26 -0
  16. package/lib/models/GraphModifierHelper.d.ts.map +1 -0
  17. package/lib/models/GraphModifierHelper.js +21 -0
  18. package/lib/models/GraphModifierHelper.js.map +1 -0
  19. package/lib/models/ModelGenerationConfiguration.d.ts +21 -0
  20. package/lib/models/ModelGenerationConfiguration.d.ts.map +1 -0
  21. package/lib/models/ModelGenerationConfiguration.js +24 -0
  22. package/lib/models/ModelGenerationConfiguration.js.map +1 -0
  23. package/lib/models/metamodels/pure/Reference.d.ts +0 -1
  24. package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
  25. package/lib/models/metamodels/pure/Reference.js.map +1 -1
  26. package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts +0 -4
  27. package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts.map +1 -1
  28. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +0 -16
  29. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
  30. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +0 -1
  31. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  32. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +0 -4
  33. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  34. package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts +0 -1
  35. package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts.map +1 -1
  36. package/lib/models/metamodels/pure/packageableElements/connection/Connection.js +2 -6
  37. package/lib/models/metamodels/pure/packageableElements/connection/Connection.js.map +1 -1
  38. package/lib/models/metamodels/pure/packageableElements/connection/PackageableConnection.d.ts +0 -1
  39. package/lib/models/metamodels/pure/packageableElements/connection/PackageableConnection.d.ts.map +1 -1
  40. package/lib/models/metamodels/pure/packageableElements/connection/PackageableConnection.js +1 -5
  41. package/lib/models/metamodels/pure/packageableElements/connection/PackageableConnection.js.map +1 -1
  42. package/lib/models/metamodels/pure/packageableElements/domain/Association.d.ts +0 -6
  43. package/lib/models/metamodels/pure/packageableElements/domain/Association.d.ts.map +1 -1
  44. package/lib/models/metamodels/pure/packageableElements/domain/Association.js +5 -27
  45. package/lib/models/metamodels/pure/packageableElements/domain/Association.js.map +1 -1
  46. package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts +0 -16
  47. package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts.map +1 -1
  48. package/lib/models/metamodels/pure/packageableElements/domain/Class.js +2 -66
  49. package/lib/models/metamodels/pure/packageableElements/domain/Class.js.map +1 -1
  50. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.d.ts +0 -9
  51. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.d.ts.map +1 -1
  52. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js +2 -38
  53. package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js.map +1 -1
  54. package/lib/models/metamodels/pure/packageableElements/domain/Constraint.d.ts +0 -2
  55. package/lib/models/metamodels/pure/packageableElements/domain/Constraint.d.ts.map +1 -1
  56. package/lib/models/metamodels/pure/packageableElements/domain/Constraint.js +1 -9
  57. package/lib/models/metamodels/pure/packageableElements/domain/Constraint.js.map +1 -1
  58. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.d.ts +0 -11
  59. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.d.ts.map +1 -1
  60. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js +2 -42
  61. package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js.map +1 -1
  62. package/lib/models/metamodels/pure/packageableElements/domain/Enum.d.ts +0 -6
  63. package/lib/models/metamodels/pure/packageableElements/domain/Enum.d.ts.map +1 -1
  64. package/lib/models/metamodels/pure/packageableElements/domain/Enum.js +2 -26
  65. package/lib/models/metamodels/pure/packageableElements/domain/Enum.js.map +1 -1
  66. package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.d.ts +0 -1
  67. package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.d.ts.map +1 -1
  68. package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.js +1 -6
  69. package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.js.map +1 -1
  70. package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.d.ts +0 -7
  71. package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.d.ts.map +1 -1
  72. package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.js +2 -30
  73. package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.js.map +1 -1
  74. package/lib/models/metamodels/pure/packageableElements/domain/GenericType.d.ts +0 -1
  75. package/lib/models/metamodels/pure/packageableElements/domain/GenericType.d.ts.map +1 -1
  76. package/lib/models/metamodels/pure/packageableElements/domain/GenericType.js +1 -5
  77. package/lib/models/metamodels/pure/packageableElements/domain/GenericType.js.map +1 -1
  78. package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.d.ts +0 -1
  79. package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.d.ts.map +1 -1
  80. package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.js +1 -6
  81. package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.js.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/domain/Measure.d.ts +0 -2
  83. package/lib/models/metamodels/pure/packageableElements/domain/Measure.d.ts.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/domain/Measure.js +1 -9
  85. package/lib/models/metamodels/pure/packageableElements/domain/Measure.js.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts +0 -2
  87. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js +1 -9
  89. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts +0 -3
  91. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/domain/Package.js +5 -17
  93. package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/domain/Profile.d.ts +0 -4
  95. package/lib/models/metamodels/pure/packageableElements/domain/Profile.d.ts.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/domain/Profile.js +2 -18
  97. package/lib/models/metamodels/pure/packageableElements/domain/Profile.js.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/domain/Property.d.ts +0 -9
  99. package/lib/models/metamodels/pure/packageableElements/domain/Property.d.ts.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/domain/Property.js +2 -34
  101. package/lib/models/metamodels/pure/packageableElements/domain/Property.js.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.d.ts +0 -1
  103. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.d.ts.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js +1 -8
  105. package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js.map +1 -1
  106. package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.d.ts +0 -1
  107. package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.d.ts.map +1 -1
  108. package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.js +1 -5
  109. package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.js.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.d.ts +0 -1
  111. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.d.ts.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js +1 -6
  113. package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/domain/Tag.d.ts +0 -1
  115. package/lib/models/metamodels/pure/packageableElements/domain/Tag.d.ts.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/domain/Tag.js +1 -5
  117. package/lib/models/metamodels/pure/packageableElements/domain/Tag.js.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.d.ts +0 -1
  119. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.d.ts.map +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js +1 -6
  121. package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js.map +1 -1
  122. package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.d.ts +0 -2
  123. package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.d.ts.map +1 -1
  124. package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.js +1 -9
  125. package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.js.map +1 -1
  126. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -1
  127. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js +1 -2
  128. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js.map +1 -1
  129. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts +0 -1
  130. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts.map +1 -1
  131. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js +1 -5
  132. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js.map +1 -1
  133. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts +0 -3
  134. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts.map +1 -1
  135. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js +1 -13
  136. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js.map +1 -1
  137. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts +0 -3
  138. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts.map +1 -1
  139. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js +2 -14
  140. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js.map +1 -1
  141. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +0 -4
  142. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
  143. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +1 -17
  144. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
  145. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts +0 -6
  146. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts.map +1 -1
  147. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js +2 -26
  148. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js.map +1 -1
  149. package/lib/models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.d.ts +0 -1
  150. package/lib/models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.d.ts.map +1 -1
  151. package/lib/models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.js +1 -5
  152. package/lib/models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.js.map +1 -1
  153. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.d.ts +0 -6
  154. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.d.ts.map +1 -1
  155. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js +2 -26
  156. package/lib/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js.map +1 -1
  157. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.d.ts +2 -8
  158. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.d.ts.map +1 -1
  159. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.js +2 -40
  160. package/lib/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.js.map +1 -1
  161. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts +0 -1
  162. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  163. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +0 -4
  164. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  165. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +1 -1
  166. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
  167. package/lib/models/metamodels/pure/packageableElements/runtime/PackageableRuntime.d.ts +0 -1
  168. package/lib/models/metamodels/pure/packageableElements/runtime/PackageableRuntime.d.ts.map +1 -1
  169. package/lib/models/metamodels/pure/packageableElements/runtime/PackageableRuntime.js +1 -5
  170. package/lib/models/metamodels/pure/packageableElements/runtime/PackageableRuntime.js.map +1 -1
  171. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.d.ts +1 -8
  172. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.d.ts.map +1 -1
  173. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js +2 -42
  174. package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js.map +1 -1
  175. package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts +0 -10
  176. package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts.map +1 -1
  177. package/lib/models/metamodels/pure/packageableElements/service/Service.js +2 -48
  178. package/lib/models/metamodels/pure/packageableElements/service/Service.js.map +1 -1
  179. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.d.ts +0 -8
  180. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.d.ts.map +1 -1
  181. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js +2 -34
  182. package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js.map +1 -1
  183. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.d.ts +0 -1
  184. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.d.ts.map +1 -1
  185. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.js +1 -5
  186. package/lib/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.js.map +1 -1
  187. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +0 -1
  188. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  189. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +0 -3
  190. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  191. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.d.ts +0 -3
  192. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.d.ts.map +1 -1
  193. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js +1 -9
  194. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.js.map +1 -1
  195. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.d.ts +0 -3
  196. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.d.ts.map +1 -1
  197. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.js +2 -14
  198. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.js.map +1 -1
  199. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataDataType.d.ts +0 -3
  200. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataDataType.d.ts.map +1 -1
  201. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataDataType.js +1 -13
  202. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataDataType.js.map +1 -1
  203. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.d.ts +0 -1
  204. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.d.ts.map +1 -1
  205. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js +1 -6
  206. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js.map +1 -1
  207. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.d.ts +0 -1
  208. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.d.ts.map +1 -1
  209. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.js +1 -6
  210. package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.js.map +1 -1
  211. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.d.ts +0 -2
  212. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.d.ts.map +1 -1
  213. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js +1 -9
  214. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js.map +1 -1
  215. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.d.ts +0 -2
  216. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.d.ts.map +1 -1
  217. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js +1 -9
  218. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js.map +1 -1
  219. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +0 -1
  220. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  221. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js +0 -3
  222. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  223. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.js +1 -1
  224. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.js.map +1 -1
  225. package/lib/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.js +1 -1
  226. package/lib/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.js.map +1 -1
  227. package/lib/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.js +1 -1
  228. package/lib/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.js.map +1 -1
  229. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Table.js +1 -1
  230. package/lib/models/metamodels/pure/packageableElements/store/relational/model/Table.js.map +1 -1
  231. package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js +1 -1
  232. package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js.map +1 -1
  233. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js +1 -1
  234. package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js.map +1 -1
  235. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.d.ts +0 -3
  236. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.d.ts.map +1 -1
  237. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js +1 -13
  238. package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js.map +1 -1
  239. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  240. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +2 -5
  241. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  242. package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.d.ts +27 -0
  243. package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -0
  244. package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.js +17 -0
  245. package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.js.map +1 -0
  246. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +2 -1
  247. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  248. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +22 -16
  249. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  250. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.d.ts.map +1 -1
  251. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js +2 -3
  252. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js.map +1 -1
  253. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +1 -1
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js +15 -42
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +1 -1
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +7 -6
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +1 -1
  260. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js +5 -5
  261. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +1 -1
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +2 -1
  264. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_FlatDataStoreBuilderHelper.js +1 -1
  266. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_FlatDataStoreBuilderHelper.js.map +1 -1
  267. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +1 -1
  268. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
  269. package/lib/package.json +1 -1
  270. package/package.json +1 -1
  271. package/src/DSLService_Exports.ts +4 -1
  272. package/src/graph/BasicModel.ts +13 -9
  273. package/src/graphManager/AbstractPureGraphManager.ts +5 -2
  274. package/src/index.ts +14 -1
  275. package/src/models/GraphModifierHelper.ts +57 -0
  276. package/src/models/ModelGenerationConfiguration.ts +25 -0
  277. package/src/models/metamodels/pure/Reference.ts +0 -2
  278. package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +0 -19
  279. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +0 -5
  280. package/src/models/metamodels/pure/packageableElements/connection/Connection.ts +2 -7
  281. package/src/models/metamodels/pure/packageableElements/connection/PackageableConnection.ts +1 -6
  282. package/src/models/metamodels/pure/packageableElements/domain/Association.ts +4 -31
  283. package/src/models/metamodels/pure/packageableElements/domain/Class.ts +1 -72
  284. package/src/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.ts +2 -48
  285. package/src/models/metamodels/pure/packageableElements/domain/Constraint.ts +1 -10
  286. package/src/models/metamodels/pure/packageableElements/domain/DerivedProperty.ts +2 -54
  287. package/src/models/metamodels/pure/packageableElements/domain/Enum.ts +2 -37
  288. package/src/models/metamodels/pure/packageableElements/domain/EnumValueReference.ts +1 -7
  289. package/src/models/metamodels/pure/packageableElements/domain/Enumeration.ts +1 -37
  290. package/src/models/metamodels/pure/packageableElements/domain/GenericType.ts +1 -5
  291. package/src/models/metamodels/pure/packageableElements/domain/GenericTypeReference.ts +1 -7
  292. package/src/models/metamodels/pure/packageableElements/domain/Measure.ts +1 -11
  293. package/src/models/metamodels/pure/packageableElements/domain/Multiplicity.ts +1 -11
  294. package/src/models/metamodels/pure/packageableElements/domain/Package.ts +5 -22
  295. package/src/models/metamodels/pure/packageableElements/domain/Profile.ts +1 -23
  296. package/src/models/metamodels/pure/packageableElements/domain/Property.ts +2 -45
  297. package/src/models/metamodels/pure/packageableElements/domain/PropertyReference.ts +1 -11
  298. package/src/models/metamodels/pure/packageableElements/domain/Stereotype.ts +1 -6
  299. package/src/models/metamodels/pure/packageableElements/domain/StereotypeReference.ts +1 -7
  300. package/src/models/metamodels/pure/packageableElements/domain/Tag.ts +1 -6
  301. package/src/models/metamodels/pure/packageableElements/domain/TagReference.ts +1 -7
  302. package/src/models/metamodels/pure/packageableElements/domain/TaggedValue.ts +1 -10
  303. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.ts +1 -2
  304. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.ts +1 -6
  305. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.ts +1 -16
  306. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.ts +2 -22
  307. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +1 -21
  308. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.ts +2 -52
  309. package/src/models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.ts +1 -6
  310. package/src/models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.ts +2 -47
  311. package/src/models/metamodels/pure/packageableElements/generationSpecification/GenerationSpecification.ts +4 -67
  312. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +0 -5
  313. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +1 -1
  314. package/src/models/metamodels/pure/packageableElements/runtime/PackageableRuntime.ts +1 -6
  315. package/src/models/metamodels/pure/packageableElements/runtime/Runtime.ts +2 -58
  316. package/src/models/metamodels/pure/packageableElements/service/Service.ts +2 -65
  317. package/src/models/metamodels/pure/packageableElements/service/ServiceExecution.ts +2 -43
  318. package/src/models/metamodels/pure/packageableElements/store/flatData/connection/FlatDataConnection.ts +1 -6
  319. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +0 -3
  320. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataInstanceSetImplementation.ts +1 -11
  321. package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatData.ts +1 -16
  322. package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataDataType.ts +1 -15
  323. package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.ts +1 -7
  324. package/src/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.ts +1 -7
  325. package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.ts +1 -10
  326. package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.ts +1 -10
  327. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +0 -3
  328. package/src/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.ts +1 -1
  329. package/src/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.ts +1 -1
  330. package/src/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.ts +1 -1
  331. package/src/models/metamodels/pure/packageableElements/store/relational/model/Table.ts +1 -1
  332. package/src/models/metamodels/pure/packageableElements/store/relational/model/TableReference.ts +1 -1
  333. package/src/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.ts +1 -1
  334. package/src/models/metamodels/pure/rawValueSpecification/RawVariableExpression.ts +1 -14
  335. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +6 -13
  336. package/src/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.ts +34 -0
  337. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +41 -36
  338. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.ts +5 -3
  339. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.ts +57 -42
  340. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +16 -16
  341. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.ts +8 -4
  342. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +2 -1
  343. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_FlatDataStoreBuilderHelper.ts +1 -1
  344. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +2 -2
  345. package/tsconfig.json +3 -0
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { observable, computed, action, makeObservable } from 'mobx';
17
+ import { observable, computed, makeObservable } from 'mobx';
18
18
  import {
19
19
  type Hashable,
20
20
  hashArray,
@@ -50,8 +50,6 @@ export class JsonModelConnection
50
50
 
51
51
  makeObservable(this, {
52
52
  url: observable,
53
- setClass: action,
54
- setUrl: action,
55
53
  hashCode: computed,
56
54
  });
57
55
 
@@ -59,13 +57,6 @@ export class JsonModelConnection
59
57
  this.url = url;
60
58
  }
61
59
 
62
- setClass(value: Class): void {
63
- this.class.setValue(value);
64
- }
65
- setUrl(value: string): void {
66
- this.url = value;
67
- }
68
-
69
60
  get hashCode(): string {
70
61
  return hashArray([
71
62
  CORE_HASH_STRUCTURE.JSON_MODEL_CONNECTION,
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { observable, computed, action, makeObservable } from 'mobx';
17
+ import { observable, computed, makeObservable } from 'mobx';
18
18
  import { hashArray, ContentType, type Hashable } from '@finos/legend-shared';
19
19
  import { CORE_HASH_STRUCTURE } from '../../../../../../../MetaModelConst';
20
20
  import type { ConnectionVisitor } from '../../../connection/Connection';
@@ -41,8 +41,6 @@ export class XmlModelConnection
41
41
 
42
42
  makeObservable(this, {
43
43
  url: observable,
44
- setClass: action,
45
- setUrl: action,
46
44
  hashCode: computed,
47
45
  });
48
46
 
@@ -50,13 +48,6 @@ export class XmlModelConnection
50
48
  this.url = url;
51
49
  }
52
50
 
53
- setClass(value: Class): void {
54
- this.class.setValue(value);
55
- }
56
- setUrl(value: string): void {
57
- this.url = value;
58
- }
59
-
60
51
  get hashCode(): string {
61
52
  return hashArray([
62
53
  CORE_HASH_STRUCTURE.XML_MODEL_CONNECTION,
@@ -83,9 +83,6 @@ export class EmbeddedRelationalInstanceSetImplementation
83
83
  this.parent = rootInstanceSetImplementation.parent;
84
84
  }
85
85
 
86
- setId(value: string): void {
87
- throw new UnsupportedOperationError();
88
- }
89
86
  setRoot(value: boolean): void {
90
87
  throw new UnsupportedOperationError();
91
88
  }
@@ -46,7 +46,7 @@ export abstract class ColumnReference extends ReferenceWithOwner {
46
46
 
47
47
  setValue(value: Column): void {
48
48
  this.value = value;
49
- this.ownerReference.setValue(getSchemaFromRelation(value.owner).owner);
49
+ this.ownerReference.value = getSchemaFromRelation(value.owner).owner;
50
50
  }
51
51
  }
52
52
 
@@ -45,7 +45,7 @@ export abstract class FilterReference extends ReferenceWithOwner {
45
45
 
46
46
  setValue(value: Filter): void {
47
47
  this.value = value;
48
- this.ownerReference.setValue(value.owner);
48
+ this.ownerReference.value = value.owner;
49
49
  }
50
50
  }
51
51
 
@@ -45,7 +45,7 @@ export abstract class JoinReference extends ReferenceWithOwner {
45
45
 
46
46
  setValue(value: Join): void {
47
47
  this.value = value;
48
- this.ownerReference.setValue(value.owner);
48
+ this.ownerReference.value = value.owner;
49
49
  }
50
50
  }
51
51
 
@@ -30,7 +30,7 @@ export class Table extends NamedRelation implements Hashable {
30
30
  schema!: Schema;
31
31
  primaryKey: Column[] = [];
32
32
  milestoning: Milestoning[] = [];
33
- // // TODO
33
+ //TODO
34
34
  // temporaryTable : Boolean[0..1];
35
35
 
36
36
  constructor(name: string, schema: Schema) {
@@ -57,7 +57,7 @@ export abstract class TableReference extends NamedRelationalReference {
57
57
 
58
58
  setValue(value: Table): void {
59
59
  this.value = value;
60
- this.ownerReference.setValue(value.schema.owner);
60
+ this.ownerReference.value = value.schema.owner;
61
61
  }
62
62
 
63
63
  get pointerHashCode(): string {
@@ -48,7 +48,7 @@ export abstract class ViewReference extends NamedRelationalReference {
48
48
 
49
49
  setValue(value: View): void {
50
50
  this.value = value;
51
- this.ownerReference.setValue(value.schema.owner);
51
+ this.ownerReference.value = value.schema.owner;
52
52
  }
53
53
 
54
54
  get pointerHashCode(): string {
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { observable, action, computed, makeObservable } from 'mobx';
17
+ import { observable, computed, makeObservable } from 'mobx';
18
18
  import { hashArray, uuid, type Hashable } from '@finos/legend-shared';
19
19
  import { CORE_HASH_STRUCTURE } from '../../../../MetaModelConst';
20
20
  import type { Type } from '../packageableElements/domain/Type';
@@ -48,9 +48,6 @@ export class RawVariableExpression
48
48
  makeObservable(this, {
49
49
  name: observable,
50
50
  multiplicity: observable,
51
- setName: action,
52
- setType: action,
53
- setMultiplicity: action,
54
51
  isStub: computed,
55
52
  hashCode: computed,
56
53
  });
@@ -60,16 +57,6 @@ export class RawVariableExpression
60
57
  this.type = type;
61
58
  }
62
59
 
63
- setName(value: string): void {
64
- this.name = value;
65
- }
66
- setType(value: Type): void {
67
- this.type.setValue(value);
68
- }
69
- setMultiplicity(value: Multiplicity): void {
70
- this.multiplicity = value;
71
- }
72
-
73
60
  static createStub = (type: Type): RawVariableExpression =>
74
61
  new RawVariableExpression(
75
62
  '',
@@ -118,9 +118,6 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
118
118
  elementProtocol.package,
119
119
  elementProtocol.name,
120
120
  );
121
- context.currentSubGraph
122
- .getOrCreatePackage(elementProtocol.package)
123
- .addElement(element);
124
121
  context.currentSubGraph.setOwnStore(path, element);
125
122
  return element;
126
123
  },
@@ -193,11 +190,9 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
193
190
  element.format = guaranteeNonEmptyString(elementProtocol.format);
194
191
  element.schemas = elementProtocol.schemas.map((schema) => {
195
192
  const schemaElement = new Schema();
196
- schemaElement.setContent(
197
- guaranteeNonEmptyString(
198
- schema.content,
199
- `Schema 'content' field is missing or empty`,
200
- ),
193
+ schemaElement.content = guaranteeNonEmptyString(
194
+ schema.content,
195
+ `Schema 'content' field is missing or empty`,
201
196
  );
202
197
  schemaElement.id = schema.id;
203
198
  schemaElement.location = schema.location;
@@ -353,11 +348,9 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
353
348
  `External format connection 'externalSource' field is missing`,
354
349
  );
355
350
  const urlStream = new UrlStream();
356
- urlStream.setUrl(
357
- guaranteeNonEmptyString(
358
- connection.externalSource.url,
359
- `URL stream 'url' field is missing or empty`,
360
- ),
351
+ urlStream.url = guaranteeNonEmptyString(
352
+ connection.externalSource.url,
353
+ `URL stream 'url' field is missing or empty`,
361
354
  );
362
355
  externalFormatConnection.externalSource = urlStream;
363
356
  return externalFormatConnection;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { ModelGenerationConfiguration } from '../../ModelGenerationConfiguration';
18
+ import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData';
19
+ import type { V1_Engine } from './v1/engine/V1_Engine';
20
+ import type { PureProtocolProcessorPlugin } from './PureProtocolProcessorPlugin';
21
+
22
+ export type V1_ModelGeneratorFromConfiguration = (
23
+ config: ModelGenerationConfiguration,
24
+ model: V1_PureModelContextData,
25
+ engine: V1_Engine,
26
+ ) => Promise<V1_PureModelContextData | undefined>;
27
+
28
+ export interface MappingGeneration_PureProtocolProcessorPlugin_Extension
29
+ extends PureProtocolProcessorPlugin {
30
+ /**
31
+ * Get generators for model generation from configuration.
32
+ */
33
+ V1_getExtraModelGeneratorsFromConfiguration?(): V1_ModelGeneratorFromConfiguration[];
34
+ }
@@ -234,6 +234,8 @@ import {
234
234
  import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
235
235
  import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
236
236
  import { MappingInclude } from '../../../metamodels/pure/packageableElements/mapping/MappingInclude';
237
+ import type { ModelGenerationConfiguration } from '../../../ModelGenerationConfiguration';
238
+ import type { MappingGeneration_PureProtocolProcessorPlugin_Extension } from '../MappingGeneration_PureProtocolProcessorPlugin_Extension';
237
239
 
238
240
  const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
239
241
 
@@ -411,7 +413,6 @@ const indexPureModelContextData = (
411
413
  interface V1_GraphBuilderInput {
412
414
  model: BasicModel;
413
415
  data: V1_PureModelContextDataIndex;
414
- parentElementPath?: string | undefined;
415
416
  }
416
417
 
417
418
  export interface V1_EngineSetupConfig {
@@ -960,28 +961,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
960
961
  ),
961
962
  );
962
963
  }
963
- if (!options?.TEMPORARY_skipGeneratedElementsPostProcessing) {
964
- // Assign generated elements to their parent generation element (config that drives generation)
965
- yield Promise.all(
966
- inputs
967
- .filter((input) => Boolean(input.parentElementPath))
968
- .flatMap((input) =>
969
- input.data.elements.map((el) =>
970
- promisify(() =>
971
- runInAction(() => {
972
- // TODO: check performance once `getNullableElement` is optimized
973
- const element = graph.getElement(el.path);
974
- if (input.parentElementPath) {
975
- element.generationParentElement = graph.getElement(
976
- input.parentElementPath,
977
- );
978
- }
979
- }),
980
- ),
981
- ),
982
- ),
983
- );
984
- }
985
964
  /**
986
965
  * For now, we delete the section index. We are able to read both resolved and unresolved element paths
987
966
  * but when we write (serialize) we write only resolved paths. In the future once the issue with dependency is solved we will
@@ -1615,6 +1594,36 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1615
1594
  return this.pureModelContextDataToEntities(generatedModel);
1616
1595
  }
1617
1596
 
1597
+ async generateModelFromConfiguration(
1598
+ config: ModelGenerationConfiguration,
1599
+ graph: PureModel,
1600
+ ): Promise<Entity[]> {
1601
+ const model = this.getFullGraphModelData(graph);
1602
+ let generatedModel: V1_PureModelContextData | undefined = undefined;
1603
+ const extraModelGenerators = this.pluginManager
1604
+ .getPureProtocolProcessorPlugins()
1605
+ .flatMap(
1606
+ (plugin) =>
1607
+ (
1608
+ plugin as MappingGeneration_PureProtocolProcessorPlugin_Extension
1609
+ ).V1_getExtraModelGeneratorsFromConfiguration?.() ?? [],
1610
+ );
1611
+ for (const generator of extraModelGenerators) {
1612
+ const _model = await generator(config, model, this.engine);
1613
+ if (_model) {
1614
+ generatedModel = _model;
1615
+ break;
1616
+ }
1617
+ }
1618
+ if (!generatedModel) {
1619
+ throw new UnsupportedOperationError(
1620
+ `Can't generate model using the specified configuration: no compatible generator available from plugins`,
1621
+ config,
1622
+ );
1623
+ }
1624
+ return this.pureModelContextDataToEntities(generatedModel);
1625
+ }
1626
+
1618
1627
  // ------------------------------------------- ValueSpecification -------------------------------------------
1619
1628
 
1620
1629
  buildValueSpecification(
@@ -2198,11 +2207,9 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2198
2207
  const runtime = runtimes.find((e) => e.path === element.path);
2199
2208
  if (runtime) {
2200
2209
  const runtimeValue = new EngineRuntime();
2201
- runtime.setRuntimeValue(runtimeValue);
2202
- runtimeValue.setMappings(
2203
- element.runtimeValue.mappings.map((mapping) =>
2204
- context.resolveMapping(mapping.path),
2205
- ),
2210
+ runtime.runtimeValue = runtimeValue;
2211
+ runtimeValue.mappings = element.runtimeValue.mappings.map((mapping) =>
2212
+ context.resolveMapping(mapping.path),
2206
2213
  );
2207
2214
  }
2208
2215
  });
@@ -2269,15 +2276,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2269
2276
  new EngineRuntime(),
2270
2277
  ),
2271
2278
  );
2272
- service.setExecution(execution);
2279
+ service.execution = execution;
2273
2280
  } else if (serviceExecution instanceof V1_PureSingleExecution) {
2274
- service.setExecution(
2275
- new PureSingleExecution(
2276
- RawLambda.createStub(),
2277
- service,
2278
- PackageableElementExplicitReference.create(new Mapping('')),
2279
- new EngineRuntime(),
2280
- ),
2281
+ service.execution = new PureSingleExecution(
2282
+ RawLambda.createStub(),
2283
+ service,
2284
+ PackageableElementExplicitReference.create(new Mapping('')),
2285
+ new EngineRuntime(),
2281
2286
  );
2282
2287
  }
2283
2288
  }
@@ -19,6 +19,7 @@ import {
19
19
  assertNonEmptyString,
20
20
  assertTrue,
21
21
  } from '@finos/legend-shared';
22
+ import { _package_addElement } from '../../../../../../GraphModifierHelper';
22
23
  import type { PackageableElement } from '../../../../../../metamodels/pure/packageableElements/PackageableElement';
23
24
  import type { V1_PackageableElement } from '../../../model/packageableElements/V1_PackageableElement';
24
25
  import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext';
@@ -121,9 +122,10 @@ export class V1_ElementBuilder<T extends V1_PackageableElement> {
121
122
  `Element '${path}' already exists`,
122
123
  );
123
124
  const element = this.firstPass(elementProtocol, context);
124
- context.currentSubGraph
125
- .getOrCreatePackage(elementProtocol.package)
126
- .addElement(element);
125
+ _package_addElement(
126
+ context.currentSubGraph.getOrCreatePackage(elementProtocol.package),
127
+ element,
128
+ );
127
129
  return element;
128
130
  }
129
131
 
@@ -56,6 +56,7 @@ import type { V1_PackageableConnection } from '../../../model/packageableElement
56
56
  import type { V1_FileGenerationSpecification } from '../../../model/packageableElements/fileGeneration/V1_FileGenerationSpecification';
57
57
  import type { V1_Measure } from '../../../model/packageableElements/domain/V1_Measure';
58
58
  import type { V1_SectionIndex } from '../../../model/packageableElements/section/V1_SectionIndex';
59
+ import { _package_addElement } from '../../../../../../GraphModifierHelper';
59
60
 
60
61
  export class V1_ProtocolToMetaModelGraphFirstPassBuilder
61
62
  implements V1_PackageableElementVisitor<PackageableElement>
@@ -112,9 +113,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
112
113
  !this.context.graph.getNullableElement(path),
113
114
  `Element '${path}' already exists`,
114
115
  );
115
- this.context.currentSubGraph
116
- .getOrCreatePackage(element.package)
117
- .addElement(profile);
116
+ _package_addElement(
117
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
118
+ profile,
119
+ );
118
120
  this.context.currentSubGraph.setOwnProfile(path, profile);
119
121
  return profile;
120
122
  }
@@ -137,9 +139,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
137
139
  !this.context.graph.getNullableElement(path),
138
140
  `Element '${path}' already exists`,
139
141
  );
140
- this.context.currentSubGraph
141
- .getOrCreatePackage(element.package)
142
- .addElement(pureEnumeration);
142
+ _package_addElement(
143
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
144
+ pureEnumeration,
145
+ );
143
146
  this.context.currentSubGraph.setOwnType(path, pureEnumeration);
144
147
  return pureEnumeration;
145
148
  }
@@ -162,9 +165,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
162
165
  !this.context.graph.getNullableElement(path),
163
166
  `Element '${path}' already exists`,
164
167
  );
165
- this.context.currentSubGraph
166
- .getOrCreatePackage(element.package)
167
- .addElement(pureMeasure);
168
+ _package_addElement(
169
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
170
+ pureMeasure,
171
+ );
168
172
  this.context.currentSubGraph.setOwnType(path, pureMeasure);
169
173
  return pureMeasure;
170
174
  }
@@ -187,9 +191,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
187
191
  !this.context.graph.getNullableElement(path),
188
192
  `Element '${path}' already exists`,
189
193
  );
190
- this.context.currentSubGraph
191
- .getOrCreatePackage(element.package)
192
- .addElement(_class);
194
+ _package_addElement(
195
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
196
+ _class,
197
+ );
193
198
  this.context.currentSubGraph.setOwnType(path, _class);
194
199
  return _class;
195
200
  }
@@ -212,9 +217,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
212
217
  !this.context.graph.getNullableElement(path),
213
218
  `Element '${path}' already exists`,
214
219
  );
215
- this.context.currentSubGraph
216
- .getOrCreatePackage(element.package)
217
- .addElement(association);
220
+ _package_addElement(
221
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
222
+ association,
223
+ );
218
224
  this.context.currentSubGraph.setOwnAssociation(path, association);
219
225
  return association;
220
226
  }
@@ -249,9 +255,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
249
255
  !this.context.graph.getNullableElement(path),
250
256
  `Element '${path}' already exists`,
251
257
  );
252
- this.context.currentSubGraph
253
- .getOrCreatePackage(element.package)
254
- .addElement(func);
258
+ _package_addElement(
259
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
260
+ func,
261
+ );
255
262
  this.context.currentSubGraph.setOwnFunction(path, func);
256
263
  return func;
257
264
  }
@@ -274,9 +281,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
274
281
  !this.context.graph.getNullableElement(path),
275
282
  `Element '${path}' already exists`,
276
283
  );
277
- this.context.currentSubGraph
278
- .getOrCreatePackage(element.package)
279
- .addElement(flatData);
284
+ _package_addElement(
285
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
286
+ flatData,
287
+ );
280
288
  this.context.currentSubGraph.setOwnStore(path, flatData);
281
289
  return flatData;
282
290
  }
@@ -299,9 +307,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
299
307
  !this.context.graph.getNullableElement(path),
300
308
  `Element '${path}' already exists`,
301
309
  );
302
- this.context.currentSubGraph
303
- .getOrCreatePackage(element.package)
304
- .addElement(database);
310
+ _package_addElement(
311
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
312
+ database,
313
+ );
305
314
  this.context.currentSubGraph.setOwnStore(path, database);
306
315
  return database;
307
316
  }
@@ -324,9 +333,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
324
333
  !this.context.graph.getNullableElement(path),
325
334
  `Element '${path}' already exists`,
326
335
  );
327
- this.context.currentSubGraph
328
- .getOrCreatePackage(element.package)
329
- .addElement(pureMapping);
336
+ _package_addElement(
337
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
338
+ pureMapping,
339
+ );
330
340
  this.context.currentSubGraph.setOwnMapping(path, pureMapping);
331
341
  return pureMapping;
332
342
  }
@@ -349,9 +359,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
349
359
  !this.context.graph.getNullableElement(path),
350
360
  `Element '${path}' already exists`,
351
361
  );
352
- this.context.currentSubGraph
353
- .getOrCreatePackage(element.package)
354
- .addElement(service);
362
+ _package_addElement(
363
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
364
+ service,
365
+ );
355
366
  this.context.currentSubGraph.setOwnService(path, service);
356
367
  return service;
357
368
  }
@@ -376,9 +387,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
376
387
  !this.context.graph.getNullableElement(path),
377
388
  `Element '${path}' already exists`,
378
389
  );
379
- this.context.currentSubGraph
380
- .getOrCreatePackage(element.package)
381
- .addElement(fileGeneration);
390
+ _package_addElement(
391
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
392
+ fileGeneration,
393
+ );
382
394
  this.context.currentSubGraph.setOwnFileGeneration(path, fileGeneration);
383
395
  return fileGeneration;
384
396
  }
@@ -404,9 +416,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
404
416
  !this.context.graph.getNullableElement(path),
405
417
  `Element '${path}' already exists`,
406
418
  );
407
- this.context.currentSubGraph
408
- .getOrCreatePackage(element.package)
409
- .addElement(generationSpec);
419
+ _package_addElement(
420
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
421
+ generationSpec,
422
+ );
410
423
  this.context.currentSubGraph.setOwnGenerationSpecification(
411
424
  path,
412
425
  generationSpec,
@@ -432,9 +445,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
432
445
  !this.context.graph.getNullableElement(path),
433
446
  `Element '${path}' already exists`,
434
447
  );
435
- this.context.currentSubGraph
436
- .getOrCreatePackage(element.package)
437
- .addElement(runtime);
448
+ _package_addElement(
449
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
450
+ runtime,
451
+ );
438
452
  this.context.currentSubGraph.setOwnRuntime(path, runtime);
439
453
  return runtime;
440
454
  }
@@ -459,9 +473,10 @@ export class V1_ProtocolToMetaModelGraphFirstPassBuilder
459
473
  !this.context.graph.getNullableElement(path),
460
474
  `Element '${path}' already exists`,
461
475
  );
462
- this.context.currentSubGraph
463
- .getOrCreatePackage(element.package)
464
- .addElement(connection);
476
+ _package_addElement(
477
+ this.context.currentSubGraph.getOrCreatePackage(element.package),
478
+ connection,
479
+ );
465
480
  this.context.currentSubGraph.setOwnConnection(path, connection);
466
481
  return connection;
467
482
  }
@@ -165,13 +165,11 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
165
165
  const measure = this.context.graph.getMeasure(
166
166
  this.context.graph.buildPath(element.package, element.name),
167
167
  );
168
- measure.setCanonicalUnit(
169
- V1_buildUnit(
170
- element.canonicalUnit,
171
- measure,
172
- this.context.graph,
173
- this.context,
174
- ),
168
+ measure.canonicalUnit = V1_buildUnit(
169
+ element.canonicalUnit,
170
+ measure,
171
+ this.context.graph,
172
+ this.context,
175
173
  );
176
174
  measure.nonCanonicalUnits = element.nonCanonicalUnits.map((unit) =>
177
175
  V1_buildUnit(unit, measure, this.context.currentSubGraph, this.context),
@@ -290,8 +288,10 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
290
288
  service.documentation = element.documentation;
291
289
  service.autoActivateUpdates = element.autoActivateUpdates;
292
290
  // NOTE: process execution before the test, so we can do some check between test and execution (such matching type, keys, etc.)
293
- service.setExecution(
294
- V1_buildServiceExecution(element.execution, this.context, service),
291
+ service.execution = V1_buildServiceExecution(
292
+ element.execution,
293
+ this.context,
294
+ service,
295
295
  );
296
296
  service.test = V1_buildServiceTest(element.test, this.context, service);
297
297
  }
@@ -313,10 +313,10 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
313
313
  const fileGeneration = this.context.graph.getFileGeneration(
314
314
  this.context.graph.buildPath(element.package, element.name),
315
315
  );
316
- fileGeneration.setType(element.type);
316
+ fileGeneration.type = element.type;
317
317
  fileGeneration.configurationProperties =
318
318
  element.configurationProperties.map(V1_buildConfigurationProperty);
319
- fileGeneration.setGenerationOutputPath(element.generationOutputPath);
319
+ fileGeneration.generationOutputPath = element.generationOutputPath;
320
320
  fileGeneration.scopeElements = element.scopeElements.map((scopeElement) =>
321
321
  V1_buildScopeElement(scopeElement, this.context),
322
322
  );
@@ -338,8 +338,9 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
338
338
  const runtime = this.context.graph.getRuntime(
339
339
  this.context.graph.buildPath(element.package, element.name),
340
340
  );
341
- runtime.setRuntimeValue(
342
- V1_buildEngineRuntime(element.runtimeValue, this.context),
341
+ runtime.runtimeValue = V1_buildEngineRuntime(
342
+ element.runtimeValue,
343
+ this.context,
343
344
  );
344
345
  }
345
346
 
@@ -352,10 +353,9 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
352
353
  'Packageable connection value cannot be a connection pointer',
353
354
  );
354
355
  }
355
- connection.setConnectionValue(
356
+ connection.connectionValue =
356
357
  element.connectionValue.accept_ConnectionVisitor(
357
358
  new V1_ProtocolToMetaModelConnectionBuilder(this.context),
358
- ),
359
- );
359
+ );
360
360
  }
361
361
  }