| declare module "vm" { |
| interface Context { |
| [key: string]: any; |
| } |
| interface BaseOptions { |
| /** |
| * Specifies the filename used in stack traces produced by this script. |
| * Default: `''`. |
| */ |
| filename?: string; |
| /** |
| * Specifies the line number offset that is displayed in stack traces produced by this script. |
| * Default: `0`. |
| */ |
| lineOffset?: number; |
| /** |
| * Specifies the column number offset that is displayed in stack traces produced by this script. |
| * Default: `0` |
| */ |
| columnOffset?: number; |
| } |
| interface ScriptOptions extends BaseOptions { |
| displayErrors?: boolean; |
| timeout?: number; |
| cachedData?: Buffer; |
| produceCachedData?: boolean; |
| } |
| interface RunningScriptOptions extends BaseOptions { |
| displayErrors?: boolean; |
| timeout?: number; |
| } |
| interface CompileFunctionOptions extends BaseOptions { |
| /** |
| * Provides an optional data with V8's code cache data for the supplied source. |
| */ |
| cachedData?: Buffer; |
| /** |
| * Specifies whether to produce new cache data. |
| * Default: `false`, |
| */ |
| produceCachedData?: boolean; |
| /** |
| * The sandbox/context in which the said function should be compiled in. |
| */ |
| parsingContext?: Context; |
| |
| /** |
| * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling |
| */ |
| contextExtensions?: Object[]; |
| } |
| class Script { |
| constructor(code: string, options?: ScriptOptions); |
| runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; |
| runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; |
| runInThisContext(options?: RunningScriptOptions): any; |
| } |
| function createContext(sandbox?: Context): Context; |
| function isContext(sandbox: Context): boolean; |
| function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; |
| function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; |
| function runInThisContext(code: string, options?: RunningScriptOptions | string): any; |
| function compileFunction(code: string, params: string[], options: CompileFunctionOptions): Function; |
| } |