@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.
- package/lib/DSLData_Exports.d.ts +1 -1
- package/lib/DSLData_Exports.d.ts.map +1 -1
- package/lib/DSLData_Exports.js +1 -1
- package/lib/DSLData_Exports.js.map +1 -1
- package/lib/DSLMapping_Exports.d.ts +6 -2
- package/lib/DSLMapping_Exports.d.ts.map +1 -1
- package/lib/DSLMapping_Exports.js +6 -2
- package/lib/DSLMapping_Exports.js.map +1 -1
- package/lib/GraphManagerState.d.ts +21 -18
- package/lib/GraphManagerState.d.ts.map +1 -1
- package/lib/GraphManagerState.js +68 -59
- package/lib/GraphManagerState.js.map +1 -1
- package/lib/GraphManagerTestUtils.js.map +1 -1
- package/lib/MetaModelConst.d.ts +44 -42
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +52 -50
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graph/BasicModel.d.ts +1 -1
- package/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +4 -4
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/DependencyManager.d.ts +1 -1
- package/lib/graph/DependencyManager.d.ts.map +1 -1
- package/lib/graph/DependencyManager.js +2 -2
- package/lib/graph/DependencyManager.js.map +1 -1
- package/lib/graph/PureModel.d.ts +8 -2
- package/lib/graph/PureModel.d.ts.map +1 -1
- package/lib/graph/PureModel.js +8 -2
- package/lib/graph/PureModel.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -16
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js +15 -0
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
- package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
- package/lib/graphManager/GraphManagerEvent.js +1 -0
- package/lib/graphManager/GraphManagerEvent.js.map +1 -1
- package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
- package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
- package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
- package/lib/helpers/DSLMapping_Helper.js +1 -1
- package/lib/helpers/DSLMapping_Helper.js.map +1 -1
- package/lib/helpers/DomainHelper.d.ts +2 -0
- package/lib/helpers/DomainHelper.d.ts.map +1 -1
- package/lib/helpers/DomainHelper.js +5 -1
- package/lib/helpers/DomainHelper.js.map +1 -1
- package/lib/index.d.ts +3 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -9
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/Reference.d.ts +16 -19
- package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/Reference.js +14 -19
- package/lib/models/metamodels/pure/Reference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -17
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +153 -146
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -2
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -3
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -2
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -52
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/package.json +5 -5
- package/package.json +8 -8
- package/src/DSLData_Exports.ts +1 -1
- package/src/DSLMapping_Exports.ts +20 -6
- package/src/GraphManagerState.ts +104 -91
- package/src/GraphManagerTestUtils.tsx +4 -4
- package/src/MetaModelConst.ts +59 -56
- package/src/graph/BasicModel.ts +4 -4
- package/src/graph/DependencyManager.ts +2 -2
- package/src/graph/PureModel.ts +10 -2
- package/src/graphManager/AbstractPureGraphManager.ts +54 -31
- package/src/graphManager/GraphManagerEvent.ts +1 -0
- package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
- package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
- package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
- package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
- package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
- package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
- package/src/helpers/DSLMapping_Helper.ts +1 -1
- package/src/helpers/DomainHelper.ts +14 -0
- package/src/index.ts +6 -17
- package/src/models/metamodels/pure/Reference.ts +17 -26
- package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
- package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
- package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
- package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
- package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
- package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
- package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
- package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
- package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
- package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
- package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +243 -232
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -2
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -32
- package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
- package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
- package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
- package/tsconfig.json +13 -12
- package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
- package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.js';
|
|
18
18
|
import {
|
|
19
19
|
CORE_PURE_PATH,
|
|
20
|
-
ELEMENT_PATH_DELIMITER,
|
|
21
20
|
PackageableElementPointerType,
|
|
22
21
|
} from '../../../../MetaModelConst.js';
|
|
23
22
|
import {
|
|
@@ -103,12 +102,12 @@ import {
|
|
|
103
102
|
type V1_PackageableElementVisitor,
|
|
104
103
|
V1_PackageableElementPointer,
|
|
105
104
|
} from './model/packageableElements/V1_PackageableElement.js';
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
105
|
+
import { V1_ElementFirstPassBuilder } from './transformation/pureGraph/to/V1_ElementFirstPassBuilder.js';
|
|
106
|
+
import { V1_ElementSecondPassBuilder } from './transformation/pureGraph/to/V1_ElementSecondPassBuilder.js';
|
|
107
|
+
import { V1_ElementThirdPassBuilder } from './transformation/pureGraph/to/V1_ElementThirdPassBuilder.js';
|
|
108
|
+
import { V1_ElementFourthPassBuilder } from './transformation/pureGraph/to/V1_ElementFourthPassBuilder.js';
|
|
109
|
+
import { V1_ElementFifthPassBuilder } from './transformation/pureGraph/to/V1_ElementFifthPassBuilder.js';
|
|
110
|
+
import { V1_RawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js';
|
|
112
111
|
import { V1_RawBaseExecutionContext } from './model/rawValueSpecification/V1_RawExecutionContext.js';
|
|
113
112
|
import {
|
|
114
113
|
type V1_GraphBuilderContext,
|
|
@@ -164,8 +163,6 @@ import {
|
|
|
164
163
|
import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
|
|
165
164
|
import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData.js';
|
|
166
165
|
import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database.js';
|
|
167
|
-
import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Multiplicity.js';
|
|
168
|
-
import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable.js';
|
|
169
166
|
import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js';
|
|
170
167
|
import {
|
|
171
168
|
V1_setupEngineRuntimeSerialization,
|
|
@@ -254,38 +251,13 @@ import {
|
|
|
254
251
|
V1_buildModelCoverageAnalysisResult,
|
|
255
252
|
V1_MappingModelCoverageAnalysisInput,
|
|
256
253
|
V1_MappingModelCoverageAnalysisResult,
|
|
257
|
-
} from './engine/analytics/
|
|
254
|
+
} from './engine/analytics/V1_MappingModelCoverageAnalysis.js';
|
|
258
255
|
import type {
|
|
259
256
|
MappingModelCoverageAnalysisResult,
|
|
260
257
|
RawMappingModelCoverageAnalysisResult,
|
|
261
|
-
} from '../../../../graphManager/action/analytics/
|
|
258
|
+
} from '../../../../graphManager/action/analytics/MappingModelCoverageAnalysis.js';
|
|
262
259
|
import { deserialize } from 'serializr';
|
|
263
|
-
|
|
264
|
-
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
265
|
-
|
|
266
|
-
const getMultiplicitySuffix = (multiplicity: V1_Multiplicity): string => {
|
|
267
|
-
if (multiplicity.lowerBound === multiplicity.upperBound) {
|
|
268
|
-
return multiplicity.lowerBound.toString();
|
|
269
|
-
} else if (
|
|
270
|
-
multiplicity.lowerBound === 0 &&
|
|
271
|
-
multiplicity.upperBound === undefined
|
|
272
|
-
) {
|
|
273
|
-
return V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE;
|
|
274
|
-
}
|
|
275
|
-
return `$${multiplicity.lowerBound}_${
|
|
276
|
-
multiplicity.upperBound ?? V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE
|
|
277
|
-
}$`;
|
|
278
|
-
};
|
|
279
|
-
|
|
280
|
-
const getVariableSuffix = (variable: V1_RawVariable): string =>
|
|
281
|
-
`${variable.class
|
|
282
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
283
|
-
.pop()}_${getMultiplicitySuffix(variable.multiplicity)}_`;
|
|
284
|
-
|
|
285
|
-
const getFunctionSuffix = (fn: V1_ConcreteFunctionDefinition): string =>
|
|
286
|
-
`${fn.parameters.map((p) => getVariableSuffix(p)).join('_')}_${fn.returnType
|
|
287
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
288
|
-
.pop()}_${getMultiplicitySuffix(fn.returnMultiplicity)}_`;
|
|
260
|
+
import { V1_getFunctionSuffix } from './helper/V1_DomainHelper.js';
|
|
289
261
|
|
|
290
262
|
class V1_PureModelContextDataIndex {
|
|
291
263
|
elements: V1_PackageableElement[] = [];
|
|
@@ -333,7 +305,7 @@ const mergePureModelContextData = (
|
|
|
333
305
|
return mergedData;
|
|
334
306
|
};
|
|
335
307
|
|
|
336
|
-
const
|
|
308
|
+
export const V1_indexPureModelContextData = (
|
|
337
309
|
report: GraphBuilderReport,
|
|
338
310
|
data: V1_PureModelContextData,
|
|
339
311
|
extensions: V1_GraphBuilderExtensions,
|
|
@@ -438,7 +410,7 @@ const indexPureModelContextData = (
|
|
|
438
410
|
// NOTE: this interface is somewhat naive since `model` is of type `BasicModel`,
|
|
439
411
|
// so this can only be used for pre-processing/indexing
|
|
440
412
|
// we might need to change model to PureModel in the future when we support other use case
|
|
441
|
-
interface
|
|
413
|
+
interface V1_PureGraphBuilderInput {
|
|
442
414
|
model: BasicModel;
|
|
443
415
|
data: V1_PureModelContextDataIndex;
|
|
444
416
|
}
|
|
@@ -453,7 +425,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
453
425
|
// Organizing these constants will help with configuring
|
|
454
426
|
// target protocol version in the future
|
|
455
427
|
// See https://github.com/finos/legend-studio/issues/475
|
|
456
|
-
|
|
428
|
+
static readonly TARGET_PROTOCOL_VERSION = PureClientVersion.VX_X_X;
|
|
457
429
|
|
|
458
430
|
engine: V1_Engine;
|
|
459
431
|
graphBuilderExtensions: V1_GraphBuilderExtensions;
|
|
@@ -543,7 +515,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
543
515
|
const buildInputs = [
|
|
544
516
|
{
|
|
545
517
|
model: systemModel,
|
|
546
|
-
data:
|
|
518
|
+
data: V1_indexPureModelContextData(
|
|
547
519
|
report,
|
|
548
520
|
systemData,
|
|
549
521
|
this.graphBuilderExtensions,
|
|
@@ -584,7 +556,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
584
556
|
coreModel: CoreModel,
|
|
585
557
|
systemModel: SystemModel,
|
|
586
558
|
dependencyManager: DependencyManager,
|
|
587
|
-
|
|
559
|
+
dependencyEntitiesIndex: Map<string, Entity[]>,
|
|
588
560
|
buildState: ActionState,
|
|
589
561
|
options?: GraphBuilderOptions,
|
|
590
562
|
): Promise<GraphBuilderReport> {
|
|
@@ -601,16 +573,19 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
601
573
|
graph.dependencyManager = dependencyManager;
|
|
602
574
|
|
|
603
575
|
try {
|
|
604
|
-
dependencyManager.initialize(
|
|
576
|
+
dependencyManager.initialize(dependencyEntitiesIndex);
|
|
605
577
|
|
|
606
578
|
// deserialize
|
|
607
579
|
buildState.setMessage(`Partitioning and deserializing elements...`);
|
|
608
|
-
const
|
|
580
|
+
const dependencyGraphDataIndex = new Map<
|
|
581
|
+
string,
|
|
582
|
+
V1_PureModelContextData
|
|
583
|
+
>();
|
|
609
584
|
await Promise.all(
|
|
610
|
-
Array.from(
|
|
585
|
+
Array.from(dependencyEntitiesIndex.entries()).map(
|
|
611
586
|
([dependencyKey, entities]) => {
|
|
612
587
|
const projectModelData = new V1_PureModelContextData();
|
|
613
|
-
|
|
588
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
614
589
|
return V1_entitiesToPureModelContextData(
|
|
615
590
|
entities,
|
|
616
591
|
projectModelData,
|
|
@@ -622,11 +597,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
622
597
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
623
598
|
|
|
624
599
|
// prepare build inputs
|
|
625
|
-
const buildInputs:
|
|
626
|
-
|
|
600
|
+
const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
|
|
601
|
+
dependencyGraphDataIndex.entries(),
|
|
627
602
|
).map(([dependencyKey, dependencyData]) => ({
|
|
628
603
|
model: graph.dependencyManager.getModel(dependencyKey),
|
|
629
|
-
data:
|
|
604
|
+
data: V1_indexPureModelContextData(
|
|
630
605
|
report,
|
|
631
606
|
dependencyData,
|
|
632
607
|
this.graphBuilderExtensions,
|
|
@@ -644,7 +619,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
644
619
|
);
|
|
645
620
|
|
|
646
621
|
buildState.pass();
|
|
647
|
-
report.otherStats.projectCount =
|
|
622
|
+
report.otherStats.projectCount = dependencyEntitiesIndex.size;
|
|
648
623
|
report.timings = {
|
|
649
624
|
...Object.fromEntries(stopWatch.records),
|
|
650
625
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -685,10 +660,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
685
660
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
686
661
|
|
|
687
662
|
// prepare build inputs
|
|
688
|
-
const buildInputs:
|
|
663
|
+
const buildInputs: V1_PureGraphBuilderInput[] = [
|
|
689
664
|
{
|
|
690
665
|
model: graph,
|
|
691
|
-
data:
|
|
666
|
+
data: V1_indexPureModelContextData(
|
|
692
667
|
report,
|
|
693
668
|
data,
|
|
694
669
|
this.graphBuilderExtensions,
|
|
@@ -754,12 +729,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
754
729
|
try {
|
|
755
730
|
// deserialize
|
|
756
731
|
buildState.setMessage(`Deserializing elements...`);
|
|
757
|
-
const
|
|
732
|
+
const generationGraphDataIndex = new Map<
|
|
733
|
+
string,
|
|
734
|
+
V1_PureModelContextData
|
|
735
|
+
>();
|
|
758
736
|
await Promise.all(
|
|
759
737
|
Array.from(generatedEntities.entries()).map(
|
|
760
738
|
([generationParentPath, entities]) => {
|
|
761
739
|
const generatedData = new V1_PureModelContextData();
|
|
762
|
-
|
|
740
|
+
generationGraphDataIndex.set(generationParentPath, generatedData);
|
|
763
741
|
return V1_entitiesToPureModelContextData(
|
|
764
742
|
entities,
|
|
765
743
|
generatedData,
|
|
@@ -771,11 +749,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
771
749
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
772
750
|
|
|
773
751
|
// prepare build inputs
|
|
774
|
-
const buildInputs:
|
|
775
|
-
|
|
752
|
+
const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
|
|
753
|
+
generationGraphDataIndex.entries(),
|
|
776
754
|
).map(([generationParentPath, generatedData]) => ({
|
|
777
755
|
model: generatedModel,
|
|
778
|
-
data:
|
|
756
|
+
data: V1_indexPureModelContextData(
|
|
779
757
|
report,
|
|
780
758
|
generatedData,
|
|
781
759
|
this.graphBuilderExtensions,
|
|
@@ -793,7 +771,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
793
771
|
);
|
|
794
772
|
|
|
795
773
|
buildState.pass();
|
|
796
|
-
report.otherStats.generationCount =
|
|
774
|
+
report.otherStats.generationCount = generationGraphDataIndex.size;
|
|
797
775
|
report.timings = {
|
|
798
776
|
...Object.fromEntries(stopWatch.records),
|
|
799
777
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -820,7 +798,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
820
798
|
|
|
821
799
|
private async buildGraphFromInputs(
|
|
822
800
|
graph: PureModel,
|
|
823
|
-
inputs:
|
|
801
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
824
802
|
report: GraphBuilderReport,
|
|
825
803
|
stopWatch: StopWatch,
|
|
826
804
|
graphBuilderState: ActionState,
|
|
@@ -905,7 +883,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
905
883
|
*/
|
|
906
884
|
private async initializeAndIndexElements(
|
|
907
885
|
graph: PureModel,
|
|
908
|
-
inputs:
|
|
886
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
909
887
|
options?: GraphBuilderOptions,
|
|
910
888
|
): Promise<void> {
|
|
911
889
|
// create the element path cache for faster duplication check
|
|
@@ -926,7 +904,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
926
904
|
input.data.nativeElements.map((element) =>
|
|
927
905
|
this.visitWithGraphBuilderErrorHandling(
|
|
928
906
|
element,
|
|
929
|
-
new
|
|
907
|
+
new V1_ElementFirstPassBuilder(
|
|
930
908
|
this.getBuilderContext(graph, input.model, element, options),
|
|
931
909
|
packageCache,
|
|
932
910
|
elementPathCache,
|
|
@@ -941,7 +919,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
941
919
|
(element) =>
|
|
942
920
|
this.visitWithGraphBuilderErrorHandling(
|
|
943
921
|
element,
|
|
944
|
-
new
|
|
922
|
+
new V1_ElementFirstPassBuilder(
|
|
945
923
|
this.getBuilderContext(
|
|
946
924
|
graph,
|
|
947
925
|
input.model,
|
|
@@ -961,7 +939,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
961
939
|
|
|
962
940
|
private async buildTypes(
|
|
963
941
|
graph: PureModel,
|
|
964
|
-
inputs:
|
|
942
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
965
943
|
options?: GraphBuilderOptions,
|
|
966
944
|
): Promise<void> {
|
|
967
945
|
// Second pass
|
|
@@ -970,7 +948,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
970
948
|
input.data.profiles.map((element) =>
|
|
971
949
|
this.visitWithGraphBuilderErrorHandling(
|
|
972
950
|
element,
|
|
973
|
-
new
|
|
951
|
+
new V1_ElementSecondPassBuilder(
|
|
974
952
|
this.getBuilderContext(graph, input.model, element, options),
|
|
975
953
|
),
|
|
976
954
|
),
|
|
@@ -982,7 +960,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
982
960
|
input.data.classes.map((element) =>
|
|
983
961
|
this.visitWithGraphBuilderErrorHandling(
|
|
984
962
|
element,
|
|
985
|
-
new
|
|
963
|
+
new V1_ElementSecondPassBuilder(
|
|
986
964
|
this.getBuilderContext(graph, input.model, element, options),
|
|
987
965
|
),
|
|
988
966
|
),
|
|
@@ -994,7 +972,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
994
972
|
input.data.enumerations.map((element) =>
|
|
995
973
|
this.visitWithGraphBuilderErrorHandling(
|
|
996
974
|
element,
|
|
997
|
-
new
|
|
975
|
+
new V1_ElementSecondPassBuilder(
|
|
998
976
|
this.getBuilderContext(graph, input.model, element, options),
|
|
999
977
|
),
|
|
1000
978
|
),
|
|
@@ -1006,7 +984,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1006
984
|
input.data.measures.map((element) =>
|
|
1007
985
|
this.visitWithGraphBuilderErrorHandling(
|
|
1008
986
|
element,
|
|
1009
|
-
new
|
|
987
|
+
new V1_ElementSecondPassBuilder(
|
|
1010
988
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1011
989
|
),
|
|
1012
990
|
),
|
|
@@ -1018,7 +996,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1018
996
|
input.data.functions.map((element) =>
|
|
1019
997
|
this.visitWithGraphBuilderErrorHandling(
|
|
1020
998
|
element,
|
|
1021
|
-
new
|
|
999
|
+
new V1_ElementSecondPassBuilder(
|
|
1022
1000
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1023
1001
|
),
|
|
1024
1002
|
),
|
|
@@ -1031,7 +1009,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1031
1009
|
input.data.classes.map((element) =>
|
|
1032
1010
|
this.visitWithGraphBuilderErrorHandling(
|
|
1033
1011
|
element,
|
|
1034
|
-
new
|
|
1012
|
+
new V1_ElementThirdPassBuilder(
|
|
1035
1013
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1036
1014
|
),
|
|
1037
1015
|
),
|
|
@@ -1043,7 +1021,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1043
1021
|
input.data.associations.map((element) =>
|
|
1044
1022
|
this.visitWithGraphBuilderErrorHandling(
|
|
1045
1023
|
element,
|
|
1046
|
-
new
|
|
1024
|
+
new V1_ElementThirdPassBuilder(
|
|
1047
1025
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1048
1026
|
),
|
|
1049
1027
|
),
|
|
@@ -1056,7 +1034,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1056
1034
|
input.data.classes.map((element) =>
|
|
1057
1035
|
this.visitWithGraphBuilderErrorHandling(
|
|
1058
1036
|
element,
|
|
1059
|
-
new
|
|
1037
|
+
new V1_ElementFourthPassBuilder(
|
|
1060
1038
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1061
1039
|
),
|
|
1062
1040
|
),
|
|
@@ -1068,7 +1046,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1068
1046
|
input.data.associations.map((element) =>
|
|
1069
1047
|
this.visitWithGraphBuilderErrorHandling(
|
|
1070
1048
|
element,
|
|
1071
|
-
new
|
|
1049
|
+
new V1_ElementFourthPassBuilder(
|
|
1072
1050
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1073
1051
|
),
|
|
1074
1052
|
),
|
|
@@ -1081,7 +1059,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1081
1059
|
input.data.classes.map((element) =>
|
|
1082
1060
|
this.visitWithGraphBuilderErrorHandling(
|
|
1083
1061
|
element,
|
|
1084
|
-
new
|
|
1062
|
+
new V1_ElementFifthPassBuilder(
|
|
1085
1063
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1086
1064
|
),
|
|
1087
1065
|
),
|
|
@@ -1092,7 +1070,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1092
1070
|
|
|
1093
1071
|
private async buildStores(
|
|
1094
1072
|
graph: PureModel,
|
|
1095
|
-
inputs:
|
|
1073
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1096
1074
|
options?: GraphBuilderOptions,
|
|
1097
1075
|
): Promise<void> {
|
|
1098
1076
|
await Promise.all(
|
|
@@ -1100,7 +1078,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1100
1078
|
input.data.stores.map((element) =>
|
|
1101
1079
|
this.visitWithGraphBuilderErrorHandling(
|
|
1102
1080
|
element,
|
|
1103
|
-
new
|
|
1081
|
+
new V1_ElementSecondPassBuilder(
|
|
1104
1082
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1105
1083
|
),
|
|
1106
1084
|
),
|
|
@@ -1112,7 +1090,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1112
1090
|
input.data.stores.map((element) =>
|
|
1113
1091
|
this.visitWithGraphBuilderErrorHandling(
|
|
1114
1092
|
element,
|
|
1115
|
-
new
|
|
1093
|
+
new V1_ElementThirdPassBuilder(
|
|
1116
1094
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1117
1095
|
),
|
|
1118
1096
|
),
|
|
@@ -1124,7 +1102,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1124
1102
|
input.data.stores.map((element) =>
|
|
1125
1103
|
this.visitWithGraphBuilderErrorHandling(
|
|
1126
1104
|
element,
|
|
1127
|
-
new
|
|
1105
|
+
new V1_ElementFourthPassBuilder(
|
|
1128
1106
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1129
1107
|
),
|
|
1130
1108
|
),
|
|
@@ -1136,7 +1114,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1136
1114
|
input.data.stores.map((element) =>
|
|
1137
1115
|
this.visitWithGraphBuilderErrorHandling(
|
|
1138
1116
|
element,
|
|
1139
|
-
new
|
|
1117
|
+
new V1_ElementFifthPassBuilder(
|
|
1140
1118
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1141
1119
|
),
|
|
1142
1120
|
),
|
|
@@ -1147,7 +1125,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1147
1125
|
|
|
1148
1126
|
private async buildMappings(
|
|
1149
1127
|
graph: PureModel,
|
|
1150
|
-
inputs:
|
|
1128
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1151
1129
|
options?: GraphBuilderOptions,
|
|
1152
1130
|
): Promise<void> {
|
|
1153
1131
|
await Promise.all(
|
|
@@ -1155,7 +1133,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1155
1133
|
input.data.mappings.map((element) =>
|
|
1156
1134
|
this.visitWithGraphBuilderErrorHandling(
|
|
1157
1135
|
element,
|
|
1158
|
-
new
|
|
1136
|
+
new V1_ElementSecondPassBuilder(
|
|
1159
1137
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1160
1138
|
),
|
|
1161
1139
|
),
|
|
@@ -1167,7 +1145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1167
1145
|
input.data.mappings.map((element) =>
|
|
1168
1146
|
this.visitWithGraphBuilderErrorHandling(
|
|
1169
1147
|
element,
|
|
1170
|
-
new
|
|
1148
|
+
new V1_ElementThirdPassBuilder(
|
|
1171
1149
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1172
1150
|
),
|
|
1173
1151
|
),
|
|
@@ -1179,7 +1157,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1179
1157
|
input.data.mappings.map((element) =>
|
|
1180
1158
|
this.visitWithGraphBuilderErrorHandling(
|
|
1181
1159
|
element,
|
|
1182
|
-
new
|
|
1160
|
+
new V1_ElementFourthPassBuilder(
|
|
1183
1161
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1184
1162
|
),
|
|
1185
1163
|
),
|
|
@@ -1190,7 +1168,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1190
1168
|
|
|
1191
1169
|
private async buildConnectionsAndRuntimes(
|
|
1192
1170
|
graph: PureModel,
|
|
1193
|
-
inputs:
|
|
1171
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1194
1172
|
options?: GraphBuilderOptions,
|
|
1195
1173
|
): Promise<void> {
|
|
1196
1174
|
// NOTE: connections must be built before runtimes
|
|
@@ -1199,7 +1177,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1199
1177
|
input.data.connections.map((element) =>
|
|
1200
1178
|
this.visitWithGraphBuilderErrorHandling(
|
|
1201
1179
|
element,
|
|
1202
|
-
new
|
|
1180
|
+
new V1_ElementSecondPassBuilder(
|
|
1203
1181
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1204
1182
|
),
|
|
1205
1183
|
),
|
|
@@ -1211,7 +1189,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1211
1189
|
input.data.runtimes.map((element) =>
|
|
1212
1190
|
this.visitWithGraphBuilderErrorHandling(
|
|
1213
1191
|
element,
|
|
1214
|
-
new
|
|
1192
|
+
new V1_ElementSecondPassBuilder(
|
|
1215
1193
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1216
1194
|
),
|
|
1217
1195
|
),
|
|
@@ -1222,7 +1200,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1222
1200
|
|
|
1223
1201
|
private async buildServices(
|
|
1224
1202
|
graph: PureModel,
|
|
1225
|
-
inputs:
|
|
1203
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1226
1204
|
options?: GraphBuilderOptions,
|
|
1227
1205
|
): Promise<void> {
|
|
1228
1206
|
await Promise.all(
|
|
@@ -1230,7 +1208,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1230
1208
|
input.data.services.map((element) =>
|
|
1231
1209
|
this.visitWithGraphBuilderErrorHandling(
|
|
1232
1210
|
element,
|
|
1233
|
-
new
|
|
1211
|
+
new V1_ElementSecondPassBuilder(
|
|
1234
1212
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1235
1213
|
),
|
|
1236
1214
|
),
|
|
@@ -1241,7 +1219,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1241
1219
|
|
|
1242
1220
|
private async buildDataElements(
|
|
1243
1221
|
graph: PureModel,
|
|
1244
|
-
inputs:
|
|
1222
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1245
1223
|
options?: GraphBuilderOptions,
|
|
1246
1224
|
): Promise<void> {
|
|
1247
1225
|
await Promise.all(
|
|
@@ -1249,7 +1227,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1249
1227
|
input.data.dataElements.map((element) =>
|
|
1250
1228
|
this.visitWithGraphBuilderErrorHandling(
|
|
1251
1229
|
element,
|
|
1252
|
-
new
|
|
1230
|
+
new V1_ElementSecondPassBuilder(
|
|
1253
1231
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1254
1232
|
),
|
|
1255
1233
|
),
|
|
@@ -1260,7 +1238,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1260
1238
|
|
|
1261
1239
|
private async buildFileGenerations(
|
|
1262
1240
|
graph: PureModel,
|
|
1263
|
-
inputs:
|
|
1241
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1264
1242
|
options?: GraphBuilderOptions,
|
|
1265
1243
|
): Promise<void> {
|
|
1266
1244
|
await Promise.all(
|
|
@@ -1268,7 +1246,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1268
1246
|
input.data.fileGenerations.map((element) =>
|
|
1269
1247
|
this.visitWithGraphBuilderErrorHandling(
|
|
1270
1248
|
element,
|
|
1271
|
-
new
|
|
1249
|
+
new V1_ElementSecondPassBuilder(
|
|
1272
1250
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1273
1251
|
),
|
|
1274
1252
|
),
|
|
@@ -1279,7 +1257,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1279
1257
|
|
|
1280
1258
|
private async buildGenerationSpecifications(
|
|
1281
1259
|
graph: PureModel,
|
|
1282
|
-
inputs:
|
|
1260
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1283
1261
|
options?: GraphBuilderOptions,
|
|
1284
1262
|
): Promise<void> {
|
|
1285
1263
|
await Promise.all(
|
|
@@ -1287,7 +1265,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1287
1265
|
input.data.generationSpecifications.map((element) =>
|
|
1288
1266
|
this.visitWithGraphBuilderErrorHandling(
|
|
1289
1267
|
element,
|
|
1290
|
-
new
|
|
1268
|
+
new V1_ElementSecondPassBuilder(
|
|
1291
1269
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1292
1270
|
),
|
|
1293
1271
|
),
|
|
@@ -1298,7 +1276,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1298
1276
|
|
|
1299
1277
|
private async buildSectionIndices(
|
|
1300
1278
|
graph: PureModel,
|
|
1301
|
-
inputs:
|
|
1279
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1302
1280
|
options?: GraphBuilderOptions,
|
|
1303
1281
|
): Promise<void> {
|
|
1304
1282
|
await Promise.all(
|
|
@@ -1306,7 +1284,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1306
1284
|
input.data.sectionIndices.map((element) =>
|
|
1307
1285
|
this.visitWithGraphBuilderErrorHandling(
|
|
1308
1286
|
element,
|
|
1309
|
-
new
|
|
1287
|
+
new V1_ElementSecondPassBuilder(
|
|
1310
1288
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1311
1289
|
),
|
|
1312
1290
|
),
|
|
@@ -1317,7 +1295,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1317
1295
|
|
|
1318
1296
|
private async buildOtherElements(
|
|
1319
1297
|
graph: PureModel,
|
|
1320
|
-
inputs:
|
|
1298
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1321
1299
|
options?: GraphBuilderOptions,
|
|
1322
1300
|
): Promise<void> {
|
|
1323
1301
|
await Promise.all(
|
|
@@ -1329,7 +1307,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1329
1307
|
(element) =>
|
|
1330
1308
|
this.visitWithGraphBuilderErrorHandling(
|
|
1331
1309
|
element,
|
|
1332
|
-
new
|
|
1310
|
+
new V1_ElementSecondPassBuilder(
|
|
1333
1311
|
this.getBuilderContext(
|
|
1334
1312
|
graph,
|
|
1335
1313
|
input.model,
|
|
@@ -1347,7 +1325,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1347
1325
|
(element) =>
|
|
1348
1326
|
this.visitWithGraphBuilderErrorHandling(
|
|
1349
1327
|
element,
|
|
1350
|
-
new
|
|
1328
|
+
new V1_ElementThirdPassBuilder(
|
|
1351
1329
|
this.getBuilderContext(
|
|
1352
1330
|
graph,
|
|
1353
1331
|
input.model,
|
|
@@ -1365,7 +1343,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1365
1343
|
(element) =>
|
|
1366
1344
|
this.visitWithGraphBuilderErrorHandling(
|
|
1367
1345
|
element,
|
|
1368
|
-
new
|
|
1346
|
+
new V1_ElementFourthPassBuilder(
|
|
1369
1347
|
this.getBuilderContext(
|
|
1370
1348
|
graph,
|
|
1371
1349
|
input.model,
|
|
@@ -1383,7 +1361,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1383
1361
|
(element) =>
|
|
1384
1362
|
this.visitWithGraphBuilderErrorHandling(
|
|
1385
1363
|
element,
|
|
1386
|
-
new
|
|
1364
|
+
new V1_ElementFifthPassBuilder(
|
|
1387
1365
|
this.getBuilderContext(
|
|
1388
1366
|
graph,
|
|
1389
1367
|
input.model,
|
|
@@ -1462,8 +1440,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1462
1440
|
async pureCodeToLambda(
|
|
1463
1441
|
lambda: string,
|
|
1464
1442
|
lambdaId?: string,
|
|
1443
|
+
options?: {
|
|
1444
|
+
pruneSourceInformation?: boolean;
|
|
1445
|
+
},
|
|
1465
1446
|
): Promise<RawLambda> {
|
|
1466
|
-
const result = await this.engine.transformCodeToLambda(
|
|
1447
|
+
const result = await this.engine.transformCodeToLambda(
|
|
1448
|
+
lambda,
|
|
1449
|
+
lambdaId,
|
|
1450
|
+
options,
|
|
1451
|
+
);
|
|
1467
1452
|
return new RawLambda(result.parameters, result.body);
|
|
1468
1453
|
}
|
|
1469
1454
|
|
|
@@ -1783,7 +1768,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1783
1768
|
// deserialize json and builds metamodal raw value spec
|
|
1784
1769
|
const rawValueSpecification = V1_deserializeRawValueSpecification(json);
|
|
1785
1770
|
return rawValueSpecification.accept_RawValueSpecificationVisitor(
|
|
1786
|
-
new
|
|
1771
|
+
new V1_RawValueSpecificationBuilder(
|
|
1787
1772
|
new V1_GraphBuilderContextBuilder(
|
|
1788
1773
|
graph,
|
|
1789
1774
|
graph,
|
|
@@ -1971,10 +1956,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1971
1956
|
};
|
|
1972
1957
|
|
|
1973
1958
|
async executeMapping(
|
|
1974
|
-
graph: PureModel,
|
|
1975
|
-
mapping: Mapping,
|
|
1976
1959
|
lambda: RawLambda,
|
|
1960
|
+
mapping: Mapping,
|
|
1977
1961
|
runtime: Runtime,
|
|
1962
|
+
graph: PureModel,
|
|
1978
1963
|
options?: ExecutionOptions,
|
|
1979
1964
|
): Promise<ExecutionResult> {
|
|
1980
1965
|
return V1_buildExecutionResult(
|
|
@@ -1992,11 +1977,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1992
1977
|
}
|
|
1993
1978
|
|
|
1994
1979
|
generateExecuteTestData(
|
|
1995
|
-
graph: PureModel,
|
|
1996
|
-
mapping: Mapping,
|
|
1997
1980
|
lambda: RawLambda,
|
|
1998
|
-
runtime: Runtime,
|
|
1999
1981
|
parameters: (string | number | boolean)[],
|
|
1982
|
+
mapping: Mapping,
|
|
1983
|
+
runtime: Runtime,
|
|
1984
|
+
graph: PureModel,
|
|
2000
1985
|
options?: {
|
|
2001
1986
|
anonymizeGeneratedData?: boolean;
|
|
2002
1987
|
},
|
|
@@ -2019,10 +2004,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2019
2004
|
}
|
|
2020
2005
|
|
|
2021
2006
|
generateExecutionPlan(
|
|
2022
|
-
graph: PureModel,
|
|
2023
|
-
mapping: Mapping,
|
|
2024
2007
|
lambda: RawLambda,
|
|
2008
|
+
mapping: Mapping,
|
|
2025
2009
|
runtime: Runtime,
|
|
2010
|
+
graph: PureModel,
|
|
2026
2011
|
): Promise<RawExecutionPlan> {
|
|
2027
2012
|
return this.engine.generateExecutionPlan(
|
|
2028
2013
|
this.createExecutionInput(
|
|
@@ -2036,10 +2021,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2036
2021
|
}
|
|
2037
2022
|
|
|
2038
2023
|
async debugExecutionPlanGeneration(
|
|
2039
|
-
graph: PureModel,
|
|
2040
|
-
mapping: Mapping,
|
|
2041
2024
|
lambda: RawLambda,
|
|
2025
|
+
mapping: Mapping,
|
|
2042
2026
|
runtime: Runtime,
|
|
2027
|
+
graph: PureModel,
|
|
2043
2028
|
): Promise<{ plan: RawExecutionPlan; debug: string }> {
|
|
2044
2029
|
const result = await this.engine.debugExecutionPlanGeneration(
|
|
2045
2030
|
this.createExecutionInput(
|
|
@@ -2100,13 +2085,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2100
2085
|
// --------------------------------------------- Service ---------------------------------------------
|
|
2101
2086
|
|
|
2102
2087
|
async registerService(
|
|
2103
|
-
graph: PureModel,
|
|
2104
2088
|
service: Service,
|
|
2105
|
-
|
|
2089
|
+
graph: PureModel,
|
|
2090
|
+
groupId: string,
|
|
2106
2091
|
artifactId: string,
|
|
2092
|
+
version: string | undefined,
|
|
2107
2093
|
server: string,
|
|
2108
2094
|
executionMode: ServiceExecutionMode,
|
|
2109
|
-
version: string | undefined,
|
|
2110
2095
|
): Promise<ServiceRegistrationResult> {
|
|
2111
2096
|
const serverServiceInfo = await this.engine.getServerServiceInfo();
|
|
2112
2097
|
// input
|
|
@@ -2123,7 +2108,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2123
2108
|
break;
|
|
2124
2109
|
}
|
|
2125
2110
|
case ServiceExecutionMode.SEMI_INTERACTIVE: {
|
|
2126
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
2111
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
2127
2112
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
2128
2113
|
// data
|
|
2129
2114
|
const data = new V1_PureModelContextData();
|
|
@@ -2160,7 +2145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2160
2145
|
break;
|
|
2161
2146
|
}
|
|
2162
2147
|
case ServiceExecutionMode.PROD: {
|
|
2163
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
2148
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
2164
2149
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
2165
2150
|
sdlcInfo.packageableElementPointers = [
|
|
2166
2151
|
new V1_PackageableElementPointer(
|
|
@@ -2227,78 +2212,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2227
2212
|
);
|
|
2228
2213
|
}
|
|
2229
2214
|
|
|
2230
|
-
// TODO: we could potentially reshape this method to build light graph with just indexing
|
|
2231
|
-
// and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
|
|
2232
|
-
// return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
|
|
2233
|
-
async indexEntitiesWithDependencyIntoGraph(
|
|
2234
|
-
graph: PureModel,
|
|
2235
|
-
_entities: Entity[],
|
|
2236
|
-
dependencyEntities: Map<string, Entity[]>,
|
|
2237
|
-
entityFilterFunc?: (entity: Entity) => boolean,
|
|
2238
|
-
): Promise<V1_GraphBuilderInput[]> {
|
|
2239
|
-
let entities = _entities;
|
|
2240
|
-
graph.dependencyManager.initialize(dependencyEntities);
|
|
2241
|
-
if (entityFilterFunc) {
|
|
2242
|
-
Array.from(dependencyEntities.entries()).forEach(
|
|
2243
|
-
([dependencyKey, dEntities]) => {
|
|
2244
|
-
dependencyEntities.set(
|
|
2245
|
-
dependencyKey,
|
|
2246
|
-
dEntities.filter(entityFilterFunc),
|
|
2247
|
-
);
|
|
2248
|
-
},
|
|
2249
|
-
);
|
|
2250
|
-
entities = _entities.filter(entityFilterFunc);
|
|
2251
|
-
}
|
|
2252
|
-
const report = new GraphBuilderReport();
|
|
2253
|
-
// build dependency pmcd models
|
|
2254
|
-
const dependencyDataMap = new Map<string, V1_PureModelContextData>();
|
|
2255
|
-
await Promise.all(
|
|
2256
|
-
Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
2257
|
-
const projectModelData = new V1_PureModelContextData();
|
|
2258
|
-
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
2259
|
-
return V1_entitiesToPureModelContextData(
|
|
2260
|
-
value,
|
|
2261
|
-
projectModelData,
|
|
2262
|
-
|
|
2263
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2264
|
-
);
|
|
2265
|
-
}),
|
|
2266
|
-
);
|
|
2267
|
-
const dependencyGraphBuilderInput: V1_GraphBuilderInput[] = Array.from(
|
|
2268
|
-
dependencyDataMap.entries(),
|
|
2269
|
-
).map(([dependencyKey, dependencyData]) => ({
|
|
2270
|
-
data: indexPureModelContextData(
|
|
2271
|
-
report,
|
|
2272
|
-
dependencyData,
|
|
2273
|
-
this.graphBuilderExtensions,
|
|
2274
|
-
),
|
|
2275
|
-
model: graph.dependencyManager.getModel(dependencyKey),
|
|
2276
|
-
}));
|
|
2277
|
-
// build main pmcd
|
|
2278
|
-
const data = new V1_PureModelContextData();
|
|
2279
|
-
await V1_entitiesToPureModelContextData(
|
|
2280
|
-
entities,
|
|
2281
|
-
data,
|
|
2282
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2283
|
-
);
|
|
2284
|
-
const mainGraphBuilderInput: V1_GraphBuilderInput[] = [
|
|
2285
|
-
{
|
|
2286
|
-
model: graph,
|
|
2287
|
-
data: indexPureModelContextData(
|
|
2288
|
-
report,
|
|
2289
|
-
data,
|
|
2290
|
-
this.graphBuilderExtensions,
|
|
2291
|
-
),
|
|
2292
|
-
},
|
|
2293
|
-
];
|
|
2294
|
-
const graphBuilderInput = [
|
|
2295
|
-
...dependencyGraphBuilderInput,
|
|
2296
|
-
...mainGraphBuilderInput,
|
|
2297
|
-
];
|
|
2298
|
-
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
2299
|
-
return graphBuilderInput;
|
|
2300
|
-
}
|
|
2301
|
-
|
|
2302
2215
|
// --------------------------------------------- Query ------------------------------------------------------
|
|
2303
2216
|
|
|
2304
2217
|
async getQuery(queryId: string, graph: PureModel): Promise<Query> {
|
|
@@ -2385,18 +2298,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2385
2298
|
};
|
|
2386
2299
|
|
|
2387
2300
|
async analyzeMappingModelCoverage(
|
|
2388
|
-
graph: PureModel,
|
|
2389
2301
|
mapping: Mapping,
|
|
2302
|
+
graph: PureModel,
|
|
2390
2303
|
): Promise<MappingModelCoverageAnalysisResult> {
|
|
2391
|
-
const
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
modelCoverageAnalysisInput.mapping = mapping.path;
|
|
2396
|
-
modelCoverageAnalysisInput.model =
|
|
2397
|
-
this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
2304
|
+
const input = new V1_MappingModelCoverageAnalysisInput();
|
|
2305
|
+
input.clientVersion = V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
|
|
2306
|
+
input.mapping = mapping.path;
|
|
2307
|
+
input.model = this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
2398
2308
|
return V1_buildModelCoverageAnalysisResult(
|
|
2399
|
-
await this.engine.analyzeMappingModelCoverage(
|
|
2309
|
+
await this.engine.analyzeMappingModelCoverage(input),
|
|
2400
2310
|
);
|
|
2401
2311
|
}
|
|
2402
2312
|
|
|
@@ -2411,22 +2321,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2411
2321
|
);
|
|
2412
2322
|
}
|
|
2413
2323
|
|
|
2414
|
-
// ---------------------------------------------
|
|
2415
|
-
|
|
2416
|
-
elementToEntity = (
|
|
2417
|
-
element: PackageableElement,
|
|
2418
|
-
options?: {
|
|
2419
|
-
pruneSourceInformation?: boolean;
|
|
2420
|
-
},
|
|
2421
|
-
): Entity => {
|
|
2422
|
-
const entity = this.elementProtocolToEntity(
|
|
2423
|
-
this.elementToProtocol<V1_PackageableElement>(element),
|
|
2424
|
-
);
|
|
2425
|
-
if (options?.pruneSourceInformation) {
|
|
2426
|
-
entity.content = pruneSourceInformation(entity.content);
|
|
2427
|
-
}
|
|
2428
|
-
return entity;
|
|
2429
|
-
};
|
|
2324
|
+
// --------------------------------------------- Database ---------------------------------------------
|
|
2430
2325
|
|
|
2431
2326
|
async buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]> {
|
|
2432
2327
|
const dbBuilderInput = new V1_DatabaseBuilderInput();
|
|
@@ -2571,21 +2466,125 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2571
2466
|
);
|
|
2572
2467
|
}
|
|
2573
2468
|
|
|
2469
|
+
// --------------------------------------------- Utilities ---------------------------------------------
|
|
2470
|
+
|
|
2471
|
+
elementToEntity = (
|
|
2472
|
+
element: PackageableElement,
|
|
2473
|
+
options?: {
|
|
2474
|
+
pruneSourceInformation?: boolean;
|
|
2475
|
+
},
|
|
2476
|
+
): Entity => {
|
|
2477
|
+
const entity = this.elementProtocolToEntity(
|
|
2478
|
+
this.elementToProtocol<V1_PackageableElement>(element),
|
|
2479
|
+
);
|
|
2480
|
+
if (options?.pruneSourceInformation) {
|
|
2481
|
+
entity.content = pruneSourceInformation(entity.content);
|
|
2482
|
+
}
|
|
2483
|
+
return entity;
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2574
2486
|
// --------------------------------------------- Shared ---------------------------------------------
|
|
2575
2487
|
|
|
2576
|
-
|
|
2488
|
+
/**
|
|
2489
|
+
* This method helps indexing the graph from graph and dependencies' entities
|
|
2490
|
+
* This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph
|
|
2491
|
+
* and the Pure model context data which can be used to further build the graph
|
|
2492
|
+
*
|
|
2493
|
+
* There are a few simple analytics we want to do on the graph which does not necessarily
|
|
2494
|
+
* require us to build the full-graph, in fact, doing so would be too costly. In those scenarios,
|
|
2495
|
+
* we need to build the _light_ graph, hence the existence of this utility method
|
|
2496
|
+
*
|
|
2497
|
+
* TODO?: do we need to account for system elements?
|
|
2498
|
+
*/
|
|
2499
|
+
async indexLightGraph(
|
|
2500
|
+
graph: PureModel,
|
|
2577
2501
|
entities: Entity[],
|
|
2578
|
-
|
|
2579
|
-
|
|
2502
|
+
dependencyEntities: Map<string, Entity[]>,
|
|
2503
|
+
entityFilterFn?: ((entity: Entity) => boolean) | undefined,
|
|
2504
|
+
entityProcessorFn?: ((entity: Entity) => Entity) | undefined,
|
|
2505
|
+
): Promise<V1_PureGraphBuilderInput[]> {
|
|
2506
|
+
const report = new GraphBuilderReport();
|
|
2507
|
+
|
|
2508
|
+
// build main graph builder input
|
|
2509
|
+
const data = new V1_PureModelContextData();
|
|
2580
2510
|
await V1_entitiesToPureModelContextData(
|
|
2581
|
-
entities
|
|
2582
|
-
|
|
2511
|
+
entities
|
|
2512
|
+
.filter((entity) => {
|
|
2513
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
2514
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
2515
|
+
return true;
|
|
2516
|
+
}
|
|
2517
|
+
if (entityFilterFn) {
|
|
2518
|
+
return entityFilterFn(entity);
|
|
2519
|
+
}
|
|
2520
|
+
return true;
|
|
2521
|
+
})
|
|
2522
|
+
.map((entity) =>
|
|
2523
|
+
entityProcessorFn ? entityProcessorFn(entity) : entity,
|
|
2524
|
+
),
|
|
2525
|
+
data,
|
|
2583
2526
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2584
2527
|
);
|
|
2585
|
-
|
|
2528
|
+
const mainGraphBuilderInput: V1_PureGraphBuilderInput[] = [
|
|
2529
|
+
{
|
|
2530
|
+
model: graph,
|
|
2531
|
+
data: V1_indexPureModelContextData(
|
|
2532
|
+
report,
|
|
2533
|
+
data,
|
|
2534
|
+
this.graphBuilderExtensions,
|
|
2535
|
+
),
|
|
2536
|
+
},
|
|
2537
|
+
];
|
|
2538
|
+
|
|
2539
|
+
// build dependencies graph builder input
|
|
2540
|
+
graph.dependencyManager.initialize(dependencyEntities);
|
|
2541
|
+
const dependencyGraphDataIndex = new Map<string, V1_PureModelContextData>();
|
|
2542
|
+
await Promise.all(
|
|
2543
|
+
Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
2544
|
+
const projectModelData = new V1_PureModelContextData();
|
|
2545
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
2546
|
+
return V1_entitiesToPureModelContextData(
|
|
2547
|
+
value
|
|
2548
|
+
.filter((entity) => {
|
|
2549
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
2550
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
2551
|
+
return true;
|
|
2552
|
+
}
|
|
2553
|
+
if (entityFilterFn) {
|
|
2554
|
+
return entityFilterFn(entity);
|
|
2555
|
+
}
|
|
2556
|
+
return true;
|
|
2557
|
+
})
|
|
2558
|
+
.map((entity) =>
|
|
2559
|
+
entityProcessorFn ? entityProcessorFn(entity) : entity,
|
|
2560
|
+
),
|
|
2561
|
+
projectModelData,
|
|
2562
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2563
|
+
);
|
|
2564
|
+
}),
|
|
2565
|
+
);
|
|
2566
|
+
const dependencyGraphBuilderInput: V1_PureGraphBuilderInput[] = Array.from(
|
|
2567
|
+
dependencyGraphDataIndex.entries(),
|
|
2568
|
+
).map(([dependencyKey, dependencyData]) => ({
|
|
2569
|
+
data: V1_indexPureModelContextData(
|
|
2570
|
+
report,
|
|
2571
|
+
dependencyData,
|
|
2572
|
+
this.graphBuilderExtensions,
|
|
2573
|
+
),
|
|
2574
|
+
model: graph.dependencyManager.getModel(dependencyKey),
|
|
2575
|
+
}));
|
|
2576
|
+
|
|
2577
|
+
// index simplified graph
|
|
2578
|
+
const graphBuilderInput = [
|
|
2579
|
+
...dependencyGraphBuilderInput,
|
|
2580
|
+
...mainGraphBuilderInput,
|
|
2581
|
+
];
|
|
2582
|
+
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
2583
|
+
|
|
2584
|
+
return graphBuilderInput;
|
|
2586
2585
|
}
|
|
2587
2586
|
|
|
2588
|
-
|
|
2587
|
+
getFullGraphModelData(
|
|
2589
2588
|
graph: PureModel,
|
|
2590
2589
|
options?: { keepSourceInformation?: boolean | undefined } | undefined,
|
|
2591
2590
|
): V1_PureModelContextData {
|
|
@@ -2600,6 +2599,29 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2600
2599
|
return contextData1;
|
|
2601
2600
|
}
|
|
2602
2601
|
|
|
2602
|
+
elementProtocolToEntity = (
|
|
2603
|
+
elementProtocol: V1_PackageableElement,
|
|
2604
|
+
): Entity => ({
|
|
2605
|
+
path: this.getElementPath(elementProtocol),
|
|
2606
|
+
content: V1_serializePackageableElement(
|
|
2607
|
+
elementProtocol,
|
|
2608
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2609
|
+
),
|
|
2610
|
+
classifierPath: this.getElementClassiferPath(elementProtocol),
|
|
2611
|
+
});
|
|
2612
|
+
|
|
2613
|
+
private async entitiesToPureModelContextData(
|
|
2614
|
+
entities: Entity[],
|
|
2615
|
+
): Promise<V1_PureModelContextData> {
|
|
2616
|
+
const graphData = new V1_PureModelContextData();
|
|
2617
|
+
await V1_entitiesToPureModelContextData(
|
|
2618
|
+
entities,
|
|
2619
|
+
graphData,
|
|
2620
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2621
|
+
);
|
|
2622
|
+
return graphData;
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2603
2625
|
private elementToProtocol = <T extends V1_PackageableElement>(
|
|
2604
2626
|
element: PackageableElement,
|
|
2605
2627
|
options?: { keepSourceInformation?: boolean | undefined } | undefined,
|
|
@@ -2621,17 +2643,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2621
2643
|
this.elementProtocolToEntity(element),
|
|
2622
2644
|
);
|
|
2623
2645
|
|
|
2624
|
-
private elementProtocolToEntity = (
|
|
2625
|
-
elementProtocol: V1_PackageableElement,
|
|
2626
|
-
): Entity => ({
|
|
2627
|
-
path: this.getElementPath(elementProtocol),
|
|
2628
|
-
content: V1_serializePackageableElement(
|
|
2629
|
-
elementProtocol,
|
|
2630
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2631
|
-
),
|
|
2632
|
-
classifierPath: this.getElementClassiferPath(elementProtocol),
|
|
2633
|
-
});
|
|
2634
|
-
|
|
2635
2646
|
private getElementPath = (elementProtocol: V1_PackageableElement): string => {
|
|
2636
2647
|
let name = elementProtocol.name;
|
|
2637
2648
|
// These functions calculation the function suffix and are used to identify if an
|
|
@@ -2640,7 +2651,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2640
2651
|
// TODO: to be revised when we support function overloading
|
|
2641
2652
|
if (elementProtocol instanceof V1_ConcreteFunctionDefinition) {
|
|
2642
2653
|
const suffixIndex = elementProtocol.name.indexOf(
|
|
2643
|
-
|
|
2654
|
+
V1_getFunctionSuffix(elementProtocol),
|
|
2644
2655
|
);
|
|
2645
2656
|
if (suffixIndex > 0) {
|
|
2646
2657
|
name = elementProtocol.name.substring(0, suffixIndex - 1);
|