@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
@@ -27,6 +27,7 @@ export const TYPE_CAST_TOKEN = '@';
27
27
  export const ARROW_FUNCTION_TOKEN = '->';
28
28
  export const LATEST_DATE = '%latest';
29
29
  export const PARSER_SECTION_MARKER = '###';
30
+ export const FUNCTION_SIGNATURE_MULTIPLICITY_INFINITE_TOKEN = 'MANY';
30
31
 
31
32
  export const RESERVERD_PACKAGE_NAMES = ['$implicit'];
32
33
 
@@ -125,6 +126,64 @@ export enum CORE_PURE_PATH {
125
126
  DATA_ELEMENT = 'meta::pure::data::DataElement',
126
127
  }
127
128
 
129
+ export const PURE_DEPRECATED_STEREOTYPE = 'deprecated';
130
+
131
+ export enum MILESTONING_STEREOTYPE {
132
+ BUSINESS_TEMPORAL = 'businesstemporal',
133
+ PROCESSING_TEMPORAL = 'processingtemporal',
134
+ BITEMPORAL = 'bitemporal',
135
+ }
136
+
137
+ export enum MILESTONING_VERSION_PROPERTY_SUFFIX {
138
+ ALL_VERSIONS = 'AllVersions',
139
+ ALL_VERSIONS_IN_RANGE = 'AllVersionsInRange',
140
+ }
141
+
142
+ export const MILESTONING_START_DATE_PARAMETER_NAME = 'start';
143
+ export const MILESTONING_END_DATE_PARAMETER_NAME = 'end';
144
+ export const DEFAULT_PROCESSING_DATE_MILESTONING_PARAMETER_NAME =
145
+ 'processingDate';
146
+ export const DEFAULT_BUSINESS_DATE_MILESTONING_PARAMETER_NAME = 'businessDate';
147
+
148
+ export enum PackageableElementPointerType {
149
+ STORE = 'STORE',
150
+ MAPPING = 'MAPPING',
151
+ RUNTIME = 'RUNTIME',
152
+ FILE_GENERATION = 'FILE_GENERATION',
153
+ SERVICE = 'SERVICE',
154
+ }
155
+
156
+ export const DURATION_UNIT = 'meta::pure::functions::date::DurationUnit';
157
+ export const DAY_OF_WEEK = 'meta::pure::functions::date::DayOfWeek';
158
+
159
+ export enum SUPPORTED_FUNCTIONS {
160
+ // date-time value helper functions
161
+ TODAY = 'meta::pure::functions::date::today',
162
+ NOW = 'meta::pure::functions::date::now',
163
+ FIRST_DAY_OF_WEEK = 'meta::pure::functions::date::firstDayOfThisWeek',
164
+ FIRST_DAY_OF_MONTH = 'meta::pure::functions::date::firstDayOfThisMonth',
165
+ FIRST_DAY_OF_QUARTER = 'meta::pure::functions::date::firstDayOfThisQuarter',
166
+ FIRST_DAY_OF_YEAR = 'meta::pure::functions::date::firstDayOfThisYear',
167
+ PREVIOUS_DAY_OF_WEEK = 'meta::pure::functions::date::previousDayOfWeek',
168
+ IS_ON_DAY = 'meta::pure::functions::date::isOnDay',
169
+ IS_ON_OR_AFTER_DAY = 'meta::pure::functions::date::isOnOrAfterDay',
170
+ IS_AFTER_DAY = 'meta::pure::functions::date::isAfterDay',
171
+ IS_ON_OR_BEFORE_DAY = 'meta::pure::functions::date::isOnOrBeforeDay',
172
+ IS_BEFORE_DAY = 'meta::pure::functions::date::isBeforeDay',
173
+
174
+ // adjust time
175
+ MINUS = 'meta::pure::functions::math::minus',
176
+ ADJUST = 'meta::pure::functions::date::adjust',
177
+ // variables
178
+ LET = 'meta::pure::functions::lang::letFunction',
179
+ }
180
+
181
+ // Date formats
182
+ export const DATE_TIME_FORMAT_WITH_MILLISECONDS =
183
+ "yyyy-MM-dd'T'HH:mm:ss.SSSxxxx";
184
+ export const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssxxxx";
185
+ export const DATE_FORMAT = 'yyyy-MM-dd';
186
+
128
187
  /**
129
188
  * The main point of maintaining this enum is to keep lessen magic string in hash computation
130
189
  * so that we are less error-prone in the process of defining hash.
@@ -345,59 +404,3 @@ export enum CORE_HASH_STRUCTURE {
345
404
  RELATIONAL_TDS = 'RELATIONAL_TDS',
346
405
  RELATIONAL_CSV_DATA_TABLE = 'RELATIONAL_CSV_DATA_TABLE',
347
406
  }
348
-
349
- export enum MILESTONING_STEREOTYPE {
350
- BUSINESS_TEMPORAL = 'businesstemporal',
351
- PROCESSING_TEMPORAL = 'processingtemporal',
352
- BITEMPORAL = 'bitemporal',
353
- }
354
-
355
- export enum MILESTONING_VERSION_PROPERTY_SUFFIX {
356
- ALL_VERSIONS = 'AllVersions',
357
- ALL_VERSIONS_IN_RANGE = 'AllVersionsInRange',
358
- }
359
-
360
- export const MILESTONING_START_DATE_PARAMETER_NAME = 'start';
361
- export const MILESTONING_END_DATE_PARAMETER_NAME = 'end';
362
- export const DEFAULT_PROCESSING_DATE_MILESTONING_PARAMETER_NAME =
363
- 'processingDate';
364
- export const DEFAULT_BUSINESS_DATE_MILESTONING_PARAMETER_NAME = 'businessDate';
365
-
366
- export enum PackageableElementPointerType {
367
- STORE = 'STORE',
368
- MAPPING = 'MAPPING',
369
- RUNTIME = 'RUNTIME',
370
- FILE_GENERATION = 'FILE_GENERATION',
371
- SERVICE = 'SERVICE',
372
- }
373
-
374
- export const DURATION_UNIT = 'meta::pure::functions::date::DurationUnit';
375
- export const DAY_OF_WEEK = 'meta::pure::functions::date::DayOfWeek';
376
-
377
- export enum SUPPORTED_FUNCTIONS {
378
- // date-time value helper functions
379
- TODAY = 'meta::pure::functions::date::today',
380
- NOW = 'meta::pure::functions::date::now',
381
- FIRST_DAY_OF_WEEK = 'meta::pure::functions::date::firstDayOfThisWeek',
382
- FIRST_DAY_OF_MONTH = 'meta::pure::functions::date::firstDayOfThisMonth',
383
- FIRST_DAY_OF_QUARTER = 'meta::pure::functions::date::firstDayOfThisQuarter',
384
- FIRST_DAY_OF_YEAR = 'meta::pure::functions::date::firstDayOfThisYear',
385
- PREVIOUS_DAY_OF_WEEK = 'meta::pure::functions::date::previousDayOfWeek',
386
- IS_ON_DAY = 'meta::pure::functions::date::isOnDay',
387
- IS_ON_OR_AFTER_DAY = 'meta::pure::functions::date::isOnOrAfterDay',
388
- IS_AFTER_DAY = 'meta::pure::functions::date::isAfterDay',
389
- IS_ON_OR_BEFORE_DAY = 'meta::pure::functions::date::isOnOrBeforeDay',
390
- IS_BEFORE_DAY = 'meta::pure::functions::date::isBeforeDay',
391
-
392
- // adjust time
393
- MINUS = 'meta::pure::functions::math::minus',
394
- ADJUST = 'meta::pure::functions::date::adjust',
395
- // variables
396
- LET = 'meta::pure::functions::lang::letFunction',
397
- }
398
-
399
- // Date Metamodel Constants
400
- export const DATE_TIME_FORMAT_WITH_MILLISECONDS =
401
- "yyyy-MM-dd'T'HH:mm:ss.SSSxxxx";
402
- export const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssxxxx";
403
- export const DATE_FORMAT = 'yyyy-MM-dd';
@@ -101,7 +101,7 @@ export abstract class BasicModel {
101
101
  root: Package;
102
102
  readonly extensions: PureGraphExtension<PackageableElement>[] = [];
103
103
 
104
- private elementSectionMap = new Map<string, Section>();
104
+ private elementSectionIndex = new Map<string, Section>();
105
105
 
106
106
  private sectionIndicesIndex = new Map<string, SectionIndex>();
107
107
  private readonly profilesIndex = new Map<string, Profile>();
@@ -237,7 +237,7 @@ export abstract class BasicModel {
237
237
  }
238
238
 
239
239
  getOwnNullableSection = (path: string): Section | undefined =>
240
- this.elementSectionMap.get(path);
240
+ this.elementSectionIndex.get(path);
241
241
 
242
242
  getOwnNullableSectionIndex = (path: string): SectionIndex | undefined =>
243
243
  this.sectionIndicesIndex.get(path);
@@ -385,7 +385,7 @@ export abstract class BasicModel {
385
385
  }
386
386
 
387
387
  setOwnSection(path: string, val: Section): void {
388
- this.elementSectionMap.set(path, val);
388
+ this.elementSectionIndex.set(path, val);
389
389
  }
390
390
  setOwnSectionIndex(path: string, val: SectionIndex): void {
391
391
  this.sectionIndicesIndex.set(path, val);
@@ -776,6 +776,6 @@ export abstract class BasicModel {
776
776
  // as such `this.sectionIndicesIndex.delete(sectionIndex.path)` won't work because the path
777
777
  // is without the package
778
778
  this.sectionIndicesIndex = new Map<string, SectionIndex>();
779
- this.elementSectionMap = new Map<string, Section>();
779
+ this.elementSectionIndex = new Map<string, Section>();
780
780
  }
781
781
  }
@@ -76,8 +76,8 @@ export class DependencyManager {
76
76
  /**
77
77
  * Here we create and index a graph for each dependency
78
78
  */
