UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

40 lines (39 loc) 1.67 kB
import type { KnownParser } from '../parser'; declare const enum RequiredFeature { /** https://github.com/flowr-analysis/flowr/labels/typing */ Typing = 0, /** https://github.com/flowr-analysis/flowr/labels/abstract%20interpretation */ AbstractInterpretation = 1 } export interface FlowrCapability { /** The human-readable name of the capability */ readonly name: string; /** * The unique identifier of the capability, used to refer to it independent of the location. * We could use a key-value mapping. However, this way, an id is self-contained and can be moved around as one object. */ readonly id: string; /** A list of features that are required for the capability, extend at need. */ readonly needs?: RequiredFeature[]; readonly description?: string; readonly example?: string | ((parser: KnownParser) => Promise<string>); /** A list of URLs that provide additional information about the capability */ readonly url?: { name: string; href: string; }[]; /** The level of support for the capability, undefined if it is a meta-capability that does not need such an attribute */ readonly supported?: 'not' | 'partially' | 'fully'; readonly capabilities?: readonly FlowrCapability[]; } export interface FlowrCapabilities { /** The human-readable name of the capabilities */ readonly name: string; /** A description of the capabilities */ readonly description: string; /** The version of the capabilities */ readonly version: string; /** A list of the capabilities */ readonly capabilities: readonly FlowrCapability[]; } export {};