@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
18 lines (17 loc) • 861 B
TypeScript
import ivm, { TransferOptions } from 'isolated-vm';
export default class SandboxVM {
private isolate;
private context;
private global;
private importedModules;
constructor(memoryLimit?: number);
private createNativeMethods;
importModule(modulePath: string): Promise<void>;
addProperty(name: string, value?: ivm.Dereference<any>, transferOptions?: TransferOptions): void;
getProperty(name: string): any;
addMethod(name: string, fn: (...args: any) => void, options?: ivm.ContextEvalOptions | undefined): void;
getMethod(name: string): any;
executeCodeWithParameters(code: string, args: any[] | undefined, options: ivm.ContextEvalClosureOptions): Promise<any>;
executeCode(code: string, options?: ivm.ContextEvalOptions): Promise<any>;
executeCodeSync(code: string, options?: ivm.ContextEvalOptions): any;
}