79
- initialize(dependencyEntitiesMap: Map<string, Entity[]>): void {
80
- Array.from(dependencyEntitiesMap.keys()).forEach((dependencyKey) => {
79
+ initialize(dependencyEntitiesIndex: Map<string, Entity[]>): void {
80
+ Array.from(dependencyEntitiesIndex.keys()).forEach((dependencyKey) => {
81
81
  // NOTE: all dependency models will share the dependency manager root package.
82
82
  this.projectDependencyModelsIndex.set(
83
83
  dependencyKey,
@@ -144,8 +144,12 @@ export class SystemModel extends BasicModel {
144
144
 
145
145
  /**
146
146
  * NOTE: auto imports are for special types and profiles from system model
147
- * such as `Any` or `doc` profiles.
148
- * We prefer to initialize these only once
147
+ * such as `Any` or `doc` profiles. We don't actually build the packages here
148
+ * just resolving them, so we have to make sure whatever package we have as
149
+ * auto imports, we must have built some elements with such package, e.g.
150
+ *
151
+ * `meta::pure::metamodel::type::Any` covers `meta::pure::metamodel::type`
152
+ * `meta::pure::profiles::doc` covers `meta::pure::profiles`
149
153
  */
150
154
  initializeAutoImports(): void {
151
155
  this.autoImports = AUTO_IMPORTS.map((_package) =>
@@ -535,6 +539,10 @@ export class PureModel extends BasicModel {
535
539
  returnUndefOnError(() => this.getClass(path));
536
540
  getNullableMapping = (path: string): Mapping | undefined =>
537
541
  returnUndefOnError(() => this.getMapping(path));
542
+ getNullableService = (path: string): Service | undefined =>
543
+ returnUndefOnError(() => this.getService(path));
544
+ getNullableRuntime = (path: string): PackageableRuntime | undefined =>
545
+ returnUndefOnError(() => this.getRuntime(path));
538
546
  getNullableFileGeneration = (
539
547
  path: string,
540
548
  ): FileGenerationSpecification | undefined =>
@@ -27,7 +27,7 @@ import type {
27
27
  import type { FileGenerationSpecification } from '../models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js';
28
28
  import type { GenerationOutput } from './action/generation/GenerationOutput.js';
29
29
  import type { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
30
- import type { PureModel, CoreModel, SystemModel } from '../graph/PureModel.js';
30
+ import { PureModel, CoreModel, SystemModel } from '../graph/PureModel.js';
31
31
  import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping.js';
32
32
  import type { Runtime } from '../models/metamodels/pure/packageableElements/runtime/Runtime.js';
33
33
  import type { DependencyManager } from '../graph/DependencyManager.js';
@@ -48,11 +48,11 @@ import type {
48
48
  RawExecutionPlan,
49
49
  } from '../models/metamodels/pure/executionPlan/ExecutionPlan.js';
50
50
  import type { ExecutionNode } from '../models/metamodels/pure/executionPlan/nodes/ExecutionNode.js';
51
- import type {
51
+ import {
52
52
  ActionState,
53
- Log,
54
- ServerClientConfig,
55
- TracerService,
53
+ type Log,
54
+ type ServerClientConfig,
55
+ type TracerService,
56
56
  } from '@finos/legend-shared';
57
57
  import type { LightQuery, Query } from './action/query/Query.js';
58
58
  import type { Entity } from '@finos/legend-model-storage';
@@ -71,7 +71,7 @@ import type { AssertFail } from '../models/metamodels/pure/test/assertion/status
71
71
  import type {
72
72
  MappingModelCoverageAnalysisResult,
73
73
  RawMappingModelCoverageAnalysisResult,
74
- } from './action/analytics/MappingAnalytics.js';
74
+ } from './action/analytics/MappingModelCoverageAnalysis.js';
75
75
 
76
76
  export interface TEMPORARY__EngineSetupConfig {
77
77
  env: string;
@@ -129,6 +129,8 @@ export abstract class AbstractPureGraphManager {
129
129
  );
130
130
  }
131
131
 
132
+ abstract getSupportedProtocolVersion(): string;
133
+
132
134
  /**
133
135
  * TODO: we should not expose a fixed config like this, we probably
134
136
  * should not mention anything about engine because it is an internal construct
@@ -146,8 +148,6 @@ export abstract class AbstractPureGraphManager {
146
148
  },
147
149
  ): Promise<void>;
148
150
 
149
- abstract getSupportedProtocolVersion(): string;
150
-
151
151
  // --------------------------------------------- Graph Builder ---------------------------------------------
152
152
 
153
153
  /**
@@ -163,16 +163,6 @@ export abstract class AbstractPureGraphManager {
163
163
  options?: GraphBuilderOptions,
164
164
  ): Promise<GraphBuilderReport>;
165
165
 
166
- /**
167
- * Process entities and build the main graph.
168
- */
169
- abstract buildGraph(
170
- graph: PureModel,
171
- entities: Entity[],
172
- buildState: ActionState,
173
- options?: GraphBuilderOptions,
174
- ): Promise<GraphBuilderReport>;
175
-
176
166
  /**
177
167
  * Build immutable models which holds dependencies.
178
168
  * Dependency models MUST not depend on the main model.
@@ -185,7 +175,17 @@ export abstract class AbstractPureGraphManager {
185
175
  coreModel: CoreModel,
186
176
  systemModel: SystemModel,
187
177
  dependencyManager: DependencyManager,
188
- dependencyEntitiesMap: Map<string, Entity[]>,
178
+ dependencyEntitiesIndex: Map<string, Entity[]>,
179
+ buildState: ActionState,
180
+ options?: GraphBuilderOptions,
181
+ ): Promise<GraphBuilderReport>;
182
+
183
+ /**
184
+ * Process entities and build the main graph.
185
+ */
186
+ abstract buildGraph(
187
+ graph: PureModel,
188
+ entities: Entity[],
189
189
  buildState: ActionState,
190
190
  options?: GraphBuilderOptions,
191
191
  ): Promise<GraphBuilderReport>;
@@ -210,6 +210,9 @@ export abstract class AbstractPureGraphManager {
210
210
  abstract pureCodeToLambda(
211
211
  lambda: string,
212
212
  lambdaId?: string,
213
+ options?: {
214
+ pruneSourceInformation?: boolean;
215
+ },
213
216
  ): Promise<RawLambda>;
214
217
  abstract lambdaToPureCode(
215
218
  lambda: RawLambda,
@@ -325,25 +328,25 @@ export abstract class AbstractPureGraphManager {
325
328
  // ------------------------------------------- Execute -------------------------------------------
326
329
 
327
330
  abstract executeMapping(
328
- graph: PureModel,
329
- mapping: Mapping,
330
331
  lambda: RawLambda,
332
+ mapping: Mapping,
331
333
  runtime: Runtime,
334
+ graph: PureModel,
332
335
  options?: ExecutionOptions,
333
336
  ): Promise<ExecutionResult>;
334
337
 
335
338
  abstract generateExecutionPlan(
336
- graph: PureModel,
337
- mapping: Mapping,
338
339
  lambda: RawLambda,
340
+ mapping: Mapping,
339
341
  runtime: Runtime,
342
+ graph: PureModel,
340
343
  ): Promise<RawExecutionPlan>;
341
344
 
342
345
  abstract debugExecutionPlanGeneration(
343
- graph: PureModel,
344
- mapping: Mapping,
345
346
  lambda: RawLambda,
347
+ mapping: Mapping,
346
348
  runtime: Runtime,
349
+ graph: PureModel,
347
350
  ): Promise<{ plan: RawExecutionPlan; debug: string }>;
348
351
 
349
352
  abstract buildExecutionPlan(
@@ -358,11 +361,11 @@ export abstract class AbstractPureGraphManager {
358
361
  abstract serializeExecutionNode(executionNode: ExecutionNode): object;
359
362
 
360
363
  abstract generateExecuteTestData(
361
- graph: PureModel,
362
- mapping: Mapping,
363
364
  lambda: RawLambda,
364
- runtime: Runtime,
365
365
  parameters: (string | number | boolean)[],
366
+ mapping: Mapping,
367
+ runtime: Runtime,
368
+ graph: PureModel,
366
369
  options?: {
367
370
  // Anonymizes data by hashing any string values in the generated data
368
371
  anonymizeGeneratedData?: boolean;
@@ -376,13 +379,13 @@ export abstract class AbstractPureGraphManager {
376
379
  */
377
380
 
378
381
  abstract registerService(
379
- graph: PureModel,
380
382
  service: Service,
383
+ graph: PureModel,
381
384
  groupId: string,
382
385
  artifactId: string,
386
+ version: string | undefined,
383
387
  server: string,
384
388
  executionMode: ServiceExecutionMode,
385
- version: string | undefined,
386
389
  ): Promise<ServiceRegistrationResult>;
387
390
  abstract activateService(
388
391
  serviceUrl: string,
@@ -414,8 +417,8 @@ export abstract class AbstractPureGraphManager {
414
417
  // -------------------------------------- Analysis --------------------------------------
415
418
 
416
419
  abstract analyzeMappingModelCoverage(
417
- graph: PureModel,
418
420
  mapping: Mapping,
421
+ graph: PureModel,
419
422
  ): Promise<MappingModelCoverageAnalysisResult>;
420
423
 
421
424
  abstract buildMappingModelCoverageAnalysisResult(
@@ -431,6 +434,26 @@ export abstract class AbstractPureGraphManager {
431
434
  },
432
435
  ): Entity;
433
436
 
437
+ async createEmptyGraph(options?: {
438
+ initializeSystem?: boolean;
439
+ }): Promise<PureModel> {
440
+ const extensionElementClasses = this.pluginManager
441
+ .getPureGraphPlugins()
442
+ .flatMap((plugin) => plugin.getExtraPureGraphExtensionClasses?.() ?? []);
443
+ const coreModel = new CoreModel(extensionElementClasses);
444
+ const systemModel = new SystemModel(extensionElementClasses);
445
+ if (options?.initializeSystem) {
446
+ await this.buildSystem(coreModel, systemModel, ActionState.create());
447
+ systemModel.initializeAutoImports();
448
+ }
449
+ const graph = new PureModel(
450
+ coreModel,
451
+ systemModel,
452
+ this.pluginManager.getPureGraphPlugins(),
453
+ );
454
+ return graph;
455
+ }
456
+
434
457
  // ------------------------------------------- Change detection -------------------------------------------
435
458
 
436
459
  abstract buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
@@ -27,6 +27,7 @@ export enum GRAPH_MANAGER_EVENT {
27
27
  GRAPH_BUILDER_OTHER_ELEMENTS_BUILT = 'graph-manager.graph-builder.build-other-elements.success',
28
28
  GRAPH_BUILDER_COMPLETED = 'graph-manager.graph-builder.success',
29
29
 
30
+ GRAPH_SYSTEM_INITIALIZED = 'graph-manager.system-initialization.success',
30
31
  GRAPH_INITIALIZED = 'graph-manager.graph-initialization.success',
31
32
  GRAPH_DEPENDENCIES_FETCHED = 'graph-manager.fetch-dependencies.success',
32
33
  GRAPH_ENTITIES_FETCHED = 'graph-manager.entities-dependencies.success',
@@ -17,7 +17,7 @@
17
17
  export type RawMappingModelCoverageAnalysisResult = object;
18
18
 
19
19
  export class MappedEntity {
20
- readonly __NAME_TO_PROPERTY!: Map<string, MappedProperty>;
20
+ readonly __PROPERTIES_INDEX = new Map<string, MappedProperty>();
21
21
 
22
22
  path: string;
23
23
  properties: MappedProperty[];
@@ -25,8 +25,9 @@ export class MappedEntity {
25
25
  constructor(path: string, properties: MappedProperty[]) {
26
26
  this.path = path;
27
27
  this.properties = properties;
28
- this.__NAME_TO_PROPERTY = new Map<string, MappedProperty>();
29
- properties.map((p) => this.__NAME_TO_PROPERTY.set(p.name, p));
28
+ properties.forEach((property) =>
29
+ this.__PROPERTIES_INDEX.set(property.name, property),
30
+ );
30
31
  }
31
32
  }
32
33
 
@@ -59,13 +60,14 @@ export class EnumMappedProperty extends MappedProperty {
59
60
  }
60
61
 
61
62
  export class MappingModelCoverageAnalysisResult {
62
- readonly __PATH_TO_ENTITY!: Map<string, MappedEntity>;
63
+ readonly __ENTITIES_INDEX = new Map<string, MappedEntity>();
63
64
 
64
65
  mappedEntities: MappedEntity[];
65
66
 
66
67
  constructor(mappedEntities: MappedEntity[]) {
67
68
  this.mappedEntities = mappedEntities;
68
- this.__PATH_TO_ENTITY = new Map<string, MappedEntity>();
69
- mappedEntities.map((e) => this.__PATH_TO_ENTITY.set(e.path, e));
69
+ mappedEntities.forEach((entity) =>
70
+ this.__ENTITIES_INDEX.set(entity.path, entity),
71
+ );
70
72
  }
71
73
  }
@@ -22,10 +22,7 @@ import {
22
22
  observable,
23
23
  } from 'mobx';
24
24
  import type { PackageableElement } from '../../../models/metamodels/pure/packageableElements/PackageableElement.js';
25
- import type {
26
- OptionalPackageableElementReference,
27
- PackageableElementReference,
28
- } from '../../../models/metamodels/pure/packageableElements/PackageableElementReference.js';
25
+ import type { PackageableElementReference } from '../../../models/metamodels/pure/packageableElements/PackageableElementReference.js';
29
26
  import type { Multiplicity } from '../../../models/metamodels/pure/packageableElements/domain/Multiplicity.js';
30
27
  import type { InferableValue } from '../../../models/metamodels/pure/InferableValue.js';
31
28
  import type { PureGraphManagerPlugin } from '../../PureGraphManagerPlugin.js';
@@ -80,16 +77,6 @@ export const observe_PackageableElementReference = skipObserved(
80
77
  }),
81
78
  );
82
79
 
83
- export const observe_OptionalPackageableElementReference = skipObserved(
84
- <T extends PackageableElement>(
85
- metamodel: OptionalPackageableElementReference<T>,
86
- ): OptionalPackageableElementReference<T> =>
87
- makeObservable(metamodel, {
88
- value: observable,
89
- valueForSerialization: computed,
90
- }),
91
- );
92
-
93
80
  export const observe_Multiplicity = skipObserved(
94
81
  (metamodel: Multiplicity): Multiplicity =>
95
82
  makeObservable(metamodel, {
@@ -25,7 +25,6 @@ import type { ModelUnit } from '../../../models/metamodels/pure/packageableEleme
25
25
  import {
26
26
  observe_PackageableElementReference,
27
27
  skipObserved,
28
- observe_OptionalPackageableElementReference,
29
28
  observe_Abstract_PackageableElement,
30
29
  } from './CoreObserverHelper.js';
31
30
  import {
@@ -65,7 +64,9 @@ export const observe_Binding = skipObserved((metamodel: Binding): Binding => {
65
64
  _elementHashCode: override,
66
65
  });
67
66
 
68
- observe_OptionalPackageableElementReference(metamodel.schemaSet);
67
+ if (metamodel.schemaSet) {
68
+ observe_PackageableElementReference(metamodel.schemaSet);
69
+ }
69
70
  observe_ModelUnit(metamodel.modelUnit);
70
71
 
71
72
  return metamodel;
@@ -25,7 +25,7 @@ import type { AggregationAwarePropertyMapping } from '../../../models/metamodels
25
25
  import type { AggregationAwareSetImplementation } from '../../../models/metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation.js';
26
26
  import type { AssociationImplementation } from '../../../models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js';
27
27
  import type { EnumerationMapping } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js';
28
- import type { OptionalEnumerationMappingReference } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js';
28
+ import type { EnumerationMappingReference } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js';
29
29
  import type {
30
30
  EnumValueMapping,
31
31
  SourceValue,
@@ -92,7 +92,6 @@ import {
92
92
  skipObserved,
93
93
  skipObservedWithContext,
94
94
  observe_Multiplicity,
95
- observe_OptionalPackageableElementReference,
96
95
  } from './CoreObserverHelper.js';
97
96
  import {
98
97
  observe_EnumValueReference,
@@ -131,16 +130,14 @@ export const observe_Abstract_Store = (metamodel: Store): void => {
131
130
 
132
131
  // ------------------------------------- Mapping -------------------------------------
133
132
 
134
- export const observe_OptionalEnumerationMappingReference = skipObserved(
135
- (
136
- metamodel: OptionalEnumerationMappingReference,
137
- ): OptionalEnumerationMappingReference => {
133
+ export const observe_EnumerationMappingReference = skipObserved(
134
+ (metamodel: EnumerationMappingReference): EnumerationMappingReference => {
138
135
  makeObservable(metamodel, {
139
136
  value: observable,
140
137
  valueForSerialization: computed,
141
138
  });
142
139
 
143
- observe_OptionalPackageableElementReference(metamodel.ownerReference);
140
+ observe_PackageableElementReference(metamodel.ownerReference);
144
141
 
145
142
  return metamodel;
146
143
  },
@@ -184,8 +181,10 @@ export const observe_Abstract_PropertyMapping = (
184
181
  });
185
182
 
186
183
  observe_PropertyReference(metamodel.property);
187
- // TODO: source
188
- // TODO: target
184
+ observe_SetImplementationReference(metamodel.sourceSetImplementation);
185
+ if (metamodel.targetSetImplementation) {
186
+ observe_SetImplementationReference(metamodel.targetSetImplementation);
187
+ }
189
188
  if (metamodel.localMappingProperty) {
190
189
  observe_LocalMappingPropertyInfo(metamodel.localMappingProperty);
191
190
  }
@@ -202,7 +201,9 @@ export const observe_PurePropertyMapping = skipObservedWithContext(
202
201
  hashCode: computed,
203
202
  });
204
203
 
205
- observe_OptionalEnumerationMappingReference(metamodel.transformer);
204
+ if (metamodel.transformer) {
205
+ observe_EnumerationMappingReference(metamodel.transformer);
206
+ }
206
207
  observe_RawLambda(metamodel.transform);
207
208
 
208
209
  return metamodel;
@@ -425,7 +426,9 @@ export const observe_PureInstanceSetImplementation = skipObservedWithContext(
425
426
  hashCode: computed,
426
427
  });
427
428
 
428
- observe_OptionalPackageableElementReference(metamodel.srcClass);
429
+ if (metamodel.srcClass) {
430
+ observe_PackageableElementReference(metamodel.srcClass);
431
+ }
429
432
  if (metamodel.filter) {
430
433
  observe_RawLambda(metamodel.filter);
431
434
  }
@@ -595,7 +598,9 @@ export const observe_EnumerationMapping = skipObserved(
595
598
 
596
599
  observe_PackageableElementReference(metamodel.enumeration);
597
600
  observe_InferableMappingElementIdValue(metamodel.id);
598
- observe_OptionalPackageableElementReference(metamodel.sourceType);
601
+ if (metamodel.sourceType) {
602
+ observe_PackageableElementReference(metamodel.sourceType);
603
+ }
599
604
  metamodel.enumValueMappings.forEach(observe_EnumValueMapping);
600
605
 
601
606
  return metamodel;
@@ -36,7 +36,7 @@ const observe_PureGraphExtension = skipObserved(
36
36
  const observe_Abstract_BasicModel = (metamodel: BasicModel): void => {
37
37
  makeObservable<
38
38
  BasicModel,
39
- | 'elementSectionMap'
39
+ | 'elementSectionIndex'
40
40
  | 'sectionIndicesIndex'
41
41
  | 'profilesIndex'
42
42
  | 'typesIndex'
@@ -51,7 +51,7 @@ const observe_Abstract_BasicModel = (metamodel: BasicModel): void => {
51
51
  | 'fileGenerationsIndex'
52
52
  | 'dataElementsIndex'
53
53
  >(metamodel, {
54
- elementSectionMap: observable,
54
+ elementSectionIndex: observable,
55
55
  extensions: observable,
56
56
 
57
57
  sectionIndicesIndex: observable,
@@ -60,7 +60,6 @@ import {
60
60
  type ObserverContext,
61
61
  skipObservedWithContext,
62
62
  skipObserved,
63
- observe_OptionalPackageableElementReference,
64
63
  observe_Multiplicity,
65
64
  observe_PackageableElementReference,
66
65
  } from './CoreObserverHelper.js';
@@ -511,7 +510,9 @@ function _observe_PropertyGraphFetchTree(
511
510
  metamodel.parameters.forEach((value) =>
512
511
  observe_ValueSpecification(value, context),
513
512
  );
514
- observe_OptionalPackageableElementReference(metamodel.subType);
513
+ if (metamodel.subType) {
514
+ observe_PackageableElementReference(metamodel.subType);
515
+ }
515
516
 
516
517
  return metamodel;
517
518
  }
@@ -215,7 +215,7 @@ export const findPropertyMapping = (
215
215
  return properties.find(
216
216
  (propertyMapping) =>
217
217
  propertyMapping.targetSetImplementation &&
218
- propertyMapping.targetSetImplementation.id.value === targetId,
218
+ propertyMapping.targetSetImplementation.value.id.value === targetId,
219
219
  );
220
220
  };
221
221
 
@@ -23,6 +23,7 @@ import {
23
23
  MILESTONING_STEREOTYPE,
24
24
  PRIMITIVE_TYPE,
25
25
  MULTIPLICITY_INFINITE,
26
+ PURE_DEPRECATED_STEREOTYPE,
26
27
  } from '../MetaModelConst.js';
27
28
  import { Package } from '../models/metamodels/pure/packageableElements/domain/Package.js';
28
29
  import type { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
@@ -59,6 +60,7 @@ import type { Enum } from '../models/metamodels/pure/packageableElements/domain/
59
60
  import type { Constraint } from '../models/metamodels/pure/packageableElements/domain/Constraint.js';
60
61
  import type { GenericType } from '../models/metamodels/pure/packageableElements/domain/GenericType.js';
61
62
  import type { Multiplicity } from '../models/metamodels/pure/packageableElements/domain/Multiplicity.js';
63
+ import type { AnnotatedElement } from '../models/metamodels/pure/packageableElements/domain/AnnotatedElement.js';
62
64
 
63
65
  export const addElementToPackage = (
64
66
  parent: Package,
@@ -518,3 +520,15 @@ export const getMultiplicityDescription = (
518
520
  : `Must have at least ${multiplicity.lowerBound} values(s)`
519
521
  }`;
520
522
  };
523
+
524
+ export const isElementDeprecated = (
525
+ element: AnnotatedElement | Class,
526
+ graph: PureModel,
527
+ ): boolean =>
528
+ element.stereotypes.some(
529
+ (st) =>
530
+ st.value ===
531
+ graph
532
+ .getProfile(CORE_PURE_PATH.PROFILE_DOC)
533
+ .p_stereotypes.find((s) => s.value === PURE_DEPRECATED_STEREOTYPE),
534
+ );