@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
32 lines (31 loc) • 1.56 kB
TypeScript
import type { IdMessageBase, MessageDefinition } from './all-messages';
import type { SlicingCriteria } from '../../../../slicing/criterion/parse';
import type { PipelineOutput } from '../../../../core/steps/pipeline/pipeline';
import type { DEFAULT_DATAFLOW_PIPELINE, DEFAULT_SLICING_PIPELINE } from '../../../../core/steps/pipeline/default-pipelines';
/**
* Can only be sent after you have sent the {@link FileAnalysisRequestMessage}.
* Using the same `filetoken` as in the {@link FileAnalysisRequestMessage} you
* can slice the respective file given the respective criteria.
*/
export interface SliceRequestMessage extends IdMessageBase {
type: 'request-slice';
/** The {@link FileAnalysisRequestMessage#filetoken} of the file/data to slice */
filetoken: string;
/** The slicing criteria to use */
criterion: SlicingCriteria;
/**
* Should the magic comments (force-including lines within the slice) be ignord?
*/
noMagicComments?: boolean;
}
export declare const requestSliceMessage: MessageDefinition<SliceRequestMessage>;
/**
* Similar to {@link FileAnalysisResponseMessage} this only contains the results of
* the slice steps.
*/
export interface SliceResponseMessage extends IdMessageBase {
type: 'response-slice';
/** only contains the results of the slice steps to not repeat ourselves */
results: Omit<PipelineOutput<typeof DEFAULT_SLICING_PIPELINE>, keyof PipelineOutput<typeof DEFAULT_DATAFLOW_PIPELINE>>;
}
export declare const responseSliceMessage: MessageDefinition<SliceResponseMessage>;