@oaklean/profiler-core
Version:
Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec
87 lines (86 loc) • 6.95 kB
TypeScript
import { BaseModel } from './BaseModel';
import { ModelMap } from './ModelMap';
import { SourceFileMetaData, AggregatedSourceNodeMetaData } from './SourceFileMetaData';
import { Report } from './Report';
import { ProjectReport } from './ProjectReport';
import { ModuleReport } from './ModuleReport';
import { SensorValues } from './SensorValues';
import { PathIndex } from './index/PathIndex';
import { GlobalIndex } from './index/GlobalIndex';
import { ModuleIndex } from './index/ModuleIndex';
import { UnifiedPath } from '../system/UnifiedPath';
import { LangInternalPath_string, SourceFileMetaDataTreeType, ISourceFileMetaDataTree, NodeModuleIdentifier_string, PathID_number, UnifiedPath_string, UnifiedPathPart_string } from '../types';
type UnifiedPathOnlyForPathNode<T> = T extends SourceFileMetaDataTreeType.File | SourceFileMetaDataTreeType.Directory | SourceFileMetaDataTreeType.Module ? UnifiedPath : undefined;
type IndexTypeMap = {
[]: ModuleIndex;
[]: ModuleIndex;
[]: PathIndex;
[]: GlobalIndex;
};
type IndexPerType<T extends SourceFileMetaDataTreeType> = IndexTypeMap[T];
export declare class SourceFileMetaDataTree<T extends SourceFileMetaDataTreeType> extends BaseModel {
private _lang_internalHeadlessSensorValues?;
private _aggregatedLangInternalSourceNodeMetaData?;
private _aggregatedInternSourceMetaData?;
private _aggregatedExternSourceMetaData?;
type: T;
filePath: UnifiedPathOnlyForPathNode<T>;
compiledSourceFilePath?: UnifiedPath_string;
originalSourceFilePath?: UnifiedPath_string;
private _langInternalChildren?;
private _internChildren?;
private _externChildren?;
sourceFileMetaData?: SourceFileMetaData;
index: IndexPerType<T>;
constructor(type: T, filePath: UnifiedPathOnlyForPathNode<T>, index: IndexPerType<T>, compiledSourceFilePath?: UnifiedPath_string, originalSourceFilePath?: UnifiedPath_string);
globalIndex(): GlobalIndex;
static isRootNode(data: SourceFileMetaDataTree<SourceFileMetaDataTreeType> | ISourceFileMetaDataTree<SourceFileMetaDataTreeType>): data is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Root>;
static isFileNode(data: SourceFileMetaDataTree<SourceFileMetaDataTreeType> | ISourceFileMetaDataTree<SourceFileMetaDataTreeType>): data is SourceFileMetaDataTree<SourceFileMetaDataTreeType.File>;
static isDirectoryNode(data: SourceFileMetaDataTree<SourceFileMetaDataTreeType> | ISourceFileMetaDataTree<SourceFileMetaDataTreeType>): data is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Directory>;
static isModuleNode(data: SourceFileMetaDataTree<SourceFileMetaDataTreeType> | ISourceFileMetaDataTree<SourceFileMetaDataTreeType>): data is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Module>;
isRoot(): this is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Root>;
isFile(): this is SourceFileMetaDataTree<SourceFileMetaDataTreeType.File>;
isDirectory(): this is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Directory>;
isModule(): this is SourceFileMetaDataTree<SourceFileMetaDataTreeType.Module>;
get lang_internalHeadlessSensorValues(): SensorValues;
set lang_internalHeadlessSensorValues(value: SensorValues);
get aggregatedLangInternalSourceNodeMetaData(): AggregatedSourceNodeMetaData;
get aggregatedInternSourceMetaData(): AggregatedSourceNodeMetaData;
get aggregatedExternSourceMetaData(): AggregatedSourceNodeMetaData;
get totalAggregatedSourceMetaData(): AggregatedSourceNodeMetaData;
get langInternalChildren(): ModelMap<LangInternalPath_string, SourceFileMetaDataTree<SourceFileMetaDataTreeType.File>>;
get internChildren(): ModelMap<UnifiedPathPart_string, SourceFileMetaDataTree<SourceFileMetaDataTreeType.Directory | SourceFileMetaDataTreeType.File>>;
get externChildren(): ModelMap<NodeModuleIdentifier_string, SourceFileMetaDataTree<SourceFileMetaDataTreeType.Module>>;
storeToFile(filePath: UnifiedPath, kind?: 'pretty-json' | 'json'): void;
validate(): void;
toJSON(): ISourceFileMetaDataTree<T>;
static fromJSON<T extends SourceFileMetaDataTreeType>(json: string | ISourceFileMetaDataTree<T>, type: T, indexFromParent: T extends SourceFileMetaDataTreeType.Root ? undefined : IndexPerType<T>): SourceFileMetaDataTree<T>;
static loadFromFile(filePath: UnifiedPath): SourceFileMetaDataTree<SourceFileMetaDataTreeType.Root> | undefined;
addToAggregatedLangInternalSourceNodeMetaDataOfTree(aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData): void;
addToAggregatedInternSourceNodeMetaDataOfTree(aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData): void;
addToAggregatedExternSourceNodeMetaDataOfTree(aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData): void;
static fromProjectReport(projectReport: ProjectReport, mode?: 'compiled' | 'original'): SourceFileMetaDataTree<SourceFileMetaDataTreeType.Root>;
insertLangInternalPath(langInternalPath: LangInternalPath_string, aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData, sourceFileMetaData: SourceFileMetaData): SourceFileMetaDataTree<SourceFileMetaDataTreeType.File>;
insertPath(filePathParts: UnifiedPathPart_string[], compiledSourceFilePath: UnifiedPath_string | undefined, originalSourceFilePath: UnifiedPath_string | undefined, aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData, sourceFileMetaData: SourceFileMetaData): SourceFileMetaDataTree<SourceFileMetaDataTreeType.File | SourceFileMetaDataTreeType.Directory>;
addExternReport(moduleReport: ModuleReport, index: ModuleIndex, mode: 'compiled' | 'original'): void;
addInternReport(projectReport: Report, mode: 'compiled' | 'original'): void;
addProjectReport(projectReport: ProjectReport, mode: 'compiled' | 'original'): void;
_mergeReferences(...references: ModelMap<PathID_number, SensorValues>[]): ModelMap<PathID_number, SensorValues>;
filter(includedFilterPath: string | undefined, excludedFilterPath: string | undefined): {
node: SourceFileMetaDataTree<T> | null;
sensorValues?: SensorValues | undefined;
internReferences: ModelMap<PathID_number, SensorValues>;
externReferences: ModelMap<PathID_number, SensorValues>;
langInternalReferences: ModelMap<PathID_number, SensorValues>;
containsFiles: Set<PathID_number>;
};
_filter(filterPaths: (pathIndex: PathIndex) => boolean, filterReferences: (references: ModelMap<PathID_number, SensorValues>) => void): {
node: SourceFileMetaDataTree<T> | null;
sensorValues?: SensorValues;
internReferences: ModelMap<PathID_number, SensorValues>;
externReferences: ModelMap<PathID_number, SensorValues>;
langInternalReferences: ModelMap<PathID_number, SensorValues>;
containsFiles: Set<PathID_number>;
};
}
export {};