UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

48 lines (47 loc) 1.44 kB
import { RawRType } from '../../model/type'; export declare const RootId = 0; /** * Entry type - shared between CSV and JSON entries. * These include position, token, and text. */ interface Entry extends Record<string, unknown> { readonly line1: number; readonly col1: number; readonly line2: number; readonly col2: number; readonly token: string; readonly text: string; } /** * CsvEntry type - mapping of ParsedDataRow to a JS object structure. * Contains construction information - whether we deal with a terminal, IDs, and children. */ export interface CsvEntry extends Entry { readonly id: number; readonly parent: number; readonly terminal: boolean; children?: CsvEntry[]; } /** * Type-safe object structure that we work with during normalization. * Has Children (empty list indicates no children). */ export interface JsonEntry extends Entry { readonly children: JsonEntry[]; } /** * Named JSON entries - these also have a RawRType assigned to them. */ export interface NamedJsonEntry { name: RawRType; content: JsonEntry; } /** * Takes the raw {@link RShell} output and extracts the csv information contained */ export declare function prepareParsedData(data: string): CsvEntry[]; /** * Takes the CSV-Entries and maps them to the old json format for compatibility. */ export declare function convertPreparedParsedData(roots: readonly CsvEntry[]): JsonEntry; export {};