@finos/legend-graph 9.0.1 → 10.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 +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/DSLService_Exports.d.ts +4 -0
- package/lib/DSLService_Exports.d.ts.map +1 -1
- package/lib/DSLService_Exports.js +4 -0
- package/lib/DSLService_Exports.js.map +1 -1
- package/lib/MetaModelConst.d.ts +5 -4
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +6 -4
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +13 -5
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.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/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 +6 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -0
- 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 +11 -2
- 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 +14 -5
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +79 -14
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +3 -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 +8 -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 +2 -2
- package/package.json +5 -5
- package/src/DSLData_Exports.ts +3 -0
- package/src/DSLService_Exports.ts +4 -0
- package/src/MetaModelConst.ts +8 -4
- package/src/graphManager/AbstractPureGraphManager.ts +28 -6
- 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/helpers/Testable_Helper.ts +4 -0
- package/src/helpers/ValueSpecificationHelper.ts +106 -10
- package/src/index.ts +12 -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 +16 -2
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +154 -14
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +20 -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,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 === '';
|
|
@@ -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
|
@@ -218,7 +218,14 @@ export { ServiceExecutionMode } from './graphManager/action/service/ServiceExecu
|
|
|
218
218
|
export { ServiceRegistrationResult } from './graphManager/action/service/ServiceRegistrationResult.js';
|
|
219
219
|
export { DEPRECATED__ServiceTestResult } from './graphManager/action/service/DEPRECATED__ServiceTestResult.js';
|
|
220
220
|
export { SourceInformation } from './graphManager/action/SourceInformation.js';
|
|
221
|
-
|
|
221
|
+
export {
|
|
222
|
+
MappingModelCoverageAnalysisResult,
|
|
223
|
+
MappedEntity,
|
|
224
|
+
MappedProperty,
|
|
225
|
+
EntityMappedProperty,
|
|
226
|
+
EnumMappedProperty,
|
|
227
|
+
} from './graphManager/action/analytics/MappingAnalytics.js';
|
|
228
|
+
export { V1_MappingModelCoverageAnalysisResult } from './models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js';
|
|
222
229
|
export * from './models/protocols/pure/PureProtocolProcessorPlugin.js';
|
|
223
230
|
|
|
224
231
|
// --------------------------------------------- TRANSFORMATION --------------------------------------------------
|
|
@@ -289,6 +296,9 @@ export * from './models/metamodels/pure/test/assertion/status/AssertPass.js';
|
|
|
289
296
|
export * from './models/metamodels/pure/test/assertion/status/EqualToJsonAssertFail.js';
|
|
290
297
|
export * from './models/metamodels/pure/test/assertion/TestAssertion.js';
|
|
291
298
|
export * from './models/metamodels/pure/test/Test.js';
|
|
299
|
+
export * from './models/metamodels/pure/test/assertion/EqualTo.js';
|
|
300
|
+
export * from './models/metamodels/pure/test/assertion/EqualToJson.js';
|
|
301
|
+
export * from './models/metamodels/pure/test/assertion/EqualToTDS.js';
|
|
292
302
|
export * from './models/metamodels/pure/test/result/AtomicTestId.js';
|
|
293
303
|
|
|
294
304
|
// --------------------------------------------- VALIDATION --------------------------------------------------
|
|
@@ -311,6 +321,7 @@ export * from './graphManager/action/changeDetection/GraphObserverHelper.js';
|
|
|
311
321
|
export * from './graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js';
|
|
312
322
|
export * from './graphManager/action/changeDetection/DSLService_ObserverHelper.js';
|
|
313
323
|
export * from './graphManager/action/changeDetection/DSLGenerationSpecification_ObserverHelper.js';
|
|
324
|
+
export * from './graphManager/action/changeDetection/Testable_ObserverHelper.js';
|
|
314
325
|
|
|
315
326
|
export * from './graphManager/action/changeDetection/EngineObserverHelper.js';
|
|
316
327
|
|
|
@@ -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
|
(
|
|
@@ -58,13 +58,18 @@ export type V1_FunctionExpressionBuilder = (
|
|
|
58
58
|
processingContext: V1_ProcessingContext,
|
|
59
59
|
) => [SimpleFunctionExpression, ValueSpecification[]] | undefined;
|
|
60
60
|
|
|
61
|
-
export type
|
|
61
|
+
export type V1_ExecutionInputCollector = (
|
|
62
62
|
graph: PureModel,
|
|
63
63
|
mapping: Mapping,
|
|
64
64
|
runtime: Runtime,
|
|
65
65
|
protocolGraph: V1_PureModelContextData,
|
|
66
66
|
) => V1_PackageableElement[];
|
|
67
67
|
|
|
68
|
+
export type V1_MappingModelCoverageAnalysisInputCollector = (
|
|
69
|
+
graph: PureModel,
|
|
70
|
+
protocolGraph: V1_PureModelContextData,
|
|
71
|
+
) => V1_PackageableElement[];
|
|
72
|
+
|
|
68
73
|
export type V1_PropertyExpressionTypeInferrer = (
|
|
69
74
|
variable: ValueSpecification | undefined,
|
|
70
75
|
) => Type | undefined;
|
|
@@ -141,7 +146,16 @@ export abstract class PureProtocolProcessorPlugin extends AbstractPlugin {
|
|
|
141
146
|
* We prune the graph to avoid sending the server additional elements not needed for execution.
|
|
142
147
|
* This would provide a mechanism to add more elements in this reduced graph.
|
|
143
148
|
*/
|
|
144
|
-
|
|
149
|
+
V1_getExtraExecutionInputCollectors?(): V1_ExecutionInputCollector[];
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Get the list of collectors of graph elements to build mapping-model-coverage-analysis input.
|
|
153
|
+
*
|
|
154
|
+
* In particular, such collector is used to specify any additional packageable elements
|
|
155
|
+
* added to the graph that is used when analyzing mapped properties in the mapping.
|
|
156
|
+
* This would provide a mechanism to add more elements in this reduced graph.
|
|
157
|
+
*/
|
|
158
|
+
V1_getExtraMappingModelCoverageAnalysisInputCollectors?(): V1_MappingModelCoverageAnalysisInputCollector[];
|
|
145
159
|
|
|
146
160
|
/**
|
|
147
161
|
* Get the list of type inferrers for property expression.
|