UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

32 lines (31 loc) 1.56 kB
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>;