@finos/legend-graph 0.2.1 → 0.3.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/CHANGELOG.md +42 -0
- package/lib/GraphManagerState.d.ts +1 -0
- package/lib/GraphManagerState.d.ts.map +1 -1
- package/lib/GraphManagerState.js +27 -2
- package/lib/GraphManagerState.js.map +1 -1
- package/lib/GraphManagerStateProvider.js +1 -1
- package/lib/GraphManagerStateProvider.js.map +1 -1
- package/lib/GraphManagerTestUtils.js +1 -1
- package/lib/GraphManagerTestUtils.js.map +1 -1
- package/lib/MetaModelConst.d.ts +7 -0
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +8 -0
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graph/PureGraphPlugin.d.ts +2 -0
- package/lib/graph/PureGraphPlugin.d.ts.map +1 -1
- package/lib/graph/PureGraphPlugin.js +3 -0
- package/lib/graph/PureGraphPlugin.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +5 -9
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/CorePureGraphManagerPlugin.d.ts +0 -2
- package/lib/graphManager/CorePureGraphManagerPlugin.d.ts.map +1 -1
- package/lib/graphManager/CorePureGraphManagerPlugin.js +1 -4
- package/lib/graphManager/CorePureGraphManagerPlugin.js.map +1 -1
- package/lib/graphManager/PureGraphManagerPlugin.d.ts +2 -0
- package/lib/graphManager/PureGraphManagerPlugin.d.ts.map +1 -1
- package/lib/graphManager/PureGraphManagerPlugin.js +3 -0
- package/lib/graphManager/PureGraphManagerPlugin.js.map +1 -1
- package/lib/graphManager/action/SourceInformationHelper.d.ts.map +1 -1
- package/lib/graphManager/action/SourceInformationHelper.js +3 -1
- package/lib/graphManager/action/SourceInformationHelper.js.map +1 -1
- package/lib/graphManager/action/query/Query.d.ts +11 -0
- package/lib/graphManager/action/query/Query.d.ts.map +1 -1
- package/lib/graphManager/action/query/Query.js +13 -0
- package/lib/graphManager/action/query/Query.js.map +1 -1
- package/lib/graphManager/action/query/QuerySearchSpecification.d.ts +29 -0
- package/lib/graphManager/action/query/QuerySearchSpecification.d.ts.map +1 -0
- package/lib/graphManager/action/query/QuerySearchSpecification.js +28 -0
- package/lib/graphManager/action/query/QuerySearchSpecification.js.map +1 -0
- package/lib/helpers/DomainHelper.d.ts +20 -0
- package/lib/helpers/DomainHelper.d.ts.map +1 -0
- package/lib/helpers/DomainHelper.js +37 -0
- package/lib/helpers/DomainHelper.js.map +1 -0
- package/lib/helpers/MappingResolutionHelper.js +1 -1
- package/lib/helpers/MappingResolutionHelper.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Association.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Association.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js +2 -2
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +0 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +2 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +7 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js +3 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.js.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +2 -0
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js +3 -0
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/v1/V1_Core_SystemModels.json +7 -0
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +6 -9
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +8 -8
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +2 -6
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +14 -5
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts +3 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js +62 -2
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +4 -8
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +1 -6
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/generation/V1_FileGenerationInput.d.ts +3 -3
- package/lib/models/protocols/pure/v1/engine/generation/V1_FileGenerationInput.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/generation/V1_FileGenerationInput.js +2 -2
- package/lib/models/protocols/pure/v1/engine/generation/V1_FileGenerationInput.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/query/V1_Query.d.ts +4 -0
- package/lib/models/protocols/pure/v1/engine/query/V1_Query.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/query/V1_Query.js +7 -2
- package/lib/models/protocols/pure/v1/engine/query/V1_Query.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.d.ts +33 -0
- package/lib/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.js +43 -0
- package/lib/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.d.ts +3 -3
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextText.d.ts +22 -0
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextText.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextText.js +21 -0
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextText.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/context/{V1_AlloySdlc.d.ts → V1_SDLC.d.ts} +4 -4
- package/lib/models/protocols/pure/v1/model/context/V1_SDLC.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/context/{V1_AlloySdlc.js → V1_SDLC.js} +3 -3
- package/lib/models/protocols/pure/v1/model/context/V1_SDLC.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +2 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +6 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +4 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +6 -6
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +12 -10
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +1 -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_DomainBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +6 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +20 -12
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts +4 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +24 -8
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
- package/package.json +9 -9
- package/src/GraphManagerState.ts +35 -4
- package/src/MetaModelConst.ts +9 -0
- package/src/graph/PureGraphPlugin.ts +5 -0
- package/src/graphManager/AbstractPureGraphManager.ts +7 -9
- package/src/graphManager/CorePureGraphManagerPlugin.ts +1 -6
- package/src/graphManager/PureGraphManagerPlugin.ts +5 -0
- package/src/graphManager/action/SourceInformationHelper.ts +3 -1
- package/src/graphManager/action/query/Query.ts +15 -0
- package/src/graphManager/action/query/QuerySearchSpecification.ts +31 -0
- package/src/helpers/DomainHelper.ts +53 -0
- package/src/helpers/MappingResolutionHelper.ts +3 -3
- package/src/index.ts +2 -0
- package/src/models/metamodels/pure/packageableElements/domain/Association.ts +1 -1
- package/src/models/metamodels/pure/packageableElements/mapping/EnumValueMapping.ts +7 -2
- package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +0 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +8 -0
- package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalOperationElement.ts +3 -1
- package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +5 -0
- package/src/models/protocols/pure/v1/V1_Core_SystemModels.json +7 -0
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +17 -14
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +25 -12
- package/src/models/protocols/pure/v1/engine/V1_EngineHelper.ts +92 -1
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +9 -14
- package/src/models/protocols/pure/v1/engine/generation/V1_FileGenerationInput.ts +5 -5
- package/src/models/protocols/pure/v1/engine/query/V1_Query.ts +12 -2
- package/src/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.ts +58 -0
- package/src/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.ts +3 -3
- package/src/models/protocols/pure/v1/model/context/V1_PureModelContextText.ts +23 -0
- package/src/models/protocols/pure/v1/model/context/{V1_AlloySdlc.ts → V1_SDLC.ts} +3 -3
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +0 -1
- package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +2 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +1 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +7 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +4 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +32 -6
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts +2 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +6 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.ts +3 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +18 -11
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +13 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +2 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +3 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +8 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +1 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +32 -13
- package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +32 -5
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +1 -0
- package/tsconfig.json +6 -1
- package/tsconfig.package.json +1 -0
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js.map +0 -1
package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts
CHANGED
|
@@ -43,20 +43,24 @@ export class V1_ProcessingContext {
|
|
|
43
43
|
return this.tags;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
private get lastInferredVariableList():
|
|
47
|
+
| Map<string, ValueSpecification>
|
|
48
|
+
| undefined {
|
|
49
|
+
return this.inferredVariableList.length
|
|
50
|
+
? this.inferredVariableList[this.inferredVariableList.length - 1]
|
|
51
|
+
: undefined;
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
addInferredVariables(name: string, variable: ValueSpecification): void {
|
|
51
55
|
if (!this.inferredVariableList.length) {
|
|
52
56
|
this.addVariableToNewLevel(name, variable);
|
|
53
57
|
} else {
|
|
54
|
-
this.
|
|
58
|
+
this.lastInferredVariableList?.set(name, variable);
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
flushVariable(name: string): void {
|
|
59
|
-
this.
|
|
63
|
+
this.lastInferredVariableList?.delete(name);
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
removeLastVariableLevel(): void {
|
|
@@ -134,6 +134,7 @@ export const V1_buildDatasourceSpecification = (
|
|
|
134
134
|
snowflakeSpec.nonProxyHosts = protocol.nonProxyHosts;
|
|
135
135
|
snowflakeSpec.organization = protocol.organization;
|
|
136
136
|
snowflakeSpec.accountType = protocol.accountType;
|
|
137
|
+
snowflakeSpec.role = protocol.role;
|
|
137
138
|
return snowflakeSpec;
|
|
138
139
|
} else if (protocol instanceof V1_BigQueryDatasourceSpecification) {
|
|
139
140
|
assertNonEmptyString(
|
|
@@ -19,6 +19,8 @@ import {
|
|
|
19
19
|
guaranteeNonNullable,
|
|
20
20
|
guaranteeType,
|
|
21
21
|
UnsupportedOperationError,
|
|
22
|
+
isNonNullable,
|
|
23
|
+
uniq,
|
|
22
24
|
} from '@finos/legend-shared';
|
|
23
25
|
import {
|
|
24
26
|
TYPICAL_MULTIPLICITY_TYPE,
|
|
@@ -203,7 +205,7 @@ export class V1_ValueSpecificationBuilder
|
|
|
203
205
|
`Applying function '${appliedFunction.function}'`,
|
|
204
206
|
);
|
|
205
207
|
if (appliedFunction.function === LET_FUNCTION) {
|
|
206
|
-
const
|
|
208
|
+
const parameters = appliedFunction.parameters.map((expression) =>
|
|
207
209
|
expression.accept_ValueSpecificationVisitor(
|
|
208
210
|
new V1_ValueSpecificationBuilder(
|
|
209
211
|
this.context,
|
|
@@ -212,11 +214,16 @@ export class V1_ValueSpecificationBuilder
|
|
|
212
214
|
),
|
|
213
215
|
),
|
|
214
216
|
);
|
|
215
|
-
const letName =
|
|
216
|
-
.values[0]
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
const letName = guaranteeNonNullable(
|
|
218
|
+
guaranteeType(appliedFunction.parameters[0], V1_CString).values[0],
|
|
219
|
+
);
|
|
220
|
+
const firstParam = guaranteeNonNullable(parameters[0]);
|
|
221
|
+
const variableExpression = new VariableExpression(
|
|
222
|
+
letName,
|
|
223
|
+
firstParam.multiplicity,
|
|
224
|
+
);
|
|
225
|
+
variableExpression.genericType = firstParam.genericType;
|
|
226
|
+
this.processingContext.addInferredVariables(letName, variableExpression);
|
|
220
227
|
}
|
|
221
228
|
const func = V1_buildFunctionExpression(
|
|
222
229
|
appliedFunction.function,
|
|
@@ -260,6 +267,17 @@ export class V1_ValueSpecificationBuilder
|
|
|
260
267
|
),
|
|
261
268
|
);
|
|
262
269
|
instance.values = transformed;
|
|
270
|
+
// NOTE: Engine applies a more sophisticated `findMostCommon()` algorithm to find the collection's generic type. Here we only handle the case where the collection has one type.
|
|
271
|
+
const typeValues = uniq(
|
|
272
|
+
instance.values
|
|
273
|
+
.map((v) => v.genericType?.value.rawType)
|
|
274
|
+
.filter(isNonNullable),
|
|
275
|
+
);
|
|
276
|
+
if (typeValues.length === 1) {
|
|
277
|
+
instance.genericType = GenericTypeExplicitReference.create(
|
|
278
|
+
new GenericType(guaranteeNonNullable(typeValues[0])),
|
|
279
|
+
);
|
|
280
|
+
}
|
|
263
281
|
return instance;
|
|
264
282
|
}
|
|
265
283
|
|
|
@@ -598,7 +616,7 @@ export function V1_buildLambdaBody(
|
|
|
598
616
|
) as VariableExpression,
|
|
599
617
|
);
|
|
600
618
|
const openVariables: string[] = [];
|
|
601
|
-
const
|
|
619
|
+
const _expressions = expressions.map((e) =>
|
|
602
620
|
e.accept_ValueSpecificationVisitor(
|
|
603
621
|
new V1_ValueSpecificationBuilder(
|
|
604
622
|
context,
|
|
@@ -608,15 +626,16 @@ export function V1_buildLambdaBody(
|
|
|
608
626
|
),
|
|
609
627
|
);
|
|
610
628
|
// Remove let variables
|
|
629
|
+
const firstExpression = guaranteeNonNullable(_expressions[0]);
|
|
611
630
|
const functionType = buildFunctionType(
|
|
612
631
|
pureParameters,
|
|
613
|
-
|
|
614
|
-
|
|
632
|
+
firstExpression.genericType?.value.rawType,
|
|
633
|
+
firstExpression.multiplicity,
|
|
615
634
|
);
|
|
616
635
|
processingContext.pop();
|
|
617
636
|
const _lambda = new LambdaFunction(functionType);
|
|
618
637
|
_lambda.openVariables = [];
|
|
619
|
-
_lambda.expressionSequence =
|
|
638
|
+
_lambda.expressionSequence = _expressions;
|
|
620
639
|
return _lambda;
|
|
621
640
|
}
|
|
622
641
|
|
|
@@ -684,7 +703,7 @@ function buildPropertyGraphFetchTree(
|
|
|
684
703
|
): PropertyGraphFetchTree {
|
|
685
704
|
let property: AbstractProperty;
|
|
686
705
|
let pureParameters: ValueSpecification[] = [];
|
|
687
|
-
if (
|
|
706
|
+
if (propertyGraphFetchTree.parameters.length) {
|
|
688
707
|
const thisVariable = new V1_Variable();
|
|
689
708
|
thisVariable.name = 'this';
|
|
690
709
|
thisVariable.class = parentClass.path;
|
|
@@ -836,7 +855,7 @@ export function V1_processProperty(
|
|
|
836
855
|
),
|
|
837
856
|
),
|
|
838
857
|
);
|
|
839
|
-
let inferredVariable: ValueSpecification;
|
|
858
|
+
let inferredVariable: ValueSpecification | undefined;
|
|
840
859
|
if (firstParameter instanceof V1_Variable) {
|
|
841
860
|
inferredVariable = guaranteeType(
|
|
842
861
|
processingContext.getInferredVariable(firstParameter.name),
|
|
@@ -846,7 +865,7 @@ export function V1_processProperty(
|
|
|
846
865
|
inferredVariable = processedParameters[0];
|
|
847
866
|
}
|
|
848
867
|
let inferredType: Type | undefined =
|
|
849
|
-
inferredVariable
|
|
868
|
+
inferredVariable?.genericType?.value.rawType;
|
|
850
869
|
if (inferredVariable instanceof AbstractPropertyExpression) {
|
|
851
870
|
inferredType = inferredVariable.func.genericType.value.rawType;
|
|
852
871
|
}
|
package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts
CHANGED
|
@@ -40,14 +40,15 @@ import {
|
|
|
40
40
|
} from '../../transformation/pureProtocol/V1_PackageableElementSerialization';
|
|
41
41
|
import { V1_PureModelContextComposite } from '../../model/context/V1_PureModelContextComposite';
|
|
42
42
|
import { V1_Protocol } from '../../model/V1_Protocol';
|
|
43
|
-
import {
|
|
43
|
+
import { V1_AlloySDLC } from '../../model/context/V1_SDLC';
|
|
44
44
|
import type { V1_PureModelContext } from '../../model/context/V1_PureModelContext';
|
|
45
45
|
import { V1_packageableElementPointerDeserializerSchema } from '../../transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper';
|
|
46
46
|
import type { PureProtocolProcessorPlugin } from '../../../PureProtocolProcessorPlugin';
|
|
47
47
|
import type { Entity } from '@finos/legend-model-storage';
|
|
48
48
|
import { GraphDataDeserializationError } from '../../../../../../graphManager/GraphManagerUtils';
|
|
49
|
+
import { V1_PureModelContextText } from '../../model/context/V1_PureModelContextText';
|
|
49
50
|
|
|
50
|
-
enum
|
|
51
|
+
enum V1_SDLCType {
|
|
51
52
|
ALLOY = 'alloy',
|
|
52
53
|
}
|
|
53
54
|
|
|
@@ -55,6 +56,7 @@ export enum V1_PureModelContextType {
|
|
|
55
56
|
DATA = 'data',
|
|
56
57
|
POINTER = 'pointer',
|
|
57
58
|
COMPOSITE = 'composite',
|
|
59
|
+
TEXT = 'text',
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
export const V1_entitiesToPureModelContextData = async (
|
|
@@ -98,8 +100,8 @@ export const V1_entitiesToPureModelContextData = async (
|
|
|
98
100
|
}
|
|
99
101
|
};
|
|
100
102
|
|
|
101
|
-
const
|
|
102
|
-
_type: usingConstantValueSchema(
|
|
103
|
+
const alloySDLCSerializationModelSchema = createModelSchema(V1_AlloySDLC, {
|
|
104
|
+
_type: usingConstantValueSchema(V1_SDLCType.ALLOY),
|
|
103
105
|
baseVersion: optional(primitive()),
|
|
104
106
|
version: primitive(),
|
|
105
107
|
groupId: primitive(),
|
|
@@ -115,12 +117,29 @@ export const V1_pureModelContextDataPropSchema = custom(
|
|
|
115
117
|
(value) => deserialize(V1_PureModelContextData, value),
|
|
116
118
|
);
|
|
117
119
|
|
|
120
|
+
const V1_pureModelContextTextSchema = createModelSchema(
|
|
121
|
+
V1_PureModelContextText,
|
|
122
|
+
{
|
|
123
|
+
_type: usingConstantValueSchema(V1_PureModelContextType.TEXT),
|
|
124
|
+
serializer: usingModelSchema(V1_Protocol.serialization.schema),
|
|
125
|
+
code: optional(primitive()),
|
|
126
|
+
},
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
export const V1_pureModelContextTextPropSchema = custom(
|
|
130
|
+
(value) =>
|
|
131
|
+
value === undefined
|
|
132
|
+
? SKIP
|
|
133
|
+
: serialize(V1_pureModelContextTextSchema, value),
|
|
134
|
+
(value) => deserialize(V1_pureModelContextTextSchema, value),
|
|
135
|
+
);
|
|
136
|
+
|
|
118
137
|
const V1_pureModelContextPointerModelSchema = createModelSchema(
|
|
119
138
|
V1_PureModelContextPointer,
|
|
120
139
|
{
|
|
121
140
|
_type: usingConstantValueSchema(V1_PureModelContextType.POINTER),
|
|
122
141
|
serializer: usingModelSchema(V1_Protocol.serialization.schema),
|
|
123
|
-
sdlcInfo: usingModelSchema(
|
|
142
|
+
sdlcInfo: usingModelSchema(alloySDLCSerializationModelSchema),
|
|
124
143
|
},
|
|
125
144
|
);
|
|
126
145
|
|
|
@@ -172,9 +191,17 @@ export const V1_serializePureModelContext = (
|
|
|
172
191
|
return V1_serializePureModelContextData(pureModelContext);
|
|
173
192
|
} else if (pureModelContext instanceof V1_PureModelContextComposite) {
|
|
174
193
|
return serialize(V1_pureModelContextCompositeModelSchema, pureModelContext);
|
|
194
|
+
} else if (pureModelContext instanceof V1_PureModelContextText) {
|
|
195
|
+
return serialize(V1_pureModelContextTextSchema, pureModelContext);
|
|
175
196
|
}
|
|
176
197
|
throw new UnsupportedOperationError(
|
|
177
198
|
`Can't serialize Pure model context`,
|
|
178
199
|
pureModelContext,
|
|
179
200
|
);
|
|
180
201
|
};
|
|
202
|
+
|
|
203
|
+
export const V1_pureModelContextPropSchema = custom(
|
|
204
|
+
(val: V1_PureModelContext) => V1_serializePureModelContext(val),
|
|
205
|
+
// TODO: we will populate this when we need to `deserialize`
|
|
206
|
+
(val) => SKIP,
|
|
207
|
+
);
|
|
@@ -175,6 +175,7 @@ const snowflakeDatasourceSpecificationModelSchema = createModelSchema(
|
|
|
175
175
|
proxyPort: optional(primitive()),
|
|
176
176
|
quotedIdentifiersIgnoreCase: optional(primitive()),
|
|
177
177
|
region: primitive(),
|
|
178
|
+
role: optional(primitive()),
|
|
178
179
|
warehouseName: primitive(),
|
|
179
180
|
},
|
|
180
181
|
);
|
package/tsconfig.json
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"allowSyntheticDefaultImports": true,
|
|
23
23
|
"strict": true,
|
|
24
24
|
"noImplicitOverride": true,
|
|
25
|
+
"noUncheckedIndexedAccess": true,
|
|
25
26
|
"exactOptionalPropertyTypes": true,
|
|
26
27
|
"forceConsistentCasingInFileNames": true,
|
|
27
28
|
"outDir": "./lib",
|
|
@@ -69,10 +70,12 @@
|
|
|
69
70
|
"./src/graphManager/action/generation/GenerationOutput.ts",
|
|
70
71
|
"./src/graphManager/action/generation/ImportConfigurationDescription.ts",
|
|
71
72
|
"./src/graphManager/action/query/Query.ts",
|
|
73
|
+
"./src/graphManager/action/query/QuerySearchSpecification.ts",
|
|
72
74
|
"./src/graphManager/action/service/ServiceExecutionMode.ts",
|
|
73
75
|
"./src/graphManager/action/service/ServiceRegistrationResult.ts",
|
|
74
76
|
"./src/graphManager/action/service/ServiceTestResult.ts",
|
|
75
77
|
"./src/helpers/DatabaseHelper.ts",
|
|
78
|
+
"./src/helpers/DomainHelper.ts",
|
|
76
79
|
"./src/helpers/MappingHelper.ts",
|
|
77
80
|
"./src/helpers/MappingResolutionHelper.ts",
|
|
78
81
|
"./src/helpers/ServiceHelper.ts",
|
|
@@ -264,17 +267,19 @@
|
|
|
264
267
|
"./src/models/protocols/pure/v1/engine/import/V1_ImportConfigurationDescription.ts",
|
|
265
268
|
"./src/models/protocols/pure/v1/engine/import/V1_PureModelContextGenerationInput.ts",
|
|
266
269
|
"./src/models/protocols/pure/v1/engine/query/V1_Query.ts",
|
|
270
|
+
"./src/models/protocols/pure/v1/engine/query/V1_QuerySearchSpecification.ts",
|
|
267
271
|
"./src/models/protocols/pure/v1/engine/service/V1_ServiceConfiguration.ts",
|
|
268
272
|
"./src/models/protocols/pure/v1/engine/service/V1_ServiceRegistrationResult.ts",
|
|
269
273
|
"./src/models/protocols/pure/v1/engine/service/V1_ServiceStorage.ts",
|
|
270
274
|
"./src/models/protocols/pure/v1/engine/service/V1_ServiceTestResult.ts",
|
|
271
275
|
"./src/models/protocols/pure/v1/model/V1_Protocol.ts",
|
|
272
276
|
"./src/models/protocols/pure/v1/model/V1_SourceInformation.ts",
|
|
273
|
-
"./src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts",
|
|
274
277
|
"./src/models/protocols/pure/v1/model/context/V1_PureModelContext.ts",
|
|
275
278
|
"./src/models/protocols/pure/v1/model/context/V1_PureModelContextComposite.ts",
|
|
276
279
|
"./src/models/protocols/pure/v1/model/context/V1_PureModelContextData.ts",
|
|
277
280
|
"./src/models/protocols/pure/v1/model/context/V1_PureModelContextPointer.ts",
|
|
281
|
+
"./src/models/protocols/pure/v1/model/context/V1_PureModelContextText.ts",
|
|
282
|
+
"./src/models/protocols/pure/v1/model/context/V1_SDLC.ts",
|
|
278
283
|
"./src/models/protocols/pure/v1/model/executionPlan/V1_ExecutionPlan.ts",
|
|
279
284
|
"./src/models/protocols/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts",
|
|
280
285
|
"./src/models/protocols/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts",
|
package/tsconfig.package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1_AlloySdlc.d.ts","sourceRoot":"","sources":["../../../../../../../src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAE1G,8BAAsB,OAAO;IAC3B,WAAW,SAAY;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B,EAAE,4BAA4B,EAAE,CAAM;gBAEpD,OAAO,EAAE,MAAM,GAAG,SAAS;CAGxC;AAED,qBAAa,YAAa,SAAQ,OAAO;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS;CAM9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"V1_AlloySdlc.js","sourceRoot":"","sources":["../../../../../../../src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,OAAgB,OAAO;IAC3B,WAAW,GAAG,QAAQ,CAAC;IACvB,OAAO,CAAS;IAChB,0BAA0B,GAAmC,EAAE,CAAC;IAEhE,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,OAAO,CAAS;IAChB,UAAU,CAAS;IAEnB,YACE,OAAe,EACf,UAAkB,EAClB,OAA2B;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
|