@finos/legend-graph 10.1.0 → 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 (371) 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/DSLService_Exports.d.ts +1 -0
  10. package/lib/DSLService_Exports.d.ts.map +1 -1
  11. package/lib/DSLService_Exports.js +1 -0
  12. package/lib/DSLService_Exports.js.map +1 -1
  13. package/lib/GraphManagerState.d.ts +21 -18
  14. package/lib/GraphManagerState.d.ts.map +1 -1
  15. package/lib/GraphManagerState.js +68 -59
  16. package/lib/GraphManagerState.js.map +1 -1
  17. package/lib/GraphManagerTestUtils.js.map +1 -1
  18. package/lib/MetaModelConst.d.ts +44 -42
  19. package/lib/MetaModelConst.d.ts.map +1 -1
  20. package/lib/MetaModelConst.js +52 -50
  21. package/lib/MetaModelConst.js.map +1 -1
  22. package/lib/graph/BasicModel.d.ts +1 -1
  23. package/lib/graph/BasicModel.d.ts.map +1 -1
  24. package/lib/graph/BasicModel.js +4 -4
  25. package/lib/graph/BasicModel.js.map +1 -1
  26. package/lib/graph/DependencyManager.d.ts +1 -1
  27. package/lib/graph/DependencyManager.d.ts.map +1 -1
  28. package/lib/graph/DependencyManager.js +2 -2
  29. package/lib/graph/DependencyManager.js.map +1 -1
  30. package/lib/graph/PureModel.d.ts +8 -2
  31. package/lib/graph/PureModel.d.ts.map +1 -1
  32. package/lib/graph/PureModel.js +8 -2
  33. package/lib/graph/PureModel.js.map +1 -1
  34. package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -21
  35. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  36. package/lib/graphManager/AbstractPureGraphManager.js +15 -0
  37. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  38. package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
  39. package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
  40. package/lib/graphManager/GraphManagerEvent.js +1 -0
  41. package/lib/graphManager/GraphManagerEvent.js.map +1 -1
  42. package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
  43. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
  44. package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
  45. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
  46. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
  47. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
  48. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
  49. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
  50. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
  51. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
  52. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
  53. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
  54. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  55. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
  56. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  57. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
  58. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  59. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
  60. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
  61. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
  62. package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts +3 -2
  63. package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts.map +1 -1
  64. package/lib/graphManager/action/validation/DSLService_ValidationHelper.js +1 -1
  65. package/lib/graphManager/action/validation/DSLService_ValidationHelper.js.map +1 -1
  66. package/lib/helpers/DSLMapping_Helper.js +1 -1
  67. package/lib/helpers/DSLMapping_Helper.js.map +1 -1
  68. package/lib/helpers/DomainHelper.d.ts +2 -0
  69. package/lib/helpers/DomainHelper.d.ts.map +1 -1
  70. package/lib/helpers/DomainHelper.js +5 -1
  71. package/lib/helpers/DomainHelper.js.map +1 -1
  72. package/lib/index.d.ts +7 -11
  73. package/lib/index.d.ts.map +1 -1
  74. package/lib/index.js +8 -11
  75. package/lib/index.js.map +1 -1
  76. package/lib/models/metamodels/pure/Reference.d.ts +16 -19
  77. package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
  78. package/lib/models/metamodels/pure/Reference.js +14 -19
  79. package/lib/models/metamodels/pure/Reference.js.map +1 -1
  80. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
  81. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
  83. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
  85. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
  87. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
  89. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
  91. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
  93. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
  95. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
  97. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
  99. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
  101. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
  103. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts +20 -0
  105. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts.map +1 -0
  106. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js +20 -0
  107. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js.map +1 -0
  108. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
  109. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
  111. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
  113. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
  115. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
  117. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
  119. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
  121. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
  122. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
  123. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
  124. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
  125. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  126. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  127. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
  128. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  129. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
  130. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  131. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
  132. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
  133. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
  134. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
  135. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  136. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
  137. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  138. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
  139. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  140. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  141. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -19
  142. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  143. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +159 -158
  144. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  145. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -4
  146. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  147. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -7
  148. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  149. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -4
  150. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -53
  152. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
  154. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
  155. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
  156. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
  157. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
  158. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
  159. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
  160. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
  161. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
  162. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
  163. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
  164. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
  165. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
  166. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
  167. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
  168. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts +20 -0
  169. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts.map +1 -0
  170. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js +20 -0
  171. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js.map +1 -0
  172. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  173. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
  174. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  175. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
  176. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  177. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
  178. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
  179. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
  180. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
  181. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
  182. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
  183. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
  184. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
  185. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
  186. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
  187. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
  188. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
  189. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
  190. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
  191. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
  192. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
  193. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
  194. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
  195. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
  196. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
  197. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
  198. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
  199. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
  200. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
  201. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
  202. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
  203. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
  204. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
  205. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  206. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
  207. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  208. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
  209. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
  210. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
  211. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
  212. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
  213. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
  214. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
  215. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
  216. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
  217. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
  218. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
  219. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
  220. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
  221. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
  222. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
  223. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
  224. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
  225. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
  226. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  227. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
  228. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  229. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
  230. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  231. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
  232. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  233. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
  234. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  235. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  236. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
  243. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
  244. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
  245. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
  246. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
  247. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
  248. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
  249. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
  250. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  251. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
  252. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  253. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts +5 -2
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts.map +1 -1
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js +17 -2
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js.map +1 -1
  260. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  261. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts +3 -1
  264. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +16 -4
  266. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
  267. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +9 -9
  268. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  269. package/lib/package.json +5 -5
  270. package/package.json +8 -8
  271. package/src/DSLData_Exports.ts +1 -1
  272. package/src/DSLMapping_Exports.ts +20 -6
  273. package/src/DSLService_Exports.ts +1 -0
  274. package/src/GraphManagerState.ts +104 -91
  275. package/src/GraphManagerTestUtils.tsx +4 -4
  276. package/src/MetaModelConst.ts +59 -56
  277. package/src/graph/BasicModel.ts +4 -4
  278. package/src/graph/DependencyManager.ts +2 -2
  279. package/src/graph/PureModel.ts +10 -2
  280. package/src/graphManager/AbstractPureGraphManager.ts +54 -40
  281. package/src/graphManager/GraphManagerEvent.ts +1 -0
  282. package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
  283. package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
  284. package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
  285. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
  286. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
  287. package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
  288. package/src/graphManager/action/validation/DSLService_ValidationHelper.ts +4 -7
  289. package/src/helpers/DSLMapping_Helper.ts +1 -1
  290. package/src/helpers/DomainHelper.ts +14 -0
  291. package/src/index.ts +14 -18
  292. package/src/models/metamodels/pure/Reference.ts +17 -26
  293. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
  294. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
  295. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
  296. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
  297. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
  298. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
  299. package/src/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.ts +21 -0
  300. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
  301. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
  302. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
  303. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
  304. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
  305. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
  306. package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
  307. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
  308. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
  309. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +248 -255
  310. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -13
  311. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -45
  312. package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
  313. package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
  314. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
  315. package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
  316. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.ts +21 -0
  317. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
  318. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
  319. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
  320. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
  321. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
  322. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
  323. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
  324. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
  325. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
  326. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
  327. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
  328. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
  329. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
  330. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
  331. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
  332. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
  333. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
  334. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
  335. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
  336. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
  337. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
  338. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
  339. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
  340. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
  341. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
  342. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.ts +25 -4
  343. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
  344. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +29 -3
  345. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +9 -9
  346. package/tsconfig.json +15 -12
  347. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
  348. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
  349. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
  350. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
  351. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
  352. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
  353. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
  354. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
  355. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
  356. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
  357. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
  358. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
  359. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
  360. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
  361. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
  362. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
  363. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
  364. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
  365. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
  366. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
  367. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
  368. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
  369. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
  370. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
  371. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
