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

87 lines (86 loc) 6.95 kB
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 = { [SourceFileMetaDataTreeType.Module]: ModuleIndex; [SourceFileMetaDataTreeType.Directory]: ModuleIndex; [SourceFileMetaDataTreeType.File]: PathIndex; [SourceFileMetaDataTreeType.Root]: 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 {};