@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
25 lines (24 loc) • 1.42 kB
TypeScript
import { type OutputFormatter } from '../util/text/ansi';
import { type Queries, type QueryResults, type SupportedQueryTypes } from './query';
import { NodeId } from '../r-bridge/lang-4.x/ast/model/processing/node-id';
import type { AstIdMap, ParentInformation } from '../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { ReadonlyFlowrAnalysisProvider } from '../project/flowr-analyzer';
/**
* Converts call context query results to an ASCII representation
*/
export declare function asciiCallContext(formatter: OutputFormatter, results: QueryResults<'call-context'>['call-context'], idMap: AstIdMap<ParentInformation>): string;
/**
* Summarizes a list of node IDs, shortening the output if it is too long
* @example
* ```ts
* summarizeIdsIfTooLong(markdownFormatter, ['id1', 'id2', 'id3']);
* // returns 'id1, id2, id3'
* summarizeIdsIfTooLong(markdownFormatter, [<array of many ids>]);
* // returns 'id1, id2, id3, ... (see JSON)' with a tooltip containing the full JSON array
* ```
*/
export declare function summarizeIdsIfTooLong(formatter: OutputFormatter, ids: readonly NodeId[]): string;
/**
* Generates an ASCII summary of the given query results
*/
export declare function asciiSummaryOfQueryResult<S extends SupportedQueryTypes>(formatter: OutputFormatter, totalInMs: number, results: QueryResults<S>, analyzer: ReadonlyFlowrAnalysisProvider, queries: Queries<S>): Promise<string>;