@@ -14,14 +14,13 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { assertType } from '@finos/legend-shared';
18
17
  import type { PackageableElement } from './PackageableElement.js';
19
18
  import type { Section } from './section/Section.js';
20
- import { RequiredReference, OptionalReference } from '../Reference.js';
19
+ import { Reference } from '../Reference.js';
21
20
 
22
21
  export abstract class PackageableElementReference<
23
22
  T extends PackageableElement,
24
- > extends RequiredReference {
23
+ > extends Reference {
25
24
  value: T;
26
25
 
27
26
  protected constructor(value: T) {
@@ -141,131 +140,3 @@ export class PackageableElementImplicitReference<
141
140
  return currentElementPath;
142
141
  }
143
142
  }
144
-
145
- export abstract class OptionalPackageableElementReference<
146
- T extends PackageableElement,
147
- > extends OptionalReference {
148
- value?: T | undefined;
149
-
150
- protected constructor(value: T | undefined) {
151
- super();
152
- this.value = value;
153
- }
154
-
155
- abstract get valueForSerialization(): string | undefined;
156
- }
157
-
158
- export class OptionalPackageableElementExplicitReference<
159
- T extends PackageableElement,
160
- > extends OptionalPackageableElementReference<T> {
161
- private constructor(value: T | undefined) {
162
- super(value);
163
- }
164
-
165
- static create<V extends PackageableElement>(
166
- value: V | undefined,
167
- ): OptionalPackageableElementExplicitReference<V> {
168
- return new OptionalPackageableElementExplicitReference(value);
169
- }
170
-
171
- get valueForSerialization(): string | undefined {
172
- return this.value?.path;
173
- }
174
- }
175
-
176
- export class OptionalPackageableElementImplicitReference<
177
- T extends PackageableElement,
178
- > extends OptionalPackageableElementReference<T> {
179
- readonly initialResolvedPath?: string | undefined;
180
- readonly input?: string | undefined;
181
- readonly parentSection?: Section | undefined;
182
- readonly skipSectionCheck?: boolean | undefined;
183
-
184
- private constructor(
185
- value: T | undefined,
186
- input: string | undefined,
187
- parentSection: Section | undefined,
188
- skipSectionCheck: boolean | undefined,
189
- ) {
190
- super(value);
191
- this.initialResolvedPath = value?.path;
192
- this.input = input;
193
- this.parentSection = parentSection;
194
- this.skipSectionCheck = skipSectionCheck;
195
- }
196
-
197
- static create<V extends PackageableElement>(
198
- value: V | undefined,
199
- input: string | undefined,
200
- ): OptionalPackageableElementImplicitReference<V> {
201
- return new OptionalPackageableElementImplicitReference(
202
- value,
203
- input,
204
- undefined,
205
- true,
206
- );
207
- }
208
-
209
- /**
210
- * Use this creator method when the reference is created by
211
- * resolving imports using section majorly when building the graph.
212
- */
213
- static resolveFromSection<V extends PackageableElement>(
214
- value: V | undefined,
215
- input: string | undefined,
216
- parentSection: Section | undefined,
217
- ): OptionalPackageableElementImplicitReference<V> {
218
- return new OptionalPackageableElementImplicitReference(
219
- value,
220
- input,
221
- parentSection,
222
- false,
223
- );
224
- }
225
-
226
- get valueForSerialization(): string | undefined {
227
- const currentElementPath = this.value?.path;
228
- // NOTE: `skipSectionCheck` flag's effect should only kick in if the value
229
- // is not different than the original value
230
- if (
231
- this.skipSectionCheck &&
232
- this.initialResolvedPath === currentElementPath
233
- ) {
234
- return this.input;
235
- }
236
- // when the parent section does not exist or has been deleted
237
- if (
238
- this.parentSection === undefined ||
239
- this.parentSection._OWNER.isDeleted
240
- ) {
241
- return currentElementPath;
242
- }
243
- // the current element is the same as the inferred one
244
- if (this.initialResolvedPath === currentElementPath) {
245
- return this.input;
246
- }
247
- return currentElementPath;
248
- }
249
- }
250
-
251
- export const optionalizePackageableElementReference = <
252
- V extends PackageableElement,
253
- >(
254
- reference: PackageableElementReference<V> | undefined,
255
- ): OptionalPackageableElementReference<V> => {
256
- if (!reference || reference instanceof PackageableElementExplicitReference) {
257
- return OptionalPackageableElementExplicitReference.create(reference?.value);
258
- }
259
- assertType(reference, PackageableElementImplicitReference);
260
- if (reference.skipSectionCheck) {
261
- return OptionalPackageableElementImplicitReference.create(
262
- reference.value,
263
- reference.input,
264
- );
265
- }
266
- return OptionalPackageableElementImplicitReference.resolveFromSection(
267
- reference.value,
268
- reference.input,
269
- reference.parentSection,
270
- );
271
- };
@@ -17,13 +17,16 @@
17
17
  import { hashArray, type Hashable } from '@finos/legend-shared';
18
18
  import type { SchemaSet } from '../schemaSet/DSLExternalFormat_SchemaSet.js';
19
19
  import { Store } from '../../store/Store.js';
20
- import type { OptionalPackageableElementReference } from '../../PackageableElementReference.js';
21
20
  import type { ModelUnit } from './DSLExternalFormat_ModelUnit.js';
22
21
  import type { PackageableElementVisitor } from '../../PackageableElement.js';
23
22
  import { DSL_EXTERNAL_FORMAT_HASH_STRUCTURE } from '../../../../../DSLExternalFormat_ModelUtils.js';
23
+ import type { PackageableElementReference } from '../../PackageableElementReference.js';
24
24
 
25
+ // NOTE: in the metamodel, `Binding` extends `ModelStore`, we could consider doing the same
26
+ // although this might not be trivial as we have a fair amount of logic around the special
27
+ // handling of `ModelStore`
25
28
  export class Binding extends Store implements Hashable {
26
- schemaSet!: OptionalPackageableElementReference<SchemaSet>;
29
+ schemaSet?: PackageableElementReference<SchemaSet> | undefined;
27
30
  schemaId?: string | undefined;
28
31
  contentType!: string;
29
32
  modelUnit!: ModelUnit;
@@ -32,7 +35,7 @@ export class Binding extends Store implements Hashable {
32
35
  return hashArray([
33
36
  DSL_EXTERNAL_FORMAT_HASH_STRUCTURE.BINDING,
34
37
  this.path,
35
- this.schemaSet.valueForSerialization ?? '',
38
+ this.schemaSet?.valueForSerialization ?? '',
36
39
  this.schemaId ?? '',
37
40
  this.contentType,
38
41
  this.modelUnit,
@@ -16,10 +16,7 @@
16
16
 
17
17
  import { hashArray, isNonNullable, type Hashable } from '@finos/legend-shared';
18
18
  import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst.js';
19
- import type {
20
- PackageableElementReference,
21
- OptionalPackageableElementReference,
22
- } from '../PackageableElementReference.js';
19
+ import type { PackageableElementReference } from '../PackageableElementReference.js';
23
20
  import type { Mapping } from './Mapping.js';
24
21
  import type { Enumeration } from '../domain/Enumeration.js';
25
22
  import type { EnumValueMapping } from './EnumValueMapping.js';
@@ -31,14 +28,14 @@ export class EnumerationMapping implements Hashable {
31
28
 
32
29
  enumeration: PackageableElementReference<Enumeration>;
33
30
  id: InferableMappingElementIdValue;
34
- sourceType: OptionalPackageableElementReference<Type>;
31
+ sourceType?: PackageableElementReference<Type> | undefined;
35
32
  enumValueMappings: EnumValueMapping[] = [];
36
33
 
37
34
  constructor(
38
35
  id: InferableMappingElementIdValue,
39
36
  enumeration: PackageableElementReference<Enumeration>,
40
37
  parent: Mapping,
41
- sourceType: OptionalPackageableElementReference<Type>,
38
+ sourceType: PackageableElementReference<Type> | undefined,
42
39
  ) {
43
40
  this.id = id;
44
41
  this.enumeration = enumeration;
@@ -55,15 +52,19 @@ export class EnumerationMapping implements Hashable {
55
52
  this.enumValueMappings.filter(
56
53
  // TODO: use `isStubbed_EnumValueMapping` when we refactor hashing
57
54
  (enumValueMapping) =>
58
- enumValueMapping.sourceValues.filter(isNonNullable).length,
55
+ enumValueMapping.sourceValues.filter((sourceValue) =>
56
+ isNonNullable(sourceValue.value),
57
+ ).length,
59
58
  ).length
60
- ? this.sourceType.valueForSerialization ?? ''
59
+ ? this.sourceType?.valueForSerialization ?? ''
61
60
  : '', // default source value when there is no element
62
61
  hashArray(
63
62
  this.enumValueMappings.filter(
64
63
  // TODO: use `isStubbed_EnumValueMapping` when we refactor hashing
65
64
  (enumValueMapping) =>
66
- enumValueMapping.sourceValues.filter(isNonNullable).length,
65
+ enumValueMapping.sourceValues.filter((sourceValue) =>
66
+ isNonNullable(sourceValue.value),
67
+ ).length,
67
68
  ),
68
69
  ),
69
70
  ]);
@@ -15,20 +15,20 @@
15
15
  */
16
16
 
17
17
  import {
18
- type OptionalPackageableElementReference,
19
- OptionalPackageableElementExplicitReference,
18
+ type PackageableElementReference,
19
+ PackageableElementExplicitReference,
20
20
  } from '../PackageableElementReference.js';
21
21
  import type { Mapping } from './Mapping.js';
22
22
  import type { EnumerationMapping } from './EnumerationMapping.js';
23
- import { OptionalReferenceWithOwner } from '../../Reference.js';
23
+ import { ReferenceWithOwner } from '../../Reference.js';
24
24
 
25
- export abstract class OptionalEnumerationMappingReference extends OptionalReferenceWithOwner {
26
- override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
27
- value?: EnumerationMapping | undefined;
25
+ export abstract class EnumerationMappingReference extends ReferenceWithOwner {
26
+ override readonly ownerReference: PackageableElementReference<Mapping>;
27
+ value: EnumerationMapping;
28
28
 
29
29
  protected constructor(
30
- ownerReference: OptionalPackageableElementReference<Mapping>,
31
- value: EnumerationMapping | undefined,
30
+ ownerReference: PackageableElementReference<Mapping>,
31
+ value: EnumerationMapping,
32
32
  ) {
33
33
  super(ownerReference);
34
34
  this.ownerReference = ownerReference;
@@ -38,24 +38,24 @@ export abstract class OptionalEnumerationMappingReference extends OptionalRefere
38
38
  abstract get valueForSerialization(): string | undefined;
39
39
  }
40
40
 
41
- export class OptionalEnumerationMappingExplicitReference extends OptionalEnumerationMappingReference {
42
- override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
41
+ export class EnumerationMappingExplicitReference extends EnumerationMappingReference {
42
+ override readonly ownerReference: PackageableElementReference<Mapping>;
43
43
 
44
- private constructor(value: EnumerationMapping | undefined) {
45
- const ownerReference = OptionalPackageableElementExplicitReference.create(
46
- value?._PARENT,
44
+ private constructor(value: EnumerationMapping) {
45
+ const ownerReference = PackageableElementExplicitReference.create(
46
+ value._PARENT,
47
47
  );
48
48
  super(ownerReference, value);
49
49
  this.ownerReference = ownerReference;
50
50
  }
51
51
 
52
52
  static create(
53
- value: EnumerationMapping | undefined,
54
- ): OptionalEnumerationMappingExplicitReference {
55
- return new OptionalEnumerationMappingExplicitReference(value);
53
+ value: EnumerationMapping,
54
+ ): EnumerationMappingExplicitReference {
55
+ return new EnumerationMappingExplicitReference(value);
56
56
  }
57
57
 
58
- get valueForSerialization(): string | undefined {
59
- return this.value?.id.value;
58
+ get valueForSerialization(): string {
59
+ return this.value.id.value;
60
60
  }
61
61
  }
@@ -18,7 +18,6 @@ import { hashArray, type Hashable } from '@finos/legend-shared';
18
18
  import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst.js';
19
19
  import type { PropertyReference } from '../domain/PropertyReference.js';
20
20
  import type { PropertyMappingsImplementation } from './PropertyMappingsImplementation.js';
21
- import type { SetImplementation } from './SetImplementation.js';
22
21
  import type { PurePropertyMapping } from '../store/modelToModel/mapping/PurePropertyMapping.js';
23
22
  import type { FlatDataPropertyMapping } from '../store/flatData/mapping/FlatDataPropertyMapping.js';
24
23
  import type { EmbeddedFlatDataPropertyMapping } from '../store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js';
@@ -29,6 +28,7 @@ import type { InlineEmbeddedRelationalInstanceSetImplementation } from '../store
29
28
  import type { AggregationAwarePropertyMapping } from './aggregationAware/AggregationAwarePropertyMapping.js';
30
29
  import type { XStorePropertyMapping } from './xStore/XStorePropertyMapping.js';
31
30
  import type { LocalMappingPropertyInfo } from './LocalMappingPropertyInfo.js';
31
+ import type { SetImplementationReference } from './SetImplementationReference.js';
32
32
 
33
33
  export interface PropertyMappingVisitor<T> {
34
34
  visit_PropertyMapping(propertyMapping: PropertyMapping): T;
@@ -64,41 +64,45 @@ export abstract class PropertyMapping implements Hashable {
64
64
 
65
65
  property: PropertyReference;
66
66
  /**
67
- * NOTE: in case the holder of this property mapping is an embedded property mapping,
68
- * that embedded property mapping is considered the source otherwise, it is always
69
- * the top/root `InstanceSetImplementation` that is considered the source implementation
67
+ * In Pure, these fields are defined as string and not properly resolved, perhaps because of
68
+ * the fact that in Pure, we allow mappings which contain class mapping IDs pointing at
69
+ * another mapping's class mappings. In Pure/Engine, we let this pass compilation phase.
70
+ * In Studio, we disallow this. This makes it hard for users to migrate to Studio.
71
+ * We should think of a strategy to make things loadable in Studio, but disallow users
72
+ * to make changes if they have this kind of error in their graph.
70
73
  *
71
- * TODO: change this to use `SetImplemenetationReference`
72
- */
73
- sourceSetImplementation: SetImplementation;
74
- /**
75
- * NOTE: in Pure, we actually only store `targetId` and `sourceId` instead of the
76
- * reference but for convenience and graph completeness validation purpose we will
77
- * resolve to the actual set implementations here
74
+ * See https://github.com/finos/legend-studio/issues/880
75
+ *
76
+ * NOTE: We might not be able to resolve `targetSetImplementation` for all `target` IDs hence
77
+ * defined as optional for now. We might need to come back and re-visit this decision. Note that
78
+ * one quirky thing is that the metamodel in Pure has these fields as string pointers, even
79
+ * when these are not resolvable, the field is set to empty string. We should solidify our
80
+ * understand about these fields.
78
81
  *
79
- * TODO: change this to use `OptionalSetImplemenetationReference`
82
+ * @discrepancy model
80
83
  */
81
- targetSetImplementation?: SetImplementation | undefined;
84
+ sourceSetImplementation: SetImplementationReference;
85
+ targetSetImplementation?: SetImplementationReference | undefined;
82
86
  localMappingProperty?: LocalMappingPropertyInfo | undefined;
83
87
  // store?: Store | undefined;
84
88
 
85
89
  constructor(
86
90
  owner: PropertyMappingsImplementation,
87
91
  property: PropertyReference,
88
- source: SetImplementation,
89
- target?: SetImplementation,
92
+ source: SetImplementationReference,
93
+ target: SetImplementationReference | undefined,
90
94
  ) {
91
95
  this._OWNER = owner;
92
96
  this.sourceSetImplementation = source;
93
- this.targetSetImplementation = target;
94
97
  this.property = property;
98
+ this.targetSetImplementation = target;
95
99
  }
96
100
 
97
101
  get hashCode(): string {
98
102
  return hashArray([
99
103
  CORE_HASH_STRUCTURE.PROPERTY_MAPPING,
100
104
  this.property.pointerHashCode,
101
- this.targetSetImplementation?.id.value ?? '',
105
+ this.targetSetImplementation?.value.id.value ?? '',
102
106
  this.localMappingProperty ?? '',
103
107
  ]);
104
108
  }
@@ -15,19 +15,12 @@
15
15
  */
16
16
 
17
17
  import {
18
- type PackageableElementImplicitReference,
19
- type OptionalPackageableElementImplicitReference,
20
18
  type PackageableElementReference,
21
- type OptionalPackageableElementReference,
22
19
  PackageableElementExplicitReference,
23
- OptionalPackageableElementExplicitReference,
24
20
  } from '../PackageableElementReference.js';
25
21
  import type { Mapping } from './Mapping.js';
26
22
  import type { SetImplementation } from './SetImplementation.js';
27
- import {
28
- OptionalReferenceWithOwner,
29
- ReferenceWithOwner,
30
- } from '../../Reference.js';
23
+ import { ReferenceWithOwner } from '../../Reference.js';
31
24
 
32
25
  export abstract class SetImplementationReference extends ReferenceWithOwner {
33
26
  override readonly ownerReference: PackageableElementReference<Mapping>;
@@ -41,6 +34,8 @@ export abstract class SetImplementationReference extends ReferenceWithOwner {
41
34
  this.ownerReference = ownerReference;
42
35
  this.value = value;
43
36
  }
37
+
38
+ abstract get valueForSerialization(): string | undefined;
44
39
  }
45
40
 
46
41
  export class SetImplementationExplicitReference extends SetImplementationReference {
@@ -57,77 +52,33 @@ export class SetImplementationExplicitReference extends SetImplementationReferen
57
52
  static create(value: SetImplementation): SetImplementationExplicitReference {
58
53
  return new SetImplementationExplicitReference(value);
59
54
  }
60
- }
61
-
62
- export class SetImplementationImplicitReference extends SetImplementationReference {
63
- override readonly ownerReference: PackageableElementImplicitReference<Mapping>;
64
55
 
65
- private constructor(
66
- ownerReference: PackageableElementImplicitReference<Mapping>,
67
- value: SetImplementation,
68
- ) {
69
- super(ownerReference, value);
70
- this.ownerReference = ownerReference;
71
- }
72
-
73
- static create(
74
- ownerReference: PackageableElementImplicitReference<Mapping>,
75
- value: SetImplementation,
76
- ): SetImplementationImplicitReference {
77
- return new SetImplementationImplicitReference(ownerReference, value);
78
- }
79
- }
80
-
81
- export abstract class OptionalSetImplementationReference extends OptionalReferenceWithOwner {
82
- override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
83
- value?: SetImplementation | undefined;
84
-
85
- protected constructor(
86
- ownerReference: OptionalPackageableElementReference<Mapping>,
87
- value: SetImplementation | undefined,
88
- ) {
89
- super(ownerReference);
90
- this.ownerReference = ownerReference;
91
- this.value = value;
56
+ get valueForSerialization(): string | undefined {
57
+ return this.value.id.value;
92
58
  }
93
59
  }
94
60
 
95
- export class OptionalSetImplementationExplicitReference extends OptionalSetImplementationReference {
96
- override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
61
+ export class SetImplementationImplicitReference extends SetImplementationReference {
62
+ override readonly ownerReference: PackageableElementReference<Mapping>;
63
+ readonly input?: string | undefined;
97
64
 
98
- private constructor(value: SetImplementation | undefined) {
99
- const ownerReference = OptionalPackageableElementExplicitReference.create(
100
- value?._PARENT,
65
+ private constructor(value: SetImplementation, input: string | undefined) {
66
+ const ownerReference = PackageableElementExplicitReference.create(
67
+ value._PARENT,
101
68
  );
102
69
  super(ownerReference, value);
103
70
  this.ownerReference = ownerReference;
71
+ this.input = input;
104
72
  }
105
73
 
106
74
  static create(
107
75
  value: SetImplementation,
108
- ): OptionalSetImplementationExplicitReference {
109
- return new OptionalSetImplementationExplicitReference(value);
110
- }
111
- }
112
-
113
- export class OptionalSetImplementationImplicitReference extends OptionalSetImplementationReference {
114
- override readonly ownerReference: OptionalPackageableElementReference<Mapping>;
115
-
116
- private constructor(
117
- ownerReference: OptionalPackageableElementImplicitReference<Mapping>,
118
- value: SetImplementation | undefined,
119
- ) {
120
- super(ownerReference, value);
121
- this.ownerReference = ownerReference;
76
+ input: string | undefined,
77
+ ): SetImplementationImplicitReference {
78
+ return new SetImplementationImplicitReference(value, input);
122
79
  }
123
80
 
124
- static create(
125
- ownerReference: PackageableElementImplicitReference<Mapping>,
126
- value: SetImplementation,
127
- ): OptionalSetImplementationImplicitReference {
128
- return new OptionalSetImplementationImplicitReference(
129
- ownerReference,
130
- value,
131
- );
81
+ get valueForSerialization(): string | undefined {
82
+ return this.input;
132
83
  }
133
84
  }
@@ -0,0 +1,21 @@
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 { TestResult } from '../../test/result/TestResult.js';
18
+
19
+ export class MultiExecutionServiceTestResult extends TestResult {
20
+ keyIndexedTestResults: Map<string, TestResult> = new Map();
21
+ }
@@ -22,10 +22,7 @@ import type {
22
22
  PropertyMapping,
23
23
  PropertyMappingVisitor,
24
24
  } from '../../../mapping/PropertyMapping.js';
25
- import type {
26
- SetImplementationVisitor,
27
- SetImplementation,
28
- } from '../../../mapping/SetImplementation.js';
25
+ import type { SetImplementationVisitor } from '../../../mapping/SetImplementation.js';
29
26
  import type { Class } from '../../../domain/Class.js';
30
27
  import type { InstanceSetImplementation } from '../../../mapping/InstanceSetImplementation.js';
31
28
  import type { PropertyMappingsImplementation } from '../../../mapping/PropertyMappingsImplementation.js';
@@ -35,6 +32,7 @@ import type { PackageableElementReference } from '../../../PackageableElementRef
35
32
  import { InferableMappingElementRootExplicitValue } from '../../../mapping/InferableMappingElementRoot.js';
36
33
  import type { MappingClass } from '../../../mapping/MappingClass.js';
37
34
  import { FlatDataPropertyMapping } from './FlatDataPropertyMapping.js';
35
+ import type { SetImplementationReference } from '../../../mapping/SetImplementationReference.js';
38
36
 
39
37
  /**
40
38
  * We can think of embedded property mappings as a 'gateway' from one set of property mappings to another. They are in a sense
@@ -45,7 +43,7 @@ import { FlatDataPropertyMapping } from './FlatDataPropertyMapping.js';
45
43
  * 1. Javascript only support single inheritance unlike Pure
46
44
  * 2. In the general mental model, it is more sensible to think of embedded property mapping as a property mapping rather than a class mapping because
47
45
  * despite the fact that it has the shape similar to a class mapping and it can contain multiple property mappings, it itselt is not a class mapping, it must
48
- * exsit "embedded" within a property mapping.
46
+ * exist "embedded" within a property mapping.
49
47
  */
50
48
  export class EmbeddedFlatDataPropertyMapping
51
49
  extends AbstractFlatDataPropertyMapping
@@ -65,10 +63,10 @@ export class EmbeddedFlatDataPropertyMapping
65
63
  owner: PropertyMappingsImplementation,
66
64
  property: PropertyReference,
67
65
  rootInstanceSetImplementation: InstanceSetImplementation,
68
- source: SetImplementation,
66
+ source: SetImplementationReference,
69
67
  _class: PackageableElementReference<Class>,
70
68
  id: InferableMappingElementIdValue,
71
- target?: SetImplementation,
69
+ target: SetImplementationReference | undefined,
72
70
  ) {
73
71
  super(owner, property, source, target);
74
72
  this.class = _class;
@@ -18,17 +18,17 @@ import { CORE_HASH_STRUCTURE } from '../../../../../../../MetaModelConst.js';
18
18
  import { hashArray, type Hashable } from '@finos/legend-shared';
19
19
  import type { RawLambda } from '../../../../rawValueSpecification/RawLambda.js';
20
20
  import { AbstractFlatDataPropertyMapping } from './AbstractFlatDataPropertyMapping.js';
21
- import type { SetImplementation } from '../../../mapping/SetImplementation.js';
22
21
  import type { PropertyMappingsImplementation } from '../../../mapping/PropertyMappingsImplementation.js';
23
22
  import type { PropertyReference } from '../../../domain/PropertyReference.js';
24
23
  import type { PropertyMappingVisitor } from '../../../mapping/PropertyMapping.js';
25
- import { OptionalEnumerationMappingExplicitReference } from '../../../mapping/EnumerationMappingReference.js';
24
+ import type { EnumerationMappingReference } from '../../../mapping/EnumerationMappingReference.js';
25
+ import type { SetImplementationReference } from '../../../mapping/SetImplementationReference.js';
26
26
 
27
27
  export class FlatDataPropertyMapping
28
28
  extends AbstractFlatDataPropertyMapping
29
29
  implements Hashable
30
30
  {
31
- transformer = OptionalEnumerationMappingExplicitReference.create(undefined);
31
+ transformer?: EnumerationMappingReference | undefined;
32
32
  /**
33
33
  * Studio does not process value specification, they are left in raw JSON form
34
34
  *
@@ -40,8 +40,8 @@ export class FlatDataPropertyMapping
40
40
  owner: PropertyMappingsImplementation,
41
41
  property: PropertyReference,
42
42
  transform: RawLambda,
43
- source: SetImplementation,
44
- target?: SetImplementation,
43
+ source: SetImplementationReference,
44
+ target: SetImplementationReference | undefined,
45
45
  ) {
46
46
  super(owner, property, source, target);
47
47
  this.transform = transform;
@@ -51,7 +51,7 @@ export class FlatDataPropertyMapping
51
51
  return hashArray([
52
52
  CORE_HASH_STRUCTURE.FLAT_DATA_PROPERTY_MAPPING,
53
53
  super.hashCode,
54
- this.transformer.valueForSerialization ?? '',
54
+ this.transformer?.valueForSerialization ?? '',
55
55
  this.transform,
56
56
  ]);
57
57
  }
@@ -21,10 +21,7 @@ import { InstanceSetImplementation } from '../../../mapping/InstanceSetImplement
21
21
  import type { PurePropertyMapping } from './PurePropertyMapping.js';
22
22
  import type { SetImplementationVisitor } from '../../../mapping/SetImplementation.js';
23
23
  import type { RawLambda } from '../../../../rawValueSpecification/RawLambda.js';
24
- import type {
25
- PackageableElementReference,
26
- OptionalPackageableElementReference,
27
- } from '../../../PackageableElementReference.js';
24
+ import type { PackageableElementReference } from '../../../PackageableElementReference.js';
28
25
  import type { InferableMappingElementIdValue } from '../../../mapping/InferableMappingElementId.js';
29
26
  import type { Mapping } from '../../../mapping/Mapping.js';
30
27
  import type { InferableMappingElementRoot } from '../../../mapping/InferableMappingElementRoot.js';
@@ -34,7 +31,7 @@ export class PureInstanceSetImplementation
34
31
  implements Hashable
35
32
  {
36
33
  declare propertyMappings: PurePropertyMapping[];
37
- srcClass: OptionalPackageableElementReference<Class>;
34
+ srcClass?: PackageableElementReference<Class> | undefined;
38
35
  /**
39
36
  * Studio does not process value specification, they are left in raw JSON form
40
37
  *
@@ -47,7 +44,7 @@ export class PureInstanceSetImplementation
47
44
  parent: Mapping,
48
45
  _class: PackageableElementReference<Class>,
49
46
  root: InferableMappingElementRoot,
50
- srcClass: OptionalPackageableElementReference<Class>,
47
+ srcClass: PackageableElementReference<Class> | undefined,
51
48
  ) {
52
49
  super(id, parent, _class, root);
53
50
  this.srcClass = srcClass;
@@ -57,7 +54,7 @@ export class PureInstanceSetImplementation
57
54
  return hashArray([
58
55
  CORE_HASH_STRUCTURE.PURE_INSTANCE_SET_IMPLEMENTATION,
59
56
  super.hashCode,
60
- this.srcClass.valueForSerialization ?? '',
57
+ this.srcClass?.valueForSerialization ?? '',
61
58
  this.filter ?? '',
62
59
  hashArray(
63
60
  this.propertyMappings.filter(