UNPKG

@tableau/taco-toolkit

Version:
18 lines (17 loc) 861 B
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; }