@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
94 lines (93 loc) • 2.81 kB
TypeScript
/**
* This file contains the references to all scripts, as well as their explanations and arguments.
*
* @module
*/
import type { OptionDefinition } from 'command-line-usage';
import type { MergeableRecord } from '../../util/objects';
interface BaseScriptInformation extends MergeableRecord {
/** name of the tool to present to the user */
toolName: string;
/** internal module name to fork/execute, make sure to use the correct path to it with the help of `__dirname` */
target: string;
/** description of the tool for the user */
description: string;
/** example usage */
usageExample: string;
/** command line options that are available */
options: OptionDefinition[];
}
export interface MasterScriptInformation extends BaseScriptInformation {
type: 'master script';
}
export interface HelperScriptInformation extends BaseScriptInformation {
type: 'helper script';
masterScripts: string[];
}
export type ScriptInformation = MasterScriptInformation | HelperScriptInformation;
/**
* We hold `_scripts` internally, as the modifiable variant and export the readonly scripts
*/
declare const _scripts: {
slicer: {
toolName: string;
target: string;
description: string;
options: OptionDefinition[];
usageExample: string;
type: string;
};
benchmark: {
toolName: string;
target: string;
description: string;
type: string;
usageExample: string;
options: OptionDefinition[];
};
'benchmark-helper': {
toolName: string;
target: string;
description: string;
usageExample: string;
options: OptionDefinition[];
type: string;
masterScripts: string[];
};
summarizer: {
toolName: string;
target: string;
description: string;
options: OptionDefinition[];
usageExample: string;
type: string;
};
'export-quads': {
toolName: string;
target: string;
description: string;
usageExample: string;
options: OptionDefinition[];
type: string;
};
stats: {
toolName: string;
target: string;
description: string;
options: OptionDefinition[];
usageExample: string;
type: string;
};
'stats-helper': {
toolName: string;
target: string;
description: string;
options: OptionDefinition[];
usageExample: string;
type: string;
masterScripts: string[];
};
};
export declare const scripts: Record<keyof typeof _scripts, ScriptInformation>;
export declare function getValidOptionsForCompletion(options: readonly OptionDefinition[], prevArgs: readonly string[]): string[];
export {};