@finos/legend-graph 9.0.0 → 10.1.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 +2 -1
- package/lib/DSLData_Exports.d.ts.map +1 -1
- package/lib/DSLData_Exports.js +2 -1
- package/lib/DSLData_Exports.js.map +1 -1
- package/lib/DSLMapping_Exports.d.ts +4 -0
- package/lib/DSLMapping_Exports.d.ts.map +1 -1
- package/lib/DSLMapping_Exports.js +4 -0
- package/lib/DSLMapping_Exports.js.map +1 -1
- package/lib/DSLService_Exports.d.ts +7 -0
- package/lib/DSLService_Exports.d.ts.map +1 -1
- package/lib/DSLService_Exports.js +7 -0
- package/lib/DSLService_Exports.js.map +1 -1
- package/lib/MetaModelConst.d.ts +7 -4
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +8 -4
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graph/PureGraphPlugin.d.ts +1 -1
- package/lib/graph/PureGraphPlugin.js +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +20 -11
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js +13 -0
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/PureGraphManagerPlugin.d.ts +7 -4
- package/lib/graphManager/PureGraphManagerPlugin.d.ts.map +1 -1
- package/lib/graphManager/PureGraphManagerPlugin.js +1 -1
- package/lib/graphManager/PureGraphManagerPlugin.js.map +1 -1
- package/lib/graphManager/action/analytics/MappingAnalytics.d.ts +41 -0
- package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/MappingAnalytics.js +58 -0
- package/lib/graphManager/action/analytics/MappingAnalytics.js.map +1 -0
- package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts +2 -3
- package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js +8 -21
- package/lib/graphManager/action/changeDetection/DSLData_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js +2 -1
- package/lib/graphManager/action/changeDetection/DSLService_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js +3 -13
- package/lib/graphManager/action/changeDetection/Testable_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts +18 -0
- package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.d.ts.map +1 -0
- package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js +17 -0
- package/lib/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.js.map +1 -0
- package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts +2 -0
- package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.d.ts.map +1 -1
- package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js +2 -0
- package/lib/graphManager/action/creation/DSLMapping_ModelCreatorHelper.js.map +1 -1
- package/lib/helpers/Testable_Helper.d.ts +3 -0
- package/lib/helpers/Testable_Helper.d.ts.map +1 -1
- package/lib/helpers/Testable_Helper.js +3 -0
- package/lib/helpers/Testable_Helper.js.map +1 -1
- package/lib/helpers/ValueSpecificationHelper.d.ts +10 -3
- package/lib/helpers/ValueSpecificationHelper.d.ts.map +1 -1
- package/lib/helpers/ValueSpecificationHelper.js +59 -4
- package/lib/helpers/ValueSpecificationHelper.js.map +1 -1
- package/lib/index.d.ts +7 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/data/EmbeddedData.d.ts +2 -2
- package/lib/models/metamodels/pure/data/EmbeddedData.d.ts.map +1 -1
- package/lib/models/metamodels/pure/data/{RelationalData.d.ts → RelationalCSVData.d.ts} +6 -15
- package/lib/models/metamodels/pure/data/RelationalCSVData.d.ts.map +1 -0
- package/lib/models/metamodels/pure/data/{RelationalData.js → RelationalCSVData.js} +10 -30
- package/lib/models/metamodels/pure/data/RelationalCSVData.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts +1 -0
- package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js +2 -0
- package/lib/models/metamodels/pure/packageableElements/service/ServiceTest.js.map +1 -1
- package/lib/models/metamodels/pure/test/Test.d.ts +3 -1
- package/lib/models/metamodels/pure/test/Test.d.ts.map +1 -1
- package/lib/models/metamodels/pure/test/Test.js +2 -1
- package/lib/models/metamodels/pure/test/Test.js.map +1 -1
- package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts +2 -8
- package/lib/models/metamodels/pure/test/assertion/EqualToTDS.d.ts.map +1 -1
- package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js +0 -11
- package/lib/models/metamodels/pure/test/assertion/EqualToTDS.js.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +3 -2
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +6 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +12 -3
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +19 -10
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +112 -139
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +11 -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 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +3 -0
- 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 +40 -0
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js +94 -0
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +1 -0
- package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.d.ts → execution/V1_ExecutionHelper.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/{V1_ExecutionHelper.js → execution/V1_ExecutionHelper.js} +2 -2
- package/lib/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts +2 -2
- package/lib/models/protocols/pure/v1/model/data/V1_EmbeddedData.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.d.ts → V1_RelationalCSVData.d.ts} +6 -15
- package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/data/{V1_RelationalData.js → V1_RelationalCSVData.js} +9 -29
- package/lib/models/protocols/pure/v1/model/data/V1_RelationalCSVData.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js +2 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts +2 -8
- package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js +0 -11
- package/lib/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js +12 -21
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js +2 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +5 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -2
- 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 +6 -15
- 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 -0
- 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 +2 -1
- 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_ServiceBuilderHelper.d.ts +5 -5
- 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 +11 -9
- 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 +2 -3
- 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 +10 -15
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts +1 -4
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js +7 -14
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -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 +3 -7
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
- package/lib/package.json +8 -4
- package/package.json +11 -7
- package/src/DSLData_Exports.ts +3 -0
- package/src/DSLMapping_Exports.ts +4 -0
- package/src/DSLService_Exports.ts +10 -0
- package/src/MetaModelConst.ts +10 -4
- package/src/graph/PureGraphPlugin.ts +1 -1
- package/src/graphManager/AbstractPureGraphManager.ts +48 -20
- package/src/graphManager/PureGraphManagerPlugin.ts +18 -8
- package/src/graphManager/action/analytics/MappingAnalytics.ts +71 -0
- package/src/graphManager/action/changeDetection/DSLData_ObserverHelper.ts +12 -33
- package/src/graphManager/action/changeDetection/DSLService_ObserverHelper.ts +2 -1
- package/src/graphManager/action/changeDetection/Testable_ObserverHelper.ts +3 -23
- package/src/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.ts +21 -0
- package/src/graphManager/action/creation/DSLMapping_ModelCreatorHelper.ts +4 -0
- package/src/helpers/Testable_Helper.ts +4 -0
- package/src/helpers/ValueSpecificationHelper.ts +106 -10
- package/src/index.ts +13 -1
- package/src/models/metamodels/pure/data/EmbeddedData.ts +2 -2
- package/src/models/metamodels/pure/data/{RelationalData.ts → RelationalCSVData.ts} +10 -33
- package/src/models/metamodels/pure/packageableElements/service/ServiceTest.ts +2 -0
- package/src/models/metamodels/pure/test/Test.ts +3 -1
- package/src/models/metamodels/pure/test/assertion/EqualToTDS.ts +4 -19
- package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +15 -2
- package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +17 -3
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +306 -292
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +24 -3
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +18 -0
- package/src/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.ts +168 -0
- package/src/models/protocols/pure/v1/engine/{V1_ExecutionHelper.ts → execution/V1_ExecutionHelper.ts} +2 -2
- package/src/models/protocols/pure/v1/model/data/V1_EmbeddedData.ts +2 -2
- package/src/models/protocols/pure/v1/model/data/{V1_RelationalData.ts → V1_RelationalCSVData.ts} +9 -33
- package/src/models/protocols/pure/v1/model/packageableElements/service/V1_ServiceTest.ts +2 -0
- package/src/models/protocols/pure/v1/model/test/assertion/V1_EqualToTDS.ts +3 -19
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.ts +20 -31
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +1 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_TestTransformer.ts +2 -7
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +7 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +10 -22
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +7 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +27 -24
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +16 -26
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataElementSerializationHelper.ts +10 -27
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -0
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +3 -15
- package/tsconfig.json +6 -3
- package/lib/models/metamodels/pure/data/RelationalData.d.ts.map +0 -1
- package/lib/models/metamodels/pure/data/RelationalData.js.map +0 -1
- package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js.map +0 -1
- package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/data/V1_RelationalData.js.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export type RawMappingModelCoverageAnalysisResult = object;
|
|
18
|
+
|
|
19
|
+
export class MappedEntity {
|
|
20
|
+
readonly __NAME_TO_PROPERTY!: Map<string, MappedProperty>;
|
|
21
|
+
|
|
22
|
+
path: string;
|
|
23
|
+
properties: MappedProperty[];
|
|
24
|
+
|
|
25
|
+
constructor(path: string, properties: MappedProperty[]) {
|
|
26
|
+
this.path = path;
|
|
27
|
+
this.properties = properties;
|
|
28
|
+
this.__NAME_TO_PROPERTY = new Map<string, MappedProperty>();
|
|
29
|
+
properties.map((p) => this.__NAME_TO_PROPERTY.set(p.name, p));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class MappedProperty {
|
|
34
|
+
name: string;
|
|
35
|
+
|
|
36
|
+
constructor(name: string) {
|
|
37
|
+
this.name = name;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export class EntityMappedProperty extends MappedProperty {
|
|
42
|
+
entityPath: string;
|
|
43
|
+
subType: string | undefined;
|
|
44
|
+
|
|
45
|
+
constructor(name: string, entityPath: string, subType: string | undefined) {
|
|
46
|
+
super(name);
|
|
47
|
+
this.entityPath = entityPath;
|
|
48
|
+
this.subType = subType;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class EnumMappedProperty extends MappedProperty {
|
|
53
|
+
enumPath: string;
|
|
54
|
+
|
|
55
|
+
constructor(name: string, enumPath: string) {
|
|
56
|
+
super(name);
|
|
57
|
+
this.enumPath = enumPath;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export class MappingModelCoverageAnalysisResult {
|
|
62
|
+
readonly __PATH_TO_ENTITY!: Map<string, MappedEntity>;
|
|
63
|
+
|
|
64
|
+
mappedEntities: MappedEntity[];
|
|
65
|
+
|
|
66
|
+
constructor(mappedEntities: MappedEntity[]) {
|
|
67
|
+
this.mappedEntities = mappedEntities;
|
|
68
|
+
this.__PATH_TO_ENTITY = new Map<string, MappedEntity>();
|
|
69
|
+
mappedEntities.map((e) => this.__PATH_TO_ENTITY.set(e.path, e));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -22,11 +22,9 @@ import {
|
|
|
22
22
|
ModelStoreData,
|
|
23
23
|
} from '../../../models/metamodels/pure/data/EmbeddedData.js';
|
|
24
24
|
import {
|
|
25
|
-
type
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
RelationalData,
|
|
29
|
-
} from '../../../models/metamodels/pure/data/RelationalData.js';
|
|
25
|
+
type RelationalCSVDataTable,
|
|
26
|
+
RelationalCSVData,
|
|
27
|
+
} from '../../../models/metamodels/pure/data/RelationalCSVData.js';
|
|
30
28
|
import type { DataElement } from '../../../models/metamodels/pure/packageableElements/data/DataElement.js';
|
|
31
29
|
import type { EmbeddedData_PureGraphManagerPlugin_Extension } from '../../EmbeddedData_PureGraphManagerPlugin_Extension.js';
|
|
32
30
|
import {
|
|
@@ -74,39 +72,20 @@ export const observe_ModelStoreData = skipObserved(
|
|
|
74
72
|
},
|
|
75
73
|
);
|
|
76
74
|
|
|
77
|
-
export const
|
|
78
|
-
(metamodel:
|
|
75
|
+
export const observe_RelationalDataTable = skipObserved(
|
|
76
|
+
(metamodel: RelationalCSVDataTable): RelationalCSVDataTable => {
|
|
79
77
|
makeObservable(metamodel, {
|
|
78
|
+
values: observable,
|
|
79
|
+
table: observable,
|
|
80
|
+
schema: observable,
|
|
80
81
|
hashCode: computed,
|
|
81
82
|
});
|
|
82
83
|
return metamodel;
|
|
83
84
|
},
|
|
84
85
|
);
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
(metamodel:
|
|
88
|
-
makeObservable(metamodel, {
|
|
89
|
-
hashCode: computed,
|
|
90
|
-
});
|
|
91
|
-
return metamodel;
|
|
92
|
-
},
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
const observe_RelationalDataTable = skipObserved(
|
|
96
|
-
(metamodel: RelationalDataTable): RelationalDataTable => {
|
|
97
|
-
makeObservable(metamodel, {
|
|
98
|
-
columns: observable,
|
|
99
|
-
rows: observable,
|
|
100
|
-
hashCode: computed,
|
|
101
|
-
});
|
|
102
|
-
metamodel.columns.forEach(observe_RelationalDataTableColumn);
|
|
103
|
-
metamodel.rows.forEach(observe_RelationalDataTableRow);
|
|
104
|
-
return metamodel;
|
|
105
|
-
},
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
const observe_RelationalData = skipObserved(
|
|
109
|
-
(metamodel: RelationalData): RelationalData => {
|
|
87
|
+
const observe_RelationalCSVData = skipObserved(
|
|
88
|
+
(metamodel: RelationalCSVData): RelationalCSVData => {
|
|
110
89
|
makeObservable(metamodel, {
|
|
111
90
|
tables: observable,
|
|
112
91
|
hashCode: computed,
|
|
@@ -126,8 +105,8 @@ export function observe_EmbeddedData(
|
|
|
126
105
|
return observe_ExternalFormatData(metamodel);
|
|
127
106
|
} else if (metamodel instanceof ModelStoreData) {
|
|
128
107
|
return observe_ModelStoreData(metamodel);
|
|
129
|
-
} else if (metamodel instanceof
|
|
130
|
-
return
|
|
108
|
+
} else if (metamodel instanceof RelationalCSVData) {
|
|
109
|
+
return observe_RelationalCSVData(metamodel);
|
|
131
110
|
}
|
|
132
111
|
const extraEmbeddedDataObservers = context.plugins.flatMap(
|
|
133
112
|
(plugin) =>
|
|
@@ -75,7 +75,7 @@ export const observe_ParameterValue = skipObserved(
|
|
|
75
75
|
(metamodel: ParameterValue): ParameterValue => {
|
|
76
76
|
makeObservable(metamodel, {
|
|
77
77
|
name: observable,
|
|
78
|
-
value: observable,
|
|
78
|
+
value: observable.ref,
|
|
79
79
|
hashCode: computed,
|
|
80
80
|
});
|
|
81
81
|
|
|
@@ -102,6 +102,7 @@ export const observe_ServiceTest = skipObserved(
|
|
|
102
102
|
(metamodel: ServiceTest): ServiceTest => {
|
|
103
103
|
makeObservable(metamodel, {
|
|
104
104
|
id: observable,
|
|
105
|
+
serializationFormat: observable,
|
|
105
106
|
assertions: observable,
|
|
106
107
|
parameters: observable,
|
|
107
108
|
hashCode: computed,
|
|
@@ -19,21 +19,14 @@ import { ServiceTest } from '../../../DSLService_Exports.js';
|
|
|
19
19
|
import { ServiceTestSuite } from '../../../models/metamodels/pure/packageableElements/service/ServiceTestSuite.js';
|
|
20
20
|
import { EqualTo } from '../../../models/metamodels/pure/test/assertion/EqualTo.js';
|
|
21
21
|
import { EqualToJson } from '../../../models/metamodels/pure/test/assertion/EqualToJson.js';
|
|
22
|
-
import {
|
|
23
|
-
EqualToTDS,
|
|
24
|
-
type RelationalTDS,
|
|
25
|
-
} from '../../../models/metamodels/pure/test/assertion/EqualToTDS.js';
|
|
22
|
+
import { EqualToTDS } from '../../../models/metamodels/pure/test/assertion/EqualToTDS.js';
|
|
26
23
|
import type { TestAssertion } from '../../../models/metamodels/pure/test/assertion/TestAssertion.js';
|
|
27
24
|
import type {
|
|
28
25
|
AtomicTest,
|
|
29
26
|
TestSuite,
|
|
30
27
|
} from '../../../models/metamodels/pure/test/Test.js';
|
|
31
28
|
import { type ObserverContext, skipObserved } from './CoreObserverHelper.js';
|
|
32
|
-
import {
|
|
33
|
-
observe_ExternalFormatData,
|
|
34
|
-
observe_RelationalDataTableColumn,
|
|
35
|
-
observe_RelationalDataTableRow,
|
|
36
|
-
} from './DSLData_ObserverHelper.js';
|
|
29
|
+
import { observe_ExternalFormatData } from './DSLData_ObserverHelper.js';
|
|
37
30
|
import {
|
|
38
31
|
observe_ServiceTest,
|
|
39
32
|
observe_ServiceTestSuite,
|
|
@@ -49,26 +42,13 @@ const observe_EqualTo = skipObserved((metamodel: EqualTo): EqualTo => {
|
|
|
49
42
|
return metamodel;
|
|
50
43
|
});
|
|
51
44
|
|
|
52
|
-
const observe_RelationalTDS = skipObserved(
|
|
53
|
-
(metamodel: RelationalTDS): RelationalTDS => {
|
|
54
|
-
makeObservable(metamodel, {
|
|
55
|
-
rows: observable,
|
|
56
|
-
columns: observable,
|
|
57
|
-
hashCode: computed,
|
|
58
|
-
});
|
|
59
|
-
metamodel.columns.forEach(observe_RelationalDataTableColumn);
|
|
60
|
-
metamodel.rows.forEach(observe_RelationalDataTableRow);
|
|
61
|
-
return metamodel;
|
|
62
|
-
},
|
|
63
|
-
);
|
|
64
|
-
|
|
65
45
|
const observe_EqualToTDS = skipObserved((metamodel: EqualToTDS): EqualToTDS => {
|
|
66
46
|
makeObservable(metamodel, {
|
|
67
47
|
id: observable,
|
|
68
48
|
expected: observable,
|
|
69
49
|
hashCode: computed,
|
|
70
50
|
});
|
|
71
|
-
|
|
51
|
+
observe_ExternalFormatData(metamodel.expected);
|
|
72
52
|
return metamodel;
|
|
73
53
|
});
|
|
74
54
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { ExternalFormatData } from '../../../models/metamodels/pure/data/EmbeddedData.js';
|
|
18
|
+
|
|
19
|
+
export const isStubbed_ExternalFormatData = (
|
|
20
|
+
value: ExternalFormatData,
|
|
21
|
+
): boolean => value.data === '';
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { isNonNullable } from '@finos/legend-shared';
|
|
18
|
+
import { PackageableRuntime } from '../../../DSLMapping_Exports.js';
|
|
18
19
|
import type { EnumValueMapping } from '../../../models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js';
|
|
19
20
|
import { Mapping } from '../../../models/metamodels/pure/packageableElements/mapping/Mapping.js';
|
|
20
21
|
import type { SetImplementationContainer } from '../../../models/metamodels/pure/packageableElements/mapping/SetImplementationContainer.js';
|
|
@@ -32,3 +33,6 @@ export const isStubbed_StoreConnections = (value: StoreConnections): boolean =>
|
|
|
32
33
|
export const isStubbed_SetImplementationContainer = (
|
|
33
34
|
value: SetImplementationContainer,
|
|
34
35
|
): boolean => !value.setImplementation.value.id.value;
|
|
36
|
+
|
|
37
|
+
export const stub_PackageableRuntime = (): PackageableRuntime =>
|
|
38
|
+
new PackageableRuntime('');
|
|
@@ -20,6 +20,10 @@ import type { PureGraphManagerPlugin } from '../graphManager/PureGraphManagerPlu
|
|
|
20
20
|
import { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
|
|
21
21
|
import type { Testable } from '../models/metamodels/pure/test/Testable.js';
|
|
22
22
|
|
|
23
|
+
export const DEFAULT_TEST_SUITE_PREFIX = 'testSuite';
|
|
24
|
+
export const DEFAULT_TEST_PREFIX = 'test';
|
|
25
|
+
export const DEFAULT_TEST_ASSERTION_PREFIX = 'assertion';
|
|
26
|
+
|
|
23
27
|
export const getNullableTestable = (
|
|
24
28
|
id: string,
|
|
25
29
|
graph: PureModel,
|
|
@@ -14,22 +14,35 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { guaranteeType } from '@finos/legend-shared';
|
|
17
|
+
import { guaranteeType, Randomizer } from '@finos/legend-shared';
|
|
18
18
|
import type { PureModel } from '../graph/PureModel.js';
|
|
19
|
+
import type { GraphManagerState } from '../GraphManagerState.js';
|
|
19
20
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
LambdaFunctionInstanceValue,
|
|
24
|
-
RawLambda,
|
|
25
|
-
} from '../index.js';
|
|
26
|
-
import {
|
|
27
|
-
type PRIMITIVE_TYPE,
|
|
21
|
+
DATE_FORMAT,
|
|
22
|
+
DATE_TIME_FORMAT,
|
|
23
|
+
PRIMITIVE_TYPE,
|
|
28
24
|
TYPICAL_MULTIPLICITY_TYPE,
|
|
29
25
|
} from '../MetaModelConst.js';
|
|
26
|
+
import { Enumeration } from '../models/metamodels/pure/packageableElements/domain/Enumeration.js';
|
|
27
|
+
import { EnumValueExplicitReference } from '../models/metamodels/pure/packageableElements/domain/EnumValueReference.js';
|
|
30
28
|
import { GenericType } from '../models/metamodels/pure/packageableElements/domain/GenericType.js';
|
|
31
29
|
import { GenericTypeExplicitReference } from '../models/metamodels/pure/packageableElements/domain/GenericTypeReference.js';
|
|
32
|
-
import {
|
|
30
|
+
import { PrimitiveType } from '../models/metamodels/pure/packageableElements/domain/PrimitiveType.js';
|
|
31
|
+
import { RawLambda } from '../models/metamodels/pure/rawValueSpecification/RawLambda.js';
|
|
32
|
+
import {
|
|
33
|
+
type InstanceValue,
|
|
34
|
+
CollectionInstanceValue,
|
|
35
|
+
EnumValueInstanceValue,
|
|
36
|
+
PrimitiveInstanceValue,
|
|
37
|
+
} from '../models/metamodels/pure/valueSpecification/InstanceValue.js';
|
|
38
|
+
import {
|
|
39
|
+
type LambdaFunction,
|
|
40
|
+
LambdaFunctionInstanceValue,
|
|
41
|
+
} from '../models/metamodels/pure/valueSpecification/LambdaFunction.js';
|
|
42
|
+
import type { ValueSpecification } from '../models/metamodels/pure/valueSpecification/ValueSpecification.js';
|
|
43
|
+
import type { VariableExpression } from '../models/metamodels/pure/valueSpecification/VariableExpression.js';
|
|
44
|
+
import { getEnumValue } from './DomainHelper.js';
|
|
45
|
+
import { format, addDays } from 'date-fns';
|
|
33
46
|
|
|
34
47
|
export const buildPrimitiveInstanceValue = (
|
|
35
48
|
graph: PureModel,
|
|
@@ -79,3 +92,86 @@ export const buildRawLambdaFromLambdaFunction = (
|
|
|
79
92
|
RawLambda,
|
|
80
93
|
);
|
|
81
94
|
};
|
|
95
|
+
|
|
96
|
+
const createMockPrimitiveProperty = (
|
|
97
|
+
primitiveType: PrimitiveType,
|
|
98
|
+
propertyName: string,
|
|
99
|
+
): string | number | boolean => {
|
|
100
|
+
const randomizer = new Randomizer();
|
|
101
|
+
switch (primitiveType.name) {
|
|
102
|
+
case PRIMITIVE_TYPE.BOOLEAN:
|
|
103
|
+
return randomizer.getRandomItemInCollection([true, false]) ?? true;
|
|
104
|
+
case PRIMITIVE_TYPE.FLOAT:
|
|
105
|
+
return randomizer.getRandomFloat();
|
|
106
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
|
107
|
+
return randomizer.getRandomDouble();
|
|
108
|
+
case PRIMITIVE_TYPE.NUMBER:
|
|
109
|
+
case PRIMITIVE_TYPE.INTEGER:
|
|
110
|
+
return randomizer.getRandomWholeNumber(100);
|
|
111
|
+
// NOTE that `Date` is the umbrella type that comprises `StrictDate` and `DateTime`, but for simplicity, we will generate `Date` as `StrictDate`
|
|
112
|
+
case PRIMITIVE_TYPE.DATE:
|
|
113
|
+
case PRIMITIVE_TYPE.STRICTDATE:
|
|
114
|
+
return format(
|
|
115
|
+
randomizer.getRandomDate(
|
|
116
|
+
new Date(Date.now()),
|
|
117
|
+
addDays(Date.now(), 100),
|
|
118
|
+
),
|
|
119
|
+
DATE_FORMAT,
|
|
120
|
+
);
|
|
121
|
+
case PRIMITIVE_TYPE.DATETIME:
|
|
122
|
+
return format(
|
|
123
|
+
randomizer.getRandomDate(
|
|
124
|
+
new Date(Date.now()),
|
|
125
|
+
addDays(Date.now(), 100),
|
|
126
|
+
),
|
|
127
|
+
DATE_TIME_FORMAT,
|
|
128
|
+
);
|
|
129
|
+
case PRIMITIVE_TYPE.STRING:
|
|
130
|
+
default:
|
|
131
|
+
return `${propertyName} ${randomizer.getRandomWholeNumber(100)}`;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export const createMockEnumerationProperty = (
|
|
136
|
+
enumeration: Enumeration,
|
|
137
|
+
): string =>
|
|
138
|
+
new Randomizer().getRandomItemInCollection(enumeration.values)?.name ?? '';
|
|
139
|
+
|
|
140
|
+
export const generateVariableExpressionMockValue = (
|
|
141
|
+
parameter: VariableExpression,
|
|
142
|
+
): InstanceValue | undefined => {
|
|
143
|
+
const varType = parameter.genericType?.value.rawType;
|
|
144
|
+
const multiplicity = parameter.multiplicity;
|
|
145
|
+
if ((!multiplicity.upperBound || multiplicity.upperBound > 1) && varType) {
|
|
146
|
+
return new CollectionInstanceValue(
|
|
147
|
+
multiplicity,
|
|
148
|
+
GenericTypeExplicitReference.create(new GenericType(varType)),
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
if (varType instanceof PrimitiveType) {
|
|
152
|
+
const primitiveInst = new PrimitiveInstanceValue(
|
|
153
|
+
GenericTypeExplicitReference.create(new GenericType(varType)),
|
|
154
|
+
multiplicity,
|
|
155
|
+
);
|
|
156
|
+
primitiveInst.values = [
|
|
157
|
+
createMockPrimitiveProperty(
|
|
158
|
+
varType,
|
|
159
|
+
parameter.name === '' ? 'myVar' : parameter.name,
|
|
160
|
+
),
|
|
161
|
+
];
|
|
162
|
+
return primitiveInst;
|
|
163
|
+
} else if (varType instanceof Enumeration) {
|
|
164
|
+
const enumValueInstance = new EnumValueInstanceValue(
|
|
165
|
+
GenericTypeExplicitReference.create(new GenericType(varType)),
|
|
166
|
+
multiplicity,
|
|
167
|
+
);
|
|
168
|
+
const mock = createMockEnumerationProperty(varType);
|
|
169
|
+
if (mock !== '') {
|
|
170
|
+
enumValueInstance.values = [
|
|
171
|
+
EnumValueExplicitReference.create(getEnumValue(varType, mock)),
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
return enumValueInstance;
|
|
175
|
+
}
|
|
176
|
+
return undefined;
|
|
177
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -188,6 +188,7 @@ export { GraphManagerState } from './GraphManagerState.js';
|
|
|
188
188
|
export * from './GraphManagerStateProvider.js';
|
|
189
189
|
export * from './GraphManagerTestUtils.js';
|
|
190
190
|
export {
|
|
191
|
+
AbstractPureGraphManagerExtension,
|
|
191
192
|
AbstractPureGraphManager,
|
|
192
193
|
type GraphBuilderOptions,
|
|
193
194
|
} from './graphManager/AbstractPureGraphManager.js';
|
|
@@ -218,7 +219,14 @@ export { ServiceExecutionMode } from './graphManager/action/service/ServiceExecu
|
|
|
218
219
|
export { ServiceRegistrationResult } from './graphManager/action/service/ServiceRegistrationResult.js';
|
|
219
220
|
export { DEPRECATED__ServiceTestResult } from './graphManager/action/service/DEPRECATED__ServiceTestResult.js';
|
|
220
221
|
export { SourceInformation } from './graphManager/action/SourceInformation.js';
|
|
221
|
-
|
|
222
|
+
export {
|
|
223
|
+
MappingModelCoverageAnalysisResult,
|
|
224
|
+
MappedEntity,
|
|
225
|
+
MappedProperty,
|
|
226
|
+
EntityMappedProperty,
|
|
227
|
+
EnumMappedProperty,
|
|
228
|
+
} from './graphManager/action/analytics/MappingAnalytics.js';
|
|
229
|
+
export { V1_MappingModelCoverageAnalysisResult } from './models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js';
|
|
222
230
|
export * from './models/protocols/pure/PureProtocolProcessorPlugin.js';
|
|
223
231
|
|
|
224
232
|
// --------------------------------------------- TRANSFORMATION --------------------------------------------------
|
|
@@ -289,6 +297,9 @@ export * from './models/metamodels/pure/test/assertion/status/AssertPass.js';
|
|
|
289
297
|
export * from './models/metamodels/pure/test/assertion/status/EqualToJsonAssertFail.js';
|
|
290
298
|
export * from './models/metamodels/pure/test/assertion/TestAssertion.js';
|
|
291
299
|
export * from './models/metamodels/pure/test/Test.js';
|
|
300
|
+
export * from './models/metamodels/pure/test/assertion/EqualTo.js';
|
|
301
|
+
export * from './models/metamodels/pure/test/assertion/EqualToJson.js';
|
|
302
|
+
export * from './models/metamodels/pure/test/assertion/EqualToTDS.js';
|
|
292
303
|
export * from './models/metamodels/pure/test/result/AtomicTestId.js';
|
|
293
304
|
|
|
294
305
|
// --------------------------------------------- VALIDATION --------------------------------------------------
|
|
@@ -311,6 +322,7 @@ export * from './graphManager/action/changeDetection/GraphObserverHelper.js';
|
|
|
311
322
|
export * from './graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js';
|
|
312
323
|
export * from './graphManager/action/changeDetection/DSLService_ObserverHelper.js';
|
|
313
324
|
export * from './graphManager/action/changeDetection/DSLGenerationSpecification_ObserverHelper.js';
|
|
325
|
+
export * from './graphManager/action/changeDetection/Testable_ObserverHelper.js';
|
|
314
326
|
|
|
315
327
|
export * from './graphManager/action/changeDetection/EngineObserverHelper.js';
|
|
316
328
|
|
|
@@ -20,14 +20,14 @@ import { hashObjectWithoutSourceInformation } from '../../../../MetaModelUtils.j
|
|
|
20
20
|
import type { DataElement } from '../packageableElements/data/DataElement.js';
|
|
21
21
|
import type { Class } from '../packageableElements/domain/Class.js';
|
|
22
22
|
import type { PackageableElementReference } from '../packageableElements/PackageableElementReference.js';
|
|
23
|
-
import type {
|
|
23
|
+
import type { RelationalCSVData } from './RelationalCSVData.js';
|
|
24
24
|
|
|
25
25
|
export interface EmbeddedDataVisitor<T> {
|
|
26
26
|
visit_EmbeddedData(embeddedData: EmbeddedData): T;
|
|
27
27
|
visit_ExternalFormatData(externalFormatData: ExternalFormatData): T;
|
|
28
28
|
visit_ModelStoreData(modelStoreData: ModelStoreData): T;
|
|
29
29
|
visit_DataElementReference(dataElementReference: DataElementReference): T;
|
|
30
|
-
|
|
30
|
+
visit_RelationalCSVData(relationalData: RelationalCSVData): T;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export abstract class EmbeddedData implements Hashable {
|
|
@@ -18,53 +18,30 @@ import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
|
18
18
|
import { CORE_HASH_STRUCTURE } from '../../../../MetaModelConst.js';
|
|
19
19
|
import { type EmbeddedDataVisitor, EmbeddedData } from './EmbeddedData.js';
|
|
20
20
|
|
|
21
|
-
export class
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
get hashCode(): string {
|
|
25
|
-
return hashArray([
|
|
26
|
-
CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE_COLUMN,
|
|
27
|
-
this.value,
|
|
28
|
-
]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export class RelationalDataTableRow implements Hashable {
|
|
21
|
+
export class RelationalCSVDataTable implements Hashable {
|
|
22
|
+
schema!: string;
|
|
23
|
+
table!: string;
|
|
32
24
|
values!: string;
|
|
33
25
|
|
|
34
26
|
get hashCode(): string {
|
|
35
27
|
return hashArray([
|
|
36
|
-
CORE_HASH_STRUCTURE.
|
|
28
|
+
CORE_HASH_STRUCTURE.RELATIONAL_CSV_DATA_TABLE,
|
|
29
|
+
this.schema,
|
|
30
|
+
this.table,
|
|
37
31
|
this.values,
|
|
38
32
|
]);
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
schemaName: string | undefined;
|
|
44
|
-
tableName!: string;
|
|
45
|
-
columns: RelationalDataTableColumn[] = [];
|
|
46
|
-
rows: RelationalDataTableRow[] = [];
|
|
47
|
-
|
|
48
|
-
get hashCode(): string {
|
|
49
|
-
return hashArray([
|
|
50
|
-
CORE_HASH_STRUCTURE.RELATIONAL_DATA_TABLE,
|
|
51
|
-
this.schemaName ?? '',
|
|
52
|
-
this.tableName,
|
|
53
|
-
hashArray(this.columns),
|
|
54
|
-
hashArray(this.rows),
|
|
55
|
-
]);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
export class RelationalData extends EmbeddedData implements Hashable {
|
|
59
|
-
tables: RelationalDataTable[] = [];
|
|
35
|
+
export class RelationalCSVData extends EmbeddedData implements Hashable {
|
|
36
|
+
tables: RelationalCSVDataTable[] = [];
|
|
60
37
|
|
|
61
38
|
accept_EmbeddedDataVisitor<T>(visitor: EmbeddedDataVisitor<T>): T {
|
|
62
|
-
return visitor.
|
|
39
|
+
return visitor.visit_RelationalCSVData(this);
|
|
63
40
|
}
|
|
64
41
|
|
|
65
42
|
get hashCode(): string {
|
|
66
43
|
return hashArray([
|
|
67
|
-
CORE_HASH_STRUCTURE.
|
|
44
|
+
CORE_HASH_STRUCTURE.RELATIONAL_CSV_DATA_TABLE,
|
|
68
45
|
hashArray(this.tables),
|
|
69
46
|
]);
|
|
70
47
|
}
|
|
@@ -20,6 +20,7 @@ import { AtomicTest } from '../../test/Test.js';
|
|
|
20
20
|
import type { ParameterValue } from './ParameterValue.js';
|
|
21
21
|
|
|
22
22
|
export class ServiceTest extends AtomicTest implements Hashable {
|
|
23
|
+
serializationFormat: string | undefined;
|
|
23
24
|
parameters: ParameterValue[] = [];
|
|
24
25
|
|
|
25
26
|
get hashCode(): string {
|
|
@@ -28,6 +29,7 @@ export class ServiceTest extends AtomicTest implements Hashable {
|
|
|
28
29
|
this.id,
|
|
29
30
|
hashArray(this.assertions),
|
|
30
31
|
hashArray(this.parameters),
|
|
32
|
+
this.serializationFormat ?? '',
|
|
31
33
|
]);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import type { Hashable } from '@finos/legend-shared';
|
|
18
18
|
import type { TestAssertion } from './assertion/TestAssertion.js';
|
|
19
|
+
import type { Testable } from './Testable.js';
|
|
19
20
|
|
|
20
21
|
export abstract class Test implements Hashable {
|
|
21
22
|
id!: string;
|
|
@@ -24,13 +25,14 @@ export abstract class Test implements Hashable {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
export abstract class AtomicTest extends Test implements Hashable {
|
|
27
|
-
|
|
28
|
+
__parent!: TestSuite | Testable;
|
|
28
29
|
assertions: TestAssertion[] = [];
|
|
29
30
|
|
|
30
31
|
abstract override get hashCode(): string;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export abstract class TestSuite extends Test implements Hashable {
|
|
35
|
+
__parent!: Testable;
|
|
34
36
|
tests: AtomicTest[] = [];
|
|
35
37
|
|
|
36
38
|
abstract override get hashCode(): string;
|
|
@@ -14,29 +14,14 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { hashArray
|
|
17
|
+
import { hashArray } from '@finos/legend-shared';
|
|
18
18
|
import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst.js';
|
|
19
|
-
import type {
|
|
20
|
-
RelationalDataTableColumn,
|
|
21
|
-
RelationalDataTableRow,
|
|
22
|
-
} from '../../data/RelationalData.js';
|
|
23
|
-
import { type TestAssertionVisitor, TestAssertion } from './TestAssertion.js';
|
|
24
|
-
|
|
25
|
-
export class RelationalTDS implements Hashable {
|
|
26
|
-
columns: RelationalDataTableColumn[] = [];
|
|
27
|
-
rows: RelationalDataTableRow[] = [];
|
|
19
|
+
import type { ExternalFormatData } from '../../data/EmbeddedData.js';
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
return hashArray([
|
|
31
|
-
CORE_HASH_STRUCTURE.RELATIONAL_TDS,
|
|
32
|
-
hashArray(this.columns),
|
|
33
|
-
hashArray(this.rows),
|
|
34
|
-
]);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
21
|
+
import { type TestAssertionVisitor, TestAssertion } from './TestAssertion.js';
|
|
37
22
|
|
|
38
23
|
export class EqualToTDS extends TestAssertion {
|
|
39
|
-
expected!:
|
|
24
|
+
expected!: ExternalFormatData;
|
|
40
25
|
|
|
41
26
|
get hashCode(): string {
|
|
42
27
|
return hashArray([
|
|
@@ -55,7 +55,8 @@ import {
|
|
|
55
55
|
type V1_ElementProtocolDeserializer,
|
|
56
56
|
type V1_ElementProtocolSerializer,
|
|
57
57
|
type V1_ElementTransformer,
|
|
58
|
-
type
|
|
58
|
+
type V1_ExecutionInputCollector,
|
|
59
|
+
type V1_MappingModelCoverageAnalysisInputCollector,
|
|
59
60
|
PureProtocolProcessorPlugin,
|
|
60
61
|
} from './PureProtocolProcessorPlugin.js';
|
|
61
62
|
import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData.js';
|
|
@@ -299,7 +300,7 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
|
|
|
299
300
|
];
|
|
300
301
|
}
|
|
301
302
|
|
|
302
|
-
override
|
|
303
|
+
override V1_getExtraExecutionInputCollectors(): V1_ExecutionInputCollector[] {
|
|
303
304
|
return [
|
|
304
305
|
(
|
|
305
306
|
graph: PureModel,
|
|
@@ -313,6 +314,18 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
|
|
|
313
314
|
];
|
|
314
315
|
}
|
|
315
316
|
|
|
317
|
+
override V1_getExtraMappingModelCoverageAnalysisInputCollectors(): V1_MappingModelCoverageAnalysisInputCollector[] {
|
|
318
|
+
return [
|
|
319
|
+
(
|
|
320
|
+
graph: PureModel,
|
|
321
|
+
protocolGraph: V1_PureModelContextData,
|
|
322
|
+
): V1_PackageableElement[] =>
|
|
323
|
+
protocolGraph.elements.filter(
|
|
324
|
+
(element) => element instanceof V1_SchemaSet,
|
|
325
|
+
),
|
|
326
|
+
];
|
|
327
|
+
}
|
|
328
|
+
|
|
316
329
|
V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[] {
|
|
317
330
|
return [
|
|
318
331
|
(
|