UNPKG

webr

Version:

The statistical programming language R compiled into WASM for use in a web browser and node.

163 lines (162 loc) 6.32 kB
/// <reference types="emscripten" /> import type { RPtr, RTypeNumber } from './robj'; import type { RObject, RList } from './robj-worker'; import type { EvalROptions } from './webr-chan'; import type { UnwindProtectException } from './utils-r'; import type { ChannelWorker } from './chan/channel'; import type { FSMountOptions } from './webr-main'; export interface Module extends EmscriptenModule { FS: typeof FS & { _mount: typeof FS.mount; mkdirTree(path: string): void; filesystems: { [key: string]: Emscripten.FileSystemType; }; }; ENV: { [key: string]: string; }; GOT: { [key: string]: { required: boolean; value: number; }; }; createLazyFilesystem: () => void; monitorRunDependencies: (n: number) => void; noImageDecoding: boolean; noAudioDecoding: boolean; noWasmDecoding: boolean; downloadFileContent: (URL: string, headers?: Array<string>) => { status: number; response: string | ArrayBuffer; }; mountImageUrl: (url: string, mountpoint: string) => void; mountImagePath: (path: string, mountpoint: string) => void; mountDriveFS: (mountpoint: string, options: FSMountOptions<'DRIVEFS'>) => void; allocateUTF8: typeof allocateUTF8; allocateUTF8OnStack: typeof allocateUTF8OnStack; getValue: typeof getValue; setValue: typeof setValue; UTF8ToString: typeof UTF8ToString; callMain: (args: string[]) => void; getWasmTableEntry: (entry: number) => (...args: any[]) => RPtr; _ATTRIB: (ptr: RPtr) => RPtr; _CAR: (ptr: RPtr) => RPtr; _CDR: (ptr: RPtr) => RPtr; _CLOENV: (ptr: RPtr) => RPtr; _COMPLEX: (ptr: RPtr) => RPtr; _FRAME: (ptr: RPtr) => RPtr; _INTEGER: (ptr: RPtr) => RPtr; _INTERNAL: (ptr: RPtr) => RPtr; _LENGTH: (ptr: RPtr) => number; _LOGICAL: (ptr: RPtr) => RPtr; _PRINTNAME: (ptr: RPtr) => RPtr; _R_CHAR: (ptr: RPtr) => RPtr; _RAW: (ptr: RPtr) => RPtr; _REAL: (ptr: RPtr) => RPtr; _SETCAR: (x: RPtr, y: RPtr) => void; _STRING_ELT: (ptr: RPtr, idx: number) => RPtr; _STRING_PTR: (ptr: RPtr) => RPtr; _SYMVALUE: (ptr: RPtr) => RPtr; _TAG: (ptr: RPtr) => RPtr; _TYPEOF: (ptr: RPtr) => RPtr; _VECTOR_ELT: (ptr: RPtr, idx: number) => RPtr; _R_lsInternal3: (env: RPtr, all: number, sorted: number) => RPtr; _R_MakeExternalPtr: (p: number, tag: RPtr, prot: RPtr) => RPtr; _R_NewEnv: (enclos: RPtr, hash: number, size: number) => RPtr; _R_ParseEvalString: (code: number, env: RPtr) => RPtr; _R_PreserveObject: (ptr: RPtr) => void; _R_ReleaseObject: (ptr: RPtr) => void; _R_ReplDLLinit: () => void; _R_ReplDLLdo1: () => number; _Rf_ScalarReal: (n: number) => RPtr; _Rf_ScalarLogical: (l: number) => RPtr; _Rf_ScalarInteger: (n: number) => RPtr; _Rf_ScalarString: (s: string) => RPtr; _Rf_allocList: (len: number) => RPtr; _Rf_allocVector: (type: RTypeNumber, len: number) => RPtr; _Rf_defineVar: (symbol: RPtr, value: RPtr, env: RPtr) => void; _Rf_error: (msg: EmPtr) => void; _Rf_eval: (call: RPtr, env: RPtr) => RPtr; _Rf_findVarInFrame: (rho: RPtr, symbol: RPtr) => RPtr; _Rf_listAppend: (source: RPtr, target: RPtr) => RPtr; _Rf_getAttrib: (ptr1: RPtr, ptr2: RPtr) => RPtr; _Rf_initialize_R: (argc: number, argv: RPtr) => void; _Rf_install: (ptr: number) => RPtr; _Rf_installTrChar: (name: RPtr) => RPtr; _Rf_lang1: (ptr1: RPtr) => RPtr; _Rf_lang2: (ptr1: RPtr, ptr2: RPtr) => RPtr; _Rf_lang3: (ptr1: RPtr, ptr2: RPtr, ptr3: RPtr) => RPtr; _Rf_lang4: (ptr1: RPtr, ptr2: RPtr, ptr3: RPtr, ptr4: RPtr) => RPtr; _Rf_lang5: (ptr1: RPtr, ptr2: RPtr, ptr3: RPtr, ptr4: RPtr, ptr5: RPtr) => RPtr; _Rf_lang6: (ptr1: RPtr, ptr2: RPtr, ptr3: RPtr, ptr4: RPtr, ptr5: RPtr, ptr6: RPtr) => RPtr; _Rf_mkChar: (string: number) => RPtr; _Rf_mkCharCE: (string: number, encoding: number) => RPtr; _Rf_mkString: (ptr: number) => RPtr; _Rf_onintr: () => void; _Rf_protect: (ptr: RPtr) => RPtr; _Rf_translateCharUTF8: (ptr: RPtr) => RPtr; _R_ContinueUnwind: (cont: RPtr) => never; _R_ProtectWithIndex: (ptr1: RPtr, ptr2: RPtr) => void; _R_Reprotect: (ptr1: RPtr, ptr2: RPtr) => void; _Rf_setAttrib: (ptr1: RPtr, ptr2: RPtr, ptr3: RPtr) => RPtr; _Rf_unprotect: (n: number) => void; _Rf_unprotect_ptr: (ptr: RPtr) => void; _DLLbuf: RPtr; _DLLbufp: RPtr; _R_BaseEnv: RPtr; _R_BracketSymbol: RPtr; _R_Bracket2Symbol: RPtr; _R_DollarSymbol: RPtr; _R_EmptyEnv: RPtr; _R_FalseValue: RPtr; _R_GlobalEnv: RPtr; _R_Interactive: RPtr; _R_NaInt: RPtr; _R_NaReal: RPtr; _R_NaString: RPtr; _R_LogicalNAValue: RPtr; _R_NilValue: RPtr; _R_TrueValue: RPtr; _R_NamesSymbol: RPtr; _R_UnboundValue: RPtr; _SET_STRING_ELT: (ptr: RPtr, idx: number, val: RPtr) => void; _SET_VECTOR_ELT: (ptr: RPtr, idx: number, val: RPtr) => void; _setup_Rmainloop: () => void; _strcpy: (dest: RPtr, src: RPtr) => number; _vmaxget: () => number; _vmaxset: (ptr: number) => void; webr: { UnwindProtectException: typeof UnwindProtectException; channel: ChannelWorker | undefined; canvas: { [key: number]: { ctx: OffscreenCanvasRenderingContext2D; offscreen: OffscreenCanvas; transmit: boolean; }; }; readConsole: () => number; setPrompt: (prompt: string) => void; resolveInit: () => void; handleEvents: () => void; dataViewer: (data: RPtr, title: string) => void; evalJs: (code: RPtr) => unknown; evalR: (expr: string | RObject, options?: EvalROptions) => RObject; captureR: (expr: string | RObject, options: EvalROptions) => { result: RObject; output: RList; images: ImageBitmap[]; }; setTimeoutWasm: (ptr: EmPtr, data: EmPtr, delay: number) => void; }; } export declare const Module: Module; export type EmPtr = ReturnType<typeof Module.allocateUTF8>; export interface DictEmPtrs { [key: string]: EmPtr; } export declare function dictEmFree(dict: { [key: string | number]: EmPtr; }): void;