mirror of
https://github.com/agdamsbo/prioritized.grouping.git
synced 2025-09-12 10:39:39 +02:00
72 lines
2.6 KiB
TypeScript
72 lines
2.6 KiB
TypeScript
import { WebR, WebROptions } from './webr-main';
|
|
export interface ConsoleCallbacks {
|
|
stdout?: (line: string) => void;
|
|
stderr?: (line: string) => void;
|
|
prompt?: (line: string) => void;
|
|
canvasImage?: (image: ImageBitmap) => void;
|
|
canvasNewPage?: () => void;
|
|
}
|
|
/**
|
|
* Text-based Interactive Console for WebR
|
|
*
|
|
* A helper application to assist in creating an interactive R REPL based on
|
|
* JavaScript callbacks.
|
|
*
|
|
* Callback functions ``stdout`` and ``stderr`` are called with a single line
|
|
* of output as the first argument. The default implementation of `stdout` and
|
|
* `stderr` writes to the console using `console.log` and `console.error`.
|
|
*
|
|
* R code can be sent as input by calling the ``stdin`` method with a single
|
|
* line of textual input.
|
|
*
|
|
* A long running R computation can be interrupted by calling the `interrupt`
|
|
* method.
|
|
*
|
|
* The ``prompt`` callback function is called when webR produces a prompt at
|
|
* the REPL console and is therefore awaiting user input. The prompt character
|
|
* (usually ``>`` or ``+``) is given as the first argument to the callback
|
|
* function. The default implementation of `prompt` shows a JavaScript prompt
|
|
* asking the user for input, and then sends the user input to `stdin`.
|
|
*
|
|
* The ``canvasImage`` callback function is called when webR writes plots to
|
|
* the built-in HTML canvas graphics device.
|
|
*
|
|
* The ``canvasNewPage`` callback function is called when webR creates a new
|
|
* plot.
|
|
*
|
|
* Once constructed, start the Console using the ``run`` method. The `run`
|
|
* method starts an asynchronous infinite loop that waits for output from the
|
|
* webR worker and then calls the relevant callbacks.
|
|
*/
|
|
export declare class Console {
|
|
#private;
|
|
/** The supporting instance of webR */
|
|
webR: WebR;
|
|
/**
|
|
* A HTML canvas element
|
|
*
|
|
* The canvas graphics device writes to this element by default. Undefined
|
|
* when HTML canvas is unsupported.
|
|
*/
|
|
canvas: HTMLCanvasElement | undefined;
|
|
/**
|
|
* @param {ConsoleCallbacks} callbacks A list of webR Console callbacks to
|
|
* be used for this console.
|
|
* @param {WebROptions} options The options to use for the new instance of
|
|
* webR started to support this console.
|
|
*/
|
|
constructor(callbacks?: ConsoleCallbacks, options?: WebROptions);
|
|
/**
|
|
* Write a line of input to webR's REPL through ``stdin``
|
|
* @param {string} input A line of input text.
|
|
*/
|
|
stdin(input: string): void;
|
|
/**
|
|
* Interrupt a long running R computation and return to the prompt
|
|
*/
|
|
interrupt(): void;
|
|
/**
|
|
* Start the webR console
|
|
*/
|
|
run(): void;
|
|
}
|