ivm-inspect

3.0.0 • Public • Published

npm version mit license npm downloads

ivm-inspect -- Local console support within isolated-vm

NPM

This is library meant to be used in conjunction with isolated-vm. It adds rudimentary console support for the common case of outputting to a local console. I would guess it's probably pretty easy to crash the process by passing whacky objects to these functions so use this at your own risk.

API DOCUMENTATION

async create(isolate, context)

  • isolate - An isolate created within isolated-vm
  • context - A context
  • return { formatWithOptions, inspect }

This returns an object with two named Reference instances to the built-in nodejs functions util.formatWithOptions and util.inspect. These references belong to the isolate and maintain internal handles to the context. You can use these functions in any context created within this isolate-- you do not need to call this once per context.

async forwardConsole(context, util)

  • context - A context
  • util - The return value of await create(...)

This function configures a context's console to output directly to the process's stdout and stderr.

EXAMPLES

const ivm = require('isolated-vm');
const ivmInspect = require('ivm-inspect');

(async() => {
	const isolate = new ivm.Isolate;
	const context = await isolate.createContext();

	const util = await ivmInspect.create(isolate, context);
	await ivmInspect.forwardConsole(context, util);

	await context.eval('console.log("Here is an object: %O", { foo: "bar" })');
})().catch(console.error);

console output

Wow!

Readme

Keywords

none

Package Sidebar

Install

npm i ivm-inspect

Weekly Downloads

5

Version

3.0.0

License

MIT

Unpacked Size

196 kB

Total Files

21

Last publish

Collaborators

  • laverdet