UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const vm_1 = require("vm");
4const async_1 = require("./async");
5function executeJavaScript(code, filename, context) {
6 const script = new vm_1.Script(code, { filename: filename });
7 return script.runInContext(context);
8}
9exports.executeJavaScript = executeJavaScript;
10async function executeJavaScriptAsync(code, filename, context) {
11 const preparedCode = code.replace(/^\s*"use strict";/, "");
12 // wrapped code returns a promise when executed
13 const wrappedCode = async_1.wrapInAsyncFunction(preparedCode);
14 const script = new vm_1.Script(wrappedCode, { filename: filename });
15 const out = await script.runInContext(context);
16 return out;
17}
18exports.executeJavaScriptAsync = executeJavaScriptAsync;
19function isRecoverable(error) {
20 const recoveryCodes = new Set([
21 1003,
22 1005,
23 1109,
24 1126,
25 1160,
26 1161,
27 2355,
28 ]);
29 return error.diagnosticCodes.every((code) => recoveryCodes.has(code));
30}
31exports.isRecoverable = isRecoverable;
32//# sourceMappingURL=helpers.js.map
\No newline at end of file