@finos/legend-extension-dsl-data-space
Version:
Legend extension for Data Space DSL
172 lines • 4.43 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { prettyCONSTName, uuid } from '@finos/legend-shared';
export class DataSpaceExecutionContextAnalysisResult {
name;
title;
description;
mapping;
defaultRuntime;
compatibleRuntimes;
datasets = [];
runtimeMetadata;
}
export class DataSpaceExecutionContextRuntimeMetadata {
storePath;
connectionPath;
connectionType;
}
export class DataSpaceTaggedValueInfo {
_UUID = uuid();
profile;
tag;
value;
}
export class DataSpaceStereotypeInfo {
_UUID = uuid();
profile;
value;
}
export class NormalizedDataSpaceDocumentationEntry {
uuid = uuid();
text;
documentation;
elementEntry;
entry;
constructor(text, documentation, elementEntry, entry) {
this.text = text;
this.documentation = documentation;
this.elementEntry = elementEntry;
this.entry = entry;
}
get humanizedText() {
return prettyCONSTName(this.text);
}
}
export class DataSpaceBasicDocumentationEntry {
name;
docs = [];
get humanizedName() {
return prettyCONSTName(this.name);
}
}
export class DataSpacePropertyDocumentationEntry extends DataSpaceBasicDocumentationEntry {
milestoning;
/**
* Make this optional for backward compatibility
*
* @backwardCompatibility
*/
type;
/**
* Make this optional for backward compatibility
*
* @backwardCompatibility
*/
multiplicity;
}
export class DataSpaceModelDocumentationEntry extends DataSpaceBasicDocumentationEntry {
path;
}
export class DataSpaceClassDocumentationEntry extends DataSpaceModelDocumentationEntry {
properties = [];
milestoning;
}
export class DataSpaceEnumerationDocumentationEntry extends DataSpaceModelDocumentationEntry {
enumValues = [];
}
export class DataSpaceAssociationDocumentationEntry extends DataSpaceModelDocumentationEntry {
properties = [];
}
export class DataSpaceDiagramAnalysisResult {
uuid = uuid();
title;
description;
diagram;
}
export class DataSpaceExecutableInfo {
id;
executionContextKey;
query;
}
export class DataSpaceTemplateExecutableInfo extends DataSpaceExecutableInfo {
}
export class DataSpaceFunctionPointerExecutableInfo extends DataSpaceExecutableInfo {
function;
}
export class DataSpaceServiceExecutableInfo extends DataSpaceExecutableInfo {
pattern;
mapping;
runtime;
datasets = [];
}
export class DataSpaceMultiExecutionServiceExecutableInfo extends DataSpaceExecutableInfo {
pattern;
keyedExecutableInfos = [];
}
export class DataSpaceMultiExecutionServiceKeyedExecutableInfo {
key;
mapping;
runtime;
datasets = [];
}
export class DataSpaceExecutableResult {
}
export class DataSpaceExecutableTDSResultColumn {
uuid = uuid();
name;
type;
relationalType;
documentation;
// TODO: we need to think of how we want to support sample values, should we rely on the type here
// or should we rely on actual execution result on test data?
sampleValues;
}
export class DataSpaceExecutableTDSResult extends DataSpaceExecutableResult {
columns = [];
}
export class DataSpaceExecutableAnalysisResult {
uuid = uuid();
title;
description;
executable;
info;
result;
}
export class DataSpaceAnalysisResult {
name;
package;
path;
taggedValues = [];
stereotypes = [];
title;
description;
graph;
executionContextsIndex;
defaultExecutionContext;
elementDocs = [];
elements = [];
diagrams = [];
executables = [];
supportInfo;
mappingToMappingCoverageResult;
functionInfos;
dependencyFunctionInfos;
get displayName() {
return this.title ?? prettyCONSTName(this.name);
}
}
//# sourceMappingURL=DataSpaceAnalysis.js.map