@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
38 lines (37 loc) • 1.52 kB
TypeScript
export type AppendFnType = string | number | symbol;
export interface StatisticAppendProvider {
append(name: string, fn: AppendFnType, content: string): void;
}
export type DummyAppendMemoryMap = Map<string, Map<AppendFnType, string[]>>;
export declare class DummyAppendProvider implements StatisticAppendProvider {
private readonly map;
/**
* If you pass a map the dummy will log all append calls to the map, using the feature name and the appendage type as keys
*
* @param map - The map to log to
*/
constructor(map?: DummyAppendMemoryMap | undefined);
append(name: string, fn: AppendFnType, content: string): void;
}
export declare const defaultStatisticsFileSuffix = ".txt";
/**
* Provides cached open connections for all files to connect.
* allowing to append to the same file often.
* <p>
* While we could simply reopen these files, it is safer/more performant to keep the connection open.
*/
export declare class StatisticFileProvider implements StatisticAppendProvider {
readonly statisticsDirectory: string;
private readonly connections;
constructor(statisticsDirectory: string | undefined);
/**
* @param name - the name of the feature {@link Feature#name}
* @param fn - the name of the feature-aspect to record
*/
private statisticsFile;
/**
* Append the given content to the information for a feature of the given name and function.
*/
append(name: string, fn: AppendFnType, content: string): void;
private getHandle;
}