UNPKG

happy-dom

Version:

Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.

23 lines (21 loc) 632 B
import IBrowserFrame from '../types/IBrowserFrame.js'; import { Script } from 'vm'; /** * Browser frame script evaluator. */ export default class BrowserFrameScriptEvaluator { /** * Evaluates code or a VM Script in the frame's context. * * @param frame Frame. * @param script Script. * @returns Result. */ public static evaluate(frame: IBrowserFrame, script: string | Script): any { if (!frame.window) { throw new Error('The frame has been destroyed, the "window" property is not set.'); } script = typeof script === 'string' ? new Script(script) : script; return script.runInContext(frame.window); } }