@finos/legend-lego
Version:
Legend code editor support
68 lines • 2 kB
JavaScript
/**
* Copyright (c) 2025-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 BasicDocumentationEntry {
name;
docs = [];
get humanizedName() {
return prettyCONSTName(this.name);
}
}
export class ModelDocumentationEntry extends BasicDocumentationEntry {
path;
}
export class ClassDocumentationEntry extends ModelDocumentationEntry {
properties = [];
milestoning;
}
export class PropertyDocumentationEntry extends BasicDocumentationEntry {
milestoning;
/**
* Make this optional for backward compatibility
*
* @backwardCompatibility
*/
type;
/**
* Make this optional for backward compatibility
*
* @backwardCompatibility
*/
multiplicity;
}
export class NormalizedDocumentationEntry {
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 EnumerationDocumentationEntry extends ModelDocumentationEntry {
enumValues = [];
}
export class AssociationDocumentationEntry extends ModelDocumentationEntry {
properties = [];
}
//# sourceMappingURL=ModelDocumentationAnalysis.js.map