@finos/legend-studio
Version:
57 lines • 3.44 kB
TypeScript
/**
* 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 type { TreeNodeData, TreeData } from '@finos/legend-art';
import type { GenerationOutput } from '@finos/legend-graph';
export interface GenerationOutputResult {
generationOutput: GenerationOutput;
parentId?: string | undefined;
}
export declare const DIRECTORY_PATH_DELIMITER = "/";
export declare const GENERATION_FILE_ROOT_NAME = "GENERATION_FILE_ROOT";
declare class GenerationFileNodeElement {
name: string;
directory?: GenerationDirectory | undefined;
parentId?: string | undefined;
constructor(name: string, fileGenerationParent?: string);
get path(): string;
}
export declare class GenerationDirectory extends GenerationFileNodeElement {
children: GenerationFileNodeElement[];
setDirectory(val: GenerationDirectory): void;
addChild(val: GenerationFileNodeElement): void;
addElement(val: GenerationFileNodeElement): void;
static createDirectoryFromParent(name: string, parent: GenerationDirectory, fileGenerationParent?: string): GenerationDirectory;
static getOrCreateDirectory(parent: GenerationDirectory, directoryName: string, insert: boolean): GenerationDirectory;
getDirectoryPath(): string;
}
export declare class GenerationFile extends GenerationFileNodeElement {
content: string;
format?: string | undefined;
constructor(name: string, content: string, format?: string, parentId?: string);
}
export interface GenerationTreeNodeData extends TreeNodeData {
fileNode: GenerationFileNodeElement;
}
export declare const getGenerationTreeNodeData: (fileNode: GenerationFileNodeElement) => GenerationTreeNodeData;
export declare const populateDirectoryTreeNodeChildren: (node: GenerationTreeNodeData, treeData: TreeData<GenerationTreeNodeData>) => void;
export declare const getGenerationTreeData: (dir: GenerationDirectory, rootWrapperName?: string) => TreeData<GenerationTreeNodeData>;
export declare const addNode: (element: GenerationFileNodeElement, treeData: TreeData<GenerationTreeNodeData>, showRoot?: boolean) => GenerationTreeNodeData;
export declare const openNode: (element: GenerationFileNodeElement, treeData: TreeData<GenerationTreeNodeData>, showRoot?: boolean) => GenerationTreeNodeData | undefined;
export declare const getFileGenerationChildNodes: (node: GenerationTreeNodeData, treeData: TreeData<GenerationTreeNodeData>) => GenerationTreeNodeData[];
export declare const buildGenerationDirectory: (rootDirectory: GenerationDirectory, generationResultIndex: Map<string, GenerationOutputResult>, filesIndex: Map<string, GenerationFile>) => void;
export declare const reprocessOpenNodes: (treeData: TreeData<GenerationTreeNodeData>, filesIndex: Map<string, GenerationFile>, rootDirectory: GenerationDirectory, openedNodeIds: string[], showRoot?: boolean) => void;
export {};
//# sourceMappingURL=FileGenerationTreeUtil.d.ts.map