UNPKG

@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

90 lines (89 loc) 6.79 kB
import { BaseModel } from './BaseModel'; import { ModelMap } from './ModelMap'; import { SourceFileMetaData, AggregatedSourceNodeMetaData } from './SourceFileMetaData'; import { SourceNodeGraph } from './SourceNodeGraph'; import { Report } from './Report'; import { ProjectReport } from './ProjectReport'; import { ModuleReport } from './ModuleReport'; import { SensorValues } from './SensorValues'; import { PathIndex } from './indices/PathIndex'; import { GlobalIndex } from './indices/GlobalIndex'; import { ModuleIndex } from './indices/ModuleIndex'; import { UnifiedPath } from '../system/UnifiedPath'; import { LangInternalPath_string, SourceFileMetaDataTreeType, ISourceFileMetaDataTree, NodeModuleIdentifier_string, PathID_number, UnifiedPathPart_string } from '../types'; type UnifiedPathOnlyForPathNode<T> = T extends SourceFileMetaDataTreeType.File | SourceFileMetaDataTreeType.Directory | SourceFileMetaDataTreeType.Module ? UnifiedPath : undefined; type IndexTypeMap = { [SourceFileMetaDataTreeType.Module]: ModuleIndex; [SourceFileMetaDataTreeType.Directory]: ModuleIndex; [SourceFileMetaDataTreeType.File]: PathIndex; [SourceFileMetaDataTreeType.Root]: GlobalIndex; }; type IndexPerType<T extends SourceFileMetaDataTreeType> = IndexTypeMap[T]; type LinkedMetaData = { internReportID: number; sourceFileMetaData: SourceFileMetaData; }; export declare class SourceFileMetaDataTree<T extends SourceFileMetaDataTreeType> extends BaseModel { private _headlessSensorValues?; private _aggregatedLangInternalSourceNodeMetaData?; private _aggregatedInternSourceMetaData?; private _aggregatedExternSourceMetaData?; type: T; filePath: UnifiedPathOnlyForPathNode<T>; private _langInternalChildren?; private _internChildren?; private _externChildren?; linkedMetaData?: LinkedMetaData; index: IndexPerType<T>; constructor(type: T, filePath: UnifiedPathOnlyForPathNode<T>, index: IndexPerType<T>); 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 headlessSensorValues(): SensorValues; set headlessSensorValues(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): SourceFileMetaDataTree<SourceFileMetaDataTreeType.Root>; insertLangInternalPath(internReportID: number, langInternalPath: LangInternalPath_string, aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData, sourceFileMetaData: SourceFileMetaData): SourceFileMetaDataTree<SourceFileMetaDataTreeType.File>; insertPath(internReportID: number, filePathParts: UnifiedPathPart_string[], aggregatedSourceNodeMetaData: AggregatedSourceNodeMetaData, sourceFileMetaData: SourceFileMetaData): SourceFileMetaDataTree<SourceFileMetaDataTreeType.File | SourceFileMetaDataTreeType.Directory>; addExternReport(sourceNodeGraph: SourceNodeGraph, moduleReport: ModuleReport, index: ModuleIndex): void; addInternReport(sourceNodeGraph: SourceNodeGraph, report: Report): void; addProjectReport(projectReport: ProjectReport): void; _mergeReferences(...references: ModelMap<PathID_number, SensorValues>[]): ModelMap<PathID_number, SensorValues>; filter(sourceNodeGraph: SourceNodeGraph, includedFilterPathString: string | undefined, excludedFilterPathString: string | undefined): { 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>; }; _filter(sourceNodeGraph: SourceNodeGraph, 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 {};