@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.
- 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/DSLService_Exports.d.ts +1 -0
- package/lib/DSLService_Exports.d.ts.map +1 -1
- package/lib/DSLService_Exports.js +1 -0
- package/lib/DSLService_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 -21
- 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/graphManager/action/validation/DSLService_ValidationHelper.d.ts +3 -2
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts.map +1 -1
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.js +1 -1
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.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 +7 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -11
- 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/service/MultiExecutionServiceTestResult.d.ts +20 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js +20 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js.map +1 -0
- 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 -19
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +159 -158
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -4
- 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 -7
- 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 -4
- 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 -53
- 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/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts +20 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js +20 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js.map +1 -0
- 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_TestResultBuilderHelper.d.ts +5 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js +17 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.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/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts +3 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +16 -4
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +9 -9
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.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/DSLService_Exports.ts +1 -0
- 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 -40
- 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/graphManager/action/validation/DSLService_ValidationHelper.ts +4 -7
- package/src/helpers/DSLMapping_Helper.ts +1 -1
- package/src/helpers/DomainHelper.ts +14 -0
- package/src/index.ts +14 -18
- 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/service/MultiExecutionServiceTestResult.ts +21 -0
- 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 +248 -255
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -13
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -45
- 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/model/packageableElements/service/V1_MultiExecutionServiceTestResult.ts +21 -0
- 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_TestResultBuilderHelper.ts +25 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +29 -3
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +9 -9
- package/tsconfig.json +15 -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
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.js';
|
|
17
|
-
import { CORE_PURE_PATH,
|
|
18
|
-
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertTrue, assertErrorThrown, promisify, StopWatch,
|
|
17
|
+
import { CORE_PURE_PATH, PackageableElementPointerType, } from '../../../../MetaModelConst.js';
|
|
18
|
+
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertTrue, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, assertType, uniq, IllegalStateError, } from '@finos/legend-shared';
|
|
19
19
|
import { AbstractPureGraphManager, } from '../../../../graphManager/AbstractPureGraphManager.js';
|
|
20
20
|
import { PureModel, } from '../../../../graph/PureModel.js';
|
|
21
21
|
import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda.js';
|
|
@@ -28,12 +28,12 @@ import { V1_serializePackageableElement } from './transformation/pureProtocol/V1
|
|
|
28
28
|
import { V1_entitiesToPureModelContextData, V1_serializePureModelContext, V1_deserializePureModelContextData, V1_setupPureModelContextDataSerialization, } from './transformation/pureProtocol/V1_PureProtocolSerialization.js';
|
|
29
29
|
import { V1_PureModelContextData } from './model/context/V1_PureModelContextData.js';
|
|
30
30
|
import { V1_PackageableElementPointer, } from './model/packageableElements/V1_PackageableElement.js';
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
31
|
+
import { V1_ElementFirstPassBuilder } from './transformation/pureGraph/to/V1_ElementFirstPassBuilder.js';
|
|
32
|
+
import { V1_ElementSecondPassBuilder } from './transformation/pureGraph/to/V1_ElementSecondPassBuilder.js';
|
|
33
|
+
import { V1_ElementThirdPassBuilder } from './transformation/pureGraph/to/V1_ElementThirdPassBuilder.js';
|
|
34
|
+
import { V1_ElementFourthPassBuilder } from './transformation/pureGraph/to/V1_ElementFourthPassBuilder.js';
|
|
35
|
+
import { V1_ElementFifthPassBuilder } from './transformation/pureGraph/to/V1_ElementFifthPassBuilder.js';
|
|
36
|
+
import { V1_RawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js';
|
|
37
37
|
import { V1_RawBaseExecutionContext } from './model/rawValueSpecification/V1_RawExecutionContext.js';
|
|
38
38
|
import { V1_GraphBuilderContextBuilder, } from './transformation/pureGraph/to/V1_GraphBuilderContext.js';
|
|
39
39
|
import { V1_PureModelContextPointer } from './model/context/V1_PureModelContextPointer.js';
|
|
@@ -72,7 +72,7 @@ import { V1_GraphTransformerContextBuilder } from './transformation/pureGraph/fr
|
|
|
72
72
|
import { V1_transformExecutionNode, V1_transformExecutionPlan, } from './transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js';
|
|
73
73
|
import { V1_deserializeExecutionPlan, V1_serializeExecutionNode, V1_serializeExecutionPlan, } from './transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js';
|
|
74
74
|
import { V1_buildExecutionPlan } from './transformation/pureGraph/to/V1_ExecutionPlanBuilder.js';
|
|
75
|
-
import { V1_buildQuery,
|
|
75
|
+
import { V1_buildQuery, V1_buildServiceRegistrationResult, V1_transformQuery, V1_buildGenerationOutput, V1_buildLightQuery, V1_transformQuerySearchSpecification, } from './engine/V1_EngineHelper.js';
|
|
76
76
|
import { V1_buildExecutionResult } from './engine/execution/V1_ExecutionHelper.js';
|
|
77
77
|
import { ENTITY_PATH_DELIMITER, } from '@finos/legend-model-storage';
|
|
78
78
|
import { DependencyGraphBuilderError, GraphBuilderError, PureClientVersion, SystemGraphBuilderError, } from '../../../../graphManager/GraphManagerUtils.js';
|
|
@@ -83,29 +83,13 @@ import { V1_DataElement } from './model/packageableElements/data/V1_DataElement.
|
|
|
83
83
|
import { V1_RunTestsInput, V1_RunTestsTestableInput, } from './engine/test/V1_RunTestsInput.js';
|
|
84
84
|
import { V1_AtomicTestId } from './model/test/V1_AtomicTestId.js';
|
|
85
85
|
import { V1_buildTestsResult } from './engine/test/V1_RunTestsResult.js';
|
|
86
|
-
import { TestFailed, } from '../../../metamodels/pure/test/result/TestResult.js';
|
|
86
|
+
import { TestFailed, TestError, } from '../../../metamodels/pure/test/result/TestResult.js';
|
|
87
87
|
import { getNullableIDFromTestable, getNullableTestable, } from '../../../../helpers/Testable_Helper.js';
|
|
88
88
|
import { TestSuite, } from '../../../metamodels/pure/test/Test.js';
|
|
89
89
|
import { pruneSourceInformation } from '../../../../MetaModelUtils.js';
|
|
90
|
-
import { V1_buildModelCoverageAnalysisResult, V1_MappingModelCoverageAnalysisInput, V1_MappingModelCoverageAnalysisResult, } from './engine/analytics/
|
|
90
|
+
import { V1_buildModelCoverageAnalysisResult, V1_MappingModelCoverageAnalysisInput, V1_MappingModelCoverageAnalysisResult, } from './engine/analytics/V1_MappingModelCoverageAnalysis.js';
|
|
91
91
|
import { deserialize } from 'serializr';
|
|
92
|
-
|
|
93
|
-
const getMultiplicitySuffix = (multiplicity) => {
|
|
94
|
-
if (multiplicity.lowerBound === multiplicity.upperBound) {
|
|
95
|
-
return multiplicity.lowerBound.toString();
|
|
96
|
-
}
|
|
97
|
-
else if (multiplicity.lowerBound === 0 &&
|
|
98
|
-
multiplicity.upperBound === undefined) {
|
|
99
|
-
return V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE;
|
|
100
|
-
}
|
|
101
|
-
return `$${multiplicity.lowerBound}_${multiplicity.upperBound ?? V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE}$`;
|
|
102
|
-
};
|
|
103
|
-
const getVariableSuffix = (variable) => `${variable.class
|
|
104
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
105
|
-
.pop()}_${getMultiplicitySuffix(variable.multiplicity)}_`;
|
|
106
|
-
const getFunctionSuffix = (fn) => `${fn.parameters.map((p) => getVariableSuffix(p)).join('_')}_${fn.returnType
|
|
107
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
108
|
-
.pop()}_${getMultiplicitySuffix(fn.returnMultiplicity)}_`;
|
|
92
|
+
import { V1_getFunctionSuffix } from './helper/V1_DomainHelper.js';
|
|
109
93
|
class V1_PureModelContextDataIndex {
|
|
110
94
|
elements = [];
|
|
111
95
|
nativeElements = [];
|
|
@@ -135,7 +119,7 @@ const mergePureModelContextData = (...data) => {
|
|
|
135
119
|
}
|
|
136
120
|
return mergedData;
|
|
137
121
|
};
|
|
138
|
-
const
|
|
122
|
+
export const V1_indexPureModelContextData = (report, data, extensions) => {
|
|
139
123
|
const index = new V1_PureModelContextDataIndex();
|
|
140
124
|
index.elements = data.elements;
|
|
141
125
|
const otherElementsByClass = new Map();
|
|
@@ -288,7 +272,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
288
272
|
const buildInputs = [
|
|
289
273
|
{
|
|
290
274
|
model: systemModel,
|
|
291
|
-
data:
|
|
275
|
+
data: V1_indexPureModelContextData(report, systemData, this.graphBuilderExtensions),
|
|
292
276
|
},
|
|
293
277
|
];
|
|
294
278
|
// build
|
|
@@ -310,7 +294,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
310
294
|
buildState.setMessage(undefined);
|
|
311
295
|
}
|
|
312
296
|
}
|
|
313
|
-
async buildDependencies(coreModel, systemModel, dependencyManager,
|
|
297
|
+
async buildDependencies(coreModel, systemModel, dependencyManager, dependencyEntitiesIndex, buildState, options) {
|
|
314
298
|
const stopWatch = new StopWatch();
|
|
315
299
|
const report = new GraphBuilderReport();
|
|
316
300
|
buildState.reset();
|
|
@@ -318,25 +302,25 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
318
302
|
const graph = new PureModel(coreModel, systemModel, this.pluginManager.getPureGraphPlugins());
|
|
319
303
|
graph.dependencyManager = dependencyManager;
|
|
320
304
|
try {
|
|
321
|
-
dependencyManager.initialize(
|
|
305
|
+
dependencyManager.initialize(dependencyEntitiesIndex);
|
|
322
306
|
// deserialize
|
|
323
307
|
buildState.setMessage(`Partitioning and deserializing elements...`);
|
|
324
|
-
const
|
|
325
|
-
await Promise.all(Array.from(
|
|
308
|
+
const dependencyGraphDataIndex = new Map();
|
|
309
|
+
await Promise.all(Array.from(dependencyEntitiesIndex.entries()).map(([dependencyKey, entities]) => {
|
|
326
310
|
const projectModelData = new V1_PureModelContextData();
|
|
327
|
-
|
|
311
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
328
312
|
return V1_entitiesToPureModelContextData(entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
329
313
|
}));
|
|
330
314
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
331
315
|
// prepare build inputs
|
|
332
|
-
const buildInputs = Array.from(
|
|
316
|
+
const buildInputs = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
333
317
|
model: graph.dependencyManager.getModel(dependencyKey),
|
|
334
|
-
data:
|
|
318
|
+
data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
|
|
335
319
|
}));
|
|
336
320
|
// build
|
|
337
321
|
await this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, buildState, options);
|
|
338
322
|
buildState.pass();
|
|
339
|
-
report.otherStats.projectCount =
|
|
323
|
+
report.otherStats.projectCount = dependencyEntitiesIndex.size;
|
|
340
324
|
report.timings = {
|
|
341
325
|
...Object.fromEntries(stopWatch.records),
|
|
342
326
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -367,7 +351,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
367
351
|
const buildInputs = [
|
|
368
352
|
{
|
|
369
353
|
model: graph,
|
|
370
|
-
data:
|
|
354
|
+
data: V1_indexPureModelContextData(report, data, this.graphBuilderExtensions),
|
|
371
355
|
},
|
|
372
356
|
];
|
|
373
357
|
// build
|
|
@@ -411,22 +395,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
411
395
|
try {
|
|
412
396
|
// deserialize
|
|
413
397
|
buildState.setMessage(`Deserializing elements...`);
|
|
414
|
-
const
|
|
398
|
+
const generationGraphDataIndex = new Map();
|
|
415
399
|
await Promise.all(Array.from(generatedEntities.entries()).map(([generationParentPath, entities]) => {
|
|
416
400
|
const generatedData = new V1_PureModelContextData();
|
|
417
|
-
|
|
401
|
+
generationGraphDataIndex.set(generationParentPath, generatedData);
|
|
418
402
|
return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
419
403
|
}));
|
|
420
404
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
421
405
|
// prepare build inputs
|
|
422
|
-
const buildInputs = Array.from(
|
|
406
|
+
const buildInputs = Array.from(generationGraphDataIndex.entries()).map(([generationParentPath, generatedData]) => ({
|
|
423
407
|
model: generatedModel,
|
|
424
|
-
data:
|
|
408
|
+
data: V1_indexPureModelContextData(report, generatedData, this.graphBuilderExtensions),
|
|
425
409
|
}));
|
|
426
410
|
// build
|
|
427
411
|
await this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, buildState, options);
|
|
428
412
|
buildState.pass();
|
|
429
|
-
report.otherStats.generationCount =
|
|
413
|
+
report.otherStats.generationCount = generationGraphDataIndex.size;
|
|
430
414
|
report.timings = {
|
|
431
415
|
...Object.fromEntries(stopWatch.records),
|
|
432
416
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -512,63 +496,63 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
512
496
|
await Promise.all(inputs.flatMap(async (input) => {
|
|
513
497
|
// create the package cache
|
|
514
498
|
const packageCache = new Map();
|
|
515
|
-
await Promise.all(input.data.nativeElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
516
|
-
await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.flatMap(async (builder) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
499
|
+
await Promise.all(input.data.nativeElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache))));
|
|
500
|
+
await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.flatMap(async (builder) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFirstPassBuilder(this.getBuilderContext(graph, input.model, element, options), packageCache, elementPathCache)))));
|
|
517
501
|
}));
|
|
518
502
|
}
|
|
519
503
|
async buildTypes(graph, inputs, options) {
|
|
520
504
|
// Second pass
|
|
521
|
-
await Promise.all(inputs.flatMap((input) => input.data.profiles.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
522
|
-
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
523
|
-
await Promise.all(inputs.flatMap((input) => input.data.enumerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
524
|
-
await Promise.all(inputs.flatMap((input) => input.data.measures.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
525
|
-
await Promise.all(inputs.flatMap((input) => input.data.functions.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
505
|
+
await Promise.all(inputs.flatMap((input) => input.data.profiles.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
506
|
+
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
507
|
+
await Promise.all(inputs.flatMap((input) => input.data.enumerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
508
|
+
await Promise.all(inputs.flatMap((input) => input.data.measures.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
509
|
+
await Promise.all(inputs.flatMap((input) => input.data.functions.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
526
510
|
// Third pass
|
|
527
|
-
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
528
|
-
await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
511
|
+
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
512
|
+
await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
529
513
|
// Fourth Pass
|
|
530
|
-
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
531
|
-
await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
514
|
+
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
515
|
+
await Promise.all(inputs.flatMap((input) => input.data.associations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
532
516
|
// Fifth pass
|
|
533
|
-
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
517
|
+
await Promise.all(inputs.flatMap((input) => input.data.classes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
534
518
|
}
|
|
535
519
|
async buildStores(graph, inputs, options) {
|
|
536
|
-
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
537
|
-
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
538
|
-
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
539
|
-
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
520
|
+
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
521
|
+
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
522
|
+
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
523
|
+
await Promise.all(inputs.flatMap((input) => input.data.stores.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
540
524
|
}
|
|
541
525
|
async buildMappings(graph, inputs, options) {
|
|
542
|
-
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
543
|
-
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
544
|
-
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
526
|
+
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
527
|
+
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
528
|
+
await Promise.all(inputs.flatMap((input) => input.data.mappings.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
545
529
|
}
|
|
546
530
|
async buildConnectionsAndRuntimes(graph, inputs, options) {
|
|
547
531
|
// NOTE: connections must be built before runtimes
|
|
548
|
-
await Promise.all(inputs.flatMap((input) => input.data.connections.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
549
|
-
await Promise.all(inputs.flatMap((input) => input.data.runtimes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
532
|
+
await Promise.all(inputs.flatMap((input) => input.data.connections.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
533
|
+
await Promise.all(inputs.flatMap((input) => input.data.runtimes.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
550
534
|
}
|
|
551
535
|
async buildServices(graph, inputs, options) {
|
|
552
|
-
await Promise.all(inputs.flatMap((input) => input.data.services.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
536
|
+
await Promise.all(inputs.flatMap((input) => input.data.services.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
553
537
|
}
|
|
554
538
|
async buildDataElements(graph, inputs, options) {
|
|
555
|
-
await Promise.all(inputs.flatMap((input) => input.data.dataElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
539
|
+
await Promise.all(inputs.flatMap((input) => input.data.dataElements.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
556
540
|
}
|
|
557
541
|
async buildFileGenerations(graph, inputs, options) {
|
|
558
|
-
await Promise.all(inputs.flatMap((input) => input.data.fileGenerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
542
|
+
await Promise.all(inputs.flatMap((input) => input.data.fileGenerations.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
559
543
|
}
|
|
560
544
|
async buildGenerationSpecifications(graph, inputs, options) {
|
|
561
|
-
await Promise.all(inputs.flatMap((input) => input.data.generationSpecifications.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
545
|
+
await Promise.all(inputs.flatMap((input) => input.data.generationSpecifications.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
562
546
|
}
|
|
563
547
|
async buildSectionIndices(graph, inputs, options) {
|
|
564
|
-
await Promise.all(inputs.flatMap((input) => input.data.sectionIndices.map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
548
|
+
await Promise.all(inputs.flatMap((input) => input.data.sectionIndices.map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
565
549
|
}
|
|
566
550
|
async buildOtherElements(graph, inputs, options) {
|
|
567
551
|
await Promise.all(this.graphBuilderExtensions.sortedExtraElementBuilders.map(async (builder) => {
|
|
568
|
-
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
569
|
-
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
570
|
-
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
571
|
-
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new
|
|
552
|
+
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
553
|
+
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementThirdPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
554
|
+
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFourthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
555
|
+
await Promise.all(inputs.flatMap((input) => (input.data.otherElementsByBuilder.get(builder) ?? []).map((element) => this.visitWithGraphBuilderErrorHandling(element, new V1_ElementFifthPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
572
556
|
}));
|
|
573
557
|
}
|
|
574
558
|
visitWithGraphBuilderErrorHandling(element, visitor) {
|
|
@@ -602,8 +586,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
602
586
|
!(el instanceof V1_SectionIndex));
|
|
603
587
|
return this.pureModelContextDataToEntities(pmcd);
|
|
604
588
|
}
|
|
605
|
-
async pureCodeToLambda(lambda, lambdaId) {
|
|
606
|
-
const result = await this.engine.transformCodeToLambda(lambda, lambdaId);
|
|
589
|
+
async pureCodeToLambda(lambda, lambdaId, options) {
|
|
590
|
+
const result = await this.engine.transformCodeToLambda(lambda, lambdaId, options);
|
|
607
591
|
return new RawLambda(result.parameters, result.body);
|
|
608
592
|
}
|
|
609
593
|
async lambdaToPureCode(lambda, pretty) {
|
|
@@ -727,6 +711,9 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
727
711
|
const runTestsResult = await this.engine.runTests(runTestsInput);
|
|
728
712
|
const results = V1_buildTestsResult(runTestsResult, (_id) => getNullableTestable(_id, graph, this.pluginManager.getPureGraphManagerPlugins()));
|
|
729
713
|
const result = results[0];
|
|
714
|
+
if (result instanceof TestError) {
|
|
715
|
+
throw new IllegalStateError(result.error);
|
|
716
|
+
}
|
|
730
717
|
assertType(result, TestFailed);
|
|
731
718
|
const status = result.assertStatuses.find((e) => e.assertion === baseAssertion);
|
|
732
719
|
return guaranteeNonNullable(status);
|
|
@@ -751,7 +738,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
751
738
|
const json = this.serializeValueSpecification(valueSpecification);
|
|
752
739
|
// deserialize json and builds metamodal raw value spec
|
|
753
740
|
const rawValueSpecification = V1_deserializeRawValueSpecification(json);
|
|
754
|
-
return rawValueSpecification.accept_RawValueSpecificationVisitor(new
|
|
741
|
+
return rawValueSpecification.accept_RawValueSpecificationVisitor(new V1_RawValueSpecificationBuilder(new V1_GraphBuilderContextBuilder(graph, graph, this.graphBuilderExtensions, this.log).build()));
|
|
755
742
|
}
|
|
756
743
|
serializeRawValueSpecification(metamodel) {
|
|
757
744
|
return V1_serializeRawValueSpecification(metamodel.accept_RawValueSpecificationVisitor(new V1_RawValueSpecificationTransformer(new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build())));
|
|
@@ -841,20 +828,20 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
841
828
|
executeInput.context = new V1_RawBaseExecutionContext(); // TODO: potentially need to support more types
|
|
842
829
|
return executeInput;
|
|
843
830
|
};
|
|
844
|
-
async executeMapping(
|
|
831
|
+
async executeMapping(lambda, mapping, runtime, graph, options) {
|
|
845
832
|
return V1_buildExecutionResult(await this.engine.executeMapping(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION), options));
|
|
846
833
|
}
|
|
847
|
-
generateExecuteTestData(
|
|
834
|
+
generateExecuteTestData(lambda, parameters, mapping, runtime, graph, options) {
|
|
848
835
|
const testDataGenerationExecuteInput = new V1_TestDataGenerationExecutionInput();
|
|
849
836
|
this.buildExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION, testDataGenerationExecuteInput);
|
|
850
837
|
testDataGenerationExecuteInput.parameters = parameters;
|
|
851
838
|
testDataGenerationExecuteInput.hashStrings = Boolean(options?.anonymizeGeneratedData);
|
|
852
839
|
return this.engine.generateExecuteTestData(testDataGenerationExecuteInput);
|
|
853
840
|
}
|
|
854
|
-
generateExecutionPlan(
|
|
841
|
+
generateExecutionPlan(lambda, mapping, runtime, graph) {
|
|
855
842
|
return this.engine.generateExecutionPlan(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION));
|
|
856
843
|
}
|
|
857
|
-
async debugExecutionPlanGeneration(
|
|
844
|
+
async debugExecutionPlanGeneration(lambda, mapping, runtime, graph) {
|
|
858
845
|
const result = await this.engine.debugExecutionPlanGeneration(this.createExecutionInput(graph, mapping, lambda, runtime, V1_PureGraphManager.TARGET_PROTOCOL_VERSION));
|
|
859
846
|
return {
|
|
860
847
|
plan: result.plan,
|
|
@@ -871,16 +858,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
871
858
|
return V1_serializeExecutionNode(V1_transformExecutionNode(executionNode, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build()));
|
|
872
859
|
}
|
|
873
860
|
// --------------------------------------------- Service ---------------------------------------------
|
|
874
|
-
async
|
|
875
|
-
const protocolGraph = this.getFullGraphModelData(graph);
|
|
876
|
-
const targetService = guaranteeNonNullable(protocolGraph.elements
|
|
877
|
-
.filter(filterByType(V1_Service))
|
|
878
|
-
.find((element) => element.path === service.path), `Can't run service test: service '${service.path}' not found`);
|
|
879
|
-
protocolGraph.elements = protocolGraph.elements.filter((element) => !(element instanceof V1_Service));
|
|
880
|
-
protocolGraph.elements.push(targetService);
|
|
881
|
-
return (await this.engine.runLegacyServiceTests(protocolGraph)).map(V1_buildLegacyServiceTestResult);
|
|
882
|
-
}
|
|
883
|
-
async registerService(graph, service, groupdId, artifactId, server, executionMode, version) {
|
|
861
|
+
async registerService(service, graph, groupId, artifactId, version, server, executionMode) {
|
|
884
862
|
const serverServiceInfo = await this.engine.getServerServiceInfo();
|
|
885
863
|
// input
|
|
886
864
|
let input;
|
|
@@ -893,7 +871,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
893
871
|
break;
|
|
894
872
|
}
|
|
895
873
|
case ServiceExecutionMode.SEMI_INTERACTIVE: {
|
|
896
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
874
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
897
875
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
898
876
|
// data
|
|
899
877
|
const data = new V1_PureModelContextData();
|
|
@@ -920,7 +898,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
920
898
|
break;
|
|
921
899
|
}
|
|
922
900
|
case ServiceExecutionMode.PROD: {
|
|
923
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
901
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
924
902
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
925
903
|
sdlcInfo.packageableElementPointers = [
|
|
926
904
|
new V1_PackageableElementPointer(PackageableElementPointerType.SERVICE, service.path),
|
|
@@ -952,46 +930,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
952
930
|
async getLightQuery(queryId) {
|
|
953
931
|
return V1_buildLightQuery(await this.engine.getQuery(queryId), this.engine.getCurrentUserId());
|
|
954
932
|
}
|
|
955
|
-
// TODO: we could potentially reshape this method to build light graph with just indexing
|
|
956
|
-
// and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
|
|
957
|
-
// return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
|
|
958
|
-
async indexEntitiesWithDependencyIntoGraph(graph, _entities, dependencyEntities, entityFilterFunc) {
|
|
959
|
-
let entities = _entities;
|
|
960
|
-
graph.dependencyManager.initialize(dependencyEntities);
|
|
961
|
-
if (entityFilterFunc) {
|
|
962
|
-
Array.from(dependencyEntities.entries()).forEach(([dependencyKey, dEntities]) => {
|
|
963
|
-
dependencyEntities.set(dependencyKey, dEntities.filter(entityFilterFunc));
|
|
964
|
-
});
|
|
965
|
-
entities = _entities.filter(entityFilterFunc);
|
|
966
|
-
}
|
|
967
|
-
const report = new GraphBuilderReport();
|
|
968
|
-
// build dependency pmcd models
|
|
969
|
-
const dependencyDataMap = new Map();
|
|
970
|
-
await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
971
|
-
const projectModelData = new V1_PureModelContextData();
|
|
972
|
-
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
973
|
-
return V1_entitiesToPureModelContextData(value, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
974
|
-
}));
|
|
975
|
-
const dependencyGraphBuilderInput = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
976
|
-
data: indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
|
|
977
|
-
model: graph.dependencyManager.getModel(dependencyKey),
|
|
978
|
-
}));
|
|
979
|
-
// build main pmcd
|
|
980
|
-
const data = new V1_PureModelContextData();
|
|
981
|
-
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
982
|
-
const mainGraphBuilderInput = [
|
|
983
|
-
{
|
|
984
|
-
model: graph,
|
|
985
|
-
data: indexPureModelContextData(report, data, this.graphBuilderExtensions),
|
|
986
|
-
},
|
|
987
|
-
];
|
|
988
|
-
const graphBuilderInput = [
|
|
989
|
-
...dependencyGraphBuilderInput,
|
|
990
|
-
...mainGraphBuilderInput,
|
|
991
|
-
];
|
|
992
|
-
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
993
|
-
return graphBuilderInput;
|
|
994
|
-
}
|
|
995
933
|
// --------------------------------------------- Query ------------------------------------------------------
|
|
996
934
|
async getQuery(queryId, graph) {
|
|
997
935
|
return V1_buildQuery(await this.engine.getQuery(queryId), graph, this.engine.getCurrentUserId());
|
|
@@ -1037,26 +975,17 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1037
975
|
.concat(extraElements));
|
|
1038
976
|
return prunedGraphData;
|
|
1039
977
|
};
|
|
1040
|
-
async analyzeMappingModelCoverage(
|
|
1041
|
-
const
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
1047
|
-
return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(modelCoverageAnalysisInput));
|
|
978
|
+
async analyzeMappingModelCoverage(mapping, graph) {
|
|
979
|
+
const input = new V1_MappingModelCoverageAnalysisInput();
|
|
980
|
+
input.clientVersion = V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
|
|
981
|
+
input.mapping = mapping.path;
|
|
982
|
+
input.model = this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
983
|
+
return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(input));
|
|
1048
984
|
}
|
|
1049
985
|
buildMappingModelCoverageAnalysisResult(input) {
|
|
1050
986
|
return V1_buildModelCoverageAnalysisResult(deserialize(V1_MappingModelCoverageAnalysisResult, input));
|
|
1051
987
|
}
|
|
1052
|
-
// ---------------------------------------------
|
|
1053
|
-
elementToEntity = (element, options) => {
|
|
1054
|
-
const entity = this.elementProtocolToEntity(this.elementToProtocol(element));
|
|
1055
|
-
if (options?.pruneSourceInformation) {
|
|
1056
|
-
entity.content = pruneSourceInformation(entity.content);
|
|
1057
|
-
}
|
|
1058
|
-
return entity;
|
|
1059
|
-
};
|
|
988
|
+
// --------------------------------------------- Database ---------------------------------------------
|
|
1060
989
|
async buildDatabase(input) {
|
|
1061
990
|
const dbBuilderInput = new V1_DatabaseBuilderInput();
|
|
1062
991
|
dbBuilderInput.connection = V1_transformRelationalDatabaseConnection(input.connection, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build());
|
|
@@ -1168,11 +1097,78 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1168
1097
|
},
|
|
1169
1098
|
]);
|
|
1170
1099
|
}
|
|
1100
|
+
// --------------------------------------------- Utilities ---------------------------------------------
|
|
1101
|
+
elementToEntity = (element, options) => {
|
|
1102
|
+
const entity = this.elementProtocolToEntity(this.elementToProtocol(element));
|
|
1103
|
+
if (options?.pruneSourceInformation) {
|
|
1104
|
+
entity.content = pruneSourceInformation(entity.content);
|
|
1105
|
+
}
|
|
1106
|
+
return entity;
|
|
1107
|
+
};
|
|
1171
1108
|
// --------------------------------------------- Shared ---------------------------------------------
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1109
|
+
/**
|
|
1110
|
+
* This method helps indexing the graph from graph and dependencies' entities
|
|
1111
|
+
* This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph
|
|
1112
|
+
* and the Pure model context data which can be used to further build the graph
|
|
1113
|
+
*
|
|
1114
|
+
* There are a few simple analytics we want to do on the graph which does not necessarily
|
|
1115
|
+
* require us to build the full-graph, in fact, doing so would be too costly. In those scenarios,
|
|
1116
|
+
* we need to build the _light_ graph, hence the existence of this utility method
|
|
1117
|
+
*
|
|
1118
|
+
* TODO?: do we need to account for system elements?
|
|
1119
|
+
*/
|
|
1120
|
+
async indexLightGraph(graph, entities, dependencyEntities, entityFilterFn, entityProcessorFn) {
|
|
1121
|
+
const report = new GraphBuilderReport();
|
|
1122
|
+
// build main graph builder input
|
|
1123
|
+
const data = new V1_PureModelContextData();
|
|
1124
|
+
await V1_entitiesToPureModelContextData(entities
|
|
1125
|
+
.filter((entity) => {
|
|
1126
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
1127
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
1128
|
+
return true;
|
|
1129
|
+
}
|
|
1130
|
+
if (entityFilterFn) {
|
|
1131
|
+
return entityFilterFn(entity);
|
|
1132
|
+
}
|
|
1133
|
+
return true;
|
|
1134
|
+
})
|
|
1135
|
+
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1136
|
+
const mainGraphBuilderInput = [
|
|
1137
|
+
{
|
|
1138
|
+
model: graph,
|
|
1139
|
+
data: V1_indexPureModelContextData(report, data, this.graphBuilderExtensions),
|
|
1140
|
+
},
|
|
1141
|
+
];
|
|
1142
|
+
// build dependencies graph builder input
|
|
1143
|
+
graph.dependencyManager.initialize(dependencyEntities);
|
|
1144
|
+
const dependencyGraphDataIndex = new Map();
|
|
1145
|
+
await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
1146
|
+
const projectModelData = new V1_PureModelContextData();
|
|
1147
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
1148
|
+
return V1_entitiesToPureModelContextData(value
|
|
1149
|
+
.filter((entity) => {
|
|
1150
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
1151
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
1152
|
+
return true;
|
|
1153
|
+
}
|
|
1154
|
+
if (entityFilterFn) {
|
|
1155
|
+
return entityFilterFn(entity);
|
|
1156
|
+
}
|
|
1157
|
+
return true;
|
|
1158
|
+
})
|
|
1159
|
+
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1160
|
+
}));
|
|
1161
|
+
const dependencyGraphBuilderInput = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
1162
|
+
data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
|
|
1163
|
+
model: graph.dependencyManager.getModel(dependencyKey),
|
|
1164
|
+
}));
|
|
1165
|
+
// index simplified graph
|
|
1166
|
+
const graphBuilderInput = [
|
|
1167
|
+
...dependencyGraphBuilderInput,
|
|
1168
|
+
...mainGraphBuilderInput,
|
|
1169
|
+
];
|
|
1170
|
+
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
1171
|
+
return graphBuilderInput;
|
|
1176
1172
|
}
|
|
1177
1173
|
getFullGraphModelData(graph, options) {
|
|
1178
1174
|
const contextData1 = this.graphToPureModelContextData(graph, {
|
|
@@ -1185,15 +1181,20 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1185
1181
|
];
|
|
1186
1182
|
return contextData1;
|
|
1187
1183
|
}
|
|
1188
|
-
elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
|
|
1189
|
-
.withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
|
|
1190
|
-
.build());
|
|
1191
|
-
pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
|
|
1192
1184
|
elementProtocolToEntity = (elementProtocol) => ({
|
|
1193
1185
|
path: this.getElementPath(elementProtocol),
|
|
1194
1186
|
content: V1_serializePackageableElement(elementProtocol, this.pluginManager.getPureProtocolProcessorPlugins()),
|
|
1195
1187
|
classifierPath: this.getElementClassiferPath(elementProtocol),
|
|
1196
1188
|
});
|
|
1189
|
+
async entitiesToPureModelContextData(entities) {
|
|
1190
|
+
const graphData = new V1_PureModelContextData();
|
|
1191
|
+
await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1192
|
+
return graphData;
|
|
1193
|
+
}
|
|
1194
|
+
elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
|
|
1195
|
+
.withKeepSourceInformationFlag(Boolean(options?.keepSourceInformation))
|
|
1196
|
+
.build());
|
|
1197
|
+
pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
|
|
1197
1198
|
getElementPath = (elementProtocol) => {
|
|
1198
1199
|
let name = elementProtocol.name;
|
|
1199
1200
|
// These functions calculation the function suffix and are used to identify if an
|
|
@@ -1201,7 +1202,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1201
1202
|
// if so, we will remove that suffix
|
|
1202
1203
|
// TODO: to be revised when we support function overloading
|
|
1203
1204
|
if (elementProtocol instanceof V1_ConcreteFunctionDefinition) {
|
|
1204
|
-
const suffixIndex = elementProtocol.name.indexOf(
|
|
1205
|
+
const suffixIndex = elementProtocol.name.indexOf(V1_getFunctionSuffix(elementProtocol));
|
|
1205
1206
|
if (suffixIndex > 0) {
|
|
1206
1207
|
name = elementProtocol.name.substring(0, suffixIndex - 1);
|
|
1207
1208
|
}
|