@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
|
@@ -14,32 +14,16 @@
|
|
|
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
|
-
V1_RelationalDataTableColumn,
|
|
21
|
-
V1_RelationalDataTableRow,
|
|
22
|
-
} from '../../data/V1_RelationalData.js';
|
|
19
|
+
import type { V1_ExternalFormatData } from '../../data/V1_EmbeddedData.js';
|
|
23
20
|
import {
|
|
24
21
|
type V1_TestAssertionVisitor,
|
|
25
22
|
V1_TestAssertion,
|
|
26
23
|
} from './V1_TestAssertion.js';
|
|
27
24
|
|
|
28
|
-
export class V1_RelationalTDS implements Hashable {
|
|
29
|
-
columns: V1_RelationalDataTableColumn[] = [];
|
|
30
|
-
rows: V1_RelationalDataTableRow[] = [];
|
|
31
|
-
|
|
32
|
-
get hashCode(): string {
|
|
33
|
-
return hashArray([
|
|
34
|
-
CORE_HASH_STRUCTURE.RELATIONAL_TDS,
|
|
35
|
-
hashArray(this.columns),
|
|
36
|
-
hashArray(this.rows),
|
|
37
|
-
]);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
25
|
export class V1_EqualToTDS extends V1_TestAssertion {
|
|
42
|
-
expected!:
|
|
26
|
+
expected!: V1_ExternalFormatData;
|
|
43
27
|
|
|
44
28
|
get hashCode(): string {
|
|
45
29
|
return hashArray([
|
package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DataElementTransformer.ts
CHANGED
|
@@ -22,9 +22,9 @@ import {
|
|
|
22
22
|
ModelStoreData,
|
|
23
23
|
} from '../../../../../../metamodels/pure/data/EmbeddedData.js';
|
|
24
24
|
import {
|
|
25
|
-
type
|
|
26
|
-
|
|
27
|
-
} from '../../../../../../metamodels/pure/data/
|
|
25
|
+
type RelationalCSVDataTable,
|
|
26
|
+
RelationalCSVData,
|
|
27
|
+
} from '../../../../../../metamodels/pure/data/RelationalCSVData.js';
|
|
28
28
|
import type { DataElement } from '../../../../../../metamodels/pure/packageableElements/data/DataElement.js';
|
|
29
29
|
import type { DSLData_PureProtocolProcessorPlugin_Extension } from '../../../../DSLData_PureProtocolProcessorPlugin_Extension.js';
|
|
30
30
|
import {
|
|
@@ -34,11 +34,9 @@ import {
|
|
|
34
34
|
V1_ModelStoreData,
|
|
35
35
|
} from '../../../model/data/V1_EmbeddedData.js';
|
|
36
36
|
import {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
V1_RelationalDataTableRow,
|
|
41
|
-
} from '../../../model/data/V1_RelationalData.js';
|
|
37
|
+
V1_RelationalCSVData,
|
|
38
|
+
V1_RelationalCSVDataTable,
|
|
39
|
+
} from '../../../model/data/V1_RelationalCSVData.js';
|
|
42
40
|
import { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
43
41
|
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
44
42
|
import {
|
|
@@ -79,30 +77,21 @@ const V1_transformDataElementReference = (
|
|
|
79
77
|
return dataElementReference;
|
|
80
78
|
};
|
|
81
79
|
|
|
82
|
-
const
|
|
83
|
-
element:
|
|
84
|
-
):
|
|
85
|
-
const table = new
|
|
86
|
-
table.
|
|
87
|
-
table.
|
|
88
|
-
table.
|
|
89
|
-
const row = new V1_RelationalDataTableRow();
|
|
90
|
-
row.values = e.values;
|
|
91
|
-
return row;
|
|
92
|
-
});
|
|
93
|
-
table.columns = element.columns.map((e) => {
|
|
94
|
-
const col = new V1_RelationalDataTableColumn();
|
|
95
|
-
col.value = e.value;
|
|
96
|
-
return col;
|
|
97
|
-
});
|
|
80
|
+
const V1_transformRelationalCSVDataTable = (
|
|
81
|
+
element: RelationalCSVDataTable,
|
|
82
|
+
): V1_RelationalCSVDataTable => {
|
|
83
|
+
const table = new V1_RelationalCSVDataTable();
|
|
84
|
+
table.table = element.table;
|
|
85
|
+
table.schema = element.schema;
|
|
86
|
+
table.values = element.values;
|
|
98
87
|
return table;
|
|
99
88
|
};
|
|
100
89
|
|
|
101
|
-
const
|
|
102
|
-
element:
|
|
103
|
-
):
|
|
104
|
-
const data = new
|
|
105
|
-
data.tables = element.tables.map(
|
|
90
|
+
const V1_transformRelationalCSVData = (
|
|
91
|
+
element: RelationalCSVData,
|
|
92
|
+
): V1_RelationalCSVData => {
|
|
93
|
+
const data = new V1_RelationalCSVData();
|
|
94
|
+
data.tables = element.tables.map(V1_transformRelationalCSVDataTable);
|
|
106
95
|
return data;
|
|
107
96
|
};
|
|
108
97
|
|
|
@@ -116,8 +105,8 @@ export const V1_transformEmbeddedData = (
|
|
|
116
105
|
return V1_transformExternalFormatData(metamodel);
|
|
117
106
|
} else if (metamodel instanceof DataElementReference) {
|
|
118
107
|
return V1_transformDataElementReference(metamodel);
|
|
119
|
-
} else if (metamodel instanceof
|
|
120
|
-
return
|
|
108
|
+
} else if (metamodel instanceof RelationalCSVData) {
|
|
109
|
+
return V1_transformRelationalCSVData(metamodel);
|
|
121
110
|
}
|
|
122
111
|
const extraEmbeddedDataTransformers = context.plugins.flatMap(
|
|
123
112
|
(plugin) =>
|
|
@@ -105,6 +105,7 @@ export const V1_transformServiceTest = (
|
|
|
105
105
|
): V1_ServiceTest => {
|
|
106
106
|
const serviceTest = new V1_ServiceTest();
|
|
107
107
|
serviceTest.id = element.id;
|
|
108
|
+
serviceTest.serializationFormat = element.serializationFormat;
|
|
108
109
|
serviceTest.parameters = element.parameters.map((parameter) =>
|
|
109
110
|
transformParameterValue(parameter),
|
|
110
111
|
);
|
|
@@ -36,10 +36,7 @@ import type {
|
|
|
36
36
|
TestSuite,
|
|
37
37
|
} from '../../../../../../metamodels/pure/test/Test.js';
|
|
38
38
|
import { EqualToTDS } from '../../../../../../metamodels/pure/test/assertion/EqualToTDS.js';
|
|
39
|
-
import {
|
|
40
|
-
V1_EqualToTDS,
|
|
41
|
-
V1_RelationalTDS,
|
|
42
|
-
} from '../../../model/test/assertion/V1_EqualToTDS.js';
|
|
39
|
+
import { V1_EqualToTDS } from '../../../model/test/assertion/V1_EqualToTDS.js';
|
|
43
40
|
|
|
44
41
|
const transformEqualTo = (element: EqualTo): V1_EqualTo => {
|
|
45
42
|
const equalTo = new V1_EqualTo();
|
|
@@ -58,9 +55,7 @@ const transformEqualToJson = (element: EqualToJson): V1_EqualToJson => {
|
|
|
58
55
|
const transformEqualToTDS = (element: EqualToTDS): V1_EqualToTDS => {
|
|
59
56
|
const equalToTDS = new V1_EqualToTDS();
|
|
60
57
|
equalToTDS.id = element.id;
|
|
61
|
-
equalToTDS.expected =
|
|
62
|
-
equalToTDS.expected.columns = element.expected.columns;
|
|
63
|
-
equalToTDS.expected.rows = element.expected.rows;
|
|
58
|
+
equalToTDS.expected = V1_transformExternalFormatData(element.expected);
|
|
64
59
|
return equalToTDS;
|
|
65
60
|
};
|
|
66
61
|
|
|
@@ -82,6 +82,7 @@ import { V1_ProtocolToMetaModelEmbeddedDataBuilder } from './helpers/V1_DataElem
|
|
|
82
82
|
import { V1_buildTestSuite } from './helpers/V1_TestBuilderHelper.js';
|
|
83
83
|
import { ServiceTestSuite } from '../../../../../../metamodels/pure/packageableElements/service/ServiceTestSuite.js';
|
|
84
84
|
import { V1_getIncludedMappingPath } from '../../../helper/V1_DSLMapping_Helper.js';
|
|
85
|
+
import { V1_DataElementReference } from '../../../model/data/V1_EmbeddedData.js';
|
|
85
86
|
|
|
86
87
|
export class V1_ProtocolToMetaModelGraphSecondPassBuilder
|
|
87
88
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -329,7 +330,7 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
|
|
|
329
330
|
);
|
|
330
331
|
}
|
|
331
332
|
service.tests = element.testSuites
|
|
332
|
-
.map((testSuite) => V1_buildTestSuite(testSuite, this.context))
|
|
333
|
+
.map((testSuite) => V1_buildTestSuite(service, testSuite, this.context))
|
|
333
334
|
.map((e) => guaranteeType(e, ServiceTestSuite));
|
|
334
335
|
}
|
|
335
336
|
|
|
@@ -407,6 +408,11 @@ export class V1_ProtocolToMetaModelGraphSecondPassBuilder
|
|
|
407
408
|
dataElement.taggedValues = element.taggedValues
|
|
408
409
|
.map((taggedValue) => V1_buildTaggedValue(taggedValue, this.context))
|
|
409
410
|
.filter(isNonNullable);
|
|
411
|
+
if (element.data instanceof V1_DataElementReference) {
|
|
412
|
+
throw new IllegalStateError(
|
|
413
|
+
'Cannot use Data element reference in a Data element',
|
|
414
|
+
);
|
|
415
|
+
}
|
|
410
416
|
dataElement.data = element.data.accept_EmbeddedDataVisitor(
|
|
411
417
|
new V1_ProtocolToMetaModelEmbeddedDataBuilder(this.context),
|
|
412
418
|
);
|
|
@@ -22,11 +22,9 @@ import {
|
|
|
22
22
|
ModelStoreData,
|
|
23
23
|
} from '../../../../../../../metamodels/pure/data/EmbeddedData.js';
|
|
24
24
|
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
RelationalDataTableRow,
|
|
29
|
-
} from '../../../../../../../metamodels/pure/data/RelationalData.js';
|
|
25
|
+
RelationalCSVData,
|
|
26
|
+
RelationalCSVDataTable,
|
|
27
|
+
} from '../../../../../../../metamodels/pure/data/RelationalCSVData.js';
|
|
30
28
|
import type { Class } from '../../../../../../../metamodels/pure/packageableElements/domain/Class.js';
|
|
31
29
|
import type { DSLData_PureProtocolProcessorPlugin_Extension } from '../../../../../DSLData_PureProtocolProcessorPlugin_Extension.js';
|
|
32
30
|
import type {
|
|
@@ -36,8 +34,7 @@ import type {
|
|
|
36
34
|
V1_ExternalFormatData,
|
|
37
35
|
V1_ModelStoreData,
|
|
38
36
|
} from '../../../../model/data/V1_EmbeddedData.js';
|
|
39
|
-
import type {
|
|
40
|
-
|
|
37
|
+
import type { V1_RelationalCSVData } from '../../../../model/data/V1_RelationalCSVData.js';
|
|
41
38
|
import type { V1_GraphBuilderContext } from '../V1_GraphBuilderContext.js';
|
|
42
39
|
|
|
43
40
|
export class V1_ProtocolToMetaModelEmbeddedDataBuilder
|
|
@@ -98,22 +95,13 @@ export class V1_ProtocolToMetaModelEmbeddedDataBuilder
|
|
|
98
95
|
return metamodel;
|
|
99
96
|
}
|
|
100
97
|
|
|
101
|
-
visit_RelationalData(relationalData:
|
|
102
|
-
const metamodel = new
|
|
98
|
+
visit_RelationalData(relationalData: V1_RelationalCSVData): EmbeddedData {
|
|
99
|
+
const metamodel = new RelationalCSVData();
|
|
103
100
|
metamodel.tables = relationalData.tables.map((t) => {
|
|
104
|
-
const table = new
|
|
105
|
-
table.
|
|
106
|
-
table.
|
|
107
|
-
|
|
108
|
-
col.value = c.value;
|
|
109
|
-
return col;
|
|
110
|
-
});
|
|
111
|
-
table.tableName = t.tableName;
|
|
112
|
-
table.rows = t.rows.map((r) => {
|
|
113
|
-
const row = new RelationalDataTableRow();
|
|
114
|
-
row.values = r.values;
|
|
115
|
-
return row;
|
|
116
|
-
});
|
|
101
|
+
const table = new RelationalCSVDataTable();
|
|
102
|
+
table.schema = t.schema;
|
|
103
|
+
table.table = t.table;
|
|
104
|
+
table.values = t.values;
|
|
117
105
|
return table;
|
|
118
106
|
});
|
|
119
107
|
return metamodel;
|
package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts
CHANGED
|
@@ -161,6 +161,12 @@ const schemaExists = (database: Database, _schema: string): boolean =>
|
|
|
161
161
|
DEFAULT_DATABASE_SCHEMA_NAME === _schema ||
|
|
162
162
|
_schemaExists(database, _schema, new Set<Database>());
|
|
163
163
|
|
|
164
|
+
export const V1_findSchema = (database: Database, _schema: string): void =>
|
|
165
|
+
assertTrue(
|
|
166
|
+
schemaExists(database, _schema),
|
|
167
|
+
`Can't find schema '${_schema}' in database '${database}'`,
|
|
168
|
+
);
|
|
169
|
+
|
|
164
170
|
export const V1_findRelation = (
|
|
165
171
|
database: Database,
|
|
166
172
|
schemaName: string,
|
|
@@ -193,10 +199,7 @@ export const V1_getRelation = (
|
|
|
193
199
|
schemaName: string,
|
|
194
200
|
relationName: string,
|
|
195
201
|
): Relation => {
|
|
196
|
-
|
|
197
|
-
schemaExists(db, schemaName),
|
|
198
|
-
`Can't find schema '${schemaName}' in database '${db}'`,
|
|
199
|
-
);
|
|
202
|
+
V1_findSchema(db, schemaName);
|
|
200
203
|
return guaranteeNonNullable(
|
|
201
204
|
V1_findRelation(db, schemaName, relationName),
|
|
202
205
|
`Can't find table '${relationName}' in schema '${schemaName}' and database '${db.path}'`,
|
package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
assertNonEmptyString,
|
|
21
21
|
assertType,
|
|
22
22
|
assertNonNullable,
|
|
23
|
+
guaranteeType,
|
|
23
24
|
} from '@finos/legend-shared';
|
|
24
25
|
import { GRAPH_MANAGER_EVENT } from '../../../../../../../../graphManager/GraphManagerEvent.js';
|
|
25
26
|
import {
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
KeyedExecutionParameter,
|
|
36
37
|
} from '../../../../../../../metamodels/pure/packageableElements/service/ServiceExecution.js';
|
|
37
38
|
import type { V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext.js';
|
|
38
|
-
import
|
|
39
|
+
import { V1_ServiceTest } from '../../../../model/packageableElements/service/V1_ServiceTest.js';
|
|
39
40
|
import {
|
|
40
41
|
type V1_ServiceExecution,
|
|
41
42
|
V1_PureSingleExecution,
|
|
@@ -53,26 +54,6 @@ import { V1_buildEngineRuntime } from './V1_RuntimeBuilderHelper.js';
|
|
|
53
54
|
import { V1_PackageableElementPointer } from '../../../../model/packageableElements/V1_PackageableElement.js';
|
|
54
55
|
import { V1_buildRawLambdaWithResolvedPaths } from './V1_ValueSpecificationPathResolver.js';
|
|
55
56
|
import { GraphBuilderError } from '../../../../../../../../graphManager/GraphManagerUtils.js';
|
|
56
|
-
import {
|
|
57
|
-
type DEPRECATED__ServiceTest,
|
|
58
|
-
DEPRECATED__KeyedSingleExecutionTest,
|
|
59
|
-
DEPRECATED__MultiExecutionTest,
|
|
60
|
-
DEPRECATED__SingleExecutionTest,
|
|
61
|
-
DEPRECATED__TestContainer,
|
|
62
|
-
} from '../../../../../../../metamodels/pure/packageableElements/service/DEPRECATED__ServiceTest.js';
|
|
63
|
-
import { ConnectionTestData } from '../../../../../../../metamodels/pure/packageableElements/service/ConnectionTestData.js';
|
|
64
|
-
import { ParameterValue } from '../../../../../../../metamodels/pure/packageableElements/service/ParameterValue.js';
|
|
65
|
-
import { ServiceTestSuite } from '../../../../../../../metamodels/pure/packageableElements/service/ServiceTestSuite.js';
|
|
66
|
-
import { TestData } from '../../../../../../../metamodels/pure/packageableElements/service/ServiceTestData.js';
|
|
67
|
-
import type { V1_ConnectionTestData } from '../../../../model/packageableElements/service/V1_ConnectionTestData.js';
|
|
68
|
-
import type { V1_ParameterValue } from '../../../../model/packageableElements/service/V1_ParameterValue.js';
|
|
69
|
-
import type { V1_ServiceTestSuite } from '../../../../model/packageableElements/service/V1_ServiceTestSuite.js';
|
|
70
|
-
import type { V1_TestData } from '../../../../model/packageableElements/service/V1_TestData.js';
|
|
71
|
-
import {
|
|
72
|
-
V1_buildTestAssertion,
|
|
73
|
-
V1_buildAtomicTest,
|
|
74
|
-
} from './V1_TestBuilderHelper.js';
|
|
75
|
-
import { V1_ProtocolToMetaModelEmbeddedDataBuilder } from './V1_DataElementBuilderHelper.js';
|
|
76
57
|
import {
|
|
77
58
|
type V1_DEPRECATED__ServiceTest,
|
|
78
59
|
V1_DEPRECATED__SingleExecutionTest,
|
|
@@ -80,6 +61,23 @@ import {
|
|
|
80
61
|
} from '../../../../model/packageableElements/service/V1_DEPRECATED__ServiceTest.js';
|
|
81
62
|
import type { TestSuite } from '../../../../../../../metamodels/pure/test/Test.js';
|
|
82
63
|
import { PackageableElementPointerType } from '../../../../../../../../MetaModelConst.js';
|
|
64
|
+
import type { V1_ConnectionTestData } from '../../../../model/packageableElements/service/V1_ConnectionTestData.js';
|
|
65
|
+
import { ConnectionTestData } from '../../../../../../../metamodels/pure/packageableElements/service/ConnectionTestData.js';
|
|
66
|
+
import { V1_ProtocolToMetaModelEmbeddedDataBuilder } from './V1_DataElementBuilderHelper.js';
|
|
67
|
+
import type { V1_ParameterValue } from '../../../../model/packageableElements/service/V1_ParameterValue.js';
|
|
68
|
+
import { ParameterValue } from '../../../../../../../metamodels/pure/packageableElements/service/ParameterValue.js';
|
|
69
|
+
import type { V1_TestData } from '../../../../model/packageableElements/service/V1_TestData.js';
|
|
70
|
+
import { TestData } from '../../../../../../../metamodels/pure/packageableElements/service/ServiceTestData.js';
|
|
71
|
+
import { V1_buildTestAssertion } from './V1_TestBuilderHelper.js';
|
|
72
|
+
import type { V1_ServiceTestSuite } from '../../../../model/packageableElements/service/V1_ServiceTestSuite.js';
|
|
73
|
+
import { ServiceTestSuite } from '../../../../../../../metamodels/pure/packageableElements/service/ServiceTestSuite.js';
|
|
74
|
+
import {
|
|
75
|
+
type DEPRECATED__ServiceTest,
|
|
76
|
+
DEPRECATED__KeyedSingleExecutionTest,
|
|
77
|
+
DEPRECATED__SingleExecutionTest,
|
|
78
|
+
DEPRECATED__TestContainer,
|
|
79
|
+
DEPRECATED__MultiExecutionTest,
|
|
80
|
+
} from '../../../../../../../metamodels/pure/packageableElements/service/DEPRECATED__ServiceTest.js';
|
|
83
81
|
|
|
84
82
|
const buildConnectionTestData = (
|
|
85
83
|
element: V1_ConnectionTestData,
|
|
@@ -114,12 +112,13 @@ const buildTestData = (
|
|
|
114
112
|
|
|
115
113
|
export const V1_buildServiceTest = (
|
|
116
114
|
element: V1_ServiceTest,
|
|
117
|
-
parentSuite: TestSuite
|
|
115
|
+
parentSuite: TestSuite,
|
|
118
116
|
context: V1_GraphBuilderContext,
|
|
119
117
|
): ServiceTest => {
|
|
120
118
|
const serviceTest = new ServiceTest();
|
|
121
119
|
serviceTest.id = element.id;
|
|
122
|
-
serviceTest.
|
|
120
|
+
serviceTest.__parent = parentSuite;
|
|
121
|
+
serviceTest.serializationFormat = element.serializationFormat;
|
|
123
122
|
serviceTest.parameters = element.parameters.map((parameter) =>
|
|
124
123
|
buildParameterValue(parameter),
|
|
125
124
|
);
|
|
@@ -137,7 +136,11 @@ export const V1_buildServiceTestSuite = (
|
|
|
137
136
|
serviceTestSuite.id = element.id;
|
|
138
137
|
serviceTestSuite.testData = buildTestData(element.testData, context);
|
|
139
138
|
serviceTestSuite.tests = element.tests.map((test) =>
|
|
140
|
-
|
|
139
|
+
V1_buildServiceTest(
|
|
140
|
+
guaranteeType(test, V1_ServiceTest),
|
|
141
|
+
serviceTestSuite,
|
|
142
|
+
context,
|
|
143
|
+
),
|
|
141
144
|
);
|
|
142
145
|
return serviceTestSuite;
|
|
143
146
|
};
|
package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts
CHANGED
|
@@ -18,29 +18,22 @@ import { guaranteeType, UnsupportedOperationError } from '@finos/legend-shared';
|
|
|
18
18
|
import { ExternalFormatData } from '../../../../../../../metamodels/pure/data/EmbeddedData.js';
|
|
19
19
|
import { EqualTo } from '../../../../../../../metamodels/pure/test/assertion/EqualTo.js';
|
|
20
20
|
import { EqualToJson } from '../../../../../../../metamodels/pure/test/assertion/EqualToJson.js';
|
|
21
|
-
import {
|
|
22
|
-
EqualToTDS,
|
|
23
|
-
RelationalTDS,
|
|
24
|
-
} from '../../../../../../../metamodels/pure/test/assertion/EqualToTDS.js';
|
|
21
|
+
import { EqualToTDS } from '../../../../../../../metamodels/pure/test/assertion/EqualToTDS.js';
|
|
25
22
|
import type { TestAssertion } from '../../../../../../../metamodels/pure/test/assertion/TestAssertion.js';
|
|
26
23
|
import type {
|
|
27
24
|
AtomicTest,
|
|
28
25
|
TestSuite,
|
|
29
26
|
} from '../../../../../../../metamodels/pure/test/Test.js';
|
|
30
|
-
import {
|
|
27
|
+
import type { Testable } from '../../../../../../../metamodels/pure/test/Testable.js';
|
|
31
28
|
import { V1_ServiceTestSuite } from '../../../../model/packageableElements/service/V1_ServiceTestSuite.js';
|
|
32
29
|
import { V1_EqualTo } from '../../../../model/test/assertion/V1_EqualTo.js';
|
|
33
30
|
import { V1_EqualToJson } from '../../../../model/test/assertion/V1_EqualToJson.js';
|
|
34
31
|
import { V1_EqualToTDS } from '../../../../model/test/assertion/V1_EqualToTDS.js';
|
|
35
32
|
import type { V1_TestAssertion } from '../../../../model/test/assertion/V1_TestAssertion.js';
|
|
36
|
-
import type { V1_AtomicTest } from '../../../../model/test/V1_AtomicTest.js';
|
|
37
33
|
import type { V1_TestSuite } from '../../../../model/test/V1_TestSuite.js';
|
|
38
34
|
import type { V1_GraphBuilderContext } from '../V1_GraphBuilderContext.js';
|
|
39
35
|
import { V1_ProtocolToMetaModelEmbeddedDataBuilder } from './V1_DataElementBuilderHelper.js';
|
|
40
|
-
import {
|
|
41
|
-
V1_buildServiceTest,
|
|
42
|
-
V1_buildServiceTestSuite,
|
|
43
|
-
} from './V1_ServiceBuilderHelper.js';
|
|
36
|
+
import { V1_buildServiceTestSuite } from './V1_ServiceBuilderHelper.js';
|
|
44
37
|
|
|
45
38
|
const buildEqualTo = (
|
|
46
39
|
element: V1_EqualTo,
|
|
@@ -78,24 +71,15 @@ const buildEqualToTDS = (
|
|
|
78
71
|
const equalToTDS = new EqualToTDS();
|
|
79
72
|
equalToTDS.id = element.id;
|
|
80
73
|
equalToTDS.parentTest = parentTest;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
equalToTDS.expected = guaranteeType(
|
|
75
|
+
element.expected.accept_EmbeddedDataVisitor(
|
|
76
|
+
new V1_ProtocolToMetaModelEmbeddedDataBuilder(context),
|
|
77
|
+
),
|
|
78
|
+
ExternalFormatData,
|
|
79
|
+
);
|
|
85
80
|
return equalToTDS;
|
|
86
81
|
};
|
|
87
82
|
|
|
88
|
-
export const V1_buildAtomicTest = (
|
|
89
|
-
value: V1_AtomicTest,
|
|
90
|
-
parentSuite: TestSuite | undefined,
|
|
91
|
-
context: V1_GraphBuilderContext,
|
|
92
|
-
): AtomicTest => {
|
|
93
|
-
if (value instanceof V1_ServiceTest) {
|
|
94
|
-
return V1_buildServiceTest(value, parentSuite, context);
|
|
95
|
-
}
|
|
96
|
-
throw new UnsupportedOperationError(`Can't build atomic test`, value);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
83
|
export const V1_buildTestAssertion = (
|
|
100
84
|
value: V1_TestAssertion,
|
|
101
85
|
parentTest: AtomicTest | undefined,
|
|
@@ -112,11 +96,17 @@ export const V1_buildTestAssertion = (
|
|
|
112
96
|
};
|
|
113
97
|
|
|
114
98
|
export const V1_buildTestSuite = (
|
|
99
|
+
parent: Testable,
|
|
115
100
|
value: V1_TestSuite,
|
|
116
101
|
context: V1_GraphBuilderContext,
|
|
117
102
|
): TestSuite => {
|
|
103
|
+
let suite: TestSuite | undefined;
|
|
118
104
|
if (value instanceof V1_ServiceTestSuite) {
|
|
119
|
-
|
|
105
|
+
suite = V1_buildServiceTestSuite(value, context);
|
|
106
|
+
}
|
|
107
|
+
if (suite) {
|
|
108
|
+
suite.__parent = parent;
|
|
109
|
+
return suite;
|
|
120
110
|
}
|
|
121
111
|
throw new UnsupportedOperationError(`Can't build test suite`, value);
|
|
122
112
|
};
|
|
@@ -43,11 +43,9 @@ import {
|
|
|
43
43
|
V1_DataElementReference,
|
|
44
44
|
} from '../../../model/data/V1_EmbeddedData.js';
|
|
45
45
|
import {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
V1_RelationalDataTableRow,
|
|
50
|
-
} from '../../../model/data/V1_RelationalData.js';
|
|
46
|
+
V1_RelationalCSVData,
|
|
47
|
+
V1_RelationalCSVDataTable,
|
|
48
|
+
} from '../../../model/data/V1_RelationalCSVData.js';
|
|
51
49
|
import { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
52
50
|
import {
|
|
53
51
|
V1_stereotypePtrSchema,
|
|
@@ -60,7 +58,7 @@ export enum V1_EmbeddedDataType {
|
|
|
60
58
|
MODEL_STORE_DATA = 'modelStore',
|
|
61
59
|
EXTERNAL_FORMAT_DATA = 'externalFormat',
|
|
62
60
|
DATA_ELEMENT_REFERENCE = 'reference',
|
|
63
|
-
RELATIONAL_DATA = '
|
|
61
|
+
RELATIONAL_DATA = 'relationalCSVData',
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
export const V1_modelStoreDataModelSchema = createModelSchema(
|
|
@@ -91,31 +89,16 @@ export const V1_dataElementReferenceModelSchema = createModelSchema(
|
|
|
91
89
|
},
|
|
92
90
|
);
|
|
93
91
|
|
|
94
|
-
export const V1_relationalDataTableColumnSchema = createModelSchema(
|
|
95
|
-
V1_RelationalDataTableColumn,
|
|
96
|
-
{
|
|
97
|
-
value: primitive(),
|
|
98
|
-
},
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
export const V1_relationalDataTableRowModelSchema = createModelSchema(
|
|
102
|
-
V1_RelationalDataTableRow,
|
|
103
|
-
{
|
|
104
|
-
values: primitive(),
|
|
105
|
-
},
|
|
106
|
-
);
|
|
107
|
-
|
|
108
92
|
const V1_relationalDataTableModelSchema = createModelSchema(
|
|
109
|
-
|
|
93
|
+
V1_RelationalCSVDataTable,
|
|
110
94
|
{
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
tableName: primitive(),
|
|
95
|
+
schema: optional(primitive()),
|
|
96
|
+
table: primitive(),
|
|
97
|
+
values: primitive(),
|
|
115
98
|
},
|
|
116
99
|
);
|
|
117
100
|
|
|
118
|
-
const V1_relationalDataModelSchema = createModelSchema(
|
|
101
|
+
const V1_relationalDataModelSchema = createModelSchema(V1_RelationalCSVData, {
|
|
119
102
|
_type: usingConstantValueSchema(V1_EmbeddedDataType.RELATIONAL_DATA),
|
|
120
103
|
tables: list(usingModelSchema(V1_relationalDataTableModelSchema)),
|
|
121
104
|
});
|
|
@@ -130,7 +113,7 @@ export const V1_serializeEmbeddedDataType = (
|
|
|
130
113
|
return serialize(V1_modelStoreDataModelSchema, protocol);
|
|
131
114
|
} else if (protocol instanceof V1_DataElementReference) {
|
|
132
115
|
return serialize(V1_dataElementReferenceModelSchema, protocol);
|
|
133
|
-
} else if (protocol instanceof
|
|
116
|
+
} else if (protocol instanceof V1_RelationalCSVData) {
|
|
134
117
|
return serialize(V1_relationalDataModelSchema, protocol);
|
|
135
118
|
}
|
|
136
119
|
const extraEmbeddedDataSerializers = plugins.flatMap(
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
serialize,
|
|
24
24
|
raw,
|
|
25
25
|
type ModelSchema,
|
|
26
|
+
optional,
|
|
26
27
|
} from 'serializr';
|
|
27
28
|
import {
|
|
28
29
|
type PlainObject,
|
|
@@ -151,6 +152,7 @@ export const V1_serviceTestModelSchema = createModelSchema(V1_ServiceTest, {
|
|
|
151
152
|
},
|
|
152
153
|
),
|
|
153
154
|
),
|
|
155
|
+
serializationFormat: optional(primitive()),
|
|
154
156
|
});
|
|
155
157
|
|
|
156
158
|
export const V1_serviceTestSuiteModelSchema = (
|
|
@@ -37,10 +37,7 @@ import { V1_AssertPass } from '../../../model/test/assertion/status/V1_AssertPas
|
|
|
37
37
|
import { V1_EqualToJsonAssertFail } from '../../../model/test/assertion/status/V1_EqualToJsonAssertFail.js';
|
|
38
38
|
import { V1_EqualTo } from '../../../model/test/assertion/V1_EqualTo.js';
|
|
39
39
|
import { V1_EqualToJson } from '../../../model/test/assertion/V1_EqualToJson.js';
|
|
40
|
-
import {
|
|
41
|
-
V1_EqualToTDS,
|
|
42
|
-
V1_RelationalTDS,
|
|
43
|
-
} from '../../../model/test/assertion/V1_EqualToTDS.js';
|
|
40
|
+
import { V1_EqualToTDS } from '../../../model/test/assertion/V1_EqualToTDS.js';
|
|
44
41
|
import type { V1_TestAssertion } from '../../../model/test/assertion/V1_TestAssertion.js';
|
|
45
42
|
import {
|
|
46
43
|
type V1_TestResult,
|
|
@@ -51,11 +48,7 @@ import {
|
|
|
51
48
|
import type { V1_AtomicTest } from '../../../model/test/V1_AtomicTest.js';
|
|
52
49
|
import { V1_AtomicTestId } from '../../../model/test/V1_AtomicTestId.js';
|
|
53
50
|
import type { V1_TestSuite } from '../../../model/test/V1_TestSuite.js';
|
|
54
|
-
import {
|
|
55
|
-
V1_externalFormatDataModelSchema,
|
|
56
|
-
V1_relationalDataTableColumnSchema,
|
|
57
|
-
V1_relationalDataTableRowModelSchema,
|
|
58
|
-
} from './V1_DataElementSerializationHelper.js';
|
|
51
|
+
import { V1_externalFormatDataModelSchema } from './V1_DataElementSerializationHelper.js';
|
|
59
52
|
import {
|
|
60
53
|
V1_serviceTestModelSchema,
|
|
61
54
|
V1_serviceTestSuiteModelSchema,
|
|
@@ -161,14 +154,9 @@ export const V1_equalToJsonModelSchema = createModelSchema(V1_EqualToJson, {
|
|
|
161
154
|
id: primitive(),
|
|
162
155
|
});
|
|
163
156
|
|
|
164
|
-
const V1_relationalTDSModelSchema = createModelSchema(V1_RelationalTDS, {
|
|
165
|
-
columns: list(usingModelSchema(V1_relationalDataTableColumnSchema)),
|
|
166
|
-
rows: list(usingModelSchema(V1_relationalDataTableRowModelSchema)),
|
|
167
|
-
});
|
|
168
|
-
|
|
169
157
|
const V1_equalToTDSModelSchema = createModelSchema(V1_EqualToTDS, {
|
|
170
158
|
_type: usingConstantValueSchema(V1_TestAssertionType.EQUAL_TO_TDS),
|
|
171
|
-
expected: usingModelSchema(
|
|
159
|
+
expected: usingModelSchema(V1_externalFormatDataModelSchema),
|
|
172
160
|
id: primitive(),
|
|
173
161
|
});
|
|
174
162
|
|
package/tsconfig.json
CHANGED
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"./src/graphManager/action/SourceInformation.ts",
|
|
70
70
|
"./src/graphManager/action/SourceInformationHelper.ts",
|
|
71
71
|
"./src/graphManager/action/TEMPORARY__AbstractEngineConfig.ts",
|
|
72
|
+
"./src/graphManager/action/analytics/MappingAnalytics.ts",
|
|
72
73
|
"./src/graphManager/action/changeDetection/CoreObserverHelper.ts",
|
|
73
74
|
"./src/graphManager/action/changeDetection/DSLData_ObserverHelper.ts",
|
|
74
75
|
"./src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts",
|
|
@@ -84,6 +85,7 @@
|
|
|
84
85
|
"./src/graphManager/action/changeDetection/StoreRelational_ObserverHelper.ts",
|
|
85
86
|
"./src/graphManager/action/changeDetection/Testable_ObserverHelper.ts",
|
|
86
87
|
"./src/graphManager/action/changeDetection/ValueSpecificationObserver.ts",
|
|
88
|
+
"./src/graphManager/action/creation/DSLExternalFormat_ModelCreatorHelper.ts",
|
|
87
89
|
"./src/graphManager/action/creation/DSLMapping_ModelCreatorHelper.ts",
|
|
88
90
|
"./src/graphManager/action/creation/DomainModelCreatorHelper.ts",
|
|
89
91
|
"./src/graphManager/action/creation/RawValueSpecificationCreatorHelper.ts",
|
|
@@ -118,7 +120,7 @@
|
|
|
118
120
|
"./src/models/metamodels/pure/InferableValue.ts",
|
|
119
121
|
"./src/models/metamodels/pure/Reference.ts",
|
|
120
122
|
"./src/models/metamodels/pure/data/EmbeddedData.ts",
|
|
121
|
-
"./src/models/metamodels/pure/data/
|
|
123
|
+
"./src/models/metamodels/pure/data/RelationalCSVData.ts",
|
|
122
124
|
"./src/models/metamodels/pure/executionPlan/ExecutionPlan.ts",
|
|
123
125
|
"./src/models/metamodels/pure/executionPlan/nodes/ExecutionNode.ts",
|
|
124
126
|
"./src/models/metamodels/pure/executionPlan/nodes/RelationalInstantiationExecutionNode.ts",
|
|
@@ -316,12 +318,13 @@
|
|
|
316
318
|
"./src/models/protocols/pure/v1/engine/V1_EngineError.ts",
|
|
317
319
|
"./src/models/protocols/pure/v1/engine/V1_EngineHelper.ts",
|
|
318
320
|
"./src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts",
|
|
319
|
-
"./src/models/protocols/pure/v1/engine/
|
|
321
|
+
"./src/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.ts",
|
|
320
322
|
"./src/models/protocols/pure/v1/engine/compilation/V1_CompilationError.ts",
|
|
321
323
|
"./src/models/protocols/pure/v1/engine/compilation/V1_CompileResult.ts",
|
|
322
324
|
"./src/models/protocols/pure/v1/engine/compilation/V1_LambdaReturnTypeResult.ts",
|
|
323
325
|
"./src/models/protocols/pure/v1/engine/execution/V1_ExecuteInput.ts",
|
|
324
326
|
"./src/models/protocols/pure/v1/engine/execution/V1_ExecutionError.ts",
|
|
327
|
+
"./src/models/protocols/pure/v1/engine/execution/V1_ExecutionHelper.ts",
|
|
325
328
|
"./src/models/protocols/pure/v1/engine/execution/V1_ExecutionResult.ts",
|
|
326
329
|
"./src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.ts",
|
|
327
330
|
"./src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.ts",
|
|
@@ -351,7 +354,7 @@
|
|
|
351
354
|
"./src/models/protocols/pure/v1/model/context/V1_PureModelContextText.ts",
|
|
352
355
|
"./src/models/protocols/pure/v1/model/context/V1_SDLC.ts",
|
|
353
356
|
"./src/models/protocols/pure/v1/model/data/V1_EmbeddedData.ts",
|
|
354
|
-
"./src/models/protocols/pure/v1/model/data/
|
|
357
|
+
"./src/models/protocols/pure/v1/model/data/V1_RelationalCSVData.ts",
|
|
355
358
|
"./src/models/protocols/pure/v1/model/executionPlan/V1_ExecutionPlan.ts",
|
|
356
359
|
"./src/models/protocols/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts",
|
|
357
360
|
"./src/models/protocols/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RelationalData.d.ts","sourceRoot":"","sources":["../../../../../src/models/metamodels/pure/data/RelationalData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,KAAK,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE3E,qBAAa,yBAA0B,YAAW,QAAQ;IACxD,KAAK,EAAG,MAAM,CAAC;IAEf,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AACD,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,MAAM,EAAG,MAAM,CAAC;IAEhB,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,qBAAa,mBAAoB,YAAW,QAAQ;IAClD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAG,MAAM,CAAC;IACnB,OAAO,EAAE,yBAAyB,EAAE,CAAM;IAC1C,IAAI,EAAE,sBAAsB,EAAE,CAAM;IAEpC,IAAI,QAAQ,IAAI,MAAM,CAQrB;CACF;AACD,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IAClE,MAAM,EAAE,mBAAmB,EAAE,CAAM;IAEnC,0BAA0B,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;IAIjE,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RelationalData.js","sourceRoot":"","sources":["../../../../../src/models/metamodels/pure/data/RelationalData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAiB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAA4B,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAU;IAEf,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,mBAAmB,CAAC,4BAA4B;YAChD,IAAI,CAAC,KAAK;SACX,CAAC,CAAC;IACL,CAAC;CACF;AACD,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAU;IAEhB,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,mBAAmB,CAAC,yBAAyB;YAC7C,IAAI,CAAC,MAAM;SACZ,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IAC9B,UAAU,CAAqB;IAC/B,SAAS,CAAU;IACnB,OAAO,GAAgC,EAAE,CAAC;IAC1C,IAAI,GAA6B,EAAE,CAAC;IAEpC,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,mBAAmB,CAAC,qBAAqB;YACzC,IAAI,CAAC,UAAU,IAAI,EAAE;YACrB,IAAI,CAAC,SAAS;YACd,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;CACF;AACD,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,MAAM,GAA0B,EAAE,CAAC;IAEnC,0BAA0B,CAAI,OAA+B;QAC3D,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,mBAAmB,CAAC,qBAAqB;YACzC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1_ExecutionHelper.d.ts","sourceRoot":"","sources":["../../../../../../src/models/protocols/pure/v1/engine/V1_ExecutionHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EACL,KAAK,eAAe,EASrB,MAAM,iEAAiE,CAAC;AACzE,OAAO,EACL,KAAK,kBAAkB,EAOxB,MAAM,mCAAmC,CAAC;AAqE3C,eAAO,MAAM,uBAAuB,aACxB,kBAAkB,KAC3B,eAaF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1_ExecutionHelper.js","sourceRoot":"","sources":["../../../../../../src/models/protocols/pure/v1/engine/V1_ExecutionHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1_RelationalData.d.ts","sourceRoot":"","sources":["../../../../../../../src/models/protocols/pure/v1/model/data/V1_RelationalData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,4BAA6B,YAAW,QAAQ;IAC3D,KAAK,EAAG,MAAM,CAAC;IAEf,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,qBAAa,yBAA0B,YAAW,QAAQ;IACxD,MAAM,EAAG,MAAM,CAAC;IAEhB,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAG,MAAM,CAAC;IACnB,OAAO,EAAE,4BAA4B,EAAE,CAAM;IAC7C,IAAI,EAAE,yBAAyB,EAAE,CAAM;IAEvC,IAAI,QAAQ,IAAI,MAAM,CAQrB;CACF;AAED,qBAAa,iBAAkB,SAAQ,eAAgB,YAAW,QAAQ;IACxE,MAAM,EAAE,sBAAsB,EAAE,CAAM;IAEtC,0BAA0B,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC;IAIpE,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF"}
|