UNPKG

@sebastianwessel/quickjs

Version:

A typescript package to execute JavaScript and TypeScript code in a WebAssembly QuickJS sandbox

58 lines (57 loc) 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.provideConsole = void 0; const expose_js_1 = require("../expose/expose.js"); /** * Provide all Node.js console methods */ const provideConsole = (ctx, scope, options) => { const logger = { log: (...params) => console.log(...params), error: (...params) => console.error(...params), warn: (...params) => console.warn(...params), info: (...params) => console.info(...params), debug: (...params) => console.debug(...params), trace: (...params) => console.trace(...params), assert: (...params) => console.assert(...params), count: (...params) => console.count(...params), countReset: (...params) => console.countReset(...params), dir: (...params) => console.dir(...params), dirxml: (...params) => console.dirxml(...params), group: (...params) => console.group(...params), groupCollapsed: (...params) => console.groupCollapsed(...params), groupEnd: () => console.groupEnd(), table: (...params) => console.table(...params), time: (...params) => console.time(...params), timeEnd: (...params) => console.timeEnd(...params), timeLog: (...params) => console.timeLog(...params), clear: () => { throw new Error('console.clear is disabled for security reasons by default'); }, ...options.console, }; (0, expose_js_1.expose)(ctx, scope, { console: { log: logger.log, error: logger.error, warn: logger.warn, info: logger.info, debug: logger.debug, trace: logger.trace, assert: logger.assert, count: logger.count, countReset: logger.countReset, dir: logger.dir, dirxml: logger.dirxml, group: logger.group, groupCollapsed: logger.groupCollapsed, groupEnd: logger.groupEnd, table: logger.table, time: logger.time, timeEnd: logger.timeEnd, timeLog: logger.timeLog, clear: logger.clear, }, }); }; exports.provideConsole = provideConsole;